>
diff --git a/demo/app/views/layouts/mailer.html.erb b/demo/app/views/layouts/mailer.html.erb
index cbd34d2e9d..3aac9002ed 100644
--- a/demo/app/views/layouts/mailer.html.erb
+++ b/demo/app/views/layouts/mailer.html.erb
@@ -1,7 +1,7 @@
-
+
diff --git a/demo/app/views/lookbook/previews/inputs/_medium_octicon.html.erb b/demo/app/views/lookbook/previews/inputs/_medium_octicon.html.erb
new file mode 100644
index 0000000000..18c4110cd7
--- /dev/null
+++ b/demo/app/views/lookbook/previews/inputs/_medium_octicon.html.erb
@@ -0,0 +1,5 @@
+<% octicons = Octicons::OCTICON_SYMBOLS.keys.select do |key| %>
+ <% Octicons::OCTICON_SYMBOLS[key]["heights"].include?("24") %>
+<% end %>
+
+<%= select_tag(name, options_for_select([:none, *octicons], value), **input_options, "x-model": "value") %>
diff --git a/demo/config/application.rb b/demo/config/application.rb
index b25c16a831..19deb4a955 100644
--- a/demo/config/application.rb
+++ b/demo/config/application.rb
@@ -19,7 +19,9 @@
module Demo
# :nocov:
class Application < Rails::Application
- if Rails.version.to_i >= 7
+ if Rails.version.to_i >= 7.1
+ config.load_defaults 7.1
+ elsif Rails.version.to_i >= 7
config.load_defaults 7.0
elsif Rails.version.to_i >= 6
config.load_defaults 6.0
diff --git a/demo/config/initializers/custom_inputs.rb b/demo/config/initializers/custom_inputs.rb
index f20724c7c3..1639dd35f1 100644
--- a/demo/config/initializers/custom_inputs.rb
+++ b/demo/config/initializers/custom_inputs.rb
@@ -4,6 +4,7 @@
require "lookbook"
Lookbook.define_param_input(:octicon, "lookbook/previews/inputs/octicon")
+ Lookbook.define_param_input(:medium_octicon, "lookbook/previews/inputs/medium_octicon")
rescue LoadError
# Happens during docs:build, which runs in the context of the
# PVC gem's bundle (i.e. not the demo app's bundle). Lookbook
diff --git a/demo/config/routes.rb b/demo/config/routes.rb
index 67a30be698..ef55085212 100644
--- a/demo/config/routes.rb
+++ b/demo/config/routes.rb
@@ -21,6 +21,7 @@
resources :nav_list_items, only: [:index]
resources :multi, only: [:create]
+ post "/example_check/accepted", to: "auto_check#accepted", as: :example_check_accepted
post "/example_check/ok", to: "auto_check#ok", as: :example_check_ok
post "/example_check/error", to: "auto_check#error", as: :example_check_error
post "/example_check/random", to: "auto_check#random", as: :example_check_random
diff --git a/demo/package-lock.json b/demo/package-lock.json
index 51bf1a3b5e..d627f64a7a 100644
--- a/demo/package-lock.json
+++ b/demo/package-lock.json
@@ -9,9 +9,9 @@
"version": "0.1.0",
"dependencies": {
"@primer/css": "^21.0.9",
- "@primer/primitives": "^7.15.0",
- "@rails/actioncable": "^7.1.1",
- "@rails/ujs": "^7.1.1",
+ "@primer/primitives": "^7.15.2",
+ "@rails/actioncable": "^7.1.2",
+ "@rails/ujs": "^7.1.2",
"turbolinks": "^5.2.0",
"webpack-dev-server": "^4.15.1"
}
@@ -163,9 +163,9 @@
}
},
"node_modules/@primer/primitives": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-7.15.0.tgz",
- "integrity": "sha512-ut010QMQT2YcQcn6gLHBC97YVN0ToR+7phxl+351hC94a7EgVR9GtwLOqopqU7el2w6iOrUndHBxDuUg1TBWhg=="
+ "version": "7.15.2",
+ "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-7.15.2.tgz",
+ "integrity": "sha512-084G46rIxTQSoWJBZT3WN3Pwuf9iFHIu7gbflKNHroXsVsxB7LzcRwPihjfSgaQijAmS5US/2fnSIQ2eT4lIgg=="
},
"node_modules/@primer/view-components": {
"version": "0.5.1",
@@ -186,14 +186,14 @@
}
},
"node_modules/@rails/actioncable": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/@rails/actioncable/-/actioncable-7.1.1.tgz",
- "integrity": "sha512-ZRJ9rdwFQQjRbtgJnweY0/4UQyxN6ojEGRdib0JkjnuIciv+4ok/aAeZmBJqNreTMaBqS0eHyA9hCArwN58opg=="
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/@rails/actioncable/-/actioncable-7.1.2.tgz",
+ "integrity": "sha512-KGziTZfbmGm8/fHOpj515xupbYU+49hsp4etfdpoDJ/CEY2bRZR0cyFcJkpK6n0t/sxOHNWY6bo9vSgXZvT7Mg=="
},
"node_modules/@rails/ujs": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/@rails/ujs/-/ujs-7.1.1.tgz",
- "integrity": "sha512-ywGwWNiqXN3Bb1BifVQTrkWEWcAGLHW3D0JNQMQeu57LsoluRzvnenNLPsmdoDPkrmSIASDXNsJiCIpUzFj8CA=="
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/@rails/ujs/-/ujs-7.1.2.tgz",
+ "integrity": "sha512-c5x02djEKEVVE4qfN4XgElJS4biM0xxtIVpcJ0ZHLK116U19rowTtmD0AJ/RCb3Xaewa4GPIWLlwgeC0dCQqzw=="
},
"node_modules/@types/body-parser": {
"version": "1.19.2",
@@ -3200,9 +3200,9 @@
}
},
"@primer/primitives": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-7.15.0.tgz",
- "integrity": "sha512-ut010QMQT2YcQcn6gLHBC97YVN0ToR+7phxl+351hC94a7EgVR9GtwLOqopqU7el2w6iOrUndHBxDuUg1TBWhg=="
+ "version": "7.15.2",
+ "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-7.15.2.tgz",
+ "integrity": "sha512-084G46rIxTQSoWJBZT3WN3Pwuf9iFHIu7gbflKNHroXsVsxB7LzcRwPihjfSgaQijAmS5US/2fnSIQ2eT4lIgg=="
},
"@primer/view-components": {
"version": "0.5.1",
@@ -3223,14 +3223,14 @@
}
},
"@rails/actioncable": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/@rails/actioncable/-/actioncable-7.1.1.tgz",
- "integrity": "sha512-ZRJ9rdwFQQjRbtgJnweY0/4UQyxN6ojEGRdib0JkjnuIciv+4ok/aAeZmBJqNreTMaBqS0eHyA9hCArwN58opg=="
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/@rails/actioncable/-/actioncable-7.1.2.tgz",
+ "integrity": "sha512-KGziTZfbmGm8/fHOpj515xupbYU+49hsp4etfdpoDJ/CEY2bRZR0cyFcJkpK6n0t/sxOHNWY6bo9vSgXZvT7Mg=="
},
"@rails/ujs": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/@rails/ujs/-/ujs-7.1.1.tgz",
- "integrity": "sha512-ywGwWNiqXN3Bb1BifVQTrkWEWcAGLHW3D0JNQMQeu57LsoluRzvnenNLPsmdoDPkrmSIASDXNsJiCIpUzFj8CA=="
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/@rails/ujs/-/ujs-7.1.2.tgz",
+ "integrity": "sha512-c5x02djEKEVVE4qfN4XgElJS4biM0xxtIVpcJ0ZHLK116U19rowTtmD0AJ/RCb3Xaewa4GPIWLlwgeC0dCQqzw=="
},
"@types/body-parser": {
"version": "1.19.2",
diff --git a/demo/package.json b/demo/package.json
index c3e8431781..cfe4f75871 100644
--- a/demo/package.json
+++ b/demo/package.json
@@ -4,9 +4,9 @@
"version": "0.1.0",
"dependencies": {
"@primer/css": "^21.0.9",
- "@primer/primitives": "^7.15.0",
- "@rails/actioncable": "^7.1.1",
- "@rails/ujs": "^7.1.1",
+ "@primer/primitives": "^7.15.2",
+ "@rails/actioncable": "^7.1.2",
+ "@rails/ujs": "^7.1.2",
"turbolinks": "^5.2.0",
"webpack-dev-server": "^4.15.1"
}
diff --git a/lib/primer/classify.rb b/lib/primer/classify.rb
index e35c17ac6e..bb8f4a1a1a 100644
--- a/lib/primer/classify.rb
+++ b/lib/primer/classify.rb
@@ -75,7 +75,6 @@ def call(args = {})
# are about 30% faster than Hash#dig. It also ensures validate is
# only called when necessary, i.e. when the class can't be found
# in the lookup table.
- # rubocop:disable Style/RescueModifier
found = (LOOKUP[key][item][brk] rescue nil) || validate(key, item, brk)
# rubocop:enable Style/RescueModifier
result << found if found
@@ -93,7 +92,6 @@ def call(args = {})
end.join(" ")
# This is much faster than Rails' presence method.
- # rubocop:disable Rails/Blank
{
class: !classes || classes.empty? ? nil : classes,
style: !style || style.empty? ? nil : style
diff --git a/lib/primer/forms/action_menu.html.erb b/lib/primer/forms/action_menu.html.erb
new file mode 100644
index 0000000000..9a3e530595
--- /dev/null
+++ b/lib/primer/forms/action_menu.html.erb
@@ -0,0 +1,6 @@
+<%= render(FormControl.new(input: @input)) do %>
+ <%= render(Primer::Alpha::ActionMenu.new(**@input.input_arguments)) do |menu| %>
+ <% menu.with_show_button { "Select..." } %>
+ <% @input.block.call(menu) if @input.block %>
+ <% end %>
+<% end %>
diff --git a/lib/primer/forms/action_menu.rb b/lib/primer/forms/action_menu.rb
new file mode 100644
index 0000000000..a166143bbf
--- /dev/null
+++ b/lib/primer/forms/action_menu.rb
@@ -0,0 +1,25 @@
+# frozen_string_literal: true
+
+module Primer
+ module Forms
+ # :nodoc:
+ class ActionMenu < BaseComponent
+ delegate :builder, :form, to: :@input
+
+ def initialize(input:)
+ @input = input
+
+ @input.input_arguments[:form_arguments] = {
+ name: @input.name,
+ builder: builder
+ }
+
+ @input.input_arguments[:select_variant] ||= :single
+
+ unless @input.input_arguments.include?(:dynamic_label)
+ @input.input_arguments[:dynamic_label] = true
+ end
+ end
+ end
+ end
+end
diff --git a/lib/primer/forms/acts_as_component.rb b/lib/primer/forms/acts_as_component.rb
index 51aa369852..57fd6bcd96 100644
--- a/lib/primer/forms/acts_as_component.rb
+++ b/lib/primer/forms/acts_as_component.rb
@@ -36,7 +36,6 @@ def perform_render(&_block)
def before_render; end
# :nocov:
- # rubocop:disable Naming/AccessorMethodName
def set_original_view_context(view_context)
@view_context = view_context
end
@@ -98,8 +97,6 @@ def compile_templates_in(template_glob)
end
def define_template_method(template_path, method_name)
- # rubocop:disable Style/DocumentDynamicEvalDefinition
- # rubocop:disable Style/EvalWithLocation
class_eval <<-RUBY, template_path, 0
private def #{method_name}
capture { #{compile_template(template_path)} }
diff --git a/lib/primer/forms/base.rb b/lib/primer/forms/base.rb
index 0409cd676f..d010c45f20 100644
--- a/lib/primer/forms/base.rb
+++ b/lib/primer/forms/base.rb
@@ -120,7 +120,6 @@ def render?
private
def form_object
- # rubocop:disable Naming/MemoizedInstanceVariableName
@__pf_form_object ||= Primer::Forms::Dsl::FormObject.new(builder: @builder, form: self).tap do |obj|
# compile before adding inputs so caption templates are identified
self.class.compile!
diff --git a/lib/primer/forms/base_component.rb b/lib/primer/forms/base_component.rb
index 43966330d2..428f4f72d4 100644
--- a/lib/primer/forms/base_component.rb
+++ b/lib/primer/forms/base_component.rb
@@ -1,7 +1,5 @@
# frozen_string_literal: true
-require "primer/class_name_helper"
-
module Primer
module Forms
# :nodoc:
diff --git a/lib/primer/forms/dsl/action_menu_input.rb b/lib/primer/forms/dsl/action_menu_input.rb
new file mode 100644
index 0000000000..23e43f22e1
--- /dev/null
+++ b/lib/primer/forms/dsl/action_menu_input.rb
@@ -0,0 +1,36 @@
+# frozen_string_literal: true
+
+module Primer
+ module Forms
+ module Dsl
+ # :nodoc:
+ class ActionMenuInput < Input
+ attr_reader :name, :label, :block
+
+ def initialize(name:, label:, **system_arguments, &block)
+ @name = name
+ @label = label
+ @block = block
+
+ super(**system_arguments)
+ end
+
+ def to_component
+ ActionMenu.new(input: self)
+ end
+
+ # :nocov:
+ def type
+ :action_menu
+ end
+ # :nocov:
+
+ # :nocov:
+ def focusable?
+ true
+ end
+ # :nocov:
+ end
+ end
+ end
+end
diff --git a/lib/primer/forms/dsl/input.rb b/lib/primer/forms/dsl/input.rb
index c81d55cfa3..292d5a6f55 100644
--- a/lib/primer/forms/dsl/input.rb
+++ b/lib/primer/forms/dsl/input.rb
@@ -93,7 +93,6 @@ def initialize(builder:, form:, **system_arguments)
# methods. These methods will use the passed name if provided instead
# of generating a scoped one.
#
- # rubocop:disable Style/IfUnlessModifier
unless @input_arguments.delete(:scope_name_to_model) { true }
@input_arguments[:name] = name
end
@@ -297,6 +296,14 @@ def validation_message_arguments
{}
end
+ def validation_success_icon_target
+ ""
+ end
+
+ def validation_error_icon_target
+ ""
+ end
+
private
def input_data
diff --git a/lib/primer/forms/dsl/input_methods.rb b/lib/primer/forms/dsl/input_methods.rb
index 76ffb6ca87..d60ae4229f 100644
--- a/lib/primer/forms/dsl/input_methods.rb
+++ b/lib/primer/forms/dsl/input_methods.rb
@@ -90,6 +90,15 @@ def select_list(**options, &block)
add_input SelectInput.new(builder: builder, form: form, **options, &block)
end
+ # Adds an <%= link_to_component(Primer::Alpha::ActionMenu) %> to this form.
+ #
+ # @param options [Hash] The options accepted by the <%= link_to_component(Primer::Alpha::ActionMenu) %> component.
+ # @param block [Proc] The block passed to `#render` when the <%= link_to_component(Primer::Alpha::ActionMenu) %> is rendered. This block is passed an instance of <%= link_to_component(Primer::Alpha::ActionMenu) %>, which can be used to add items, dividers, etc.
+ def action_menu(**options, &block)
+ options = decorate_options(**options)
+ add_input ActionMenuInput.new(builder: builder, form: form, **options, &block)
+ end
+
# END select input methods
# START button input methods
diff --git a/lib/primer/forms/dsl/text_field_input.rb b/lib/primer/forms/dsl/text_field_input.rb
index 4ebad39fd2..3b03eb4ca3 100644
--- a/lib/primer/forms/dsl/text_field_input.rb
+++ b/lib/primer/forms/dsl/text_field_input.rb
@@ -69,6 +69,14 @@ def validation_arguments
end
end
+ def validation_success_icon_target
+ "primer-text-field.validationSuccessIcon"
+ end
+
+ def validation_error_icon_target
+ "primer-text-field.validationErrorIcon"
+ end
+
def validation_message_arguments
if auto_check_src.present?
super.merge(
diff --git a/lib/primer/forms/primer_base_component_wrapper.rb b/lib/primer/forms/primer_base_component_wrapper.rb
index ac41a3ddd9..1c1e411bc9 100644
--- a/lib/primer/forms/primer_base_component_wrapper.rb
+++ b/lib/primer/forms/primer_base_component_wrapper.rb
@@ -1,7 +1,5 @@
# frozen_string_literal: true
-require "primer/class_name_helper"
-
module Primer
module Forms
# Wraps Primer::BaseComponent.
diff --git a/lib/primer/forms/primer_text_field.ts b/lib/primer/forms/primer_text_field.ts
index 34208b47b3..6a34dd3c30 100644
--- a/lib/primer/forms/primer_text_field.ts
+++ b/lib/primer/forms/primer_text_field.ts
@@ -8,6 +8,8 @@ class PrimerTextFieldElement extends HTMLElement {
@target inputElement: HTMLInputElement
@target validationElement: HTMLElement
@target validationMessageElement: HTMLElement
+ @target validationSuccessIcon: HTMLElement
+ @target validationErrorIcon: HTMLElement
#abortController: AbortController | null
@@ -17,10 +19,15 @@ class PrimerTextFieldElement extends HTMLElement {
this.inputElement.addEventListener(
'auto-check-success',
- () => {
- this.clearError()
+ async (event: any) => {
+ const message = await event.detail.response.text()
+ if (message && message.length > 0) {
+ this.setSuccess(message)
+ } else {
+ this.clearError()
+ }
},
- {signal}
+ {signal},
)
this.inputElement.addEventListener(
@@ -29,7 +36,7 @@ class PrimerTextFieldElement extends HTMLElement {
const errorMessage = await event.detail.response.text()
this.setError(errorMessage)
},
- {signal}
+ {signal},
)
}
@@ -45,12 +52,37 @@ class PrimerTextFieldElement extends HTMLElement {
clearError(): void {
this.inputElement.removeAttribute('invalid')
this.validationElement.hidden = true
- this.validationMessageElement.textContent = ''
+ this.validationMessageElement.replaceChildren()
+ }
+
+ setValidationMessage(message: string): void {
+ const template = document.createElement('template')
+ // eslint-disable-next-line github/no-inner-html
+ template.innerHTML = message
+ const fragment = document.importNode(template.content, true)
+ this.validationMessageElement.replaceChildren(fragment)
+ }
+
+ toggleValidationStyling(isError: boolean): void {
+ if (isError) {
+ this.validationElement.classList.remove('FormControl-inlineValidation--success')
+ } else {
+ this.validationElement.classList.add('FormControl-inlineValidation--success')
+ }
+ this.validationSuccessIcon.hidden = isError
+ this.validationErrorIcon.hidden = !isError
+ this.inputElement.setAttribute('invalid', isError ? 'true' : 'false')
+ }
+
+ setSuccess(message: string): void {
+ this.toggleValidationStyling(false)
+ this.setValidationMessage(message)
+ this.validationElement.hidden = false
}
setError(message: string): void {
- this.validationMessageElement.textContent = message
+ this.toggleValidationStyling(true)
+ this.setValidationMessage(message)
this.validationElement.hidden = false
- this.inputElement.setAttribute('invalid', 'true')
}
}
diff --git a/lib/primer/forms/validation_message.html.erb b/lib/primer/forms/validation_message.html.erb
index a96038f334..e3ee20a22a 100644
--- a/lib/primer/forms/validation_message.html.erb
+++ b/lib/primer/forms/validation_message.html.erb
@@ -1,4 +1,5 @@
<%= content_tag(:div, **@input.validation_arguments) do %>
-
<%= render(Primer::Beta::Octicon.new(icon: :"alert-fill", size: :xsmall, aria: { hidden: true })) %>
+
<%= render(Primer::Beta::Octicon.new(icon: :"check-circle-fill", size: :xsmall, aria: { hidden: true })) %>
+
<%= render(Primer::Beta::Octicon.new(icon: :"alert-fill", size: :xsmall, aria: { hidden: true })) %>
<%= content_tag(:span, @input.invalid? ? @input.validation_messages.first : "", **@input.validation_message_arguments) %>
<% end %>
diff --git a/lib/primer/static/generate_info_arch.rb b/lib/primer/static/generate_info_arch.rb
index ef1d295a6a..228db36305 100644
--- a/lib/primer/static/generate_info_arch.rb
+++ b/lib/primer/static/generate_info_arch.rb
@@ -33,7 +33,6 @@ def call
{
"name" => slot_method.name,
- # rubocop:disable Style/IfUnlessModifier
"description" =>
if slot_method.base_docstring.to_s.present?
render_erb_ignoring_markdown_code_fences(slot_method.base_docstring)
@@ -90,7 +89,7 @@ def call
}
end
- statuses = Primer::Status::Dsl::STATUSES.keys.map(&:to_s).map(&:capitalize)
+ statuses = Primer::Status::Dsl::STATUSES.keys.map { |k| k.to_s.capitalize }
Primer::Component.descendants.each do |component|
fq_class = component.name.to_s.split("::")
diff --git a/lib/primer/static/generate_previews.rb b/lib/primer/static/generate_previews.rb
index 3a27f76b43..65d73fcb84 100644
--- a/lib/primer/static/generate_previews.rb
+++ b/lib/primer/static/generate_previews.rb
@@ -16,11 +16,9 @@ def call
component = preview.components.first&.component_class
- # rubocop:disable Style/IfUnlessModifier
unless component
raise "Could not determine which component `#{preview.preview_class}` is designed to preview. Please add a `@component` annotation."
end
- # rubocop:enable Style/IfUnlessModifier
_, _, class_name = Primer::Yard::DocsHelper.status_module_and_short_name(component)
diff --git a/lib/primer/view_components/engine.rb b/lib/primer/view_components/engine.rb
index 3b55debc06..72c626f822 100644
--- a/lib/primer/view_components/engine.rb
+++ b/lib/primer/view_components/engine.rb
@@ -44,7 +44,11 @@ class Engine < ::Rails::Engine
initializer "primer.forms.helpers" do
ActiveSupport.on_load :action_controller_base do
- require "primer/form_helper"
+ begin
+ require "primer/form_helper"
+ rescue LoadError
+ end
+
helper Primer::FormHelper
# make primer_form_with available to view components also
diff --git a/lib/primer/view_components/linters/base_linter.rb b/lib/primer/view_components/linters/base_linter.rb
index e25eb5f3c1..135889ede4 100644
--- a/lib/primer/view_components/linters/base_linter.rb
+++ b/lib/primer/view_components/linters/base_linter.rb
@@ -24,6 +24,7 @@ class BaseLinter < Linter
CLASSES = [].freeze
REQUIRED_ARGUMENTS = [].freeze
+ # :nodoc:
class ConfigSchema < LinterConfig
property :override_ignores_if_correctable, accepts: [true, false], default: false, reader: :override_ignores_if_correctable?
end
@@ -154,13 +155,13 @@ def counter_correct?(processed_source)
# Unless explicitly set, we don't want to mark correctable offenses if the counter is correct.
if !@config.override_ignores_if_correctable? && expected_count == @total_offenses
clear_offenses
- return
+ return false
end
if @offenses_not_corrected.zero?
# have to adjust to get `\n` so we delete the whole line
add_offense(processed_source.to_source_range(comment_node.loc.adjust(end_pos: 1)), "Unused erblint:count comment for #{rule_name}", "") if comment_node
- return
+ return false
end
first_offense = @offenses[0]
diff --git a/lib/primer/view_components/linters/deprecated_components_counter.rb b/lib/primer/view_components/linters/deprecated_components_counter.rb
index 4a409966e8..fdb9f911e6 100644
--- a/lib/primer/view_components/linters/deprecated_components_counter.rb
+++ b/lib/primer/view_components/linters/deprecated_components_counter.rb
@@ -63,7 +63,7 @@ def counter_correct?(processed_source)
if offenses_count.zero?
# have to adjust to get `\n` so we delete the whole line
add_offense_with_severity(processed_source.to_source_range(comment_node.loc.adjust(end_pos: 1)), "Unused erblint:counter comment for #{rule_name}", "") if comment_node
- return
+ return false
end
first_offense = @offenses[0]
diff --git a/lib/primer/view_components/linters/disallow_action_list.rb b/lib/primer/view_components/linters/disallow_action_list.rb
index 9e6a97980c..dc3706c586 100644
--- a/lib/primer/view_components/linters/disallow_action_list.rb
+++ b/lib/primer/view_components/linters/disallow_action_list.rb
@@ -10,6 +10,7 @@ class DisallowActionList < Linter
include ERBLint::LinterRegistry
include TagTreeHelpers
+ # :nodoc:
class ConfigSchema < LinterConfig
property :ignore_files, accepts: array_of?(String), default: -> { [] }
end
diff --git a/lib/primer/view_components/linters/severity_schema.rb b/lib/primer/view_components/linters/severity_schema.rb
index ab72679a06..8d0a130188 100644
--- a/lib/primer/view_components/linters/severity_schema.rb
+++ b/lib/primer/view_components/linters/severity_schema.rb
@@ -4,6 +4,7 @@
module ERBLint
module Linters
+ # :nodoc:
class SeveritySchema < LinterConfig
# SEVERITY_NAMES :info, :refactor, :convention, :warning, :error, :fatal
# see https://github.com/Shopify/erb-lint/blob/main/lib/erb_lint/utils/severity_levels.rb
diff --git a/lib/primer/view_components/version.rb b/lib/primer/view_components/version.rb
index 023499198b..2dbad67f45 100644
--- a/lib/primer/view_components/version.rb
+++ b/lib/primer/view_components/version.rb
@@ -13,6 +13,5 @@ module VERSION
end
end
-# rubocop:disable Rails/Output
puts Primer::ViewComponents::VERSION::STRING if __FILE__ == $PROGRAM_NAME
# rubocop:enable Rails/Output
diff --git a/lib/primer/yard/lookbook_pages_backend.rb b/lib/primer/yard/lookbook_pages_backend.rb
index cbc494c4f1..89b86b68f2 100644
--- a/lib/primer/yard/lookbook_pages_backend.rb
+++ b/lib/primer/yard/lookbook_pages_backend.rb
@@ -42,14 +42,12 @@ def generate
), __dir__
)
- # rubocop:disable Lint/UselessAssignment
documented_methods = docs.non_slot_methods.select do |mtd|
[component.name, "Primer::Forms::Dsl::InputMethods"].include?(mtd.parent.title)
end
preview_methods = PREVIEW_MAP[component]
preview_erbs = preview_methods.map do |preview_method|
- # rubocop:disable Style/IfUnlessModifier
if Primer::FormsPreview.instance_methods.exclude?(preview_method)
raise "Preview '#{preview_method}' does not exist in Primer::FormsPreview"
end
diff --git a/lib/rubocop/cop/primer/base_cop.rb b/lib/rubocop/cop/primer/base_cop.rb
index ec624ad851..05ed86320c 100644
--- a/lib/rubocop/cop/primer/base_cop.rb
+++ b/lib/rubocop/cop/primer/base_cop.rb
@@ -12,7 +12,7 @@ class BaseCop < RuboCop::Cop::Cop
# We only verify SystemArguments if it's a `.new` call on a component or
# a ViewHeleper call.
def valid_node?(node)
- return if node.nil?
+ return false if node.nil?
view_helpers.include?(node.method_name) || (node.method_name == :new && !node.receiver.nil? && ::Primer::ViewComponents::STATUSES.key?(node.receiver.const_name))
end
diff --git a/lib/rubocop/cop/primer/deprecated_arguments.rb b/lib/rubocop/cop/primer/deprecated_arguments.rb
index 3f9fc4ea7e..92caf85ee9 100644
--- a/lib/rubocop/cop/primer/deprecated_arguments.rb
+++ b/lib/rubocop/cop/primer/deprecated_arguments.rb
@@ -298,7 +298,6 @@ def autocorrect(node)
def extract_kv_from(pair)
key = pair.key.value
- # rubocop:disable Lint/BooleanSymbol
value = case pair.value.type
when :sym, :str
pair.value.value.to_sym
@@ -307,7 +306,6 @@ def extract_kv_from(pair)
else
return []
end
- # rubocop:enable Lint/BooleanSymbol
[key, value]
end
diff --git a/lib/rubocop/cop/primer/deprecated_components.rb b/lib/rubocop/cop/primer/deprecated_components.rb
index b96ef84745..ad4658ef3a 100644
--- a/lib/rubocop/cop/primer/deprecated_components.rb
+++ b/lib/rubocop/cop/primer/deprecated_components.rb
@@ -3,7 +3,7 @@
require "rubocop"
require "json"
require "parser/current"
-require_relative "./../../../primer/view_components/linters/helpers/deprecated_components_helpers"
+require_relative "../../../primer/view_components/linters/helpers/deprecated_components_helpers"
module RuboCop
module Cop
diff --git a/lib/rubocop/cop/primer/deprecated_label_schemes.rb b/lib/rubocop/cop/primer/deprecated_label_schemes.rb
index a967d12ab8..7899007aa3 100644
--- a/lib/rubocop/cop/primer/deprecated_label_schemes.rb
+++ b/lib/rubocop/cop/primer/deprecated_label_schemes.rb
@@ -58,7 +58,7 @@ def autocorrect(node)
private
def label_node?(node)
- return if node.nil?
+ return false if node.nil?
node.method_name == :new && !node.receiver.nil? && node.receiver.const_name == "Primer::Beta::Label"
end
diff --git a/lib/rubocop/cop/primer/deprecated_label_variants.rb b/lib/rubocop/cop/primer/deprecated_label_variants.rb
index 52ddd2be25..c063c3d370 100644
--- a/lib/rubocop/cop/primer/deprecated_label_variants.rb
+++ b/lib/rubocop/cop/primer/deprecated_label_variants.rb
@@ -61,7 +61,7 @@ def autocorrect(node)
private
def label_node?(node)
- return if node.nil?
+ return false if node.nil?
node.method_name == :new && !node.receiver.nil? && node.receiver.const_name == "Primer::Beta::Label"
end
diff --git a/lib/tasks/docs.rake b/lib/tasks/docs.rake
index 9bcf7be987..3b18bd919b 100644
--- a/lib/tasks/docs.rake
+++ b/lib/tasks/docs.rake
@@ -45,15 +45,15 @@ namespace :docs do
task build_yard_registry: :init_pvc do
require "primer/yard"
- ::YARD::Rake::YardocTask.new do |task|
+ YARD::Rake::YardocTask.new do |task|
task.options << "--no-output"
end
# Custom tags for yard
- ::YARD::Tags::Library.define_tag("Accessibility", :accessibility)
- ::YARD::Tags::Library.define_tag("Deprecation", :deprecation)
- ::YARD::Tags::Library.define_tag("Parameter", :param, :with_types_name_and_default)
- ::YARD::Tags::Library.define_tag("Form Usage", :form_usage)
+ YARD::Tags::Library.define_tag("Accessibility", :accessibility)
+ YARD::Tags::Library.define_tag("Deprecation", :deprecation)
+ YARD::Tags::Library.define_tag("Parameter", :param, :with_types_name_and_default)
+ YARD::Tags::Library.define_tag("Form Usage", :form_usage)
puts "Building YARD documentation."
Rake::Task["yard"].execute
diff --git a/lib/tasks/utilities.rake b/lib/tasks/utilities.rake
index cc7d743e81..2436e413a0 100644
--- a/lib/tasks/utilities.rake
+++ b/lib/tasks/utilities.rake
@@ -9,7 +9,6 @@ namespace :utilities do
require "primer/classify/utilities"
# Keys that are looked for to be included in the utilities.yml file
- # rubocop:disable Lint/ConstantDefinitionInBlock
SUPPORTED_KEYS = [
/^anim\b/,
/^color-bg\b/,
@@ -72,7 +71,7 @@ namespace :utilities do
end
# Change the rest from hyphens to underscores
- classname.sub!(/-/, "_")
+ classname.sub!("-", "_")
# convert padding/margin negative values ie n7 to -7
classname.sub!(/^n/, "-") if classname.match?(/^n[0-9]/)
diff --git a/package-lock.json b/package-lock.json
index 9bc3e933d6..ea5eed7326 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18,24 +18,24 @@
"@github/include-fragment-element": "^6.1.1",
"@github/relative-time-element": "^4.0.0",
"@github/tab-container-element": "^3.1.2",
- "@oddbird/popover-polyfill": "^0.3.0",
+ "@oddbird/popover-polyfill": "^0.3.2",
"@primer/behaviors": "^1.3.4"
},
"devDependencies": {
"@changesets/changelog-github": "^0.4.6",
"@changesets/cli": "^2.24.1",
- "@github/axe-github": "^0.5.0",
+ "@github/axe-github": "^0.6.1",
"@github/browserslist-config": "^1.0.0",
"@github/markdownlint-github": "^0.2.2",
- "@github/prettier-config": "0.0.4",
+ "@github/prettier-config": "0.0.6",
"@playwright/test": "^1.35.1",
- "@primer/css": "21.0.2",
+ "@primer/css": "21.0.9",
"@primer/primitives": "^7.14.0",
"@primer/stylelint-config": "^12.7.2",
- "@rollup/plugin-node-resolve": "^13.3.0",
+ "@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-typescript": "^8.3.3",
- "@typescript-eslint/eslint-plugin": "^5.31.0",
- "@typescript-eslint/parser": "^5.31.0",
+ "@typescript-eslint/eslint-plugin": "^6.11.0",
+ "@typescript-eslint/parser": "^6.0.0",
"axe-core": "^4.7.1",
"chokidar-cli": "^3.0.0",
"cssnano": "^6.0.1",
@@ -49,17 +49,16 @@
"postcss": "^8.4.16",
"postcss-cli": "^10.1.0",
"postcss-custom-properties-fallback": "^1.0.2",
- "postcss-import": "^14.1.0",
+ "postcss-import": "^15.1.0",
"postcss-mixins": "^9.0.3",
- "postcss-preset-env": "^7.8.0",
- "prettier": "2.7.1",
- "rollup": "^2.77.1",
+ "postcss-preset-env": "^9.3.0",
+ "prettier": "3.1.0",
+ "rollup": "^2.79.1",
"rollup-plugin-terser": "^7.0.2",
- "stylelint": "^14.13.0",
- "stylelint-config-prettier": "^9.0.3",
- "stylelint-config-standard": "^28.0.0",
+ "stylelint": "^15.11.0",
+ "stylelint-config-standard": "^34.0.0",
"tslib": "^2.4.0",
- "typescript": "^4.7.4"
+ "typescript": "^5.2.2"
}
},
"node_modules/@babel/code-frame": {
@@ -224,6 +223,21 @@
"graceful-fs": "^4.1.6"
}
},
+ "node_modules/@changesets/apply-release-plan/node_modules/prettier": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
"node_modules/@changesets/apply-release-plan/node_modules/resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -992,6 +1006,21 @@
"graceful-fs": "^4.1.6"
}
},
+ "node_modules/@changesets/write/node_modules/prettier": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
"node_modules/@changesets/write/node_modules/universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
@@ -1001,284 +1030,901 @@
"node": ">= 4.0.0"
}
},
- "node_modules/@csstools/postcss-cascade-layers": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz",
- "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==",
+ "node_modules/@csstools/cascade-layer-name-parser": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.5.tgz",
+ "integrity": "sha512-v/5ODKNBMfBl0us/WQjlfsvSlYxfZLhNMVIsuCPib2ulTwGKYbKJbwqw671+qH9Y4wvWVnu7LBChvml/wBKjFg==",
"dev": true,
- "dependencies": {
- "@csstools/selector-specificity": "^2.0.2",
- "postcss-selector-parser": "^6.0.10"
- },
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1"
}
},
- "node_modules/@csstools/postcss-color-function": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz",
- "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==",
+ "node_modules/@csstools/color-helpers": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-3.0.2.tgz",
+ "integrity": "sha512-NMVs/l7Y9eIKL5XjbCHEgGcG8LOUT2qVcRjX6EzkCdlvftHVKr2tHIPzHavfrULRZ5Q2gxrJ9f44dAlj6fX97Q==",
"dev": true,
- "dependencies": {
- "@csstools/postcss-progressive-custom-properties": "^1.1.0",
- "postcss-value-parser": "^4.2.0"
- },
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- },
- "peerDependencies": {
- "postcss": "^8.2"
+ "node": "^14 || ^16 || >=18"
}
},
- "node_modules/@csstools/postcss-font-format-keywords": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz",
- "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==",
+ "node_modules/@csstools/css-calc": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-1.1.4.tgz",
+ "integrity": "sha512-ZV1TSmToiNcQL1P3hfzlzZzA02mmVkVmXGaUDUqpYUG84PmLhVSZpKX+KfxAuOcK7de04UXSQPBrAvaya6iiGg==",
"dev": true,
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1"
}
},
- "node_modules/@csstools/postcss-hwb-function": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz",
- "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==",
+ "node_modules/@csstools/css-color-parser": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-1.4.0.tgz",
+ "integrity": "sha512-SlGd8E6ron24JYQPQAIzu5tvmWi1H4sDKTdA7UDnwF45oJv7AVESbOlOO1YjfBhrQFuvLWUgKiOY9DwGoAxwTA==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "postcss-value-parser": "^4.2.0"
+ "@csstools/color-helpers": "^3.0.2",
+ "@csstools/css-calc": "^1.1.4"
},
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1"
}
},
- "node_modules/@csstools/postcss-ic-unit": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz",
- "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==",
+ "node_modules/@csstools/css-parser-algorithms": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz",
+ "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==",
"dev": true,
- "dependencies": {
- "@csstools/postcss-progressive-custom-properties": "^1.1.0",
- "postcss-value-parser": "^4.2.0"
- },
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "@csstools/css-tokenizer": "^2.2.1"
}
},
- "node_modules/@csstools/postcss-is-pseudo-class": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz",
- "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==",
+ "node_modules/@csstools/css-tokenizer": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz",
+ "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==",
"dev": true,
- "dependencies": {
- "@csstools/selector-specificity": "^2.0.0",
- "postcss-selector-parser": "^6.0.10"
- },
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- },
- "peerDependencies": {
- "postcss": "^8.2"
+ "node": "^14 || ^16 || >=18"
}
},
- "node_modules/@csstools/postcss-nested-calc": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz",
- "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==",
+ "node_modules/@csstools/media-query-list-parser": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz",
+ "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==",
"dev": true,
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1"
}
},
- "node_modules/@csstools/postcss-normalize-display-values": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz",
- "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==",
+ "node_modules/@csstools/postcss-cascade-layers": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.1.tgz",
+ "integrity": "sha512-UYFuFL9GgVnftg9v7tBvVEBRLaBeAD66euD+yYy5fYCUld9ZIWTJNCE30hm6STMEdt6FL5xzeVw1lAZ1tpvUEg==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "postcss-value-parser": "^4.2.0"
+ "@csstools/selector-specificity": "^3.0.0",
+ "postcss-selector-parser": "^6.0.13"
},
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
- "node_modules/@csstools/postcss-oklab-function": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz",
- "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==",
+ "node_modules/@csstools/postcss-color-function": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-3.0.7.tgz",
+ "integrity": "sha512-/PIB20G1TPCXmQlaJLWIYzTZRZpj6csT4ijgnshIj/kcmniIRroAfDa0xSWnfuO1eNo0NptIaPU7jzUukWn55Q==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "@csstools/postcss-progressive-custom-properties": "^1.1.0",
- "postcss-value-parser": "^4.2.0"
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2"
},
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
- "node_modules/@csstools/postcss-progressive-custom-properties": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz",
- "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==",
+ "node_modules/@csstools/postcss-color-mix-function": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.7.tgz",
+ "integrity": "sha512-57/g8aGo5eKFjEeJMiRKh8Qq43K2rCyk5ZZTvJ34TNl4zUtYU5DvLkIkOnhCtL8/a4z9oMA42aOnFPddRrScUQ==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "postcss-value-parser": "^4.2.0"
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2"
},
"engines": {
- "node": "^12 || ^14 || >=16"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.3"
+ "postcss": "^8.4"
}
},
- "node_modules/@csstools/postcss-stepped-value-functions": {
+ "node_modules/@csstools/postcss-exponential-functions": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz",
- "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-1.0.1.tgz",
+ "integrity": "sha512-ZLK2iSK4DUxeypGce2PnQSdYugUqDTwxnhNiq1o6OyKMNYgYs4eKbvEhFG8JKr1sJWbeqBi5jRr0017l2EWVvg==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "postcss-value-parser": "^4.2.0"
+ "@csstools/css-calc": "^1.1.4",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1"
},
"engines": {
- "node": "^12 || ^14 || >=16"
+ "node": "^14 || ^16 || >=18"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-font-format-keywords": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-3.0.0.tgz",
+ "integrity": "sha512-ntkGj+1uDa/u6lpjPxnkPcjJn7ChO/Kcy08YxctOZI7vwtrdYvFhmE476dq8bj1yna306+jQ9gzXIG/SWfOaRg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-gamut-mapping": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.0.tgz",
+ "integrity": "sha512-6UQyK8l9YaG5Ao5rBDcCnKHrLsHiQ1E0zeFQuqDJqEtinVzAPb/MwSw3TenZXL1Rnd7th3tb+4CBFHBXdW5tbQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-gradients-interpolation-method": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.7.tgz",
+ "integrity": "sha512-GT1CzE/Tyr/ei4j5BwKESkHAgg+Gzys/0mAY7W+UiR+XrcYk5hDbOrE/YJIx1rflfO/7La1bDoZtA0YnLl4qNA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-hwb-function": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.6.tgz",
+ "integrity": "sha512-uQgWt2Ho2yy2S6qthWY7mD5v57NKxi6dD1NB8nAybU5bJSsm+hLXRGm3/zbOH4xNrqO3Cl60DFSNlSrUME3Xjg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-ic-unit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.2.tgz",
+ "integrity": "sha512-n28Er7W9qc48zNjJnvTKuVHY26/+6YlA9WzJRksIHiAWOMxSH5IksXkw7FpkIOd+jLi59BMrX/BWrZMgjkLBHg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-initial": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-1.0.0.tgz",
+ "integrity": "sha512-1l7iHHjIl5qmVeGItugr4ZOlCREDP71mNKqoEyxlosIoiu3Os1nPWMHpuCvDLCLiWI/ONTOg3nzJh7gwHOrqUA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-is-pseudo-class": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.3.tgz",
+ "integrity": "sha512-/dt5M9Ty/x3Yiq0Nm/5PJJzwkVFchJgdjKVnryBPtoMCb9ohb/nDIJOwr/Wr3hK3FDs1EA1GE6PyRYsUmQPS8Q==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "@csstools/selector-specificity": "^3.0.0",
+ "postcss-selector-parser": "^6.0.13"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-logical-float-and-clear": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-2.0.0.tgz",
+ "integrity": "sha512-Wki4vxsF6icRvRz8eF9bPpAvwaAt0RHwhVOyzfoFg52XiIMjb6jcbHkGxwpJXP4DVrnFEwpwmrz5aTRqOW82kg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-logical-overflow": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-1.0.0.tgz",
+ "integrity": "sha512-cIrZ8f7bGGvr+W53nEuMspcwaeaI2YTmz6LZ4yiAO5z14/PQgOOv+Pn+qjvPOPoadeY2BmpaoTzZKvdAQuM17w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-logical-overscroll-behavior": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-1.0.0.tgz",
+ "integrity": "sha512-e89S2LWjnxf0SB2wNUAbqDyFb/Fow/tlOe1XqOLbNx4rf3LrQokM9qldVx7sarnddml3ORE5LDUmlKpPOOeJTA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-logical-resize": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-2.0.0.tgz",
+ "integrity": "sha512-lCQ1aX8c5+WI4t5EoYf3alTzJNNocMqTb+u1J9CINdDhFh1fjovqK+0aHalUHsNstZmzFPNzIkU4Mb3eM9U8SA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-logical-viewport-units": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-2.0.3.tgz",
+ "integrity": "sha512-xeVxqND5rlQyqLGdH7rX34sIm/JbbQKxpKQP8oD1YQqUHHCLQR9NUS57WqJKajxKN6AcNAMWJhb5LUH5RfPcyA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "@csstools/css-tokenizer": "^2.2.1"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-media-minmax": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-1.1.0.tgz",
+ "integrity": "sha512-t5Li/DPC5QmW/6VFLfUvsw/4dNYYseWR0tOXDeJg/9EKUodBgNawz5tuk5vYKtNvoj+Q08odMuXcpS5YJj0AFA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "@csstools/css-calc": "^1.1.4",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/media-query-list-parser": "^2.1.5"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-2.0.3.tgz",
+ "integrity": "sha512-IPL8AvnwMYW+cWtp+j8cW3MFN0RyXNT4hLOvs6Rf2N+NcbvXhSyKxZuE3W9Cv4KjaNoNoGx1d0UhT6tktq6tUw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/media-query-list-parser": "^2.1.5"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-nested-calc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-3.0.0.tgz",
+ "integrity": "sha512-HsB66aDWAouOwD/GcfDTS0a7wCuVWaTpXcjl5VKP0XvFxDiU+r0T8FG7xgb6ovZNZ+qzvGIwRM+CLHhDgXrYgQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-normalize-display-values": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-3.0.1.tgz",
+ "integrity": "sha512-nUvRxI+ALJwkxZdPU4EDyuM380vP91sAGvI3jAOHs/sr3jfcCOzLkY6xKI1Mr526kZ3RivmMoYM/xq+XFyE/bw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-oklab-function": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.7.tgz",
+ "integrity": "sha512-vBFTQD3CARB3u/XIGO44wWbcO7xG/4GsYqJlcPuUGRSK8mtxes6n4vvNFlIByyAZy2k4d4RY63nyvTbMpeNTaQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-progressive-custom-properties": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.0.2.tgz",
+ "integrity": "sha512-YEvTozk1SxnV/PGL5DllBVDuLQ+jiQhyCSQiZJ6CwBMU5JQ9hFde3i1qqzZHuclZfptjrU0JjlX4ePsOhxNzHw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-relative-color-syntax": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.7.tgz",
+ "integrity": "sha512-2AiFbJSVF4EyymLxme4JzSrbXykHolx8DdZECHjYKMhoulhKLltx5ccYgtrK3BmXGd3v3nJrWFCc8JM8bjuiOg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
- "node_modules/@csstools/postcss-text-decoration-shorthand": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz",
- "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==",
+ "node_modules/@csstools/postcss-scope-pseudo-class": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-3.0.0.tgz",
+ "integrity": "sha512-GFNVsD97OuEcfHmcT0/DAZWAvTM/FFBDQndIOLawNc1Wq8YqpZwBdHa063Lq+Irk7azygTT+Iinyg3Lt76p7rg==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "postcss-value-parser": "^4.2.0"
+ "postcss-selector-parser": "^6.0.13"
},
"engines": {
- "node": "^12 || ^14 || >=16"
+ "node": "^14 || ^16 || >=18"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-stepped-value-functions": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-3.0.2.tgz",
+ "integrity": "sha512-I3wX44MZVv+tDuWfrd3BTvRB/YRIM2F5v1MBtTI89sxpFn47mNpTwpPYUOGPVCgKlRDfZSlxIUYhUQmqRQZZFQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "@csstools/css-calc": "^1.1.4",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
- "node_modules/@csstools/postcss-trigonometric-functions": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz",
- "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==",
+ "node_modules/@csstools/postcss-text-decoration-shorthand": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.3.tgz",
+ "integrity": "sha512-d5J9m49HhqXRcw1S6vTZuviHi/iknUKGjBpChiNK1ARg9sSa3b8m5lsWz5Izs8ISORZdv2bZRwbw5Z2R6gQ9kQ==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
+ "@csstools/color-helpers": "^3.0.2",
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^14 || >=16"
+ "node": "^14 || ^16 || >=18"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-trigonometric-functions": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-3.0.2.tgz",
+ "integrity": "sha512-AwzNhF4QOKaLOKvMljwwFkeYXwufhRO15G+kKohHkyoNOL75xWkN+W2Y9ik9tSeAyDv+cYNlYaF+o/a79WjVjg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "@csstools/css-calc": "^1.1.4",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/@csstools/postcss-unset-value": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz",
- "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-3.0.0.tgz",
+ "integrity": "sha512-P0JD1WHh3avVyKKRKjd0dZIjCEeaBer8t1BbwGMUDtSZaLhXlLNBqZ8KkqHzYWXOJgHleXAny2/sx8LYl6qhEA==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/@csstools/selector-specificity": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
- "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz",
+ "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
"node": "^14 || ^16 || >=18"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- },
"peerDependencies": {
- "postcss-selector-parser": "^6.0.10"
+ "postcss-selector-parser": "^6.0.13"
}
},
"node_modules/@eslint-community/eslint-utils": {
@@ -1346,17 +1992,17 @@
}
},
"node_modules/@github/auto-complete-element": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/@github/auto-complete-element/-/auto-complete-element-3.5.1.tgz",
- "integrity": "sha512-7/g6Nz6Zz4/k0m/L0n+OEO29WZcXgXwLJn7Ql02UbIMR2ClFEZIwIvvzb+3fEECOyLpFrZC/JH7Svz9RYPc+wA==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@github/auto-complete-element/-/auto-complete-element-3.6.0.tgz",
+ "integrity": "sha512-u8fG8nCosSFv2wlKMsGga+FaFu/jkexZVFIDxLiCyLVTB8zRRu/RJyufzNnmbOZHYBezCMNBgJ0quuEBoyRh9Q==",
"dependencies": {
"@github/combobox-nav": "^2.1.7"
}
},
"node_modules/@github/axe-github": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@github/axe-github/-/axe-github-0.5.0.tgz",
- "integrity": "sha512-i1QpK8hs2asSFCLn0LL6VEYIGJ+qnvho8YyqM9eQcI7K5tcser8ugLZkLTgktteWNZqE9g9OSlC0VFPEWo+RsQ==",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/@github/axe-github/-/axe-github-0.6.1.tgz",
+ "integrity": "sha512-NH+69lWLZljzb5/GrHDW3IF809ss5dbqj/wcUe5SN++73IVIMfDsbwjblqoRoq7/755lhEgd7TYU1dRET7jBIA==",
"dev": true
},
"node_modules/@github/browserslist-config": {
@@ -1410,9 +2056,9 @@
"integrity": "sha512-iEeR2OdVCPkdIPUszL8gJnKNu4MR8ANh7y0u/LPyaatYezgaWxUZEzhFntloqQq+HE6MZkFy+cl+xzCNuljOdw=="
},
"node_modules/@github/prettier-config": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/@github/prettier-config/-/prettier-config-0.0.4.tgz",
- "integrity": "sha512-ZOJ+U771Mw68qp2GPbcqPt2Xg0LEl0YwiIFHXwVLAFm2TgDnsgcCHhXO8PIxOWPqSFO4S7xIMD9CBobfaWGASA==",
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/@github/prettier-config/-/prettier-config-0.0.6.tgz",
+ "integrity": "sha512-Sdb089z+QbGnFF2NivbDeaJ62ooPlD31wE6Fkb/ESjAOXSjNJo+gjqzYYhlM7G3ERJmKFZRUJYMlsqB7Tym8lQ==",
"dev": true
},
"node_modules/@github/relative-time-element": {
@@ -1704,98 +2350,256 @@
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
"dev": true,
"dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@oddbird/popover-polyfill": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@oddbird/popover-polyfill/-/popover-polyfill-0.3.2.tgz",
+ "integrity": "sha512-H0Q8JcFkXrOt2FrP0cUz2qomU5O+Dfc51UYLk5GtDWmVhdmvtV2FhgaCUh3TA6U5dogMZOFAf3QbwiGXhe9LXQ=="
+ },
+ "node_modules/@pkgr/utils": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz",
+ "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "fast-glob": "^3.3.0",
+ "is-glob": "^4.0.3",
+ "open": "^9.1.0",
+ "picocolors": "^1.0.0",
+ "tslib": "^2.6.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unts"
+ }
+ },
+ "node_modules/@playwright/test": {
+ "version": "1.39.0",
+ "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.39.0.tgz",
+ "integrity": "sha512-3u1iFqgzl7zr004bGPYiN/5EZpRUSFddQBra8Rqll5N0/vfpqlP9I9EXqAoGacuAbX6c9Ulg/Cjqglp5VkK6UQ==",
+ "dev": true,
+ "dependencies": {
+ "playwright": "1.39.0"
+ },
+ "bin": {
+ "playwright": "cli.js"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@primer/behaviors": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/@primer/behaviors/-/behaviors-1.3.6.tgz",
+ "integrity": "sha512-gzryOl22EOzJSPT8pYbHZYHgcKEOw9KxG0L5XRL+cMaS767YGqZGoeF/YEaeJ3dEWMzqz93FPGSem3eo5PmPBA=="
+ },
+ "node_modules/@primer/css": {
+ "version": "21.0.9",
+ "resolved": "https://registry.npmjs.org/@primer/css/-/css-21.0.9.tgz",
+ "integrity": "sha512-kk0TfLqtGwGYJ/qXGLMXDIL4d3qWPjlEB12Hvk08krulbsQRWEsnXjejBIvJG69GyOOuYxXNoHvP2NGenxQ8Jw==",
+ "dev": true,
+ "dependencies": {
+ "@primer/primitives": "^7.12.0",
+ "@primer/view-components": "^0.5.1"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@primer/primitives": {
+ "version": "7.14.0",
+ "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-7.14.0.tgz",
+ "integrity": "sha512-M5to3Csxr+t1EXfRjQOe5MuMjCTiziMC+O3gCp+K8apbL07ZvqcIDHdYvcNvFCP4NX1Uj6caPE8VdguqBTSgSg==",
+ "dev": true
+ },
+ "node_modules/@primer/stylelint-config": {
+ "version": "12.7.2",
+ "resolved": "https://registry.npmjs.org/@primer/stylelint-config/-/stylelint-config-12.7.2.tgz",
+ "integrity": "sha512-oaCCGv2w1GSxNBm9clGDVyr5OPVH4SKzVEKkQTyUbwoeTFbaWbPCWnA6rMZETg4/lDIRoht5oeKXVq3hje6K6A==",
+ "dev": true,
+ "dependencies": {
+ "anymatch": "^3.1.1",
+ "globby": "^11.0.1",
+ "postcss-scss": "^4.0.2",
+ "postcss-value-parser": "^4.0.2",
+ "string.prototype.matchall": "^4.0.2",
+ "stylelint": "^14.8.0",
+ "stylelint-config-standard": "25.0.0",
+ "stylelint-no-unsupported-browser-features": "^5.0.1",
+ "stylelint-order": "^5.0.0",
+ "stylelint-scss": "^4.0.0",
+ "tap-map": "^1.0.0"
+ }
+ },
+ "node_modules/@primer/stylelint-config/node_modules/@csstools/selector-specificity": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
+ "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
+ "dev": true,
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss-selector-parser": "^6.0.10"
+ }
+ },
+ "node_modules/@primer/stylelint-config/node_modules/balanced-match": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
+ "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
+ "dev": true
+ },
+ "node_modules/@primer/stylelint-config/node_modules/cosmiconfig": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+ "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+ "dev": true,
+ "dependencies": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@primer/stylelint-config/node_modules/hosted-git-info": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
},
"engines": {
- "node": ">= 8"
+ "node": ">=10"
}
},
- "node_modules/@oddbird/popover-polyfill": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@oddbird/popover-polyfill/-/popover-polyfill-0.3.0.tgz",
- "integrity": "sha512-XtA1cI3fyiPuur7dSpVIZzYJhrNq7YywOf41eG0gHkzteE69ez3gKtfIGu44VmZb73nfv2QsTprJqrRjN+K8nA=="
+ "node_modules/@primer/stylelint-config/node_modules/known-css-properties": {
+ "version": "0.26.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
+ "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
+ "dev": true
},
- "node_modules/@pkgr/utils": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz",
- "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==",
+ "node_modules/@primer/stylelint-config/node_modules/meow": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
+ "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
"dev": true,
"dependencies": {
- "cross-spawn": "^7.0.3",
- "fast-glob": "^3.3.0",
- "is-glob": "^4.0.3",
- "open": "^9.1.0",
- "picocolors": "^1.0.0",
- "tslib": "^2.6.0"
+ "@types/minimist": "^1.2.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize": "^1.2.0",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "4.1.0",
+ "normalize-package-data": "^3.0.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.18.0",
+ "yargs-parser": "^20.2.3"
},
"engines": {
- "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ "node": ">=10"
},
"funding": {
- "url": "https://opencollective.com/unts"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@playwright/test": {
- "version": "1.35.1",
- "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.35.1.tgz",
- "integrity": "sha512-b5YoFe6J9exsMYg0pQAobNDR85T1nLumUYgUTtKm4d21iX2L7WqKq9dW8NGJ+2vX0etZd+Y7UeuqsxDXm9+5ZA==",
+ "node_modules/@primer/stylelint-config/node_modules/normalize-package-data": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
+ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
"dev": true,
"dependencies": {
- "@types/node": "*",
- "playwright-core": "1.35.1"
- },
- "bin": {
- "playwright": "cli.js"
+ "hosted-git-info": "^4.0.1",
+ "is-core-module": "^2.5.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
},
"engines": {
- "node": ">=16"
- },
- "optionalDependencies": {
- "fsevents": "2.3.2"
+ "node": ">=10"
}
},
- "node_modules/@primer/behaviors": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/@primer/behaviors/-/behaviors-1.3.6.tgz",
- "integrity": "sha512-gzryOl22EOzJSPT8pYbHZYHgcKEOw9KxG0L5XRL+cMaS767YGqZGoeF/YEaeJ3dEWMzqz93FPGSem3eo5PmPBA=="
- },
- "node_modules/@primer/css": {
- "version": "21.0.2",
- "resolved": "https://registry.npmjs.org/@primer/css/-/css-21.0.2.tgz",
- "integrity": "sha512-rIwqua1LgjMTMFx9whghPEHF1B4RdVA6meMu5ByeqLYWmWrCStwk2jZvk9yNSn2MnkJ7zuuo3jTlIX1SVmjF7Q==",
+ "node_modules/@primer/stylelint-config/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
- "dependencies": {
- "@primer/primitives": "^7.11.10",
- "@primer/view-components": "^0.1.0"
- },
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=8"
}
},
- "node_modules/@primer/primitives": {
- "version": "7.14.0",
- "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-7.14.0.tgz",
- "integrity": "sha512-M5to3Csxr+t1EXfRjQOe5MuMjCTiziMC+O3gCp+K8apbL07ZvqcIDHdYvcNvFCP4NX1Uj6caPE8VdguqBTSgSg==",
- "dev": true
- },
- "node_modules/@primer/stylelint-config": {
- "version": "12.7.2",
- "resolved": "https://registry.npmjs.org/@primer/stylelint-config/-/stylelint-config-12.7.2.tgz",
- "integrity": "sha512-oaCCGv2w1GSxNBm9clGDVyr5OPVH4SKzVEKkQTyUbwoeTFbaWbPCWnA6rMZETg4/lDIRoht5oeKXVq3hje6K6A==",
+ "node_modules/@primer/stylelint-config/node_modules/stylelint": {
+ "version": "14.16.1",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz",
+ "integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==",
"dev": true,
"dependencies": {
- "anymatch": "^3.1.1",
- "globby": "^11.0.1",
- "postcss-scss": "^4.0.2",
- "postcss-value-parser": "^4.0.2",
- "string.prototype.matchall": "^4.0.2",
- "stylelint": "^14.8.0",
- "stylelint-config-standard": "25.0.0",
- "stylelint-no-unsupported-browser-features": "^5.0.1",
- "stylelint-order": "^5.0.0",
- "stylelint-scss": "^4.0.0",
- "tap-map": "^1.0.0"
+ "@csstools/selector-specificity": "^2.0.2",
+ "balanced-match": "^2.0.0",
+ "colord": "^2.9.3",
+ "cosmiconfig": "^7.1.0",
+ "css-functions-list": "^3.1.0",
+ "debug": "^4.3.4",
+ "fast-glob": "^3.2.12",
+ "fastest-levenshtein": "^1.0.16",
+ "file-entry-cache": "^6.0.1",
+ "global-modules": "^2.0.0",
+ "globby": "^11.1.0",
+ "globjoin": "^0.1.4",
+ "html-tags": "^3.2.0",
+ "ignore": "^5.2.1",
+ "import-lazy": "^4.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-plain-object": "^5.0.0",
+ "known-css-properties": "^0.26.0",
+ "mathml-tag-names": "^2.1.3",
+ "meow": "^9.0.0",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.19",
+ "postcss-media-query-parser": "^0.2.3",
+ "postcss-resolve-nested-selector": "^0.1.1",
+ "postcss-safe-parser": "^6.0.0",
+ "postcss-selector-parser": "^6.0.11",
+ "postcss-value-parser": "^4.2.0",
+ "resolve-from": "^5.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "style-search": "^0.1.0",
+ "supports-hyperlinks": "^2.3.0",
+ "svg-tags": "^1.0.0",
+ "table": "^6.8.1",
+ "v8-compile-cache": "^2.3.0",
+ "write-file-atomic": "^4.0.2"
+ },
+ "bin": {
+ "stylelint": "bin/stylelint.js"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/stylelint"
}
},
"node_modules/@primer/stylelint-config/node_modules/stylelint-config-recommended": {
@@ -1819,10 +2623,61 @@
"stylelint": "^14.4.0"
}
},
+ "node_modules/@primer/stylelint-config/node_modules/stylelint-order": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-5.0.0.tgz",
+ "integrity": "sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==",
+ "dev": true,
+ "dependencies": {
+ "postcss": "^8.3.11",
+ "postcss-sorting": "^7.0.1"
+ },
+ "peerDependencies": {
+ "stylelint": "^14.0.0"
+ }
+ },
+ "node_modules/@primer/stylelint-config/node_modules/supports-hyperlinks": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
+ "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@primer/stylelint-config/node_modules/type-fest": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
+ "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@primer/stylelint-config/node_modules/write-file-atomic": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+ "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
+ "dev": true,
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
"node_modules/@primer/view-components": {
- "version": "0.1.9",
- "resolved": "https://registry.npmjs.org/@primer/view-components/-/view-components-0.1.9.tgz",
- "integrity": "sha512-LtqJBkTMS+odYXqKhOZxBvyAAlXTA+C6o3eXDQN8Nwmja48SKAlFrwb+HpXLvgpbbDg1eY2LKmypokv44dl0Uw==",
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/@primer/view-components/-/view-components-0.5.1.tgz",
+ "integrity": "sha512-TI51R4rVobwK6sWRhu7HRHC6yxud2I9P1sYN6o/fHhIq7QU31mJyv1PtD8nfhmOqN/SsRC6q3pnCbh5Qt1wD/g==",
"dev": true,
"dependencies": {
"@github/auto-check-element": "^5.2.0",
@@ -1832,39 +2687,77 @@
"@github/details-menu-element": "^1.0.12",
"@github/image-crop-element": "^5.0.0",
"@github/include-fragment-element": "^6.1.1",
- "@github/mini-throttle": "^2.1.0",
"@github/relative-time-element": "^4.0.0",
"@github/tab-container-element": "^3.1.2",
- "@oddbird/popover-polyfill": "^0.1.1",
+ "@oddbird/popover-polyfill": "^0.2.1",
"@primer/behaviors": "^1.3.4"
}
},
"node_modules/@primer/view-components/node_modules/@oddbird/popover-polyfill": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@oddbird/popover-polyfill/-/popover-polyfill-0.1.1.tgz",
- "integrity": "sha512-X9gxiwKtN1ZumOoe9KRLpe37nshLtwHm/IJflIxgjanXz/FqKb0DQ7BlWu+iqUn/O0/jWYgkKnTLtsC9JlgwQg==",
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@oddbird/popover-polyfill/-/popover-polyfill-0.2.3.tgz",
+ "integrity": "sha512-XDK+V/gUeE4NEsWp79eVzhlK3wuVcRDJuaas63qo0IJLJpyOLHqycJLFYvuq8kebgT1nl87P3sbSb5ZN6Vyf5g==",
"dev": true
},
"node_modules/@rollup/plugin-node-resolve": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz",
- "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==",
+ "version": "15.2.3",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz",
+ "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==",
"dev": true,
"dependencies": {
- "@rollup/pluginutils": "^3.1.0",
- "@types/resolve": "1.17.1",
+ "@rollup/pluginutils": "^5.0.1",
+ "@types/resolve": "1.20.2",
"deepmerge": "^4.2.2",
- "is-builtin-module": "^3.1.0",
+ "is-builtin-module": "^3.2.1",
"is-module": "^1.0.0",
- "resolve": "^1.19.0"
+ "resolve": "^1.22.1"
},
"engines": {
- "node": ">= 10.0.0"
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^2.78.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/plugin-node-resolve/node_modules/@rollup/pluginutils": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz",
+ "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
},
"peerDependencies": {
- "rollup": "^2.42.0"
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
}
},
+ "node_modules/@rollup/plugin-node-resolve/node_modules/@types/estree": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+ "dev": true
+ },
+ "node_modules/@rollup/plugin-node-resolve/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true
+ },
"node_modules/@rollup/plugin-typescript": {
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.5.0.tgz",
@@ -1930,9 +2823,9 @@
}
},
"node_modules/@types/json-schema": {
- "version": "7.0.12",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
- "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==",
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
"dev": true
},
"node_modules/@types/json5": {
@@ -1966,19 +2859,16 @@
"dev": true
},
"node_modules/@types/parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
+ "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
"dev": true
},
"node_modules/@types/resolve": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
- "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
+ "version": "1.20.2",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
+ "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
+ "dev": true
},
"node_modules/@types/semver": {
"version": "7.5.0",
@@ -1987,32 +2877,33 @@
"dev": true
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.0.tgz",
- "integrity": "sha512-78B+anHLF1TI8Jn/cD0Q00TBYdMgjdOn980JfAVa9yw5sop8nyTfVOQAv6LWywkOGLclDBtv5z3oxN4w7jxyNg==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.11.0.tgz",
+ "integrity": "sha512-uXnpZDc4VRjY4iuypDBKzW1rz9T5YBBK0snMn8MaTSNd2kMlj50LnLBABELjJiOL5YHk7ZD8hbSpI9ubzqYI0w==",
"dev": true,
"dependencies": {
- "@eslint-community/regexpp": "^4.4.0",
- "@typescript-eslint/scope-manager": "5.60.0",
- "@typescript-eslint/type-utils": "5.60.0",
- "@typescript-eslint/utils": "5.60.0",
+ "@eslint-community/regexpp": "^4.5.1",
+ "@typescript-eslint/scope-manager": "6.11.0",
+ "@typescript-eslint/type-utils": "6.11.0",
+ "@typescript-eslint/utils": "6.11.0",
+ "@typescript-eslint/visitor-keys": "6.11.0",
"debug": "^4.3.4",
- "grapheme-splitter": "^1.0.4",
- "ignore": "^5.2.0",
- "natural-compare-lite": "^1.4.0",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.4",
+ "natural-compare": "^1.4.0",
+ "semver": "^7.5.4",
+ "ts-api-utils": "^1.0.1"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^16.0.0 || >=18.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "@typescript-eslint/parser": "^5.0.0",
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
+ "eslint": "^7.0.0 || ^8.0.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -2021,25 +2912,26 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.0.tgz",
- "integrity": "sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.11.0.tgz",
+ "integrity": "sha512-+whEdjk+d5do5nxfxx73oanLL9ghKO3EwM9kBCkUtWMRwWuPaFv9ScuqlYfQ6pAD6ZiJhky7TZ2ZYhrMsfMxVQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "5.60.0",
- "@typescript-eslint/types": "5.60.0",
- "@typescript-eslint/typescript-estree": "5.60.0",
+ "@typescript-eslint/scope-manager": "6.11.0",
+ "@typescript-eslint/types": "6.11.0",
+ "@typescript-eslint/typescript-estree": "6.11.0",
+ "@typescript-eslint/visitor-keys": "6.11.0",
"debug": "^4.3.4"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^16.0.0 || >=18.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ "eslint": "^7.0.0 || ^8.0.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -2048,16 +2940,16 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz",
- "integrity": "sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.11.0.tgz",
+ "integrity": "sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.60.0",
- "@typescript-eslint/visitor-keys": "5.60.0"
+ "@typescript-eslint/types": "6.11.0",
+ "@typescript-eslint/visitor-keys": "6.11.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^16.0.0 || >=18.0.0"
},
"funding": {
"type": "opencollective",
@@ -2065,25 +2957,25 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.0.tgz",
- "integrity": "sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.11.0.tgz",
+ "integrity": "sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "5.60.0",
- "@typescript-eslint/utils": "5.60.0",
+ "@typescript-eslint/typescript-estree": "6.11.0",
+ "@typescript-eslint/utils": "6.11.0",
"debug": "^4.3.4",
- "tsutils": "^3.21.0"
+ "ts-api-utils": "^1.0.1"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^16.0.0 || >=18.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "*"
+ "eslint": "^7.0.0 || ^8.0.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -2092,12 +2984,12 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz",
- "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.11.0.tgz",
+ "integrity": "sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA==",
"dev": true,
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^16.0.0 || >=18.0.0"
},
"funding": {
"type": "opencollective",
@@ -2105,21 +2997,21 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz",
- "integrity": "sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.11.0.tgz",
+ "integrity": "sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.60.0",
- "@typescript-eslint/visitor-keys": "5.60.0",
+ "@typescript-eslint/types": "6.11.0",
+ "@typescript-eslint/visitor-keys": "6.11.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
+ "semver": "^7.5.4",
+ "ts-api-utils": "^1.0.1"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^16.0.0 || >=18.0.0"
},
"funding": {
"type": "opencollective",
@@ -2132,42 +3024,41 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.0.tgz",
- "integrity": "sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.11.0.tgz",
+ "integrity": "sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==",
"dev": true,
"dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@types/json-schema": "^7.0.9",
- "@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.60.0",
- "@typescript-eslint/types": "5.60.0",
- "@typescript-eslint/typescript-estree": "5.60.0",
- "eslint-scope": "^5.1.1",
- "semver": "^7.3.7"
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@types/json-schema": "^7.0.12",
+ "@types/semver": "^7.5.0",
+ "@typescript-eslint/scope-manager": "6.11.0",
+ "@typescript-eslint/types": "6.11.0",
+ "@typescript-eslint/typescript-estree": "6.11.0",
+ "semver": "^7.5.4"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^16.0.0 || >=18.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ "eslint": "^7.0.0 || ^8.0.0"
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz",
- "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.11.0.tgz",
+ "integrity": "sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.60.0",
- "eslint-visitor-keys": "^3.3.0"
+ "@typescript-eslint/types": "6.11.0",
+ "eslint-visitor-keys": "^3.4.1"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^16.0.0 || >=18.0.0"
},
"funding": {
"type": "opencollective",
@@ -2383,9 +3274,9 @@
}
},
"node_modules/autoprefixer": {
- "version": "10.4.14",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz",
- "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==",
+ "version": "10.4.16",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz",
+ "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==",
"dev": true,
"funding": [
{
@@ -2395,12 +3286,16 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/autoprefixer"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
- "browserslist": "^4.21.5",
- "caniuse-lite": "^1.0.30001464",
- "fraction.js": "^4.2.0",
+ "browserslist": "^4.21.10",
+ "caniuse-lite": "^1.0.30001538",
+ "fraction.js": "^4.3.6",
"normalize-range": "^0.1.2",
"picocolors": "^1.0.0",
"postcss-value-parser": "^4.2.0"
@@ -2428,9 +3323,9 @@
}
},
"node_modules/axe-core": {
- "version": "4.7.2",
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz",
- "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==",
+ "version": "4.8.2",
+ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.2.tgz",
+ "integrity": "sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g==",
"dev": true,
"engines": {
"node": ">=4"
@@ -2537,9 +3432,9 @@
"dev": true
},
"node_modules/browserslist": {
- "version": "4.21.9",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz",
- "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==",
+ "version": "4.22.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
+ "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
"dev": true,
"funding": [
{
@@ -2556,10 +3451,10 @@
}
],
"dependencies": {
- "caniuse-lite": "^1.0.30001503",
- "electron-to-chromium": "^1.4.431",
- "node-releases": "^2.0.12",
- "update-browserslist-db": "^1.0.11"
+ "caniuse-lite": "^1.0.30001541",
+ "electron-to-chromium": "^1.4.535",
+ "node-releases": "^2.0.13",
+ "update-browserslist-db": "^1.0.13"
},
"bin": {
"browserslist": "cli.js"
@@ -2671,9 +3566,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001506",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001506.tgz",
- "integrity": "sha512-6XNEcpygZMCKaufIcgpQNZNf00GEqc7VQON+9Rd0K1bMYo8xhMZRAo5zpbnbMNizi4YNgIDAFrdykWsvY3H4Hw==",
+ "version": "1.0.30001559",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001559.tgz",
+ "integrity": "sha512-cPiMKZgqgkg5LY3/ntGeLFUpi6tzddBNS58A4tnTgQw1zON7u2sZMU7SzOeVH4tj20++9ggL+V6FDOFMTaFFYA==",
"dev": true,
"funding": [
{
@@ -2888,19 +3783,29 @@
"dev": true
},
"node_modules/cosmiconfig": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
- "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+ "version": "8.3.6",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz",
+ "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==",
"dev": true,
"dependencies": {
- "@types/parse-json": "^4.0.0",
- "import-fresh": "^3.2.1",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0",
- "yaml": "^1.10.0"
+ "import-fresh": "^3.3.0",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.2.0",
+ "path-type": "^4.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.9.5"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
"node_modules/cross-spawn": {
@@ -2918,18 +3823,25 @@
}
},
"node_modules/css-blank-pseudo": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz",
- "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-6.0.0.tgz",
+ "integrity": "sha512-VbfLlOWO7sBHBTn6pwDQzc07Z0SDydgDBfNfCE0nvrehdBNv9RKsuupIRa/qal0+fBZhAALyQDPMKz5lnvcchw==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "postcss-selector-parser": "^6.0.9"
- },
- "bin": {
- "css-blank-pseudo": "dist/cli.cjs"
+ "postcss-selector-parser": "^6.0.13"
},
"engines": {
- "node": "^12 || ^14 || >=16"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
"postcss": "^8.4"
@@ -2948,42 +3860,58 @@
}
},
"node_modules/css-functions-list": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz",
- "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz",
+ "integrity": "sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==",
"dev": true,
"engines": {
- "node": ">=12.22"
+ "node": ">=12 || >=16"
}
},
"node_modules/css-has-pseudo": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz",
- "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-6.0.0.tgz",
+ "integrity": "sha512-X+r+JBuoO37FBOWVNhVJhxtSBUFHgHbrcc0CjFT28JEdOw1qaDwABv/uunyodUuSy2hMPe9j/HjssxSlvUmKjg==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "postcss-selector-parser": "^6.0.9"
- },
- "bin": {
- "css-has-pseudo": "dist/cli.cjs"
+ "@csstools/selector-specificity": "^3.0.0",
+ "postcss-selector-parser": "^6.0.13",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^12 || ^14 || >=16"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
"postcss": "^8.4"
}
},
"node_modules/css-prefers-color-scheme": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz",
- "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-9.0.0.tgz",
+ "integrity": "sha512-03QGAk/FXIRseDdLb7XAiu6gidQ0Nd8945xuM7VFVPpc6goJsG9uIO8xQjTxwbPdPIIV4o4AJoOJyt8gwDl67g==",
"dev": true,
- "bin": {
- "css-prefers-color-scheme": "dist/cli.cjs"
- },
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
- "node": "^12 || ^14 || >=16"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
"postcss": "^8.4"
@@ -3078,9 +4006,9 @@
}
},
"node_modules/cssdb": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.6.0.tgz",
- "integrity": "sha512-Nna7rph8V0jC6+JBY4Vk4ndErUmfJfV6NJCaZdurL0omggabiy+QB2HCQtu5c/ACLZ0I7REv7A4QyPIoYzZx0w==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.9.0.tgz",
+ "integrity": "sha512-WPMT9seTQq6fPAa1yN4zjgZZeoTriSN2LqW9C+otjar12DQIWA4LuSfFrvFJiKp4oD0xIk1vumDLw8K9ur4NBw==",
"dev": true,
"funding": [
{
@@ -3623,9 +4551,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.437",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.437.tgz",
- "integrity": "sha512-ZFekRuBOHUXp21wrR5lshT6pZa/KmjkhKBAtmZz4NN5sCWlHOk3kdhiwFINrDBsRLX6FjyBAb1TRN+KBeNlyzQ==",
+ "version": "1.4.572",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.572.tgz",
+ "integrity": "sha512-RlFobl4D3ieetbnR+2EpxdzFl9h0RAJkPK3pfiwMug2nhBin2ZCsGIAJWdpNniLz43sgXam/CgipOmvTA+rUiA==",
"dev": true
},
"node_modules/emoji-regex": {
@@ -3892,286 +4820,97 @@
},
"node_modules/eslint-plugin-custom-elements": {
"version": "0.0.6",
- "resolved": "https://registry.npmjs.org/eslint-plugin-custom-elements/-/eslint-plugin-custom-elements-0.0.6.tgz",
- "integrity": "sha512-JwPHRSOUe7y8dpC5hg90ySHejsfnQ3yqprv0902VMZ3j8FRZDudj+yzxqqkRDhZTNFUxP3r+0TWuveZhLgJONg==",
- "dev": true,
- "peerDependencies": {
- "eslint": ">=4.19.0"
- }
- },
- "node_modules/eslint-plugin-escompat": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-escompat/-/eslint-plugin-escompat-3.4.0.tgz",
- "integrity": "sha512-ufTPv8cwCxTNoLnTZBFTQ5SxU2w7E7wiMIS7PSxsgP1eAxFjtSaoZ80LRn64hI8iYziE6kJG6gX/ZCJVxh48Bg==",
- "dev": true,
- "dependencies": {
- "browserslist": "^4.21.0"
- },
- "peerDependencies": {
- "eslint": ">=5.14.1"
- }
- },
- "node_modules/eslint-plugin-eslint-comments": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz",
- "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==",
- "dev": true,
- "dependencies": {
- "escape-string-regexp": "^1.0.5",
- "ignore": "^5.0.5"
- },
- "engines": {
- "node": ">=6.5.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- },
- "peerDependencies": {
- "eslint": ">=4.19.1"
- }
- },
- "node_modules/eslint-plugin-eslint-comments/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/eslint-plugin-filenames": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz",
- "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==",
- "dev": true,
- "dependencies": {
- "lodash.camelcase": "4.3.0",
- "lodash.kebabcase": "4.1.1",
- "lodash.snakecase": "4.1.1",
- "lodash.upperfirst": "4.3.1"
- },
- "peerDependencies": {
- "eslint": "*"
- }
- },
- "node_modules/eslint-plugin-github": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.10.1.tgz",
- "integrity": "sha512-1AqQBockOM+m0ZUpwfjWtX0lWdX5cRi/hwJnSNvXoOmz/Hh+ULH6QFz6ENWueTWjoWpgPv0af3bj+snps6o4og==",
- "dev": true,
- "dependencies": {
- "@github/browserslist-config": "^1.0.0",
- "@typescript-eslint/eslint-plugin": "^6.0.0",
- "@typescript-eslint/parser": "^6.0.0",
- "aria-query": "^5.3.0",
- "eslint-config-prettier": ">=8.0.0",
- "eslint-plugin-escompat": "^3.3.3",
- "eslint-plugin-eslint-comments": "^3.2.0",
- "eslint-plugin-filenames": "^1.3.2",
- "eslint-plugin-i18n-text": "^1.0.1",
- "eslint-plugin-import": "^2.25.2",
- "eslint-plugin-jsx-a11y": "^6.7.1",
- "eslint-plugin-no-only-tests": "^3.0.0",
- "eslint-plugin-prettier": "^5.0.0",
- "eslint-rule-documentation": ">=1.0.0",
- "jsx-ast-utils": "^3.3.2",
- "prettier": "^3.0.0",
- "svg-element-attributes": "^1.3.1"
- },
- "bin": {
- "eslint-ignore-errors": "bin/eslint-ignore-errors.js"
- },
- "peerDependencies": {
- "eslint": "^8.0.1"
- }
- },
- "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/eslint-plugin": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.8.0.tgz",
- "integrity": "sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==",
- "dev": true,
- "dependencies": {
- "@eslint-community/regexpp": "^4.5.1",
- "@typescript-eslint/scope-manager": "6.8.0",
- "@typescript-eslint/type-utils": "6.8.0",
- "@typescript-eslint/utils": "6.8.0",
- "@typescript-eslint/visitor-keys": "6.8.0",
- "debug": "^4.3.4",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.4",
- "natural-compare": "^1.4.0",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/parser": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.8.0.tgz",
- "integrity": "sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/scope-manager": "6.8.0",
- "@typescript-eslint/types": "6.8.0",
- "@typescript-eslint/typescript-estree": "6.8.0",
- "@typescript-eslint/visitor-keys": "6.8.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/scope-manager": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.8.0.tgz",
- "integrity": "sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "6.8.0",
- "@typescript-eslint/visitor-keys": "6.8.0"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/type-utils": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.8.0.tgz",
- "integrity": "sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/typescript-estree": "6.8.0",
- "@typescript-eslint/utils": "6.8.0",
- "debug": "^4.3.4",
- "ts-api-utils": "^1.0.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "resolved": "https://registry.npmjs.org/eslint-plugin-custom-elements/-/eslint-plugin-custom-elements-0.0.6.tgz",
+ "integrity": "sha512-JwPHRSOUe7y8dpC5hg90ySHejsfnQ3yqprv0902VMZ3j8FRZDudj+yzxqqkRDhZTNFUxP3r+0TWuveZhLgJONg==",
+ "dev": true,
+ "peerDependencies": {
+ "eslint": ">=4.19.0"
}
},
- "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/types": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.8.0.tgz",
- "integrity": "sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==",
+ "node_modules/eslint-plugin-escompat": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-escompat/-/eslint-plugin-escompat-3.4.0.tgz",
+ "integrity": "sha512-ufTPv8cwCxTNoLnTZBFTQ5SxU2w7E7wiMIS7PSxsgP1eAxFjtSaoZ80LRn64hI8iYziE6kJG6gX/ZCJVxh48Bg==",
"dev": true,
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "dependencies": {
+ "browserslist": "^4.21.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "peerDependencies": {
+ "eslint": ">=5.14.1"
}
},
- "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/typescript-estree": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.8.0.tgz",
- "integrity": "sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==",
+ "node_modules/eslint-plugin-eslint-comments": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz",
+ "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.8.0",
- "@typescript-eslint/visitor-keys": "6.8.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
+ "escape-string-regexp": "^1.0.5",
+ "ignore": "^5.0.5"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": ">=6.5.0"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "url": "https://github.com/sponsors/mysticatea"
},
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "peerDependencies": {
+ "eslint": ">=4.19.1"
}
},
- "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/utils": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.8.0.tgz",
- "integrity": "sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==",
+ "node_modules/eslint-plugin-eslint-comments/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true,
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@types/json-schema": "^7.0.12",
- "@types/semver": "^7.5.0",
- "@typescript-eslint/scope-manager": "6.8.0",
- "@typescript-eslint/types": "6.8.0",
- "@typescript-eslint/typescript-estree": "6.8.0",
- "semver": "^7.5.4"
- },
"engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/eslint-plugin-filenames": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz",
+ "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==",
+ "dev": true,
+ "dependencies": {
+ "lodash.camelcase": "4.3.0",
+ "lodash.kebabcase": "4.1.1",
+ "lodash.snakecase": "4.1.1",
+ "lodash.upperfirst": "4.3.1"
},
"peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
+ "eslint": "*"
}
},
- "node_modules/eslint-plugin-github/node_modules/@typescript-eslint/visitor-keys": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.8.0.tgz",
- "integrity": "sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==",
+ "node_modules/eslint-plugin-github": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.10.1.tgz",
+ "integrity": "sha512-1AqQBockOM+m0ZUpwfjWtX0lWdX5cRi/hwJnSNvXoOmz/Hh+ULH6QFz6ENWueTWjoWpgPv0af3bj+snps6o4og==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.8.0",
- "eslint-visitor-keys": "^3.4.1"
+ "@github/browserslist-config": "^1.0.0",
+ "@typescript-eslint/eslint-plugin": "^6.0.0",
+ "@typescript-eslint/parser": "^6.0.0",
+ "aria-query": "^5.3.0",
+ "eslint-config-prettier": ">=8.0.0",
+ "eslint-plugin-escompat": "^3.3.3",
+ "eslint-plugin-eslint-comments": "^3.2.0",
+ "eslint-plugin-filenames": "^1.3.2",
+ "eslint-plugin-i18n-text": "^1.0.1",
+ "eslint-plugin-import": "^2.25.2",
+ "eslint-plugin-jsx-a11y": "^6.7.1",
+ "eslint-plugin-no-only-tests": "^3.0.0",
+ "eslint-plugin-prettier": "^5.0.0",
+ "eslint-rule-documentation": ">=1.0.0",
+ "jsx-ast-utils": "^3.3.2",
+ "prettier": "^3.0.0",
+ "svg-element-attributes": "^1.3.1"
},
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "bin": {
+ "eslint-ignore-errors": "bin/eslint-ignore-errors.js"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "peerDependencies": {
+ "eslint": "^8.0.1"
}
},
"node_modules/eslint-plugin-github/node_modules/eslint-plugin-prettier": {
@@ -4203,21 +4942,6 @@
}
}
},
- "node_modules/eslint-plugin-github/node_modules/prettier": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz",
- "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==",
- "dev": true,
- "bin": {
- "prettier": "bin/prettier.cjs"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
"node_modules/eslint-plugin-i18n-text": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-i18n-text/-/eslint-plugin-i18n-text-1.0.1.tgz",
@@ -4364,19 +5088,6 @@
"node": ">=4.0.0"
}
},
- "node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "dev": true,
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
"node_modules/eslint-visitor-keys": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
@@ -4498,15 +5209,6 @@
"node": ">=4.0"
}
},
- "node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
"node_modules/estree-walker": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
@@ -4683,12 +5385,13 @@
}
},
"node_modules/flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+ "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
"dev": true,
"dependencies": {
- "flatted": "^3.1.0",
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.3",
"rimraf": "^3.0.2"
},
"engines": {
@@ -4696,9 +5399,9 @@
}
},
"node_modules/flatted": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
- "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
+ "version": "3.2.9",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
+ "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
"dev": true
},
"node_modules/for-each": {
@@ -4711,16 +5414,16 @@
}
},
"node_modules/fraction.js": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
- "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
+ "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
"dev": true,
"engines": {
"node": "*"
},
"funding": {
"type": "patreon",
- "url": "https://www.patreon.com/infusion"
+ "url": "https://github.com/sponsors/rawify"
}
},
"node_modules/fs-extra": {
@@ -4743,6 +5446,20 @@
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true
},
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
"node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -5703,6 +6420,12 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true
+ },
"node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
@@ -5758,6 +6481,15 @@
"node": ">=4.0"
}
},
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
"node_modules/kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
@@ -5777,9 +6509,9 @@
}
},
"node_modules/known-css-properties": {
- "version": "0.26.0",
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
- "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
+ "version": "0.29.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz",
+ "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==",
"dev": true
},
"node_modules/language-subtag-registry": {
@@ -6514,12 +7246,6 @@
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true
},
- "node_modules/natural-compare-lite": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
- "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
- "dev": true
- },
"node_modules/node-fetch": {
"version": "2.6.11",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
@@ -6541,9 +7267,9 @@
}
},
"node_modules/node-releases": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz",
- "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==",
+ "version": "2.0.13",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
+ "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
"dev": true
},
"node_modules/normalize-package-data": {
@@ -7006,25 +7732,27 @@
}
},
"node_modules/playwright": {
- "version": "1.35.1",
- "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.35.1.tgz",
- "integrity": "sha512-NbwBeGJLu5m7VGM0+xtlmLAH9VUfWwYOhUi/lSEDyGg46r1CA9RWlvoc5yywxR9AzQb0mOCm7bWtOXV7/w43ZA==",
+ "version": "1.39.0",
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.39.0.tgz",
+ "integrity": "sha512-naE5QT11uC/Oiq0BwZ50gDmy8c8WLPRTEWuSSFVG2egBka/1qMoSqYQcROMT9zLwJ86oPofcTH2jBY/5wWOgIw==",
"dev": true,
- "hasInstallScript": true,
"dependencies": {
- "playwright-core": "1.35.1"
+ "playwright-core": "1.39.0"
},
"bin": {
"playwright": "cli.js"
},
"engines": {
"node": ">=16"
+ },
+ "optionalDependencies": {
+ "fsevents": "2.3.2"
}
},
"node_modules/playwright-core": {
- "version": "1.35.1",
- "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.35.1.tgz",
- "integrity": "sha512-pNXb6CQ7OqmGDRspEjlxE49w+4YtR6a3X6mT1hZXeJHWmsEz7SunmvZeiG/+y1yyMZdHnnn73WKYdtV1er0Xyg==",
+ "version": "1.39.0",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.39.0.tgz",
+ "integrity": "sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==",
"dev": true,
"bin": {
"playwright-core": "cli.js"
@@ -7062,22 +7790,22 @@
}
},
"node_modules/postcss-attribute-case-insensitive": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz",
- "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.2.tgz",
+ "integrity": "sha512-IRuCwwAAQbgaLhxQdQcIIK0dCVXg3XDUnzgKD8iwdiYdwU4rMWRWyl/W9/0nA4ihVpq5pyALiHB2veBJ0292pw==",
"dev": true,
"dependencies": {
"postcss-selector-parser": "^6.0.10"
},
"engines": {
- "node": "^12 || ^14 || >=16"
+ "node": "^14 || ^16 || >=18"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/csstools"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-calc": {
@@ -7251,34 +7979,41 @@
}
},
"node_modules/postcss-color-functional-notation": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz",
- "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.2.tgz",
+ "integrity": "sha512-FsjSmlSufuiFBsIqQ++VxFmvX7zKndZpBkHmfXr4wqhvzM92FTEkAh703iqWTl1U3faTgqioIqCbfqdWiFVwtw==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2",
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-color-hex-alpha": {
- "version": "8.0.4",
- "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz",
- "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==",
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.2.tgz",
+ "integrity": "sha512-SfPjgr//VQ/DOCf80STIAsdAs7sbIbxATvVmd+Ec7JvR8onz9pjawhq3BJM3Pie40EE3TyB0P6hft16D33Nlyg==",
"dev": true,
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^12 || ^14 || >=16"
+ "node": "^14 || ^16 || >=18"
},
"funding": {
"type": "opencollective",
@@ -7289,22 +8024,28 @@
}
},
"node_modules/postcss-color-rebeccapurple": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz",
- "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-9.0.1.tgz",
+ "integrity": "sha512-ds4cq5BjRieizVb2PnvbJ0omg9VCo2/KzluvoFZbxuGpsGJ5BQSD93CHBooinEtangCM5YqUOerGDl4xGmOb6Q==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-colormin": {
@@ -7342,41 +8083,59 @@
}
},
"node_modules/postcss-custom-media": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz",
- "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==",
+ "version": "10.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-10.0.2.tgz",
+ "integrity": "sha512-zcEFNRmDm2fZvTPdI1pIW3W//UruMcLosmMiCdpQnrCsTRzWlKQPYMa1ud9auL0BmrryKK1+JjIGn19K0UjO/w==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "postcss-value-parser": "^4.2.0"
+ "@csstools/cascade-layer-name-parser": "^1.0.5",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/media-query-list-parser": "^2.1.5"
},
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.3"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-custom-properties": {
- "version": "12.1.11",
- "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz",
- "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==",
+ "version": "13.3.2",
+ "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.2.tgz",
+ "integrity": "sha512-2Coszybpo8lpLY24vy2CYv9AasiZ39/bs8Imv0pWMq55Gl8NWzfc24OAo3zIX7rc6uUJAqESnVOMZ6V6lpMjJA==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
+ "@csstools/cascade-layer-name-parser": "^1.0.5",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-custom-properties-fallback": {
@@ -7393,41 +8152,56 @@
}
},
"node_modules/postcss-custom-selectors": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz",
- "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==",
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-7.1.6.tgz",
+ "integrity": "sha512-svsjWRaxqL3vAzv71dV0/65P24/FB8TbPX+lWyyf9SZ7aZm4S4NhCn7N3Bg+Z5sZunG3FS8xQ80LrCU9hb37cw==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "postcss-selector-parser": "^6.0.4"
+ "@csstools/cascade-layer-name-parser": "^1.0.5",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "postcss-selector-parser": "^6.0.13"
},
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.3"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-dir-pseudo-class": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz",
- "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-8.0.0.tgz",
+ "integrity": "sha512-Oy5BBi0dWPwij/IA+yDYj+/OBMQ9EPqAzTHeSNUYrUWdll/PRJmcbiUj0MNcsBi681I1gcSTLvMERPaXzdbvJg==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "postcss-selector-parser": "^6.0.10"
+ "postcss-selector-parser": "^6.0.13"
},
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-discard-comments": {
@@ -7479,65 +8253,76 @@
}
},
"node_modules/postcss-double-position-gradients": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz",
- "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==",
- "dev": true,
- "dependencies": {
- "@csstools/postcss-progressive-custom-properties": "^1.1.0",
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- },
- "peerDependencies": {
- "postcss": "^8.2"
- }
- },
- "node_modules/postcss-env-function": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz",
- "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.2.tgz",
+ "integrity": "sha512-KTbvdOOy8z8zb0BTkEg4/1vqlRlApdvjw8/pFoehgQl0WVO+fezDGlvo0B8xRA+XccA7ohkQCULKNsiNOx70Cw==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2",
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^12 || ^14 || >=16"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
"postcss": "^8.4"
}
},
"node_modules/postcss-focus-visible": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz",
- "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-9.0.0.tgz",
+ "integrity": "sha512-zA4TbVaIaT8npZBEROhZmlc+GBKE8AELPHXE7i4TmIUEQhw/P/mSJfY9t6tBzpQ1rABeGtEOHYrW4SboQeONMQ==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "postcss-selector-parser": "^6.0.9"
+ "postcss-selector-parser": "^6.0.13"
},
"engines": {
- "node": "^12 || ^14 || >=16"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
"postcss": "^8.4"
}
},
"node_modules/postcss-focus-within": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz",
- "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-8.0.0.tgz",
+ "integrity": "sha512-E7+J9nuQzZaA37D/MUZMX1K817RZGDab8qw6pFwzAkDd/QtlWJ9/WTKmzewNiuxzeq6WWY7ATiRePVoDKp+DnA==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "postcss-selector-parser": "^6.0.9"
+ "postcss-selector-parser": "^6.0.13"
},
"engines": {
- "node": "^12 || ^14 || >=16"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
"postcss": "^8.4"
@@ -7553,44 +8338,56 @@
}
},
"node_modules/postcss-gap-properties": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz",
- "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-5.0.0.tgz",
+ "integrity": "sha512-YjsEEL6890P7MCv6fch6Am1yq0EhQCJMXyT4LBohiu87+4/WqR7y5W3RIv53WdA901hhytgRvjlrAhibhW4qsA==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-image-set-function": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz",
- "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-6.0.1.tgz",
+ "integrity": "sha512-VlZncC9hhZ5tg0JllY4g6Z28BeoPO8DIkelioEEkXL0AA0IORlqYpTi2L8TUnl4YQrlwvBgxVy+mdZJw5R/cIQ==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-import": {
- "version": "14.1.0",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
- "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
+ "version": "15.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
+ "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
"dev": true,
"dependencies": {
"postcss-value-parser": "^4.0.0",
@@ -7598,21 +8395,12 @@
"resolve": "^1.1.7"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=14.0.0"
},
"peerDependencies": {
"postcss": "^8.0.0"
}
},
- "node_modules/postcss-initial": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz",
- "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==",
- "dev": true,
- "peerDependencies": {
- "postcss": "^8.0.0"
- }
- },
"node_modules/postcss-js": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
@@ -7633,23 +8421,31 @@
}
},
"node_modules/postcss-lab-function": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz",
- "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-6.0.7.tgz",
+ "integrity": "sha512-4d1lhDVPukHFqkMv4G5vVcK+tgY52vwb5uR1SWKOaO5389r2q8fMxBWuXSW+YtbCOEGP0/X9KERi9E9le2pJuw==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "@csstools/postcss-progressive-custom-properties": "^1.1.0",
- "postcss-value-parser": "^4.2.0"
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2"
},
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-load-config": {
@@ -7691,27 +8487,28 @@
}
},
"node_modules/postcss-logical": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz",
- "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-7.0.0.tgz",
+ "integrity": "sha512-zYf3vHkoW82f5UZTEXChTJvH49Yl9X37axTZsJGxrCG2kOUwtaAoz9E7tqYg0lsIoJLybaL8fk/2mOi81zVIUw==",
"dev": true,
- "engines": {
- "node": "^12 || ^14 || >=16"
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
},
- "peerDependencies": {
- "postcss": "^8.4"
- }
- },
- "node_modules/postcss-media-minmax": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz",
- "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==",
- "dev": true,
"engines": {
- "node": ">=10.0.0"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.1.0"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-media-query-parser": {
@@ -7841,23 +8638,29 @@
}
},
"node_modules/postcss-nesting": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz",
- "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==",
+ "version": "12.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.0.1.tgz",
+ "integrity": "sha512-6LCqCWP9pqwXw/njMvNK0hGY44Fxc4B2EsGbn6xDcxbNRzP8GYoxT7yabVVMLrX3quqOJ9hg2jYMsnkedOf8pA==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "@csstools/selector-specificity": "^2.0.0",
- "postcss-selector-parser": "^6.0.10"
+ "@csstools/selector-specificity": "^3.0.0",
+ "postcss-selector-parser": "^6.0.13"
},
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-normalize-charset": {
@@ -7994,9 +8797,9 @@
}
},
"node_modules/postcss-opacity-percentage": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz",
- "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-2.0.0.tgz",
+ "integrity": "sha512-lyDrCOtntq5Y1JZpBFzIWm2wG9kbEdujpNt4NLannF+J9c8CgFIzPa80YQfdza+Y+yFfzbYj/rfoOsYsooUWTQ==",
"dev": true,
"funding": [
{
@@ -8009,7 +8812,7 @@
}
],
"engines": {
- "node": "^12 || ^14 || >=16"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
"postcss": "^8.2"
@@ -8032,22 +8835,28 @@
}
},
"node_modules/postcss-overflow-shorthand": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz",
- "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-5.0.0.tgz",
+ "integrity": "sha512-2rlxDyeSics/hC2FuMdPnWiP9WUPZ5x7FTuArXLFVpaSQ2woPSfZS4RD59HuEokbZhs/wPUQJ1E3MT6zVv94MQ==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-page-break": {
@@ -8060,108 +8869,137 @@
}
},
"node_modules/postcss-place": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz",
- "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-9.0.0.tgz",
+ "integrity": "sha512-qLEPD9VPH5opDVemwmRaujODF9nExn24VOC3ghgVLEvfYN7VZLwJHes0q/C9YR5hI2UC3VgBE8Wkdp1TxCXhtg==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-preset-env": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz",
- "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==",
- "dev": true,
- "dependencies": {
- "@csstools/postcss-cascade-layers": "^1.1.1",
- "@csstools/postcss-color-function": "^1.1.1",
- "@csstools/postcss-font-format-keywords": "^1.0.1",
- "@csstools/postcss-hwb-function": "^1.0.2",
- "@csstools/postcss-ic-unit": "^1.0.1",
- "@csstools/postcss-is-pseudo-class": "^2.0.7",
- "@csstools/postcss-nested-calc": "^1.0.0",
- "@csstools/postcss-normalize-display-values": "^1.0.1",
- "@csstools/postcss-oklab-function": "^1.1.1",
- "@csstools/postcss-progressive-custom-properties": "^1.3.0",
- "@csstools/postcss-stepped-value-functions": "^1.0.1",
- "@csstools/postcss-text-decoration-shorthand": "^1.0.0",
- "@csstools/postcss-trigonometric-functions": "^1.0.2",
- "@csstools/postcss-unset-value": "^1.0.2",
- "autoprefixer": "^10.4.13",
- "browserslist": "^4.21.4",
- "css-blank-pseudo": "^3.0.3",
- "css-has-pseudo": "^3.0.4",
- "css-prefers-color-scheme": "^6.0.3",
- "cssdb": "^7.1.0",
- "postcss-attribute-case-insensitive": "^5.0.2",
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.3.0.tgz",
+ "integrity": "sha512-ycw6doPrqV6QxDCtgiyGDef61bEfiSc59HGM4gOw/wxQxmKnhuEery61oOC/5ViENz/ycpRsuhTexs1kUBTvVw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "dependencies": {
+ "@csstools/postcss-cascade-layers": "^4.0.1",
+ "@csstools/postcss-color-function": "^3.0.7",
+ "@csstools/postcss-color-mix-function": "^2.0.7",
+ "@csstools/postcss-exponential-functions": "^1.0.1",
+ "@csstools/postcss-font-format-keywords": "^3.0.0",
+ "@csstools/postcss-gamut-mapping": "^1.0.0",
+ "@csstools/postcss-gradients-interpolation-method": "^4.0.7",
+ "@csstools/postcss-hwb-function": "^3.0.6",
+ "@csstools/postcss-ic-unit": "^3.0.2",
+ "@csstools/postcss-initial": "^1.0.0",
+ "@csstools/postcss-is-pseudo-class": "^4.0.3",
+ "@csstools/postcss-logical-float-and-clear": "^2.0.0",
+ "@csstools/postcss-logical-overflow": "^1.0.0",
+ "@csstools/postcss-logical-overscroll-behavior": "^1.0.0",
+ "@csstools/postcss-logical-resize": "^2.0.0",
+ "@csstools/postcss-logical-viewport-units": "^2.0.3",
+ "@csstools/postcss-media-minmax": "^1.1.0",
+ "@csstools/postcss-media-queries-aspect-ratio-number-values": "^2.0.3",
+ "@csstools/postcss-nested-calc": "^3.0.0",
+ "@csstools/postcss-normalize-display-values": "^3.0.1",
+ "@csstools/postcss-oklab-function": "^3.0.7",
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2",
+ "@csstools/postcss-relative-color-syntax": "^2.0.7",
+ "@csstools/postcss-scope-pseudo-class": "^3.0.0",
+ "@csstools/postcss-stepped-value-functions": "^3.0.2",
+ "@csstools/postcss-text-decoration-shorthand": "^3.0.3",
+ "@csstools/postcss-trigonometric-functions": "^3.0.2",
+ "@csstools/postcss-unset-value": "^3.0.0",
+ "autoprefixer": "^10.4.16",
+ "browserslist": "^4.22.1",
+ "css-blank-pseudo": "^6.0.0",
+ "css-has-pseudo": "^6.0.0",
+ "css-prefers-color-scheme": "^9.0.0",
+ "cssdb": "^7.9.0",
+ "postcss-attribute-case-insensitive": "^6.0.2",
"postcss-clamp": "^4.1.0",
- "postcss-color-functional-notation": "^4.2.4",
- "postcss-color-hex-alpha": "^8.0.4",
- "postcss-color-rebeccapurple": "^7.1.1",
- "postcss-custom-media": "^8.0.2",
- "postcss-custom-properties": "^12.1.10",
- "postcss-custom-selectors": "^6.0.3",
- "postcss-dir-pseudo-class": "^6.0.5",
- "postcss-double-position-gradients": "^3.1.2",
- "postcss-env-function": "^4.0.6",
- "postcss-focus-visible": "^6.0.4",
- "postcss-focus-within": "^5.0.4",
+ "postcss-color-functional-notation": "^6.0.2",
+ "postcss-color-hex-alpha": "^9.0.2",
+ "postcss-color-rebeccapurple": "^9.0.1",
+ "postcss-custom-media": "^10.0.2",
+ "postcss-custom-properties": "^13.3.2",
+ "postcss-custom-selectors": "^7.1.6",
+ "postcss-dir-pseudo-class": "^8.0.0",
+ "postcss-double-position-gradients": "^5.0.2",
+ "postcss-focus-visible": "^9.0.0",
+ "postcss-focus-within": "^8.0.0",
"postcss-font-variant": "^5.0.0",
- "postcss-gap-properties": "^3.0.5",
- "postcss-image-set-function": "^4.0.7",
- "postcss-initial": "^4.0.1",
- "postcss-lab-function": "^4.2.1",
- "postcss-logical": "^5.0.4",
- "postcss-media-minmax": "^5.0.0",
- "postcss-nesting": "^10.2.0",
- "postcss-opacity-percentage": "^1.1.2",
- "postcss-overflow-shorthand": "^3.0.4",
+ "postcss-gap-properties": "^5.0.0",
+ "postcss-image-set-function": "^6.0.1",
+ "postcss-lab-function": "^6.0.7",
+ "postcss-logical": "^7.0.0",
+ "postcss-nesting": "^12.0.1",
+ "postcss-opacity-percentage": "^2.0.0",
+ "postcss-overflow-shorthand": "^5.0.0",
"postcss-page-break": "^3.0.4",
- "postcss-place": "^7.0.5",
- "postcss-pseudo-class-any-link": "^7.1.6",
+ "postcss-place": "^9.0.0",
+ "postcss-pseudo-class-any-link": "^9.0.0",
"postcss-replace-overflow-wrap": "^4.0.0",
- "postcss-selector-not": "^6.0.1",
+ "postcss-selector-not": "^7.0.1",
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^12 || ^14 || >=16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-pseudo-class-any-link": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz",
- "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.0.tgz",
+ "integrity": "sha512-QNCYIL98VKFKY6HGDEJpF6+K/sg9bxcUYnOmNHJxZS5wsFDFaVoPeG68WAuhsqwbIBSo/b9fjEnTwY2mTSD+uA==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"dependencies": {
- "postcss-selector-parser": "^6.0.10"
- },
- "engines": {
- "node": "^12 || ^14 || >=16"
+ "postcss-selector-parser": "^6.0.13"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
+ "engines": {
+ "node": "^14 || ^16 || >=18"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-reduce-initial": {
@@ -8269,22 +9107,22 @@
}
},
"node_modules/postcss-selector-not": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz",
- "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-7.0.1.tgz",
+ "integrity": "sha512-1zT5C27b/zeJhchN7fP0kBr16Cc61mu7Si9uWWLoA3Px/D9tIJPKchJCkUH3tPO5D0pCFmGeApAv8XpXBQJ8SQ==",
"dev": true,
"dependencies": {
"postcss-selector-parser": "^6.0.10"
},
"engines": {
- "node": "^12 || ^14 || >=16"
+ "node": "^14 || ^16 || >=18"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/csstools"
},
"peerDependencies": {
- "postcss": "^8.2"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-selector-parser": {
@@ -8422,15 +9260,15 @@
}
},
"node_modules/prettier": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
- "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz",
+ "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==",
"dev": true,
"bin": {
- "prettier": "bin-prettier.js"
+ "prettier": "bin/prettier.cjs"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=14"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
@@ -9599,96 +10437,88 @@
}
},
"node_modules/stylelint": {
- "version": "14.16.1",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz",
- "integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==",
+ "version": "15.11.0",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.11.0.tgz",
+ "integrity": "sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==",
"dev": true,
"dependencies": {
- "@csstools/selector-specificity": "^2.0.2",
+ "@csstools/css-parser-algorithms": "^2.3.1",
+ "@csstools/css-tokenizer": "^2.2.0",
+ "@csstools/media-query-list-parser": "^2.1.4",
+ "@csstools/selector-specificity": "^3.0.0",
"balanced-match": "^2.0.0",
"colord": "^2.9.3",
- "cosmiconfig": "^7.1.0",
- "css-functions-list": "^3.1.0",
+ "cosmiconfig": "^8.2.0",
+ "css-functions-list": "^3.2.1",
+ "css-tree": "^2.3.1",
"debug": "^4.3.4",
- "fast-glob": "^3.2.12",
+ "fast-glob": "^3.3.1",
"fastest-levenshtein": "^1.0.16",
- "file-entry-cache": "^6.0.1",
+ "file-entry-cache": "^7.0.0",
"global-modules": "^2.0.0",
"globby": "^11.1.0",
"globjoin": "^0.1.4",
- "html-tags": "^3.2.0",
- "ignore": "^5.2.1",
+ "html-tags": "^3.3.1",
+ "ignore": "^5.2.4",
"import-lazy": "^4.0.0",
"imurmurhash": "^0.1.4",
"is-plain-object": "^5.0.0",
- "known-css-properties": "^0.26.0",
+ "known-css-properties": "^0.29.0",
"mathml-tag-names": "^2.1.3",
- "meow": "^9.0.0",
+ "meow": "^10.1.5",
"micromatch": "^4.0.5",
"normalize-path": "^3.0.0",
"picocolors": "^1.0.0",
- "postcss": "^8.4.19",
- "postcss-media-query-parser": "^0.2.3",
+ "postcss": "^8.4.28",
"postcss-resolve-nested-selector": "^0.1.1",
"postcss-safe-parser": "^6.0.0",
- "postcss-selector-parser": "^6.0.11",
+ "postcss-selector-parser": "^6.0.13",
"postcss-value-parser": "^4.2.0",
"resolve-from": "^5.0.0",
"string-width": "^4.2.3",
"strip-ansi": "^6.0.1",
"style-search": "^0.1.0",
- "supports-hyperlinks": "^2.3.0",
+ "supports-hyperlinks": "^3.0.0",
"svg-tags": "^1.0.0",
"table": "^6.8.1",
- "v8-compile-cache": "^2.3.0",
- "write-file-atomic": "^4.0.2"
+ "write-file-atomic": "^5.0.1"
},
"bin": {
- "stylelint": "bin/stylelint.js"
+ "stylelint": "bin/stylelint.mjs"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": "^14.13.1 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/stylelint"
}
},
- "node_modules/stylelint-config-prettier": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-9.0.5.tgz",
- "integrity": "sha512-U44lELgLZhbAD/xy/vncZ2Pq8sh2TnpiPvo38Ifg9+zeioR+LAkHu0i6YORIOxFafZoVg0xqQwex6e6F25S5XA==",
+ "node_modules/stylelint-config-recommended": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-13.0.0.tgz",
+ "integrity": "sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==",
"dev": true,
- "bin": {
- "stylelint-config-prettier": "bin/check.js",
- "stylelint-config-prettier-check": "bin/check.js"
- },
"engines": {
- "node": ">= 12"
+ "node": "^14.13.1 || >=16.0.0"
},
"peerDependencies": {
- "stylelint": ">= 11.x < 15"
- }
- },
- "node_modules/stylelint-config-recommended": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz",
- "integrity": "sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ==",
- "dev": true,
- "peerDependencies": {
- "stylelint": "^14.10.0"
+ "stylelint": "^15.10.0"
}
},
"node_modules/stylelint-config-standard": {
- "version": "28.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-28.0.0.tgz",
- "integrity": "sha512-q/StuowDdDmFCravzGHAwgS9pjX0bdOQUEBBDIkIWsQuYGgYz/xsO8CM6eepmIQ1fc5bKdDVimlJZ6MoOUcJ5Q==",
+ "version": "34.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-34.0.0.tgz",
+ "integrity": "sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==",
"dev": true,
"dependencies": {
- "stylelint-config-recommended": "^9.0.0"
+ "stylelint-config-recommended": "^13.0.0"
+ },
+ "engines": {
+ "node": "^14.13.1 || >=16.0.0"
},
"peerDependencies": {
- "stylelint": "^14.11.0"
+ "stylelint": "^15.10.0"
}
},
"node_modules/stylelint-no-unsupported-browser-features": {
@@ -9708,19 +10538,6 @@
"stylelint": ">=13.0.0"
}
},
- "node_modules/stylelint-order": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-5.0.0.tgz",
- "integrity": "sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==",
- "dev": true,
- "dependencies": {
- "postcss": "^8.3.11",
- "postcss-sorting": "^7.0.1"
- },
- "peerDependencies": {
- "stylelint": "^14.0.0"
- }
- },
"node_modules/stylelint-scss": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.7.0.tgz",
@@ -9742,6 +10559,60 @@
"integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
"dev": true
},
+ "node_modules/stylelint/node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/camelcase-keys": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz",
+ "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==",
+ "dev": true,
+ "dependencies": {
+ "camelcase": "^6.3.0",
+ "map-obj": "^4.1.0",
+ "quick-lru": "^5.1.1",
+ "type-fest": "^1.2.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/decamelize": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz",
+ "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/file-entry-cache": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-7.0.2.tgz",
+ "integrity": "sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^3.2.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
"node_modules/stylelint/node_modules/hosted-git-info": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
@@ -9754,27 +10625,39 @@
"node": ">=10"
}
},
+ "node_modules/stylelint/node_modules/indent-string": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
+ "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/stylelint/node_modules/meow": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
- "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
+ "version": "10.1.5",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz",
+ "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==",
"dev": true,
"dependencies": {
- "@types/minimist": "^1.2.0",
- "camelcase-keys": "^6.2.2",
- "decamelize": "^1.2.0",
+ "@types/minimist": "^1.2.2",
+ "camelcase-keys": "^7.0.0",
+ "decamelize": "^5.0.0",
"decamelize-keys": "^1.1.0",
"hard-rejection": "^2.1.0",
"minimist-options": "4.1.0",
- "normalize-package-data": "^3.0.0",
- "read-pkg-up": "^7.0.1",
- "redent": "^3.0.0",
- "trim-newlines": "^3.0.0",
- "type-fest": "^0.18.0",
- "yargs-parser": "^20.2.3"
+ "normalize-package-data": "^3.0.2",
+ "read-pkg-up": "^8.0.0",
+ "redent": "^4.0.0",
+ "trim-newlines": "^4.0.2",
+ "type-fest": "^1.2.2",
+ "yargs-parser": "^20.2.9"
},
"engines": {
- "node": ">=10"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -9795,6 +10678,69 @@
"node": ">=10"
}
},
+ "node_modules/stylelint/node_modules/quick-lru": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/read-pkg": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz",
+ "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==",
+ "dev": true,
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^3.0.2",
+ "parse-json": "^5.2.0",
+ "type-fest": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/read-pkg-up": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz",
+ "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==",
+ "dev": true,
+ "dependencies": {
+ "find-up": "^5.0.0",
+ "read-pkg": "^6.0.0",
+ "type-fest": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/redent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz",
+ "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==",
+ "dev": true,
+ "dependencies": {
+ "indent-string": "^5.0.0",
+ "strip-indent": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/stylelint/node_modules/resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -9804,10 +10750,37 @@
"node": ">=8"
}
},
+ "node_modules/stylelint/node_modules/strip-indent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz",
+ "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==",
+ "dev": true,
+ "dependencies": {
+ "min-indent": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/trim-newlines": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz",
+ "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/stylelint/node_modules/type-fest": {
- "version": "0.18.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
- "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
+ "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
"dev": true,
"engines": {
"node": ">=10"
@@ -9816,6 +10789,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/stylelint/node_modules/yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/sugarss": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/sugarss/-/sugarss-4.0.1.tgz",
@@ -9845,16 +10827,16 @@
}
},
"node_modules/supports-hyperlinks": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
- "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz",
+ "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==",
"dev": true,
"dependencies": {
"has-flag": "^4.0.0",
"supports-color": "^7.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=14.18"
}
},
"node_modules/supports-preserve-symlinks-flag": {
@@ -10130,27 +11112,6 @@
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
"dev": true
},
- "node_modules/tsutils": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
- "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
- "dev": true,
- "dependencies": {
- "tslib": "^1.8.1"
- },
- "engines": {
- "node": ">= 6"
- },
- "peerDependencies": {
- "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
- }
- },
- "node_modules/tsutils/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
"node_modules/tty-table": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/tty-table/-/tty-table-4.2.1.tgz",
@@ -10278,16 +11239,16 @@
}
},
"node_modules/typescript": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
- "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
+ "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
- "node": ">=4.2.0"
+ "node": ">=14.17"
}
},
"node_modules/uc.micro": {
@@ -10330,9 +11291,9 @@
}
},
"node_modules/update-browserslist-db": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
- "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
+ "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
"dev": true,
"funding": [
{
@@ -10375,9 +11336,9 @@
"dev": true
},
"node_modules/v8-compile-cache": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
- "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz",
+ "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==",
"dev": true
},
"node_modules/validate-npm-package-license": {
@@ -10598,16 +11559,28 @@
"dev": true
},
"node_modules/write-file-atomic": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
- "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
+ "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
"dev": true,
"dependencies": {
"imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.7"
+ "signal-exit": "^4.0.1"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/write-file-atomic/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/xtend": {
@@ -10984,6 +11957,12 @@
"graceful-fs": "^4.1.6"
}
},
+ "prettier": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "dev": true
+ },
"resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -11651,6 +12630,12 @@
"graceful-fs": "^4.1.6"
}
},
+ "prettier": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "dev": true
+ },
"universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
@@ -11659,139 +12644,336 @@
}
}
},
+ "@csstools/cascade-layer-name-parser": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.5.tgz",
+ "integrity": "sha512-v/5ODKNBMfBl0us/WQjlfsvSlYxfZLhNMVIsuCPib2ulTwGKYbKJbwqw671+qH9Y4wvWVnu7LBChvml/wBKjFg==",
+ "dev": true,
+ "requires": {}
+ },
+ "@csstools/color-helpers": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-3.0.2.tgz",
+ "integrity": "sha512-NMVs/l7Y9eIKL5XjbCHEgGcG8LOUT2qVcRjX6EzkCdlvftHVKr2tHIPzHavfrULRZ5Q2gxrJ9f44dAlj6fX97Q==",
+ "dev": true
+ },
+ "@csstools/css-calc": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-1.1.4.tgz",
+ "integrity": "sha512-ZV1TSmToiNcQL1P3hfzlzZzA02mmVkVmXGaUDUqpYUG84PmLhVSZpKX+KfxAuOcK7de04UXSQPBrAvaya6iiGg==",
+ "dev": true,
+ "requires": {}
+ },
+ "@csstools/css-color-parser": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-1.4.0.tgz",
+ "integrity": "sha512-SlGd8E6ron24JYQPQAIzu5tvmWi1H4sDKTdA7UDnwF45oJv7AVESbOlOO1YjfBhrQFuvLWUgKiOY9DwGoAxwTA==",
+ "dev": true,
+ "requires": {
+ "@csstools/color-helpers": "^3.0.2",
+ "@csstools/css-calc": "^1.1.4"
+ }
+ },
+ "@csstools/css-parser-algorithms": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz",
+ "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==",
+ "dev": true,
+ "requires": {}
+ },
+ "@csstools/css-tokenizer": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz",
+ "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==",
+ "dev": true
+ },
+ "@csstools/media-query-list-parser": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz",
+ "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==",
+ "dev": true,
+ "requires": {}
+ },
"@csstools/postcss-cascade-layers": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz",
- "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.1.tgz",
+ "integrity": "sha512-UYFuFL9GgVnftg9v7tBvVEBRLaBeAD66euD+yYy5fYCUld9ZIWTJNCE30hm6STMEdt6FL5xzeVw1lAZ1tpvUEg==",
"dev": true,
"requires": {
- "@csstools/selector-specificity": "^2.0.2",
- "postcss-selector-parser": "^6.0.10"
+ "@csstools/selector-specificity": "^3.0.0",
+ "postcss-selector-parser": "^6.0.13"
}
},
"@csstools/postcss-color-function": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz",
- "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==",
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-3.0.7.tgz",
+ "integrity": "sha512-/PIB20G1TPCXmQlaJLWIYzTZRZpj6csT4ijgnshIj/kcmniIRroAfDa0xSWnfuO1eNo0NptIaPU7jzUukWn55Q==",
"dev": true,
"requires": {
- "@csstools/postcss-progressive-custom-properties": "^1.1.0",
- "postcss-value-parser": "^4.2.0"
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2"
}
},
- "@csstools/postcss-font-format-keywords": {
+ "@csstools/postcss-color-mix-function": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.7.tgz",
+ "integrity": "sha512-57/g8aGo5eKFjEeJMiRKh8Qq43K2rCyk5ZZTvJ34TNl4zUtYU5DvLkIkOnhCtL8/a4z9oMA42aOnFPddRrScUQ==",
+ "dev": true,
+ "requires": {
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2"
+ }
+ },
+ "@csstools/postcss-exponential-functions": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz",
- "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-1.0.1.tgz",
+ "integrity": "sha512-ZLK2iSK4DUxeypGce2PnQSdYugUqDTwxnhNiq1o6OyKMNYgYs4eKbvEhFG8JKr1sJWbeqBi5jRr0017l2EWVvg==",
+ "dev": true,
+ "requires": {
+ "@csstools/css-calc": "^1.1.4",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1"
+ }
+ },
+ "@csstools/postcss-font-format-keywords": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-3.0.0.tgz",
+ "integrity": "sha512-ntkGj+1uDa/u6lpjPxnkPcjJn7ChO/Kcy08YxctOZI7vwtrdYvFhmE476dq8bj1yna306+jQ9gzXIG/SWfOaRg==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
}
},
+ "@csstools/postcss-gamut-mapping": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.0.tgz",
+ "integrity": "sha512-6UQyK8l9YaG5Ao5rBDcCnKHrLsHiQ1E0zeFQuqDJqEtinVzAPb/MwSw3TenZXL1Rnd7th3tb+4CBFHBXdW5tbQ==",
+ "dev": true,
+ "requires": {
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1"
+ }
+ },
+ "@csstools/postcss-gradients-interpolation-method": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.7.tgz",
+ "integrity": "sha512-GT1CzE/Tyr/ei4j5BwKESkHAgg+Gzys/0mAY7W+UiR+XrcYk5hDbOrE/YJIx1rflfO/7La1bDoZtA0YnLl4qNA==",
+ "dev": true,
+ "requires": {
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2"
+ }
+ },
"@csstools/postcss-hwb-function": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz",
- "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==",
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.6.tgz",
+ "integrity": "sha512-uQgWt2Ho2yy2S6qthWY7mD5v57NKxi6dD1NB8nAybU5bJSsm+hLXRGm3/zbOH4xNrqO3Cl60DFSNlSrUME3Xjg==",
"dev": true,
"requires": {
- "postcss-value-parser": "^4.2.0"
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1"
}
},
"@csstools/postcss-ic-unit": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz",
- "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.2.tgz",
+ "integrity": "sha512-n28Er7W9qc48zNjJnvTKuVHY26/+6YlA9WzJRksIHiAWOMxSH5IksXkw7FpkIOd+jLi59BMrX/BWrZMgjkLBHg==",
"dev": true,
"requires": {
- "@csstools/postcss-progressive-custom-properties": "^1.1.0",
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2",
"postcss-value-parser": "^4.2.0"
}
},
+ "@csstools/postcss-initial": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-1.0.0.tgz",
+ "integrity": "sha512-1l7iHHjIl5qmVeGItugr4ZOlCREDP71mNKqoEyxlosIoiu3Os1nPWMHpuCvDLCLiWI/ONTOg3nzJh7gwHOrqUA==",
+ "dev": true,
+ "requires": {}
+ },
"@csstools/postcss-is-pseudo-class": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz",
- "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.3.tgz",
+ "integrity": "sha512-/dt5M9Ty/x3Yiq0Nm/5PJJzwkVFchJgdjKVnryBPtoMCb9ohb/nDIJOwr/Wr3hK3FDs1EA1GE6PyRYsUmQPS8Q==",
"dev": true,
"requires": {
- "@csstools/selector-specificity": "^2.0.0",
- "postcss-selector-parser": "^6.0.10"
+ "@csstools/selector-specificity": "^3.0.0",
+ "postcss-selector-parser": "^6.0.13"
}
},
- "@csstools/postcss-nested-calc": {
+ "@csstools/postcss-logical-float-and-clear": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-2.0.0.tgz",
+ "integrity": "sha512-Wki4vxsF6icRvRz8eF9bPpAvwaAt0RHwhVOyzfoFg52XiIMjb6jcbHkGxwpJXP4DVrnFEwpwmrz5aTRqOW82kg==",
+ "dev": true,
+ "requires": {}
+ },
+ "@csstools/postcss-logical-overflow": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz",
- "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-1.0.0.tgz",
+ "integrity": "sha512-cIrZ8f7bGGvr+W53nEuMspcwaeaI2YTmz6LZ4yiAO5z14/PQgOOv+Pn+qjvPOPoadeY2BmpaoTzZKvdAQuM17w==",
+ "dev": true,
+ "requires": {}
+ },
+ "@csstools/postcss-logical-overscroll-behavior": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-1.0.0.tgz",
+ "integrity": "sha512-e89S2LWjnxf0SB2wNUAbqDyFb/Fow/tlOe1XqOLbNx4rf3LrQokM9qldVx7sarnddml3ORE5LDUmlKpPOOeJTA==",
+ "dev": true,
+ "requires": {}
+ },
+ "@csstools/postcss-logical-resize": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-2.0.0.tgz",
+ "integrity": "sha512-lCQ1aX8c5+WI4t5EoYf3alTzJNNocMqTb+u1J9CINdDhFh1fjovqK+0aHalUHsNstZmzFPNzIkU4Mb3eM9U8SA==",
+ "dev": true,
+ "requires": {
+ "postcss-value-parser": "^4.2.0"
+ }
+ },
+ "@csstools/postcss-logical-viewport-units": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-2.0.3.tgz",
+ "integrity": "sha512-xeVxqND5rlQyqLGdH7rX34sIm/JbbQKxpKQP8oD1YQqUHHCLQR9NUS57WqJKajxKN6AcNAMWJhb5LUH5RfPcyA==",
+ "dev": true,
+ "requires": {
+ "@csstools/css-tokenizer": "^2.2.1"
+ }
+ },
+ "@csstools/postcss-media-minmax": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-1.1.0.tgz",
+ "integrity": "sha512-t5Li/DPC5QmW/6VFLfUvsw/4dNYYseWR0tOXDeJg/9EKUodBgNawz5tuk5vYKtNvoj+Q08odMuXcpS5YJj0AFA==",
+ "dev": true,
+ "requires": {
+ "@csstools/css-calc": "^1.1.4",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/media-query-list-parser": "^2.1.5"
+ }
+ },
+ "@csstools/postcss-media-queries-aspect-ratio-number-values": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-2.0.3.tgz",
+ "integrity": "sha512-IPL8AvnwMYW+cWtp+j8cW3MFN0RyXNT4hLOvs6Rf2N+NcbvXhSyKxZuE3W9Cv4KjaNoNoGx1d0UhT6tktq6tUw==",
+ "dev": true,
+ "requires": {
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/media-query-list-parser": "^2.1.5"
+ }
+ },
+ "@csstools/postcss-nested-calc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-3.0.0.tgz",
+ "integrity": "sha512-HsB66aDWAouOwD/GcfDTS0a7wCuVWaTpXcjl5VKP0XvFxDiU+r0T8FG7xgb6ovZNZ+qzvGIwRM+CLHhDgXrYgQ==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
}
},
"@csstools/postcss-normalize-display-values": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz",
- "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-3.0.1.tgz",
+ "integrity": "sha512-nUvRxI+ALJwkxZdPU4EDyuM380vP91sAGvI3jAOHs/sr3jfcCOzLkY6xKI1Mr526kZ3RivmMoYM/xq+XFyE/bw==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
}
},
"@csstools/postcss-oklab-function": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz",
- "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==",
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.7.tgz",
+ "integrity": "sha512-vBFTQD3CARB3u/XIGO44wWbcO7xG/4GsYqJlcPuUGRSK8mtxes6n4vvNFlIByyAZy2k4d4RY63nyvTbMpeNTaQ==",
"dev": true,
"requires": {
- "@csstools/postcss-progressive-custom-properties": "^1.1.0",
- "postcss-value-parser": "^4.2.0"
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2"
}
},
"@csstools/postcss-progressive-custom-properties": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz",
- "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.0.2.tgz",
+ "integrity": "sha512-YEvTozk1SxnV/PGL5DllBVDuLQ+jiQhyCSQiZJ6CwBMU5JQ9hFde3i1qqzZHuclZfptjrU0JjlX4ePsOhxNzHw==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
}
},
+ "@csstools/postcss-relative-color-syntax": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.7.tgz",
+ "integrity": "sha512-2AiFbJSVF4EyymLxme4JzSrbXykHolx8DdZECHjYKMhoulhKLltx5ccYgtrK3BmXGd3v3nJrWFCc8JM8bjuiOg==",
+ "dev": true,
+ "requires": {
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2"
+ }
+ },
+ "@csstools/postcss-scope-pseudo-class": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-3.0.0.tgz",
+ "integrity": "sha512-GFNVsD97OuEcfHmcT0/DAZWAvTM/FFBDQndIOLawNc1Wq8YqpZwBdHa063Lq+Irk7azygTT+Iinyg3Lt76p7rg==",
+ "dev": true,
+ "requires": {
+ "postcss-selector-parser": "^6.0.13"
+ }
+ },
"@csstools/postcss-stepped-value-functions": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz",
- "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-3.0.2.tgz",
+ "integrity": "sha512-I3wX44MZVv+tDuWfrd3BTvRB/YRIM2F5v1MBtTI89sxpFn47mNpTwpPYUOGPVCgKlRDfZSlxIUYhUQmqRQZZFQ==",
"dev": true,
"requires": {
- "postcss-value-parser": "^4.2.0"
+ "@csstools/css-calc": "^1.1.4",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1"
}
},
"@csstools/postcss-text-decoration-shorthand": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz",
- "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.3.tgz",
+ "integrity": "sha512-d5J9m49HhqXRcw1S6vTZuviHi/iknUKGjBpChiNK1ARg9sSa3b8m5lsWz5Izs8ISORZdv2bZRwbw5Z2R6gQ9kQ==",
"dev": true,
"requires": {
+ "@csstools/color-helpers": "^3.0.2",
"postcss-value-parser": "^4.2.0"
}
},
"@csstools/postcss-trigonometric-functions": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz",
- "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-3.0.2.tgz",
+ "integrity": "sha512-AwzNhF4QOKaLOKvMljwwFkeYXwufhRO15G+kKohHkyoNOL75xWkN+W2Y9ik9tSeAyDv+cYNlYaF+o/a79WjVjg==",
"dev": true,
"requires": {
- "postcss-value-parser": "^4.2.0"
+ "@csstools/css-calc": "^1.1.4",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1"
}
},
"@csstools/postcss-unset-value": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz",
- "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-3.0.0.tgz",
+ "integrity": "sha512-P0JD1WHh3avVyKKRKjd0dZIjCEeaBer8t1BbwGMUDtSZaLhXlLNBqZ8KkqHzYWXOJgHleXAny2/sx8LYl6qhEA==",
"dev": true,
"requires": {}
},
"@csstools/selector-specificity": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
- "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz",
+ "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==",
"dev": true,
"requires": {}
},
@@ -11842,17 +13024,17 @@
}
},
"@github/auto-complete-element": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/@github/auto-complete-element/-/auto-complete-element-3.5.1.tgz",
- "integrity": "sha512-7/g6Nz6Zz4/k0m/L0n+OEO29WZcXgXwLJn7Ql02UbIMR2ClFEZIwIvvzb+3fEECOyLpFrZC/JH7Svz9RYPc+wA==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@github/auto-complete-element/-/auto-complete-element-3.6.0.tgz",
+ "integrity": "sha512-u8fG8nCosSFv2wlKMsGga+FaFu/jkexZVFIDxLiCyLVTB8zRRu/RJyufzNnmbOZHYBezCMNBgJ0quuEBoyRh9Q==",
"requires": {
"@github/combobox-nav": "^2.1.7"
}
},
"@github/axe-github": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@github/axe-github/-/axe-github-0.5.0.tgz",
- "integrity": "sha512-i1QpK8hs2asSFCLn0LL6VEYIGJ+qnvho8YyqM9eQcI7K5tcser8ugLZkLTgktteWNZqE9g9OSlC0VFPEWo+RsQ==",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/@github/axe-github/-/axe-github-0.6.1.tgz",
+ "integrity": "sha512-NH+69lWLZljzb5/GrHDW3IF809ss5dbqj/wcUe5SN++73IVIMfDsbwjblqoRoq7/755lhEgd7TYU1dRET7jBIA==",
"dev": true
},
"@github/browserslist-config": {
@@ -11906,9 +13088,9 @@
"integrity": "sha512-iEeR2OdVCPkdIPUszL8gJnKNu4MR8ANh7y0u/LPyaatYezgaWxUZEzhFntloqQq+HE6MZkFy+cl+xzCNuljOdw=="
},
"@github/prettier-config": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/@github/prettier-config/-/prettier-config-0.0.4.tgz",
- "integrity": "sha512-ZOJ+U771Mw68qp2GPbcqPt2Xg0LEl0YwiIFHXwVLAFm2TgDnsgcCHhXO8PIxOWPqSFO4S7xIMD9CBobfaWGASA==",
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/@github/prettier-config/-/prettier-config-0.0.6.tgz",
+ "integrity": "sha512-Sdb089z+QbGnFF2NivbDeaJ62ooPlD31wE6Fkb/ESjAOXSjNJo+gjqzYYhlM7G3ERJmKFZRUJYMlsqB7Tym8lQ==",
"dev": true
},
"@github/relative-time-element": {
@@ -12159,9 +13341,9 @@
}
},
"@oddbird/popover-polyfill": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@oddbird/popover-polyfill/-/popover-polyfill-0.3.0.tgz",
- "integrity": "sha512-XtA1cI3fyiPuur7dSpVIZzYJhrNq7YywOf41eG0gHkzteE69ez3gKtfIGu44VmZb73nfv2QsTprJqrRjN+K8nA=="
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@oddbird/popover-polyfill/-/popover-polyfill-0.3.2.tgz",
+ "integrity": "sha512-H0Q8JcFkXrOt2FrP0cUz2qomU5O+Dfc51UYLk5GtDWmVhdmvtV2FhgaCUh3TA6U5dogMZOFAf3QbwiGXhe9LXQ=="
},
"@pkgr/utils": {
"version": "2.4.2",
@@ -12178,14 +13360,12 @@
}
},
"@playwright/test": {
- "version": "1.35.1",
- "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.35.1.tgz",
- "integrity": "sha512-b5YoFe6J9exsMYg0pQAobNDR85T1nLumUYgUTtKm4d21iX2L7WqKq9dW8NGJ+2vX0etZd+Y7UeuqsxDXm9+5ZA==",
+ "version": "1.39.0",
+ "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.39.0.tgz",
+ "integrity": "sha512-3u1iFqgzl7zr004bGPYiN/5EZpRUSFddQBra8Rqll5N0/vfpqlP9I9EXqAoGacuAbX6c9Ulg/Cjqglp5VkK6UQ==",
"dev": true,
"requires": {
- "@types/node": "*",
- "fsevents": "2.3.2",
- "playwright-core": "1.35.1"
+ "playwright": "1.39.0"
}
},
"@primer/behaviors": {
@@ -12194,13 +13374,13 @@
"integrity": "sha512-gzryOl22EOzJSPT8pYbHZYHgcKEOw9KxG0L5XRL+cMaS767YGqZGoeF/YEaeJ3dEWMzqz93FPGSem3eo5PmPBA=="
},
"@primer/css": {
- "version": "21.0.2",
- "resolved": "https://registry.npmjs.org/@primer/css/-/css-21.0.2.tgz",
- "integrity": "sha512-rIwqua1LgjMTMFx9whghPEHF1B4RdVA6meMu5ByeqLYWmWrCStwk2jZvk9yNSn2MnkJ7zuuo3jTlIX1SVmjF7Q==",
+ "version": "21.0.9",
+ "resolved": "https://registry.npmjs.org/@primer/css/-/css-21.0.9.tgz",
+ "integrity": "sha512-kk0TfLqtGwGYJ/qXGLMXDIL4d3qWPjlEB12Hvk08krulbsQRWEsnXjejBIvJG69GyOOuYxXNoHvP2NGenxQ8Jw==",
"dev": true,
"requires": {
- "@primer/primitives": "^7.11.10",
- "@primer/view-components": "^0.1.0"
+ "@primer/primitives": "^7.12.0",
+ "@primer/view-components": "^0.5.1"
}
},
"@primer/primitives": {
@@ -12228,6 +13408,131 @@
"tap-map": "^1.0.0"
},
"dependencies": {
+ "@csstools/selector-specificity": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
+ "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
+ "dev": true,
+ "requires": {}
+ },
+ "balanced-match": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
+ "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
+ "dev": true
+ },
+ "cosmiconfig": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+ "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+ "dev": true,
+ "requires": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ }
+ },
+ "hosted-git-info": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "known-css-properties": {
+ "version": "0.26.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
+ "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
+ "dev": true
+ },
+ "meow": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
+ "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
+ "dev": true,
+ "requires": {
+ "@types/minimist": "^1.2.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize": "^1.2.0",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "4.1.0",
+ "normalize-package-data": "^3.0.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.18.0",
+ "yargs-parser": "^20.2.3"
+ }
+ },
+ "normalize-package-data": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
+ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^4.0.1",
+ "is-core-module": "^2.5.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true
+ },
+ "stylelint": {
+ "version": "14.16.1",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz",
+ "integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==",
+ "dev": true,
+ "requires": {
+ "@csstools/selector-specificity": "^2.0.2",
+ "balanced-match": "^2.0.0",
+ "colord": "^2.9.3",
+ "cosmiconfig": "^7.1.0",
+ "css-functions-list": "^3.1.0",
+ "debug": "^4.3.4",
+ "fast-glob": "^3.2.12",
+ "fastest-levenshtein": "^1.0.16",
+ "file-entry-cache": "^6.0.1",
+ "global-modules": "^2.0.0",
+ "globby": "^11.1.0",
+ "globjoin": "^0.1.4",
+ "html-tags": "^3.2.0",
+ "ignore": "^5.2.1",
+ "import-lazy": "^4.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-plain-object": "^5.0.0",
+ "known-css-properties": "^0.26.0",
+ "mathml-tag-names": "^2.1.3",
+ "meow": "^9.0.0",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.19",
+ "postcss-media-query-parser": "^0.2.3",
+ "postcss-resolve-nested-selector": "^0.1.1",
+ "postcss-safe-parser": "^6.0.0",
+ "postcss-selector-parser": "^6.0.11",
+ "postcss-value-parser": "^4.2.0",
+ "resolve-from": "^5.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "style-search": "^0.1.0",
+ "supports-hyperlinks": "^2.3.0",
+ "svg-tags": "^1.0.0",
+ "table": "^6.8.1",
+ "v8-compile-cache": "^2.3.0",
+ "write-file-atomic": "^4.0.2"
+ }
+ },
"stylelint-config-recommended": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz",
@@ -12243,13 +13548,49 @@
"requires": {
"stylelint-config-recommended": "^7.0.0"
}
+ },
+ "stylelint-order": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-5.0.0.tgz",
+ "integrity": "sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==",
+ "dev": true,
+ "requires": {
+ "postcss": "^8.3.11",
+ "postcss-sorting": "^7.0.1"
+ }
+ },
+ "supports-hyperlinks": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
+ "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "type-fest": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
+ "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
+ "dev": true
+ },
+ "write-file-atomic": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+ "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
+ }
}
}
},
"@primer/view-components": {
- "version": "0.1.9",
- "resolved": "https://registry.npmjs.org/@primer/view-components/-/view-components-0.1.9.tgz",
- "integrity": "sha512-LtqJBkTMS+odYXqKhOZxBvyAAlXTA+C6o3eXDQN8Nwmja48SKAlFrwb+HpXLvgpbbDg1eY2LKmypokv44dl0Uw==",
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/@primer/view-components/-/view-components-0.5.1.tgz",
+ "integrity": "sha512-TI51R4rVobwK6sWRhu7HRHC6yxud2I9P1sYN6o/fHhIq7QU31mJyv1PtD8nfhmOqN/SsRC6q3pnCbh5Qt1wD/g==",
"dev": true,
"requires": {
"@github/auto-check-element": "^5.2.0",
@@ -12259,33 +13600,57 @@
"@github/details-menu-element": "^1.0.12",
"@github/image-crop-element": "^5.0.0",
"@github/include-fragment-element": "^6.1.1",
- "@github/mini-throttle": "^2.1.0",
"@github/relative-time-element": "^4.0.0",
"@github/tab-container-element": "^3.1.2",
- "@oddbird/popover-polyfill": "^0.1.1",
+ "@oddbird/popover-polyfill": "^0.2.1",
"@primer/behaviors": "^1.3.4"
},
"dependencies": {
"@oddbird/popover-polyfill": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@oddbird/popover-polyfill/-/popover-polyfill-0.1.1.tgz",
- "integrity": "sha512-X9gxiwKtN1ZumOoe9KRLpe37nshLtwHm/IJflIxgjanXz/FqKb0DQ7BlWu+iqUn/O0/jWYgkKnTLtsC9JlgwQg==",
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@oddbird/popover-polyfill/-/popover-polyfill-0.2.3.tgz",
+ "integrity": "sha512-XDK+V/gUeE4NEsWp79eVzhlK3wuVcRDJuaas63qo0IJLJpyOLHqycJLFYvuq8kebgT1nl87P3sbSb5ZN6Vyf5g==",
"dev": true
}
}
},
"@rollup/plugin-node-resolve": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz",
- "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==",
+ "version": "15.2.3",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz",
+ "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==",
"dev": true,
"requires": {
- "@rollup/pluginutils": "^3.1.0",
- "@types/resolve": "1.17.1",
+ "@rollup/pluginutils": "^5.0.1",
+ "@types/resolve": "1.20.2",
"deepmerge": "^4.2.2",
- "is-builtin-module": "^3.1.0",
+ "is-builtin-module": "^3.2.1",
"is-module": "^1.0.0",
- "resolve": "^1.19.0"
+ "resolve": "^1.22.1"
+ },
+ "dependencies": {
+ "@rollup/pluginutils": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz",
+ "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^2.3.1"
+ }
+ },
+ "@types/estree": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+ "dev": true
+ },
+ "estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true
+ }
}
},
"@rollup/plugin-typescript": {
@@ -12331,9 +13696,9 @@
}
},
"@types/json-schema": {
- "version": "7.0.12",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
- "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==",
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
"dev": true
},
"@types/json5": {
@@ -12367,19 +13732,16 @@
"dev": true
},
"@types/parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
+ "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
"dev": true
},
"@types/resolve": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
- "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
+ "version": "1.20.2",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
+ "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
+ "dev": true
},
"@types/semver": {
"version": "7.5.0",
@@ -12388,102 +13750,103 @@
"dev": true
},
"@typescript-eslint/eslint-plugin": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.0.tgz",
- "integrity": "sha512-78B+anHLF1TI8Jn/cD0Q00TBYdMgjdOn980JfAVa9yw5sop8nyTfVOQAv6LWywkOGLclDBtv5z3oxN4w7jxyNg==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.11.0.tgz",
+ "integrity": "sha512-uXnpZDc4VRjY4iuypDBKzW1rz9T5YBBK0snMn8MaTSNd2kMlj50LnLBABELjJiOL5YHk7ZD8hbSpI9ubzqYI0w==",
"dev": true,
"requires": {
- "@eslint-community/regexpp": "^4.4.0",
- "@typescript-eslint/scope-manager": "5.60.0",
- "@typescript-eslint/type-utils": "5.60.0",
- "@typescript-eslint/utils": "5.60.0",
+ "@eslint-community/regexpp": "^4.5.1",
+ "@typescript-eslint/scope-manager": "6.11.0",
+ "@typescript-eslint/type-utils": "6.11.0",
+ "@typescript-eslint/utils": "6.11.0",
+ "@typescript-eslint/visitor-keys": "6.11.0",
"debug": "^4.3.4",
- "grapheme-splitter": "^1.0.4",
- "ignore": "^5.2.0",
- "natural-compare-lite": "^1.4.0",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.4",
+ "natural-compare": "^1.4.0",
+ "semver": "^7.5.4",
+ "ts-api-utils": "^1.0.1"
}
},
"@typescript-eslint/parser": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.0.tgz",
- "integrity": "sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.11.0.tgz",
+ "integrity": "sha512-+whEdjk+d5do5nxfxx73oanLL9ghKO3EwM9kBCkUtWMRwWuPaFv9ScuqlYfQ6pAD6ZiJhky7TZ2ZYhrMsfMxVQ==",
"dev": true,
"requires": {
- "@typescript-eslint/scope-manager": "5.60.0",
- "@typescript-eslint/types": "5.60.0",
- "@typescript-eslint/typescript-estree": "5.60.0",
+ "@typescript-eslint/scope-manager": "6.11.0",
+ "@typescript-eslint/types": "6.11.0",
+ "@typescript-eslint/typescript-estree": "6.11.0",
+ "@typescript-eslint/visitor-keys": "6.11.0",
"debug": "^4.3.4"
}
},
"@typescript-eslint/scope-manager": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz",
- "integrity": "sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.11.0.tgz",
+ "integrity": "sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.60.0",
- "@typescript-eslint/visitor-keys": "5.60.0"
+ "@typescript-eslint/types": "6.11.0",
+ "@typescript-eslint/visitor-keys": "6.11.0"
}
},
"@typescript-eslint/type-utils": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.0.tgz",
- "integrity": "sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.11.0.tgz",
+ "integrity": "sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==",
"dev": true,
"requires": {
- "@typescript-eslint/typescript-estree": "5.60.0",
- "@typescript-eslint/utils": "5.60.0",
+ "@typescript-eslint/typescript-estree": "6.11.0",
+ "@typescript-eslint/utils": "6.11.0",
"debug": "^4.3.4",
- "tsutils": "^3.21.0"
+ "ts-api-utils": "^1.0.1"
}
},
"@typescript-eslint/types": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz",
- "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.11.0.tgz",
+ "integrity": "sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA==",
"dev": true
},
"@typescript-eslint/typescript-estree": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz",
- "integrity": "sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.11.0.tgz",
+ "integrity": "sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.60.0",
- "@typescript-eslint/visitor-keys": "5.60.0",
+ "@typescript-eslint/types": "6.11.0",
+ "@typescript-eslint/visitor-keys": "6.11.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
+ "semver": "^7.5.4",
+ "ts-api-utils": "^1.0.1"
}
},
"@typescript-eslint/utils": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.0.tgz",
- "integrity": "sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.11.0.tgz",
+ "integrity": "sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==",
"dev": true,
"requires": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@types/json-schema": "^7.0.9",
- "@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.60.0",
- "@typescript-eslint/types": "5.60.0",
- "@typescript-eslint/typescript-estree": "5.60.0",
- "eslint-scope": "^5.1.1",
- "semver": "^7.3.7"
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@types/json-schema": "^7.0.12",
+ "@types/semver": "^7.5.0",
+ "@typescript-eslint/scope-manager": "6.11.0",
+ "@typescript-eslint/types": "6.11.0",
+ "@typescript-eslint/typescript-estree": "6.11.0",
+ "semver": "^7.5.4"
}
},
"@typescript-eslint/visitor-keys": {
- "version": "5.60.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz",
- "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.11.0.tgz",
+ "integrity": "sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.60.0",
- "eslint-visitor-keys": "^3.3.0"
+ "@typescript-eslint/types": "6.11.0",
+ "eslint-visitor-keys": "^3.4.1"
}
},
"acorn": {
@@ -12635,14 +13998,14 @@
"dev": true
},
"autoprefixer": {
- "version": "10.4.14",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz",
- "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==",
+ "version": "10.4.16",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz",
+ "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==",
"dev": true,
"requires": {
- "browserslist": "^4.21.5",
- "caniuse-lite": "^1.0.30001464",
- "fraction.js": "^4.2.0",
+ "browserslist": "^4.21.10",
+ "caniuse-lite": "^1.0.30001538",
+ "fraction.js": "^4.3.6",
"normalize-range": "^0.1.2",
"picocolors": "^1.0.0",
"postcss-value-parser": "^4.2.0"
@@ -12655,9 +14018,9 @@
"dev": true
},
"axe-core": {
- "version": "4.7.2",
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz",
- "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==",
+ "version": "4.8.2",
+ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.2.tgz",
+ "integrity": "sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g==",
"dev": true
},
"axobject-query": {
@@ -12746,15 +14109,15 @@
"dev": true
},
"browserslist": {
- "version": "4.21.9",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz",
- "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==",
+ "version": "4.22.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
+ "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30001503",
- "electron-to-chromium": "^1.4.431",
- "node-releases": "^2.0.12",
- "update-browserslist-db": "^1.0.11"
+ "caniuse-lite": "^1.0.30001541",
+ "electron-to-chromium": "^1.4.535",
+ "node-releases": "^2.0.13",
+ "update-browserslist-db": "^1.0.13"
}
},
"buffer-from": {
@@ -12830,9 +14193,9 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001506",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001506.tgz",
- "integrity": "sha512-6XNEcpygZMCKaufIcgpQNZNf00GEqc7VQON+9Rd0K1bMYo8xhMZRAo5zpbnbMNizi4YNgIDAFrdykWsvY3H4Hw==",
+ "version": "1.0.30001559",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001559.tgz",
+ "integrity": "sha512-cPiMKZgqgkg5LY3/ntGeLFUpi6tzddBNS58A4tnTgQw1zON7u2sZMU7SzOeVH4tj20++9ggL+V6FDOFMTaFFYA==",
"dev": true
},
"chalk": {
@@ -12982,16 +14345,15 @@
"dev": true
},
"cosmiconfig": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
- "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+ "version": "8.3.6",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz",
+ "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==",
"dev": true,
"requires": {
- "@types/parse-json": "^4.0.0",
- "import-fresh": "^3.2.1",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0",
- "yaml": "^1.10.0"
+ "import-fresh": "^3.3.0",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.2.0",
+ "path-type": "^4.0.0"
}
},
"cross-spawn": {
@@ -13006,12 +14368,12 @@
}
},
"css-blank-pseudo": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz",
- "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-6.0.0.tgz",
+ "integrity": "sha512-VbfLlOWO7sBHBTn6pwDQzc07Z0SDydgDBfNfCE0nvrehdBNv9RKsuupIRa/qal0+fBZhAALyQDPMKz5lnvcchw==",
"dev": true,
"requires": {
- "postcss-selector-parser": "^6.0.9"
+ "postcss-selector-parser": "^6.0.13"
}
},
"css-declaration-sorter": {
@@ -13022,24 +14384,26 @@
"requires": {}
},
"css-functions-list": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz",
- "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz",
+ "integrity": "sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==",
"dev": true
},
"css-has-pseudo": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz",
- "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-6.0.0.tgz",
+ "integrity": "sha512-X+r+JBuoO37FBOWVNhVJhxtSBUFHgHbrcc0CjFT28JEdOw1qaDwABv/uunyodUuSy2hMPe9j/HjssxSlvUmKjg==",
"dev": true,
"requires": {
- "postcss-selector-parser": "^6.0.9"
+ "@csstools/selector-specificity": "^3.0.0",
+ "postcss-selector-parser": "^6.0.13",
+ "postcss-value-parser": "^4.2.0"
}
},
"css-prefers-color-scheme": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz",
- "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-9.0.0.tgz",
+ "integrity": "sha512-03QGAk/FXIRseDdLb7XAiu6gidQ0Nd8945xuM7VFVPpc6goJsG9uIO8xQjTxwbPdPIIV4o4AJoOJyt8gwDl67g==",
"dev": true,
"requires": {}
},
@@ -13119,9 +14483,9 @@
"dev": true
},
"cssdb": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.6.0.tgz",
- "integrity": "sha512-Nna7rph8V0jC6+JBY4Vk4ndErUmfJfV6NJCaZdurL0omggabiy+QB2HCQtu5c/ACLZ0I7REv7A4QyPIoYzZx0w==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.9.0.tgz",
+ "integrity": "sha512-WPMT9seTQq6fPAa1yN4zjgZZeoTriSN2LqW9C+otjar12DQIWA4LuSfFrvFJiKp4oD0xIk1vumDLw8K9ur4NBw==",
"dev": true
},
"cssesc": {
@@ -13511,9 +14875,9 @@
}
},
"electron-to-chromium": {
- "version": "1.4.437",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.437.tgz",
- "integrity": "sha512-ZFekRuBOHUXp21wrR5lshT6pZa/KmjkhKBAtmZz4NN5sCWlHOk3kdhiwFINrDBsRLX6FjyBAb1TRN+KBeNlyzQ==",
+ "version": "1.4.572",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.572.tgz",
+ "integrity": "sha512-RlFobl4D3ieetbnR+2EpxdzFl9h0RAJkPK3pfiwMug2nhBin2ZCsGIAJWdpNniLz43sgXam/CgipOmvTA+rUiA==",
"dev": true
},
"emoji-regex": {
@@ -13825,106 +15189,6 @@
"svg-element-attributes": "^1.3.1"
},
"dependencies": {
- "@typescript-eslint/eslint-plugin": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.8.0.tgz",
- "integrity": "sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==",
- "dev": true,
- "requires": {
- "@eslint-community/regexpp": "^4.5.1",
- "@typescript-eslint/scope-manager": "6.8.0",
- "@typescript-eslint/type-utils": "6.8.0",
- "@typescript-eslint/utils": "6.8.0",
- "@typescript-eslint/visitor-keys": "6.8.0",
- "debug": "^4.3.4",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.4",
- "natural-compare": "^1.4.0",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
- }
- },
- "@typescript-eslint/parser": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.8.0.tgz",
- "integrity": "sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==",
- "dev": true,
- "requires": {
- "@typescript-eslint/scope-manager": "6.8.0",
- "@typescript-eslint/types": "6.8.0",
- "@typescript-eslint/typescript-estree": "6.8.0",
- "@typescript-eslint/visitor-keys": "6.8.0",
- "debug": "^4.3.4"
- }
- },
- "@typescript-eslint/scope-manager": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.8.0.tgz",
- "integrity": "sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "6.8.0",
- "@typescript-eslint/visitor-keys": "6.8.0"
- }
- },
- "@typescript-eslint/type-utils": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.8.0.tgz",
- "integrity": "sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==",
- "dev": true,
- "requires": {
- "@typescript-eslint/typescript-estree": "6.8.0",
- "@typescript-eslint/utils": "6.8.0",
- "debug": "^4.3.4",
- "ts-api-utils": "^1.0.1"
- }
- },
- "@typescript-eslint/types": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.8.0.tgz",
- "integrity": "sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==",
- "dev": true
- },
- "@typescript-eslint/typescript-estree": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.8.0.tgz",
- "integrity": "sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "6.8.0",
- "@typescript-eslint/visitor-keys": "6.8.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
- }
- },
- "@typescript-eslint/utils": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.8.0.tgz",
- "integrity": "sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==",
- "dev": true,
- "requires": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@types/json-schema": "^7.0.12",
- "@types/semver": "^7.5.0",
- "@typescript-eslint/scope-manager": "6.8.0",
- "@typescript-eslint/types": "6.8.0",
- "@typescript-eslint/typescript-estree": "6.8.0",
- "semver": "^7.5.4"
- }
- },
- "@typescript-eslint/visitor-keys": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.8.0.tgz",
- "integrity": "sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "6.8.0",
- "eslint-visitor-keys": "^3.4.1"
- }
- },
"eslint-plugin-prettier": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz",
@@ -13934,12 +15198,6 @@
"prettier-linter-helpers": "^1.0.0",
"synckit": "^0.8.5"
}
- },
- "prettier": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz",
- "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==",
- "dev": true
}
}
},
@@ -14052,16 +15310,6 @@
"integrity": "sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==",
"dev": true
},
- "eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "dev": true,
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- }
- },
"eslint-visitor-keys": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
@@ -14119,12 +15367,6 @@
}
}
},
- "estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true
- },
"estree-walker": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
@@ -14268,19 +15510,20 @@
"dev": true
},
"flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+ "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
"dev": true,
"requires": {
- "flatted": "^3.1.0",
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.3",
"rimraf": "^3.0.2"
}
},
"flatted": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
- "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
+ "version": "3.2.9",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
+ "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
"dev": true
},
"for-each": {
@@ -14293,9 +15536,9 @@
}
},
"fraction.js": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
- "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
+ "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
"dev": true
},
"fs-extra": {
@@ -14315,6 +15558,13 @@
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true
},
+ "fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "optional": true
+ },
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -14976,6 +16226,12 @@
"argparse": "^2.0.1"
}
},
+ "json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true
+ },
"json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
@@ -15023,6 +16279,15 @@
"object.assign": "^4.1.3"
}
},
+ "keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "requires": {
+ "json-buffer": "3.0.1"
+ }
+ },
"kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
@@ -15036,9 +16301,9 @@
"dev": true
},
"known-css-properties": {
- "version": "0.26.0",
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
- "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
+ "version": "0.29.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz",
+ "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==",
"dev": true
},
"language-subtag-registry": {
@@ -15616,12 +16881,6 @@
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true
},
- "natural-compare-lite": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
- "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
- "dev": true
- },
"node-fetch": {
"version": "2.6.11",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
@@ -15632,9 +16891,9 @@
}
},
"node-releases": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz",
- "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==",
+ "version": "2.0.13",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
+ "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
"dev": true
},
"normalize-package-data": {
@@ -15965,18 +17224,19 @@
}
},
"playwright": {
- "version": "1.35.1",
- "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.35.1.tgz",
- "integrity": "sha512-NbwBeGJLu5m7VGM0+xtlmLAH9VUfWwYOhUi/lSEDyGg46r1CA9RWlvoc5yywxR9AzQb0mOCm7bWtOXV7/w43ZA==",
+ "version": "1.39.0",
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.39.0.tgz",
+ "integrity": "sha512-naE5QT11uC/Oiq0BwZ50gDmy8c8WLPRTEWuSSFVG2egBka/1qMoSqYQcROMT9zLwJ86oPofcTH2jBY/5wWOgIw==",
"dev": true,
"requires": {
- "playwright-core": "1.35.1"
+ "fsevents": "2.3.2",
+ "playwright-core": "1.39.0"
}
},
"playwright-core": {
- "version": "1.35.1",
- "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.35.1.tgz",
- "integrity": "sha512-pNXb6CQ7OqmGDRspEjlxE49w+4YtR6a3X6mT1hZXeJHWmsEz7SunmvZeiG/+y1yyMZdHnnn73WKYdtV1er0Xyg==",
+ "version": "1.39.0",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.39.0.tgz",
+ "integrity": "sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==",
"dev": true
},
"postcss": {
@@ -15999,9 +17259,9 @@
}
},
"postcss-attribute-case-insensitive": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz",
- "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.2.tgz",
+ "integrity": "sha512-IRuCwwAAQbgaLhxQdQcIIK0dCVXg3XDUnzgKD8iwdiYdwU4rMWRWyl/W9/0nA4ihVpq5pyALiHB2veBJ0292pw==",
"dev": true,
"requires": {
"postcss-selector-parser": "^6.0.10"
@@ -16125,27 +17385,28 @@
}
},
"postcss-color-functional-notation": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz",
- "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.2.tgz",
+ "integrity": "sha512-FsjSmlSufuiFBsIqQ++VxFmvX7zKndZpBkHmfXr4wqhvzM92FTEkAh703iqWTl1U3faTgqioIqCbfqdWiFVwtw==",
"dev": true,
"requires": {
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2",
"postcss-value-parser": "^4.2.0"
}
},
"postcss-color-hex-alpha": {
- "version": "8.0.4",
- "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz",
- "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==",
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.2.tgz",
+ "integrity": "sha512-SfPjgr//VQ/DOCf80STIAsdAs7sbIbxATvVmd+Ec7JvR8onz9pjawhq3BJM3Pie40EE3TyB0P6hft16D33Nlyg==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
}
},
"postcss-color-rebeccapurple": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz",
- "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-9.0.1.tgz",
+ "integrity": "sha512-ds4cq5BjRieizVb2PnvbJ0omg9VCo2/KzluvoFZbxuGpsGJ5BQSD93CHBooinEtangCM5YqUOerGDl4xGmOb6Q==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
@@ -16174,20 +17435,26 @@
}
},
"postcss-custom-media": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz",
- "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==",
+ "version": "10.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-10.0.2.tgz",
+ "integrity": "sha512-zcEFNRmDm2fZvTPdI1pIW3W//UruMcLosmMiCdpQnrCsTRzWlKQPYMa1ud9auL0BmrryKK1+JjIGn19K0UjO/w==",
"dev": true,
"requires": {
- "postcss-value-parser": "^4.2.0"
+ "@csstools/cascade-layer-name-parser": "^1.0.5",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/media-query-list-parser": "^2.1.5"
}
},
"postcss-custom-properties": {
- "version": "12.1.11",
- "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz",
- "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==",
+ "version": "13.3.2",
+ "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.2.tgz",
+ "integrity": "sha512-2Coszybpo8lpLY24vy2CYv9AasiZ39/bs8Imv0pWMq55Gl8NWzfc24OAo3zIX7rc6uUJAqESnVOMZ6V6lpMjJA==",
"dev": true,
"requires": {
+ "@csstools/cascade-layer-name-parser": "^1.0.5",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
"postcss-value-parser": "^4.2.0"
}
},
@@ -16202,21 +17469,24 @@
}
},
"postcss-custom-selectors": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz",
- "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==",
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-7.1.6.tgz",
+ "integrity": "sha512-svsjWRaxqL3vAzv71dV0/65P24/FB8TbPX+lWyyf9SZ7aZm4S4NhCn7N3Bg+Z5sZunG3FS8xQ80LrCU9hb37cw==",
"dev": true,
"requires": {
- "postcss-selector-parser": "^6.0.4"
+ "@csstools/cascade-layer-name-parser": "^1.0.5",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "postcss-selector-parser": "^6.0.13"
}
},
"postcss-dir-pseudo-class": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz",
- "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-8.0.0.tgz",
+ "integrity": "sha512-Oy5BBi0dWPwij/IA+yDYj+/OBMQ9EPqAzTHeSNUYrUWdll/PRJmcbiUj0MNcsBi681I1gcSTLvMERPaXzdbvJg==",
"dev": true,
"requires": {
- "postcss-selector-parser": "^6.0.10"
+ "postcss-selector-parser": "^6.0.13"
}
},
"postcss-discard-comments": {
@@ -16248,40 +17518,31 @@
"requires": {}
},
"postcss-double-position-gradients": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz",
- "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==",
- "dev": true,
- "requires": {
- "@csstools/postcss-progressive-custom-properties": "^1.1.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-env-function": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz",
- "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.2.tgz",
+ "integrity": "sha512-KTbvdOOy8z8zb0BTkEg4/1vqlRlApdvjw8/pFoehgQl0WVO+fezDGlvo0B8xRA+XccA7ohkQCULKNsiNOx70Cw==",
"dev": true,
"requires": {
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2",
"postcss-value-parser": "^4.2.0"
}
},
"postcss-focus-visible": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz",
- "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-9.0.0.tgz",
+ "integrity": "sha512-zA4TbVaIaT8npZBEROhZmlc+GBKE8AELPHXE7i4TmIUEQhw/P/mSJfY9t6tBzpQ1rABeGtEOHYrW4SboQeONMQ==",
"dev": true,
"requires": {
- "postcss-selector-parser": "^6.0.9"
+ "postcss-selector-parser": "^6.0.13"
}
},
"postcss-focus-within": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz",
- "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-8.0.0.tgz",
+ "integrity": "sha512-E7+J9nuQzZaA37D/MUZMX1K817RZGDab8qw6pFwzAkDd/QtlWJ9/WTKmzewNiuxzeq6WWY7ATiRePVoDKp+DnA==",
"dev": true,
"requires": {
- "postcss-selector-parser": "^6.0.9"
+ "postcss-selector-parser": "^6.0.13"
}
},
"postcss-font-variant": {
@@ -16292,25 +17553,25 @@
"requires": {}
},
"postcss-gap-properties": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz",
- "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-5.0.0.tgz",
+ "integrity": "sha512-YjsEEL6890P7MCv6fch6Am1yq0EhQCJMXyT4LBohiu87+4/WqR7y5W3RIv53WdA901hhytgRvjlrAhibhW4qsA==",
"dev": true,
"requires": {}
},
"postcss-image-set-function": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz",
- "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-6.0.1.tgz",
+ "integrity": "sha512-VlZncC9hhZ5tg0JllY4g6Z28BeoPO8DIkelioEEkXL0AA0IORlqYpTi2L8TUnl4YQrlwvBgxVy+mdZJw5R/cIQ==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
}
},
"postcss-import": {
- "version": "14.1.0",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
- "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
+ "version": "15.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
+ "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.0.0",
@@ -16318,13 +17579,6 @@
"resolve": "^1.1.7"
}
},
- "postcss-initial": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz",
- "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==",
- "dev": true,
- "requires": {}
- },
"postcss-js": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
@@ -16335,13 +17589,15 @@
}
},
"postcss-lab-function": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz",
- "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-6.0.7.tgz",
+ "integrity": "sha512-4d1lhDVPukHFqkMv4G5vVcK+tgY52vwb5uR1SWKOaO5389r2q8fMxBWuXSW+YtbCOEGP0/X9KERi9E9le2pJuw==",
"dev": true,
"requires": {
- "@csstools/postcss-progressive-custom-properties": "^1.1.0",
- "postcss-value-parser": "^4.2.0"
+ "@csstools/css-color-parser": "^1.4.0",
+ "@csstools/css-parser-algorithms": "^2.3.2",
+ "@csstools/css-tokenizer": "^2.2.1",
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2"
}
},
"postcss-load-config": {
@@ -16363,18 +17619,13 @@
}
},
"postcss-logical": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz",
- "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==",
- "dev": true,
- "requires": {}
- },
- "postcss-media-minmax": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz",
- "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-7.0.0.tgz",
+ "integrity": "sha512-zYf3vHkoW82f5UZTEXChTJvH49Yl9X37axTZsJGxrCG2kOUwtaAoz9E7tqYg0lsIoJLybaL8fk/2mOi81zVIUw==",
"dev": true,
- "requires": {}
+ "requires": {
+ "postcss-value-parser": "^4.2.0"
+ }
},
"postcss-media-query-parser": {
"version": "0.2.3",
@@ -16457,13 +17708,13 @@
}
},
"postcss-nesting": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz",
- "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==",
+ "version": "12.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.0.1.tgz",
+ "integrity": "sha512-6LCqCWP9pqwXw/njMvNK0hGY44Fxc4B2EsGbn6xDcxbNRzP8GYoxT7yabVVMLrX3quqOJ9hg2jYMsnkedOf8pA==",
"dev": true,
"requires": {
- "@csstools/selector-specificity": "^2.0.0",
- "postcss-selector-parser": "^6.0.10"
+ "@csstools/selector-specificity": "^3.0.0",
+ "postcss-selector-parser": "^6.0.13"
}
},
"postcss-normalize-charset": {
@@ -16547,9 +17798,9 @@
}
},
"postcss-opacity-percentage": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz",
- "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-2.0.0.tgz",
+ "integrity": "sha512-lyDrCOtntq5Y1JZpBFzIWm2wG9kbEdujpNt4NLannF+J9c8CgFIzPa80YQfdza+Y+yFfzbYj/rfoOsYsooUWTQ==",
"dev": true,
"requires": {}
},
@@ -16564,9 +17815,9 @@
}
},
"postcss-overflow-shorthand": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz",
- "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-5.0.0.tgz",
+ "integrity": "sha512-2rlxDyeSics/hC2FuMdPnWiP9WUPZ5x7FTuArXLFVpaSQ2woPSfZS4RD59HuEokbZhs/wPUQJ1E3MT6zVv94MQ==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
@@ -16580,78 +17831,89 @@
"requires": {}
},
"postcss-place": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz",
- "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-9.0.0.tgz",
+ "integrity": "sha512-qLEPD9VPH5opDVemwmRaujODF9nExn24VOC3ghgVLEvfYN7VZLwJHes0q/C9YR5hI2UC3VgBE8Wkdp1TxCXhtg==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
}
},
"postcss-preset-env": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz",
- "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==",
- "dev": true,
- "requires": {
- "@csstools/postcss-cascade-layers": "^1.1.1",
- "@csstools/postcss-color-function": "^1.1.1",
- "@csstools/postcss-font-format-keywords": "^1.0.1",
- "@csstools/postcss-hwb-function": "^1.0.2",
- "@csstools/postcss-ic-unit": "^1.0.1",
- "@csstools/postcss-is-pseudo-class": "^2.0.7",
- "@csstools/postcss-nested-calc": "^1.0.0",
- "@csstools/postcss-normalize-display-values": "^1.0.1",
- "@csstools/postcss-oklab-function": "^1.1.1",
- "@csstools/postcss-progressive-custom-properties": "^1.3.0",
- "@csstools/postcss-stepped-value-functions": "^1.0.1",
- "@csstools/postcss-text-decoration-shorthand": "^1.0.0",
- "@csstools/postcss-trigonometric-functions": "^1.0.2",
- "@csstools/postcss-unset-value": "^1.0.2",
- "autoprefixer": "^10.4.13",
- "browserslist": "^4.21.4",
- "css-blank-pseudo": "^3.0.3",
- "css-has-pseudo": "^3.0.4",
- "css-prefers-color-scheme": "^6.0.3",
- "cssdb": "^7.1.0",
- "postcss-attribute-case-insensitive": "^5.0.2",
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.3.0.tgz",
+ "integrity": "sha512-ycw6doPrqV6QxDCtgiyGDef61bEfiSc59HGM4gOw/wxQxmKnhuEery61oOC/5ViENz/ycpRsuhTexs1kUBTvVw==",
+ "dev": true,
+ "requires": {
+ "@csstools/postcss-cascade-layers": "^4.0.1",
+ "@csstools/postcss-color-function": "^3.0.7",
+ "@csstools/postcss-color-mix-function": "^2.0.7",
+ "@csstools/postcss-exponential-functions": "^1.0.1",
+ "@csstools/postcss-font-format-keywords": "^3.0.0",
+ "@csstools/postcss-gamut-mapping": "^1.0.0",
+ "@csstools/postcss-gradients-interpolation-method": "^4.0.7",
+ "@csstools/postcss-hwb-function": "^3.0.6",
+ "@csstools/postcss-ic-unit": "^3.0.2",
+ "@csstools/postcss-initial": "^1.0.0",
+ "@csstools/postcss-is-pseudo-class": "^4.0.3",
+ "@csstools/postcss-logical-float-and-clear": "^2.0.0",
+ "@csstools/postcss-logical-overflow": "^1.0.0",
+ "@csstools/postcss-logical-overscroll-behavior": "^1.0.0",
+ "@csstools/postcss-logical-resize": "^2.0.0",
+ "@csstools/postcss-logical-viewport-units": "^2.0.3",
+ "@csstools/postcss-media-minmax": "^1.1.0",
+ "@csstools/postcss-media-queries-aspect-ratio-number-values": "^2.0.3",
+ "@csstools/postcss-nested-calc": "^3.0.0",
+ "@csstools/postcss-normalize-display-values": "^3.0.1",
+ "@csstools/postcss-oklab-function": "^3.0.7",
+ "@csstools/postcss-progressive-custom-properties": "^3.0.2",
+ "@csstools/postcss-relative-color-syntax": "^2.0.7",
+ "@csstools/postcss-scope-pseudo-class": "^3.0.0",
+ "@csstools/postcss-stepped-value-functions": "^3.0.2",
+ "@csstools/postcss-text-decoration-shorthand": "^3.0.3",
+ "@csstools/postcss-trigonometric-functions": "^3.0.2",
+ "@csstools/postcss-unset-value": "^3.0.0",
+ "autoprefixer": "^10.4.16",
+ "browserslist": "^4.22.1",
+ "css-blank-pseudo": "^6.0.0",
+ "css-has-pseudo": "^6.0.0",
+ "css-prefers-color-scheme": "^9.0.0",
+ "cssdb": "^7.9.0",
+ "postcss-attribute-case-insensitive": "^6.0.2",
"postcss-clamp": "^4.1.0",
- "postcss-color-functional-notation": "^4.2.4",
- "postcss-color-hex-alpha": "^8.0.4",
- "postcss-color-rebeccapurple": "^7.1.1",
- "postcss-custom-media": "^8.0.2",
- "postcss-custom-properties": "^12.1.10",
- "postcss-custom-selectors": "^6.0.3",
- "postcss-dir-pseudo-class": "^6.0.5",
- "postcss-double-position-gradients": "^3.1.2",
- "postcss-env-function": "^4.0.6",
- "postcss-focus-visible": "^6.0.4",
- "postcss-focus-within": "^5.0.4",
+ "postcss-color-functional-notation": "^6.0.2",
+ "postcss-color-hex-alpha": "^9.0.2",
+ "postcss-color-rebeccapurple": "^9.0.1",
+ "postcss-custom-media": "^10.0.2",
+ "postcss-custom-properties": "^13.3.2",
+ "postcss-custom-selectors": "^7.1.6",
+ "postcss-dir-pseudo-class": "^8.0.0",
+ "postcss-double-position-gradients": "^5.0.2",
+ "postcss-focus-visible": "^9.0.0",
+ "postcss-focus-within": "^8.0.0",
"postcss-font-variant": "^5.0.0",
- "postcss-gap-properties": "^3.0.5",
- "postcss-image-set-function": "^4.0.7",
- "postcss-initial": "^4.0.1",
- "postcss-lab-function": "^4.2.1",
- "postcss-logical": "^5.0.4",
- "postcss-media-minmax": "^5.0.0",
- "postcss-nesting": "^10.2.0",
- "postcss-opacity-percentage": "^1.1.2",
- "postcss-overflow-shorthand": "^3.0.4",
+ "postcss-gap-properties": "^5.0.0",
+ "postcss-image-set-function": "^6.0.1",
+ "postcss-lab-function": "^6.0.7",
+ "postcss-logical": "^7.0.0",
+ "postcss-nesting": "^12.0.1",
+ "postcss-opacity-percentage": "^2.0.0",
+ "postcss-overflow-shorthand": "^5.0.0",
"postcss-page-break": "^3.0.4",
- "postcss-place": "^7.0.5",
- "postcss-pseudo-class-any-link": "^7.1.6",
+ "postcss-place": "^9.0.0",
+ "postcss-pseudo-class-any-link": "^9.0.0",
"postcss-replace-overflow-wrap": "^4.0.0",
- "postcss-selector-not": "^6.0.1",
+ "postcss-selector-not": "^7.0.1",
"postcss-value-parser": "^4.2.0"
}
},
"postcss-pseudo-class-any-link": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz",
- "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.0.tgz",
+ "integrity": "sha512-QNCYIL98VKFKY6HGDEJpF6+K/sg9bxcUYnOmNHJxZS5wsFDFaVoPeG68WAuhsqwbIBSo/b9fjEnTwY2mTSD+uA==",
"dev": true,
"requires": {
- "postcss-selector-parser": "^6.0.10"
+ "postcss-selector-parser": "^6.0.13"
}
},
"postcss-reduce-initial": {
@@ -16711,9 +17973,9 @@
"requires": {}
},
"postcss-selector-not": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz",
- "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-7.0.1.tgz",
+ "integrity": "sha512-1zT5C27b/zeJhchN7fP0kBr16Cc61mu7Si9uWWLoA3Px/D9tIJPKchJCkUH3tPO5D0pCFmGeApAv8XpXBQJ8SQ==",
"dev": true,
"requires": {
"postcss-selector-parser": "^6.0.10"
@@ -16798,9 +18060,9 @@
"dev": true
},
"prettier": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
- "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz",
+ "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==",
"dev": true
},
"prettier-linter-helpers": {
@@ -17690,49 +18952,51 @@
}
},
"stylelint": {
- "version": "14.16.1",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz",
- "integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==",
+ "version": "15.11.0",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.11.0.tgz",
+ "integrity": "sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==",
"dev": true,
"requires": {
- "@csstools/selector-specificity": "^2.0.2",
+ "@csstools/css-parser-algorithms": "^2.3.1",
+ "@csstools/css-tokenizer": "^2.2.0",
+ "@csstools/media-query-list-parser": "^2.1.4",
+ "@csstools/selector-specificity": "^3.0.0",
"balanced-match": "^2.0.0",
"colord": "^2.9.3",
- "cosmiconfig": "^7.1.0",
- "css-functions-list": "^3.1.0",
+ "cosmiconfig": "^8.2.0",
+ "css-functions-list": "^3.2.1",
+ "css-tree": "^2.3.1",
"debug": "^4.3.4",
- "fast-glob": "^3.2.12",
+ "fast-glob": "^3.3.1",
"fastest-levenshtein": "^1.0.16",
- "file-entry-cache": "^6.0.1",
+ "file-entry-cache": "^7.0.0",
"global-modules": "^2.0.0",
"globby": "^11.1.0",
"globjoin": "^0.1.4",
- "html-tags": "^3.2.0",
- "ignore": "^5.2.1",
+ "html-tags": "^3.3.1",
+ "ignore": "^5.2.4",
"import-lazy": "^4.0.0",
"imurmurhash": "^0.1.4",
"is-plain-object": "^5.0.0",
- "known-css-properties": "^0.26.0",
+ "known-css-properties": "^0.29.0",
"mathml-tag-names": "^2.1.3",
- "meow": "^9.0.0",
+ "meow": "^10.1.5",
"micromatch": "^4.0.5",
"normalize-path": "^3.0.0",
"picocolors": "^1.0.0",
- "postcss": "^8.4.19",
- "postcss-media-query-parser": "^0.2.3",
+ "postcss": "^8.4.28",
"postcss-resolve-nested-selector": "^0.1.1",
"postcss-safe-parser": "^6.0.0",
- "postcss-selector-parser": "^6.0.11",
+ "postcss-selector-parser": "^6.0.13",
"postcss-value-parser": "^4.2.0",
"resolve-from": "^5.0.0",
"string-width": "^4.2.3",
"strip-ansi": "^6.0.1",
"style-search": "^0.1.0",
- "supports-hyperlinks": "^2.3.0",
+ "supports-hyperlinks": "^3.0.0",
"svg-tags": "^1.0.0",
"table": "^6.8.1",
- "v8-compile-cache": "^2.3.0",
- "write-file-atomic": "^4.0.2"
+ "write-file-atomic": "^5.0.1"
},
"dependencies": {
"balanced-match": {
@@ -17741,6 +19005,39 @@
"integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
"dev": true
},
+ "camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz",
+ "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^6.3.0",
+ "map-obj": "^4.1.0",
+ "quick-lru": "^5.1.1",
+ "type-fest": "^1.2.1"
+ }
+ },
+ "decamelize": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz",
+ "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==",
+ "dev": true
+ },
+ "file-entry-cache": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-7.0.2.tgz",
+ "integrity": "sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^3.2.0"
+ }
+ },
"hosted-git-info": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
@@ -17750,24 +19047,30 @@
"lru-cache": "^6.0.0"
}
},
+ "indent-string": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
+ "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
+ "dev": true
+ },
"meow": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
- "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
+ "version": "10.1.5",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz",
+ "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==",
"dev": true,
"requires": {
- "@types/minimist": "^1.2.0",
- "camelcase-keys": "^6.2.2",
- "decamelize": "^1.2.0",
+ "@types/minimist": "^1.2.2",
+ "camelcase-keys": "^7.0.0",
+ "decamelize": "^5.0.0",
"decamelize-keys": "^1.1.0",
"hard-rejection": "^2.1.0",
"minimist-options": "4.1.0",
- "normalize-package-data": "^3.0.0",
- "read-pkg-up": "^7.0.1",
- "redent": "^3.0.0",
- "trim-newlines": "^3.0.0",
- "type-fest": "^0.18.0",
- "yargs-parser": "^20.2.3"
+ "normalize-package-data": "^3.0.2",
+ "read-pkg-up": "^8.0.0",
+ "redent": "^4.0.0",
+ "trim-newlines": "^4.0.2",
+ "type-fest": "^1.2.2",
+ "yargs-parser": "^20.2.9"
}
},
"normalize-package-data": {
@@ -17782,41 +19085,94 @@
"validate-npm-package-license": "^3.0.1"
}
},
+ "quick-lru": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz",
+ "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==",
+ "dev": true,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^3.0.2",
+ "parse-json": "^5.2.0",
+ "type-fest": "^1.0.1"
+ }
+ },
+ "read-pkg-up": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz",
+ "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==",
+ "dev": true,
+ "requires": {
+ "find-up": "^5.0.0",
+ "read-pkg": "^6.0.0",
+ "type-fest": "^1.0.1"
+ }
+ },
+ "redent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz",
+ "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==",
+ "dev": true,
+ "requires": {
+ "indent-string": "^5.0.0",
+ "strip-indent": "^4.0.0"
+ }
+ },
"resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true
},
+ "strip-indent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz",
+ "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==",
+ "dev": true,
+ "requires": {
+ "min-indent": "^1.0.1"
+ }
+ },
+ "trim-newlines": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz",
+ "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==",
+ "dev": true
+ },
"type-fest": {
- "version": "0.18.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
- "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
+ "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
+ "dev": true
+ },
+ "yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
"dev": true
}
}
},
- "stylelint-config-prettier": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-9.0.5.tgz",
- "integrity": "sha512-U44lELgLZhbAD/xy/vncZ2Pq8sh2TnpiPvo38Ifg9+zeioR+LAkHu0i6YORIOxFafZoVg0xqQwex6e6F25S5XA==",
- "dev": true,
- "requires": {}
- },
"stylelint-config-recommended": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz",
- "integrity": "sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ==",
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-13.0.0.tgz",
+ "integrity": "sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==",
"dev": true,
"requires": {}
},
"stylelint-config-standard": {
- "version": "28.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-28.0.0.tgz",
- "integrity": "sha512-q/StuowDdDmFCravzGHAwgS9pjX0bdOQUEBBDIkIWsQuYGgYz/xsO8CM6eepmIQ1fc5bKdDVimlJZ6MoOUcJ5Q==",
+ "version": "34.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-34.0.0.tgz",
+ "integrity": "sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==",
"dev": true,
"requires": {
- "stylelint-config-recommended": "^9.0.0"
+ "stylelint-config-recommended": "^13.0.0"
}
},
"stylelint-no-unsupported-browser-features": {
@@ -17830,16 +19186,6 @@
"postcss": "^8.4.16"
}
},
- "stylelint-order": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-5.0.0.tgz",
- "integrity": "sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==",
- "dev": true,
- "requires": {
- "postcss": "^8.3.11",
- "postcss-sorting": "^7.0.1"
- }
- },
"stylelint-scss": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.7.0.tgz",
@@ -17869,9 +19215,9 @@
}
},
"supports-hyperlinks": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
- "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz",
+ "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==",
"dev": true,
"requires": {
"has-flag": "^4.0.0",
@@ -18089,23 +19435,6 @@
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
"dev": true
},
- "tsutils": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
- "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
- "dev": true,
- "requires": {
- "tslib": "^1.8.1"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- }
- }
- },
"tty-table": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/tty-table/-/tty-table-4.2.1.tgz",
@@ -18199,9 +19528,9 @@
}
},
"typescript": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
- "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
+ "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
"dev": true
},
"uc.micro": {
@@ -18235,9 +19564,9 @@
"dev": true
},
"update-browserslist-db": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
- "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
+ "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
"dev": true,
"requires": {
"escalade": "^3.1.1",
@@ -18260,9 +19589,9 @@
"dev": true
},
"v8-compile-cache": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
- "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz",
+ "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==",
"dev": true
},
"validate-npm-package-license": {
@@ -18446,13 +19775,21 @@
"dev": true
},
"write-file-atomic": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
- "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
+ "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
"dev": true,
"requires": {
"imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.7"
+ "signal-exit": "^4.0.1"
+ },
+ "dependencies": {
+ "signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true
+ }
}
},
"xtend": {
diff --git a/package.json b/package.json
index ebea845921..38f8a9bad6 100644
--- a/package.json
+++ b/package.json
@@ -51,24 +51,24 @@
"@github/include-fragment-element": "^6.1.1",
"@github/relative-time-element": "^4.0.0",
"@github/tab-container-element": "^3.1.2",
- "@oddbird/popover-polyfill": "^0.3.0",
+ "@oddbird/popover-polyfill": "^0.3.2",
"@primer/behaviors": "^1.3.4"
},
"devDependencies": {
"@changesets/changelog-github": "^0.4.6",
"@changesets/cli": "^2.24.1",
- "@github/axe-github": "^0.5.0",
+ "@github/axe-github": "^0.6.1",
"@github/browserslist-config": "^1.0.0",
"@github/markdownlint-github": "^0.2.2",
- "@github/prettier-config": "0.0.4",
+ "@github/prettier-config": "0.0.6",
"@playwright/test": "^1.35.1",
- "@primer/css": "21.0.2",
+ "@primer/css": "21.0.9",
"@primer/primitives": "^7.14.0",
"@primer/stylelint-config": "^12.7.2",
- "@rollup/plugin-node-resolve": "^13.3.0",
+ "@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-typescript": "^8.3.3",
- "@typescript-eslint/eslint-plugin": "^5.31.0",
- "@typescript-eslint/parser": "^5.31.0",
+ "@typescript-eslint/eslint-plugin": "^6.11.0",
+ "@typescript-eslint/parser": "^6.0.0",
"axe-core": "^4.7.1",
"chokidar-cli": "^3.0.0",
"cssnano": "^6.0.1",
@@ -82,17 +82,16 @@
"postcss": "^8.4.16",
"postcss-cli": "^10.1.0",
"postcss-custom-properties-fallback": "^1.0.2",
- "postcss-import": "^14.1.0",
+ "postcss-import": "^15.1.0",
"postcss-mixins": "^9.0.3",
- "postcss-preset-env": "^7.8.0",
- "prettier": "2.7.1",
- "rollup": "^2.77.1",
+ "postcss-preset-env": "^9.3.0",
+ "prettier": "3.1.0",
+ "rollup": "^2.79.1",
"rollup-plugin-terser": "^7.0.2",
- "stylelint": "^14.13.0",
- "stylelint-config-prettier": "^9.0.3",
- "stylelint-config-standard": "^28.0.0",
+ "stylelint": "^15.11.0",
+ "stylelint-config-standard": "^34.0.0",
"tslib": "^2.4.0",
- "typescript": "^4.7.4"
+ "typescript": "^5.2.2"
},
"prettier": "@github/prettier-config",
"browserslist": "extends @github/browserslist-config"
diff --git a/postcss.config.js b/postcss.config.js
index 4107514bd5..7d69a728f8 100644
--- a/postcss.config.js
+++ b/postcss.config.js
@@ -41,15 +41,7 @@ module.exports = {
features: {
'nesting-rules': {noIsPseudoSelector: true},
'focus-visible-pseudo-class': false,
- 'logical-properties-and-values': false,
- 'custom-media-queries': {
- importFrom: [
- path.join(
- __dirname,
- './node_modules/@primer/primitives/tokens-next-private/css/functional/size/viewport.css'
- )
- ]
- }
+ 'logical-properties-and-values': false
}
}),
process.env.CI === 'true' ? require('cssnano') : null
diff --git a/previews/primer/alpha/octicon_symbols_preview.rb b/previews/primer/alpha/octicon_symbols_preview.rb
new file mode 100644
index 0000000000..99b2e340f3
--- /dev/null
+++ b/previews/primer/alpha/octicon_symbols_preview.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+module Primer
+ module Alpha
+ # @label OcticonSymbols
+ class OcticonSymbolsPreview < ViewComponent::Preview
+ # @label Playground
+ #
+ # @param octicon [Symbol] medium_octicon
+ def playground(octicon: :container)
+ render_with_template(locals: { octicon: octicon })
+ end
+
+ # @label Default
+ #
+ # @snapshot
+ def default
+ end
+ end
+ end
+end
diff --git a/previews/primer/alpha/octicon_symbols_preview/default.html.erb b/previews/primer/alpha/octicon_symbols_preview/default.html.erb
new file mode 100644
index 0000000000..96c7432559
--- /dev/null
+++ b/previews/primer/alpha/octicon_symbols_preview/default.html.erb
@@ -0,0 +1,6 @@
+<%= render(Primer::Alpha::OcticonSymbols.new(icons: [{ symbol: :container, size: :medium }])) %>
+
+
diff --git a/previews/primer/alpha/octicon_symbols_preview/playground.html.erb b/previews/primer/alpha/octicon_symbols_preview/playground.html.erb
new file mode 100644
index 0000000000..96a8365646
--- /dev/null
+++ b/previews/primer/alpha/octicon_symbols_preview/playground.html.erb
@@ -0,0 +1,13 @@
+
+ Below is an SVG image containing the chosen octicon surrounded by a green circle. The octicon has been emitted
+ onto the page as an SVG <symbol> element and included into the SVG you see below with the <use> element.
+ See the MDN docs for
+ more information.
+
+
+<%= render(Primer::Alpha::OcticonSymbols.new(icons: [{ symbol: octicon, size: :medium }])) %>
+
+
diff --git a/previews/primer/alpha/text_field_preview.rb b/previews/primer/alpha/text_field_preview.rb
index 6640542a55..55eb132855 100644
--- a/previews/primer/alpha/text_field_preview.rb
+++ b/previews/primer/alpha/text_field_preview.rb
@@ -179,6 +179,11 @@ def with_auto_check_ok
render(Primer::Alpha::TextField.new(auto_check_src: UrlHelpers.example_check_ok_path, name: "my-text-field", label: "My text field"))
end
+ # @label Auto check request accepted
+ def with_auto_check_accepted
+ render(Primer::Alpha::TextField.new(auto_check_src: UrlHelpers.example_check_accepted_path, name: "my-text-field", label: "My text field"))
+ end
+
# @label Auto check request error
def with_auto_check_error
render(Primer::Alpha::TextField.new(auto_check_src: UrlHelpers.example_check_error_path, name: "my-text-field", label: "My text field"))
diff --git a/previews/primer/beta/avatar_preview.rb b/previews/primer/beta/avatar_preview.rb
index 4cc3552e4d..ad8f25d8d3 100644
--- a/previews/primer/beta/avatar_preview.rb
+++ b/previews/primer/beta/avatar_preview.rb
@@ -64,6 +64,12 @@ def size_48
render(Primer::Beta::Avatar.new(size: 48, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
end
+ # @label 64px
+ # @snapshot
+ def size_64
+ render(Primer::Beta::Avatar.new(size: 64, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
+ end
+
# @label 80px
# @snapshot
def size_80
diff --git a/previews/primer/beta/button_group_preview.rb b/previews/primer/beta/button_group_preview.rb
index 13f9b92c29..5afd04b339 100644
--- a/previews/primer/beta/button_group_preview.rb
+++ b/previews/primer/beta/button_group_preview.rb
@@ -69,6 +69,17 @@ def all_tags
end
end
end
+
+ # @label With clipboard copy button
+ # @snapshot
+ def with_clipboard_copy_button(size: :medium, scheme: :default)
+ render(Primer::Beta::ButtonGroup.new(size: size, scheme: scheme)) do |component|
+ component.with_button { "Button 1" }
+ component.with_clipboard_copy_button(id: "button-2", value: "Copyable value", aria: { label: "Copy some text" }) do |button|
+ button.with_tooltip(text: "Copy some text")
+ end
+ end
+ end
end
end
end
diff --git a/previews/primer/beta/clipboard_copy_button_preview.rb b/previews/primer/beta/clipboard_copy_button_preview.rb
new file mode 100644
index 0000000000..c048060175
--- /dev/null
+++ b/previews/primer/beta/clipboard_copy_button_preview.rb
@@ -0,0 +1,29 @@
+# frozen_string_literal: true
+
+module Primer
+ module Beta
+ # @label ClipboardCopyButton
+ class ClipboardCopyButtonPreview < ViewComponent::Preview
+ # @label Playground
+ #
+ # @param text [String]
+ def playground(text: "Text to copy")
+ render(Primer::Beta::ClipboardCopyButton.new(id: "clipboard-button", aria: { label: "Copy" }, value: text))
+ end
+
+ # @label Playground
+ # @snapshot
+ def default
+ render(Primer::Beta::ClipboardCopyButton.new(id: "clipboard-button", aria: { label: "Copy" }, value: "Text to copy"))
+ end
+
+ # @label With tooltip
+ # @snapshot
+ def with_tooltip
+ render(Primer::Beta::ClipboardCopyButton.new(id: "clipboard-button", aria: { label: "Copy" }, value: "Text to copy")) do |button|
+ button.with_tooltip(text: "Copy some text")
+ end
+ end
+ end
+ end
+end
diff --git a/previews/primer/beta/subhead_preview.rb b/previews/primer/beta/subhead_preview.rb
index 50ebddc19b..00e6b7ae7d 100644
--- a/previews/primer/beta/subhead_preview.rb
+++ b/previews/primer/beta/subhead_preview.rb
@@ -9,10 +9,11 @@ class SubheadPreview < ViewComponent::Preview
# @param spacious [Boolean]
# @param hide_border [Boolean]
# @param heading_danger [Boolean]
+ # @param heading_size [Symbol] select [medium, large]
# @param heading_tag [Symbol] select [div, h1, h2, h3, h4, h5, h6]
- def playground(spacious: false, hide_border: false, heading_tag: :div, heading_danger: false)
+ def playground(spacious: false, hide_border: false, heading_tag: :div, heading_size: Primer::Beta::Subhead::DEFAULT_HEADING_SIZE, heading_danger: false)
render(Primer::Beta::Subhead.new(spacious: spacious, hide_border: hide_border)) do |component|
- component.with_heading(tag: heading_tag, danger: heading_danger) do
+ component.with_heading(tag: heading_tag, size: heading_size, danger: heading_danger) do
"My Heading"
end
component.with_description do
@@ -26,11 +27,12 @@ def playground(spacious: false, hide_border: false, heading_tag: :div, heading_d
# @param spacious [Boolean]
# @param hide_border [Boolean]
# @param heading_danger [Boolean]
+ # @param heading_size [Symbol] select [medium, large]
# @param heading_tag [Symbol] select [div, h1, h2, h3, h4, h5, h6]
# @snapshot
- def default(spacious: false, hide_border: false, heading_tag: :div, heading_danger: false)
+ def default(spacious: false, hide_border: false, heading_tag: :div, heading_size: Primer::Beta::Subhead::DEFAULT_HEADING_SIZE, heading_danger: false)
render(Primer::Beta::Subhead.new(spacious: spacious, hide_border: hide_border)) do |component|
- component.with_heading(tag: heading_tag, danger: heading_danger) do
+ component.with_heading(tag: heading_tag, size: heading_size, danger: heading_danger) do
"My Heading"
end
component.with_description do
@@ -98,6 +100,32 @@ def spacing_dangerous
end
#
# @!endgroup
+
+ # @!group Header size
+ #
+ # @label Large
+ def large_header
+ render(Primer::Beta::Subhead.new) do |component|
+ component.with_heading(size: :large) do
+ "Large Header"
+ end
+ component.with_description do
+ "Description"
+ end
+ end
+ end
+
+ # @label Medium
+ def medium_header
+ render(Primer::Beta::Subhead.new) do |component|
+ component.with_heading(size: :medium) do
+ "Medium Header"
+ end
+ component.with_description do
+ "Description"
+ end
+ end
+ end
end
end
end
diff --git a/previews/primer/forms_preview.rb b/previews/primer/forms_preview.rb
index b6b29feeb0..ef78ea50fc 100644
--- a/previews/primer/forms_preview.rb
+++ b/previews/primer/forms_preview.rb
@@ -25,6 +25,10 @@ def array_check_box_group_form; end
def select_form; end
+ def action_menu_form(route_format: :html)
+ render_with_template(locals: { route_format: route_format })
+ end
+
def radio_button_with_nested_form; end
def check_box_with_nested_form; end
diff --git a/previews/primer/forms_preview/action_menu_form.html.erb b/previews/primer/forms_preview/action_menu_form.html.erb
new file mode 100644
index 0000000000..4b4439a164
--- /dev/null
+++ b/previews/primer/forms_preview/action_menu_form.html.erb
@@ -0,0 +1,3 @@
+<%= primer_form_with(url: action_menu_form_action_path(format: route_format)) do |f| %>
+ <%= render(ActionMenuForm.new(f)) %>
+<% end %>
diff --git a/primer_view_components.gemspec b/primer_view_components.gemspec
index b03556d336..d96d1c8af4 100644
--- a/primer_view_components.gemspec
+++ b/primer_view_components.gemspec
@@ -27,6 +27,6 @@ Gem::Specification.new do |spec|
spec.add_runtime_dependency "actionview", ">= 5.0.0"
spec.add_runtime_dependency "activesupport", ">= 5.0.0"
- spec.add_runtime_dependency "openproject-octicons", ">= 19.7.0"
+ spec.add_runtime_dependency "openproject-octicons", ">= 19.8.0"
spec.add_runtime_dependency "view_component", [">= 3.1", "< 4.0"]
end
diff --git a/script/erblint b/script/erblint
new file mode 100755
index 0000000000..f7e7581247
--- /dev/null
+++ b/script/erblint
@@ -0,0 +1,8 @@
+#! /bin/bash
+
+bundle exec erblint \
+ app/**/*.html.erb \
+ lib/**/*.html.erb \
+ demo/app/**/*.html.erb \
+ test/**/*.html.erb \
+ ${@}
diff --git a/static/arguments.json b/static/arguments.json
index bf609f2466..27bbfbd969 100644
--- a/static/arguments.json
+++ b/static/arguments.json
@@ -923,7 +923,7 @@
"name": "subtitle",
"type": "String",
"default": "`nil`",
- "description": "Provides dditional context for the dialog, also setting the `aria-describedby` attribute."
+ "description": "Provides additional context for the dialog, also setting the `aria-describedby` attribute."
},
{
"name": "show_divider",
@@ -3034,7 +3034,7 @@
"name": "size",
"type": "Integer",
"default": "`20`",
- "description": "One of `16`, `20`, `24`, `32`, `40`, `48`, or `80`."
+ "description": "One of `16`, `20`, `24`, `32`, `40`, `48`, `64`, or `80`."
},
{
"name": "shape",
@@ -3108,7 +3108,7 @@
"name": "tag",
"type": "Symbol",
"default": "`:button`",
- "description": "One of `:a`, `:button`, or `:summary`."
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
},
{
"name": "type",
@@ -3249,6 +3249,12 @@
"source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/button.rb",
"lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/button/default/",
"parameters": [
+ {
+ "name": "base_button_class",
+ "type": "Class",
+ "default": "`Primer::Beta::BaseButton`",
+ "description": "The button class to render."
+ },
{
"name": "scheme",
"type": "Symbol",
@@ -3277,7 +3283,7 @@
"name": "tag",
"type": "Symbol",
"default": "`:button`",
- "description": "One of `:a`, `:button`, or `:summary`."
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
},
{
"name": "type",
@@ -3361,6 +3367,68 @@
}
]
},
+ {
+ "component": "ClipboardCopyBaseButton",
+ "status": "beta",
+ "a11y_reviewed": false,
+ "short_name": "ClipboardCopyBaseButton",
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/clipboard_copy_base_button.rb",
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/clipboard_copy_base_button/default/",
+ "parameters": [
+ {
+ "name": "tag",
+ "type": "Symbol",
+ "default": "`:button`",
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
+ },
+ {
+ "name": "type",
+ "type": "Symbol",
+ "default": "`:button`",
+ "description": "One of `:button`, `:reset`, or `:submit`."
+ },
+ {
+ "name": "block",
+ "type": "Boolean",
+ "default": "`false`",
+ "description": "Whether button is full-width with `display: block`."
+ },
+ {
+ "name": "disabled",
+ "type": "Boolean",
+ "default": "`false`",
+ "description": "Whether or not the button is disabled. If true, this option forces `tag:` to `:button`."
+ },
+ {
+ "name": "inactive",
+ "type": "Boolean",
+ "default": "`false`",
+ "description": "Whether the button looks visually disabled, but can still accept all the same interactions as an enabled button."
+ },
+ {
+ "name": "system_arguments",
+ "type": "Hash",
+ "default": "N/A",
+ "description": "[System arguments](/system-arguments)"
+ }
+ ]
+ },
+ {
+ "component": "ClipboardCopyButton",
+ "status": "beta",
+ "a11y_reviewed": false,
+ "short_name": "ClipboardCopyButton",
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/clipboard_copy_button.rb",
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/clipboard_copy_button/default/",
+ "parameters": [
+ {
+ "name": "system_arguments",
+ "type": "Hash",
+ "default": "N/A",
+ "description": "The arguments accepted by [Button](/components/beta/button) and [ClipboardCopy](/components/beta/clipboardcopy)."
+ }
+ ]
+ },
{
"component": "CloseButton",
"status": "beta",
@@ -3561,13 +3629,7 @@
"name": "tag",
"type": "Symbol",
"default": "N/A",
- "description": "One of `:a`, `:button`, or `:summary`."
- },
- {
- "name": "wrapper_arguments",
- "type": "Hash",
- "default": "`{}`",
- "description": "Optional keyword arguments to be passed to the wrapper `
` tag."
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
},
{
"name": "scheme",
@@ -4399,7 +4461,7 @@
"name": "tag",
"type": "Symbol",
"default": "`:button`",
- "description": "One of `:a`, `:button`, or `:summary`."
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
},
{
"name": "type",
@@ -4490,7 +4552,7 @@
"name": "tag",
"type": "Symbol",
"default": "N/A",
- "description": "One of `:a`, `:button`, or `:summary`."
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
},
{
"name": "type",
diff --git a/static/audited_at.json b/static/audited_at.json
index 178098564c..d17712742b 100644
--- a/static/audited_at.json
+++ b/static/audited_at.json
@@ -73,6 +73,8 @@
"Primer::Beta::Button": "",
"Primer::Beta::ButtonGroup": "",
"Primer::Beta::ClipboardCopy": "",
+ "Primer::Beta::ClipboardCopyBaseButton": "",
+ "Primer::Beta::ClipboardCopyButton": "",
"Primer::Beta::CloseButton": "",
"Primer::Beta::Counter": "",
"Primer::Beta::Details": "",
diff --git a/static/classes.json b/static/classes.json
index 705b588f85..021db4fa5a 100644
--- a/static/classes.json
+++ b/static/classes.json
@@ -230,9 +230,6 @@
"Button-visual": [
"Primer::Beta::Button"
],
- "Button-withTooltip": [
- "Primer::Beta::Button"
- ],
"ButtonGroup": [
"Primer::Beta::ButtonGroup"
],
@@ -269,6 +266,9 @@
"FormControl-inlineValidation": [
"Primer::Alpha::TextField"
],
+ "FormControl-inlineValidation--success": [
+ "Primer::Alpha::TextField"
+ ],
"FormControl-inlineValidation--visual": [
"Primer::Alpha::TextField"
],
@@ -576,6 +576,12 @@
"Subhead-heading--danger": [
"Primer::Beta::Subhead"
],
+ "Subhead-heading--large": [
+ "Primer::Beta::Subhead"
+ ],
+ "Subhead-heading--medium": [
+ "Primer::Beta::Subhead"
+ ],
"TimelineItem": [
"Primer::Beta::TimelineItem"
],
diff --git a/static/constants.json b/static/constants.json
index c1e4f7303a..e5a7131aff 100644
--- a/static/constants.json
+++ b/static/constants.json
@@ -709,6 +709,7 @@
32,
40,
48,
+ 64,
80
],
"SMALL_THRESHOLD": 24
@@ -736,7 +737,8 @@
"TAG_OPTIONS": [
"button",
"a",
- "summary"
+ "summary",
+ "clipboard-copy"
],
"TYPE_OPTIONS": [
"button",
@@ -836,6 +838,10 @@
},
"Primer::Beta::ClipboardCopy": {
},
+ "Primer::Beta::ClipboardCopyBaseButton": {
+ },
+ "Primer::Beta::ClipboardCopyButton": {
+ },
"Primer::Beta::CloseButton": {
"DEFAULT_TYPE": "button",
"TYPE_OPTIONS": [
@@ -1238,7 +1244,16 @@
]
},
"Primer::Beta::Subhead": {
+ "DEFAULT_HEADING_SIZE": "large",
"DEFAULT_HEADING_TAG": "div",
+ "HEADING_SIZE_MAP": {
+ "large": "Subhead-heading--large",
+ "medium": "Subhead-heading--medium"
+ },
+ "HEADING_SIZE_OPTIONS": [
+ "large",
+ "medium"
+ ],
"HEADING_TAG_OPTIONS": [
"div",
"h1",
diff --git a/static/info_arch.json b/static/info_arch.json
index c4e8df62d6..0d4680c823 100644
--- a/static/info_arch.json
+++ b/static/info_arch.json
@@ -3165,7 +3165,7 @@
"name": "subtitle",
"type": "String",
"default": "`nil`",
- "description": "Provides dditional context for the dialog, also setting the `aria-describedby` attribute."
+ "description": "Provides additional context for the dialog, also setting the `aria-describedby` attribute."
},
{
"name": "show_divider",
@@ -4932,7 +4932,7 @@
},
{
"fully_qualified_name": "Primer::Alpha::NavList",
- "description": "",
+ "description": ":nodoc:",
"accessibility_docs": null,
"is_form_component": false,
"is_published": true,
@@ -4982,7 +4982,7 @@
"subcomponents": [
{
"fully_qualified_name": "Primer::Alpha::NavList::Item",
- "description": "",
+ "description": ":nodoc:",
"accessibility_docs": null,
"is_form_component": false,
"is_published": true,
@@ -5102,7 +5102,7 @@
},
{
"fully_qualified_name": "Primer::Alpha::NavList::Heading",
- "description": "",
+ "description": ":nodoc:",
"accessibility_docs": null,
"is_form_component": false,
"is_published": true,
@@ -5154,7 +5154,7 @@
},
{
"fully_qualified_name": "Primer::Alpha::NavList::Divider",
- "description": "",
+ "description": ":nodoc:",
"accessibility_docs": null,
"is_form_component": false,
"is_published": true,
@@ -5194,7 +5194,7 @@
},
{
"fully_qualified_name": "Primer::Alpha::NavList::Group",
- "description": "",
+ "description": ":nodoc:",
"accessibility_docs": null,
"is_form_component": false,
"is_published": true,
@@ -5438,7 +5438,32 @@
],
"previews": [
-
+ {
+ "preview_path": "primer/alpha/octicon_symbols/playground",
+ "name": "playground",
+ "snapshot": "false",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ },
+ {
+ "preview_path": "primer/alpha/octicon_symbols/default",
+ "name": "default",
+ "snapshot": "true",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ }
],
"subcomponents": [
@@ -7972,6 +7997,19 @@
]
}
},
+ {
+ "preview_path": "primer/alpha/text_field/with_auto_check_accepted",
+ "name": "with_auto_check_accepted",
+ "snapshot": "false",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ },
{
"preview_path": "primer/alpha/text_field/with_auto_check_error",
"name": "with_auto_check_error",
@@ -9233,7 +9271,7 @@
"name": "size",
"type": "Integer",
"default": "`20`",
- "description": "One of `16`, `20`, `24`, `32`, `40`, `48`, or `80`."
+ "description": "One of `16`, `20`, `24`, `32`, `40`, `48`, `64`, or `80`."
},
{
"name": "shape",
@@ -9378,6 +9416,19 @@
]
}
},
+ {
+ "preview_path": "primer/beta/avatar/size_64",
+ "name": "size_64",
+ "snapshot": "true",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ },
{
"preview_path": "primer/beta/avatar/size_80",
"name": "size_80",
@@ -9625,7 +9676,7 @@
"name": "tag",
"type": "Symbol",
"default": "`:button`",
- "description": "One of `:a`, `:button`, or `:summary`."
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
},
{
"name": "type",
@@ -10400,6 +10451,12 @@
"source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/button.rb",
"lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/button/default/",
"parameters": [
+ {
+ "name": "base_button_class",
+ "type": "Class",
+ "default": "`Primer::Beta::BaseButton`",
+ "description": "The button class to render."
+ },
{
"name": "scheme",
"type": "Symbol",
@@ -10428,7 +10485,7 @@
"name": "tag",
"type": "Symbol",
"default": "`:button`",
- "description": "One of `:a`, `:button`, or `:summary`."
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
},
{
"name": "type",
@@ -10771,19 +10828,43 @@
"slots": [
{
"name": "buttons",
- "description": "Required list of buttons to be rendered.",
+ "description": "List of buttons to be rendered. Add buttons via the `#with_button` and `#with_clipboard_copy_button` methods (see below).",
+ "parameters": [
+
+ ]
+ }
+ ],
+ "methods": [
+ {
+ "name": "with_button",
+ "description": "Adds a button.",
"parameters": [
{
- "name": "kwargs",
+ "name": "icon",
+ "type": "Symbol",
+ "default": "`nil`",
+ "description": "If included, adds a {{#link_to_component}}Primer::Beta::IconButton{{/link_to_component}} with the given {{link_to_octicons}}. Otherwise, a {{#link_to_component}}Primer::Beta::Button{{/link_to_component}} is added instead."
+ },
+ {
+ "name": "system_arguments",
+ "type": "Hash",
+ "default": "N/A",
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::Button{{/link_to_component}} or {{#link_to_component}}Primer::Beta::IconButton{{/link_to_component}}, depending on the value of the `icon:` argument."
+ }
+ ]
+ },
+ {
+ "name": "with_clipboard_copy_button",
+ "description": "Adds a {{#link_to_component}}Primer::Beta::ClipboardCopyButton{{/link_to_component}}.",
+ "parameters": [
+ {
+ "name": "system_arguments",
"type": "Hash",
"default": "N/A",
- "description": "The same arguments as {{#link_to_component}}Primer::Beta::Button{{/link_to_component}}"
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::ClipboardCopyButton{{/link_to_component}}."
}
]
}
- ],
- "methods": [
-
],
"previews": [
{
@@ -10850,6 +10931,19 @@
"color-contrast"
]
}
+ },
+ {
+ "preview_path": "primer/beta/button_group/with_clipboard_copy_button",
+ "name": "with_clipboard_copy_button",
+ "snapshot": "true",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
}
],
"subcomponents": [
@@ -10858,7 +10952,7 @@
},
{
"fully_qualified_name": "Primer::Beta::ClipboardCopy",
- "description": "Use `ClipboardCopy` to copy element text content or input values to the clipboard.",
+ "description": "Use `ClipboardCopy` to copy element text content or input values to the clipboard.\n\nThis component by itself is not styled as a button, and can therefore only be used in limited circumstances.\nIf you're looking for a button, consider using {{#link_to_component}}Primer::Beta::ClipboardCopyButton{{/link_to_component}}\ninstead.",
"accessibility_docs": "Always set an accessible label to help the user interact with the component.",
"is_form_component": false,
"is_published": true,
@@ -10959,6 +11053,195 @@
]
},
+ {
+ "fully_qualified_name": "Primer::Beta::ClipboardCopyBaseButton",
+ "description": "Internal\n\n:nodoc:",
+ "accessibility_docs": null,
+ "is_form_component": false,
+ "is_published": true,
+ "requires_js": false,
+ "component": "ClipboardCopyBaseButton",
+ "status": "beta",
+ "a11y_reviewed": false,
+ "short_name": "ClipboardCopyBaseButton",
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/clipboard_copy_base_button.rb",
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/clipboard_copy_base_button/default/",
+ "parameters": [
+ {
+ "name": "tag",
+ "type": "Symbol",
+ "default": "`:button`",
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
+ },
+ {
+ "name": "type",
+ "type": "Symbol",
+ "default": "`:button`",
+ "description": "One of `:button`, `:reset`, or `:submit`."
+ },
+ {
+ "name": "block",
+ "type": "Boolean",
+ "default": "`false`",
+ "description": "Whether button is full-width with `display: block`."
+ },
+ {
+ "name": "disabled",
+ "type": "Boolean",
+ "default": "`false`",
+ "description": "Whether or not the button is disabled. If true, this option forces `tag:` to `:button`."
+ },
+ {
+ "name": "inactive",
+ "type": "Boolean",
+ "default": "`false`",
+ "description": "Whether the button looks visually disabled, but can still accept all the same interactions as an enabled button."
+ },
+ {
+ "name": "system_arguments",
+ "type": "Hash",
+ "default": "N/A",
+ "description": "{{link_to_system_arguments_docs}}"
+ }
+ ],
+ "slots": [
+
+ ],
+ "methods": [
+
+ ],
+ "previews": [
+
+ ],
+ "subcomponents": [
+
+ ]
+ },
+ {
+ "fully_qualified_name": "Primer::Beta::ClipboardCopyButton",
+ "description": "`ClipboardCopyButton` uses the `ClipboardCopy` component to copy text to the clipboard,\nstyled as a Primer button. It can be used wherever a button is desired, and works well\nwith components like `ButtonGroup`.",
+ "accessibility_docs": null,
+ "is_form_component": false,
+ "is_published": true,
+ "requires_js": false,
+ "component": "ClipboardCopyButton",
+ "status": "beta",
+ "a11y_reviewed": false,
+ "short_name": "ClipboardCopyButton",
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/clipboard_copy_button.rb",
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/clipboard_copy_button/default/",
+ "parameters": [
+ {
+ "name": "system_arguments",
+ "type": "Hash",
+ "default": "N/A",
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::Button{{/link_to_component}} and {{#link_to_component}}Primer::Beta::ClipboardCopy{{/link_to_component}}."
+ }
+ ],
+ "slots": [
+ {
+ "name": "leading_visual",
+ "description": "Leading visuals appear to the left of the button text.\n\nUse:\n\n- `leading_visual_icon` for a {{#link_to_component}}Primer::Beta::Octicon{{/link_to_component}}.\n\n- `leading_visual_svg` to render a SVG.",
+ "parameters": [
+ {
+ "name": "system_arguments",
+ "type": "Hash",
+ "default": "N/A",
+ "description": "Same arguments as {{#link_to_component}}Primer::Beta::Octicon{{/link_to_component}}."
+ }
+ ]
+ },
+ {
+ "name": "trailing_visual",
+ "description": "Trailing visuals appear to the right of the button text.\n\nUse:\n\n- `trailing_visual_counter` for a {{#link_to_component}}Primer::Beta::Counter{{/link_to_component}}.",
+ "parameters": [
+ {
+ "name": "system_arguments",
+ "type": "Hash",
+ "default": "N/A",
+ "description": "Same arguments as {{#link_to_component}}Primer::Beta::Counter{{/link_to_component}}."
+ }
+ ]
+ },
+ {
+ "name": "trailing_action",
+ "description": "Trailing action appears to the right of the trailing visual.\n\nUse:\n\n- `trailing_action_icon` for a {{#link_to_component}}Primer::Beta::Octicon{{/link_to_component}}.",
+ "parameters": [
+ {
+ "name": "system_arguments",
+ "type": "Hash",
+ "default": "N/A",
+ "description": "Same arguments as {{#link_to_component}}Primer::Beta::Octicon{{/link_to_component}}."
+ }
+ ]
+ },
+ {
+ "name": "tooltip",
+ "description": "`Tooltip` that appears on mouse hover or keyboard focus over the button. Use tooltips sparingly and as a last resort.\n**Important:** This tooltip defaults to `type: :description`. In a few scenarios, `type: :label` may be more appropriate.\nConsult the {{#link_to_component}}Primer::Alpha::Tooltip{{/link_to_component}} documentation for more information.",
+ "parameters": [
+ {
+ "name": "type",
+ "type": "Symbol",
+ "default": "`:description`",
+ "description": "One of `:description` or `:label`."
+ },
+ {
+ "name": "system_arguments",
+ "type": "Hash",
+ "default": "N/A",
+ "description": "Same arguments as {{#link_to_component}}Primer::Alpha::Tooltip{{/link_to_component}}."
+ }
+ ]
+ }
+ ],
+ "methods": [
+
+ ],
+ "previews": [
+ {
+ "preview_path": "primer/beta/clipboard_copy_button/playground",
+ "name": "playground",
+ "snapshot": "false",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ },
+ {
+ "preview_path": "primer/beta/clipboard_copy_button/default",
+ "name": "default",
+ "snapshot": "true",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ },
+ {
+ "preview_path": "primer/beta/clipboard_copy_button/with_tooltip",
+ "name": "with_tooltip",
+ "snapshot": "true",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ }
+ ],
+ "subcomponents": [
+
+ ]
+ },
{
"fully_qualified_name": "Primer::Beta::CloseButton",
"description": "Use `CloseButton` to render an `×` without default button styles.\n\n[0]: https://primer.style/view-components/system-arguments#html-attributes",
@@ -11675,13 +11958,7 @@
"name": "tag",
"type": "Symbol",
"default": "N/A",
- "description": "One of `:a`, `:button`, or `:summary`."
- },
- {
- "name": "wrapper_arguments",
- "type": "Hash",
- "default": "`{}`",
- "description": "Optional keyword arguments to be passed to the wrapper `
` tag."
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
},
{
"name": "scheme",
@@ -13925,6 +14202,32 @@
"color-contrast"
]
}
+ },
+ {
+ "preview_path": "primer/beta/subhead/large_header",
+ "name": "large_header",
+ "snapshot": "false",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ },
+ {
+ "preview_path": "primer/beta/subhead/medium_header",
+ "name": "medium_header",
+ "snapshot": "false",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
}
],
"subcomponents": [
@@ -14541,7 +14844,7 @@
"name": "tag",
"type": "Symbol",
"default": "`:button`",
- "description": "One of `:a`, `:button`, or `:summary`."
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
},
{
"name": "type",
@@ -14740,7 +15043,7 @@
"name": "tag",
"type": "Symbol",
"default": "N/A",
- "description": "One of `:a`, `:button`, or `:summary`."
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
},
{
"name": "type",
diff --git a/static/previews.json b/static/previews.json
index 90693f5c52..2f8a7734a9 100644
--- a/static/previews.json
+++ b/static/previews.json
@@ -1176,6 +1176,19 @@
]
}
},
+ {
+ "preview_path": "primer/beta/avatar/size_64",
+ "name": "size_64",
+ "snapshot": "true",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ },
{
"preview_path": "primer/beta/avatar/size_80",
"name": "size_80",
@@ -2243,6 +2256,19 @@
"color-contrast"
]
}
+ },
+ {
+ "preview_path": "primer/beta/button_group/with_clipboard_copy_button",
+ "name": "with_clipboard_copy_button",
+ "snapshot": "true",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
}
]
},
@@ -2603,6 +2629,53 @@
}
]
},
+ {
+ "name": "clipboard_copy_button",
+ "component": "ClipboardCopyButton",
+ "status": "beta",
+ "lookup_path": "primer/beta/clipboard_copy_button",
+ "examples": [
+ {
+ "preview_path": "primer/beta/clipboard_copy_button/playground",
+ "name": "playground",
+ "snapshot": "false",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ },
+ {
+ "preview_path": "primer/beta/clipboard_copy_button/default",
+ "name": "default",
+ "snapshot": "true",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ },
+ {
+ "preview_path": "primer/beta/clipboard_copy_button/with_tooltip",
+ "name": "with_tooltip",
+ "snapshot": "true",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ }
+ ]
+ },
{
"name": "close_button",
"component": "CloseButton",
@@ -4599,6 +4672,40 @@
}
]
},
+ {
+ "name": "octicon_symbols",
+ "component": "OcticonSymbols",
+ "status": "alpha",
+ "lookup_path": "primer/alpha/octicon_symbols",
+ "examples": [
+ {
+ "preview_path": "primer/alpha/octicon_symbols/playground",
+ "name": "playground",
+ "snapshot": "false",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ },
+ {
+ "preview_path": "primer/alpha/octicon_symbols/default",
+ "name": "default",
+ "snapshot": "true",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ }
+ ]
+ },
{
"name": "overlay",
"component": "Overlay",
@@ -5862,6 +5969,32 @@
"color-contrast"
]
}
+ },
+ {
+ "preview_path": "primer/beta/subhead/large_header",
+ "name": "large_header",
+ "snapshot": "false",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ },
+ {
+ "preview_path": "primer/beta/subhead/medium_header",
+ "name": "medium_header",
+ "snapshot": "false",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
}
]
},
@@ -6345,6 +6478,19 @@
]
}
},
+ {
+ "preview_path": "primer/alpha/text_field/with_auto_check_accepted",
+ "name": "with_auto_check_accepted",
+ "snapshot": "false",
+ "skip_rules": {
+ "wont_fix": [
+ "region"
+ ],
+ "will_fix": [
+ "color-contrast"
+ ]
+ }
+ },
{
"preview_path": "primer/alpha/text_field/with_auto_check_error",
"name": "with_auto_check_error",
diff --git a/static/statuses.json b/static/statuses.json
index 8c1c6f6855..4e932921c9 100644
--- a/static/statuses.json
+++ b/static/statuses.json
@@ -73,6 +73,8 @@
"Primer::Beta::Button": "beta",
"Primer::Beta::ButtonGroup": "beta",
"Primer::Beta::ClipboardCopy": "beta",
+ "Primer::Beta::ClipboardCopyBaseButton": "beta",
+ "Primer::Beta::ClipboardCopyButton": "beta",
"Primer::Beta::CloseButton": "beta",
"Primer::Beta::Counter": "beta",
"Primer::Beta::Details": "beta",
diff --git a/test/components/alpha/action_bar_test.rb b/test/components/alpha/action_bar_test.rb
index cb409b315e..dc86bdde25 100644
--- a/test/components/alpha/action_bar_test.rb
+++ b/test/components/alpha/action_bar_test.rb
@@ -7,6 +7,43 @@ module Alpha
class ActionBarTest < Minitest::Test
include Primer::ComponentTestHelpers
+ def test_renders
+ render_inline(Primer::Alpha::ActionBar.new) do |component|
+ component.with_item_icon_button(icon: :pencil, label: "Button 1")
+ component.with_item_icon_button(icon: :pencil, label: "Button 2")
+ component.with_item_icon_button(icon: :pencil, label: "Button 3")
+ component.with_item_icon_button(icon: :pencil, label: "Button 4")
+ end
+
+ assert_selector("action-bar") do
+ assert_selector("tool-tip", text: "Button 1")
+ assert_selector("tool-tip", text: "Button 2")
+ assert_selector("tool-tip", text: "Button 3")
+ assert_selector("tool-tip", text: "Button 4")
+ assert_selector("[data-target=\"action-bar.moreMenu\"]", visible: :hidden)
+ end
+ end
+
+ def test_size_small
+ render_inline(Primer::Alpha::ActionBar.new(size: :small)) do |component|
+ component.with_item_icon_button(icon: :pencil, label: "Button 1")
+ component.with_item_icon_button(icon: :pencil, label: "Button 2")
+ component.with_item_divider
+ component.with_item_icon_button(icon: :pencil, label: "Button 3")
+ component.with_item_icon_button(icon: :pencil, label: "Button 4")
+ end
+
+ assert_selector("[data-targets=\"action-bar.items\"] .Button--small", count: 4)
+ end
+
+ def test_item_merges_item_arguments
+ render_inline(Primer::Alpha::ActionBar.new(size: :small)) do |component|
+ component.with_item_icon_button(icon: :pencil, label: "Button 1", item_arguments: { classes: "foo", tag: :span })
+ end
+
+ assert_selector("span.foo.ActionBar-item")
+ end
+
def test_renders_action_menu_items_with_type_button
render_preview(:default)
diff --git a/test/components/alpha/action_menu_test.rb b/test/components/alpha/action_menu_test.rb
index bc0b936033..7ba19e9971 100644
--- a/test/components/alpha/action_menu_test.rb
+++ b/test/components/alpha/action_menu_test.rb
@@ -114,7 +114,7 @@ def test_renders_include_fragment_with_preload
def test_disabled
render_preview(:with_disabled_items)
- assert_selector("li[aria-disabled=true]") do
+ assert_selector("li[role=none]") do
assert_selector("button.ActionListContent[aria-disabled=true]", text: "Does something")
assert_selector("a.ActionListContent[aria-disabled=true]", text: "Site")
end
diff --git a/test/components/alpha/tab_nav_test.rb b/test/components/alpha/tab_nav_test.rb
index 202f751565..78d864edf0 100644
--- a/test/components/alpha/tab_nav_test.rb
+++ b/test/components/alpha/tab_nav_test.rb
@@ -106,7 +106,6 @@ def test_renders_custom_body_class
end
def test_does_not_double_render_extra_content_in_production
- # rubocop:disable Rails/Inquiry
Rails.stub(:env, "production".inquiry) do
# Since we've forced ourselves into the prod environment and there's no secret key base
# configured for prod, we have to fake it by setting the appropriate environment variable.
diff --git a/test/components/alpha/tab_panels_test.rb b/test/components/alpha/tab_panels_test.rb
index c9a5152ea0..1c501a09dd 100644
--- a/test/components/alpha/tab_panels_test.rb
+++ b/test/components/alpha/tab_panels_test.rb
@@ -87,7 +87,6 @@ def test_renders_extra_content
end
def test_does_not_double_render_extra_content_in_production
- # rubocop:disable Rails/Inquiry
Rails.stub(:env, "production".inquiry) do
# Since we've forced ourselves into the prod environment and there's no secret key base
# configured for prod, we have to fake it by setting the appropriate environment variable.
diff --git a/test/components/beta/button_group_test.rb b/test/components/beta/button_group_test.rb
index c4a58e3af1..f51e1b9f58 100644
--- a/test/components/beta/button_group_test.rb
+++ b/test/components/beta/button_group_test.rb
@@ -2,75 +2,83 @@
require "components/test_helper"
-class PrimerBetaButtonGroupTest < Minitest::Test
- include Primer::ComponentTestHelpers
+module Primer
+ module Beta
+ class ButtonGroupTest < Minitest::Test
+ include Primer::ComponentTestHelpers
- def test_does_not_render_without_buttons
- render_inline(Primer::Beta::ButtonGroup.new)
+ def test_does_not_render_without_buttons
+ render_inline(Primer::Beta::ButtonGroup.new)
- refute_selector("div.ButtonGroup")
- end
+ refute_selector("div.ButtonGroup")
+ end
- def test_renders_button_items
- render_inline(Primer::Beta::ButtonGroup.new(scheme: :default)) { |component| component.with_button { "Button" } }
+ def test_renders_button_items
+ render_inline(Primer::Beta::ButtonGroup.new(scheme: :default)) { |component| component.with_button { "Button" } }
- assert_selector("div.ButtonGroup") do
- assert_selector("button.Button--secondary.Button", text: "Button")
- end
- end
+ assert_selector("div.ButtonGroup") do
+ assert_selector("button.Button--secondary.Button", text: "Button")
+ end
+ end
- def test_renders_button_with_props
- render_inline(Primer::Beta::ButtonGroup.new(scheme: :default)) do |component|
- component.with_button { "Button" }
- component.with_button(classes: "custom-class") { "Custom class" }
- end
+ def test_renders_clipboard_copy_button
+ render_preview(:with_clipboard_copy_button)
- assert_selector("div.ButtonGroup") do
- assert_selector("button.Button--secondary.Button", text: "Button")
- assert_selector("button.custom-class", text: "Custom class")
- end
- end
+ assert_selector "clipboard-copy[type=button]"
+ end
- def test_does_not_render_content
- render_inline(Primer::Beta::ButtonGroup.new) { "content" }
+ def test_renders_button_with_props
+ render_inline(Primer::Beta::ButtonGroup.new(scheme: :default)) do |component|
+ component.with_button { "Button" }
+ component.with_button(classes: "custom-class") { "Custom class" }
+ end
- refute_text("content")
- end
+ assert_selector("div.ButtonGroup") do
+ assert_selector("button.Button--secondary.Button", text: "Button")
+ assert_selector("button.custom-class", text: "Custom class")
+ end
+ end
- def test_all_buttons_with_same_size
- render_inline(Primer::Beta::ButtonGroup.new(size: :small)) do |component|
- component.with_button(size: :medium) { "Medium" }
- component.with_button(size: :large) { "Large" }
- end
+ def test_does_not_render_content
+ render_inline(Primer::Beta::ButtonGroup.new) { "content" }
- assert_selector("div.ButtonGroup") do
- assert_selector("button.Button--small.Button", text: "Medium")
- assert_selector("button.Button--small.Button", text: "Large")
- end
- end
+ refute_text("content")
+ end
- def test_all_buttons_with_same_scheme
- render_inline(Primer::Beta::ButtonGroup.new(scheme: :primary)) do |component|
- component.with_button(scheme: :primary) { "Primary" }
- component.with_button(scheme: :danger) { "Danger" }
- end
+ def test_all_buttons_with_same_size
+ render_inline(Primer::Beta::ButtonGroup.new(size: :small)) do |component|
+ component.with_button(size: :medium) { "Medium" }
+ component.with_button(size: :large) { "Large" }
+ end
- assert_selector("div.ButtonGroup") do
- assert_selector("button.Button--primary.Button", text: "Primary")
- assert_selector("button.Button--primary.Button", text: "Danger")
- end
- end
+ assert_selector("div.ButtonGroup") do
+ assert_selector("button.Button--small.Button", text: "Medium")
+ assert_selector("button.Button--small.Button", text: "Large")
+ end
+ end
- def test_button_with_icon_button
- render_inline(Primer::Beta::ButtonGroup.new) do |component|
- component.with_button { "Button" }
- component.with_button(icon: :star, "aria-label": "Icon button")
- end
+ def test_all_buttons_with_same_scheme
+ render_inline(Primer::Beta::ButtonGroup.new(scheme: :primary)) do |component|
+ component.with_button(scheme: :primary) { "Primary" }
+ component.with_button(scheme: :danger) { "Danger" }
+ end
+
+ assert_selector("div.ButtonGroup") do
+ assert_selector("button.Button--primary.Button", text: "Primary")
+ assert_selector("button.Button--primary.Button", text: "Danger")
+ end
+ end
+
+ def test_button_with_icon_button
+ render_inline(Primer::Beta::ButtonGroup.new) do |component|
+ component.with_button { "Button" }
+ component.with_button(icon: :star, "aria-label": "Icon button")
+ end
- assert_selector("div.ButtonGroup") do
- assert_selector("button.Button", text: "Button")
- assert_selector("div.Button-withTooltip") do
- assert_selector(".octicon.octicon-star")
+ assert_selector("div.ButtonGroup") do
+ assert_selector("button.Button", text: "Button")
+ assert_selector(".octicon.octicon-star")
+ end
end
end
end
diff --git a/test/components/beta/subhead_test.rb b/test/components/beta/subhead_test.rb
index 08636ac1f3..cd2c89c54a 100644
--- a/test/components/beta/subhead_test.rb
+++ b/test/components/beta/subhead_test.rb
@@ -79,6 +79,22 @@ def test_renders_a_description
assert_selector(".Subhead .Subhead-description", text: "My Description")
end
+ def test_renders_medium_heading
+ render_inline(Primer::Beta::Subhead.new(heading: "Hello world")) do |component|
+ component.with_heading(size: :medium) { "Hello World" }
+ end
+
+ assert_selector(".Subhead .Subhead-heading--medium", text: "Hello World")
+ end
+
+ def test_renders_large_heading_by_default
+ render_inline(Primer::Beta::Subhead.new(heading: "Hello world")) do |component|
+ component.with_heading { "Hello World" }
+ end
+
+ assert_selector(".Subhead .Subhead-heading--large", text: "Hello World")
+ end
+
def test_status
assert_component_state(Primer::Beta::Subhead, :beta)
end
diff --git a/test/components/component_test.rb b/test/components/component_test.rb
index 39b4075235..489762134c 100644
--- a/test/components/component_test.rb
+++ b/test/components/component_test.rb
@@ -75,6 +75,7 @@ class PrimerComponentTest < Minitest::Test
[Primer::Beta::ButtonGroup, {}, proc { |component| component.with_button { "Button" } }],
[Primer::Alpha::ButtonMarketing, {}],
[Primer::Beta::ClipboardCopy, { "aria-label": "String that will be read to screenreaders", value: "String that will be copied" }],
+ [Primer::Beta::ClipboardCopyButton, { "aria-label": "String that will be read to screenreaders", value: "String that will be copied" }],
[Primer::ConditionalWrapper, { condition: true, tag: :div }],
[Primer::Beta::CloseButton, {}],
[Primer::Beta::Counter, { count: 1 }],
@@ -228,7 +229,6 @@ def test_deny_single_argument_does_not_raise_in_production
with_raise_on_invalid_options(true) do
assert_raises(ArgumentError) { Primer::DenyComponent.new(class: "foo") }
- # rubocop:disable Rails/Inquiry
Rails.stub(:env, "production".inquiry) do
Primer::DenyComponent.new(class: "foo")
end
diff --git a/test/components/primer/alpha/action_bar_test.rb b/test/components/primer/alpha/action_bar_test.rb
deleted file mode 100644
index c1a4487bfa..0000000000
--- a/test/components/primer/alpha/action_bar_test.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-# frozen_string_literal: true
-
-require "components/test_helper"
-
-class PrimerAlphaActionBarTest < Minitest::Test
- include Primer::ComponentTestHelpers
-
- def test_renders
- render_inline(Primer::Alpha::ActionBar.new) do |component|
- component.with_item_icon_button(icon: :pencil, label: "Button 1")
- component.with_item_icon_button(icon: :pencil, label: "Button 2")
- component.with_item_icon_button(icon: :pencil, label: "Button 3")
- component.with_item_icon_button(icon: :pencil, label: "Button 4")
- end
-
- assert_selector("action-bar") do
- assert_selector("tool-tip", text: "Button 1")
- assert_selector("tool-tip", text: "Button 2")
- assert_selector("tool-tip", text: "Button 3")
- assert_selector("tool-tip", text: "Button 4")
- assert_selector("[data-target=\"action-bar.moreMenu\"]", visible: :hidden)
- end
- end
-
- def test_size_small
- render_inline(Primer::Alpha::ActionBar.new(size: :small)) do |component|
- component.with_item_icon_button(icon: :pencil, label: "Button 1")
- component.with_item_icon_button(icon: :pencil, label: "Button 2")
- component.with_item_divider
- component.with_item_icon_button(icon: :pencil, label: "Button 3")
- component.with_item_icon_button(icon: :pencil, label: "Button 4")
- end
-
- assert_selector("[data-targets=\"action-bar.items\"] .Button--small", count: 4)
- end
-
- def test_item_merges_item_arguments
- render_inline(Primer::Alpha::ActionBar.new(size: :small)) do |component|
- component.with_item_icon_button(icon: :pencil, label: "Button 1", item_arguments: { classes: "foo", tag: :span })
- end
-
- assert_selector("span.foo.ActionBar-item")
- end
-end
diff --git a/test/components/primer/alpha/segmented_control_test.rb b/test/components/primer/alpha/segmented_control_test.rb
index a2f80e0e9b..c872b4560e 100644
--- a/test/components/primer/alpha/segmented_control_test.rb
+++ b/test/components/primer/alpha/segmented_control_test.rb
@@ -48,12 +48,10 @@ def test_renders_icons_only
render_preview(:icon_only_medium)
assert_selector("segmented-control ul.SegmentedControl") do
- assert_selector(".Button-withTooltip", count: 3) do
- assert_selector("button.Button[id^=\"icon-button-\"]") do
- assert_selector(".Button-visual")
- end
- assert_selector("tool-tip[for^=\"icon-button-\"]", visible: false)
+ assert_selector("button.Button[id^=\"icon-button-\"]") do
+ assert_selector(".Button-visual")
end
+ assert_selector("tool-tip[for^=\"icon-button-\"]", visible: false)
end
end
diff --git a/test/components/primer/beta/button_test.rb b/test/components/primer/beta/button_test.rb
index 40307ed657..6e757654c8 100644
--- a/test/components/primer/beta/button_test.rb
+++ b/test/components/primer/beta/button_test.rb
@@ -45,7 +45,7 @@ def test_renders_button_with_tooltip
"Button"
end
- assert_selector(".Button-withTooltip .Button", text: "Button")
+ assert_selector(".Button", text: "Button")
assert_selector(".Button ~ tool-tip[for='button-id']", visible: false)
end
diff --git a/test/components/primer/beta/icon_button_test.rb b/test/components/primer/beta/icon_button_test.rb
index 535e90e475..b309522616 100644
--- a/test/components/primer/beta/icon_button_test.rb
+++ b/test/components/primer/beta/icon_button_test.rb
@@ -31,16 +31,9 @@ def test_renders_description_tooltip
assert_selector(".Button.Button--iconOnly[aria-describedby='#{tooltip_id}']")
end
- def test_adds_wrapper_arguments
- render_inline(Primer::Beta::IconButton.new(icon: :star, "aria-label": "Star", wrapper_arguments: { id: "foo" }))
-
- assert_selector(".Button-withTooltip#foo")
- end
-
def test_allows_hiding_tooltip
render_inline(Primer::Beta::IconButton.new(icon: :star, "aria-label": "Star", show_tooltip: false))
- refute_selector(".Button-withTooltip")
refute_selector("tool-tip")
end
@@ -51,6 +44,6 @@ def test_aria_label_is_set_when_tooltips_are_hidden
def test_forces_button_tag_when_disabled
render_inline(Primer::Beta::IconButton.new(icon: :star, "aria-label": "Star", disabled: true, tag: :a))
- assert_selector(".Button-withTooltip button[disabled]")
+ assert_selector("button[disabled]")
end
end
diff --git a/test/components/primer/open_project/page_header_test.rb b/test/components/primer/open_project/page_header_test.rb
index 996ee1fbfd..06cab5fb3a 100644
--- a/test/components/primer/open_project/page_header_test.rb
+++ b/test/components/primer/open_project/page_header_test.rb
@@ -58,8 +58,7 @@ def test_renders_back_button
assert_text("Hello")
assert_selector(".PageHeader-title")
- assert_selector(".PageHeader-backButton")
- assert_selector(".Button-withTooltip a[href='/link']")
+ assert_selector("a.PageHeader-backButton[href='/link']")
end
def test_renders_breadcrumbs
diff --git a/test/css/component_selector_use_test.rb b/test/css/component_selector_use_test.rb
index 4562ffc403..3de5ff65e2 100644
--- a/test/css/component_selector_use_test.rb
+++ b/test/css/component_selector_use_test.rb
@@ -2,10 +2,9 @@
require "system/test_case"
-require_relative "./test_helper"
+require_relative "test_helper"
Dir["app/components/**/*.rb"].each { |file| require_relative "../../#{file}" }
-# rubocop:disable Style/WordArray
IGNORED_SELECTORS = {
# these are all provided by primer/css
:global => ["octicon", "btn-octicon", "btn", "btn-primary", "btn-danger", "btn-outline"],
diff --git a/test/css/component_specific_selectors_test.rb b/test/css/component_specific_selectors_test.rb
index 9600de9f1f..2c86ad2278 100644
--- a/test/css/component_specific_selectors_test.rb
+++ b/test/css/component_specific_selectors_test.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-require_relative "./test_helper"
+require_relative "test_helper"
Dir["app/components/**/*.rb"].each { |file| require_relative "../../#{file}" }
# Test Component Specific Selectors
@@ -64,15 +64,13 @@ class ComponentSpecificSelectorsTest < Minitest::Test
".FormControl-check-group-wrap fieldset",
".FormControl-toggleSwitchInput",
".FormControl-spacingWrapper",
- ".FormControl-horizontalGroup"
+ ".FormControl-horizontalGroup",
+ ".FormControl-inlineValidation--success",
],
Primer::Alpha::ButtonMarketing => [
".btn-mktg.disabled",
".btn-small-mktg"
],
- Primer::Alpha::SegmentedControl => [
- ".Button-withTooltip"
- ],
Primer::Alpha::UnderlineNav => [
".UnderlineNav .Counter--primary",
".UnderlineNav-item.selected",
diff --git a/test/lib/constants_test.rb b/test/lib/constants_test.rb
index 502c365c78..d6a43bc72a 100644
--- a/test/lib/constants_test.rb
+++ b/test/lib/constants_test.rb
@@ -9,7 +9,7 @@ def test_get_array
constant: "TAG_OPTIONS"
)
- assert_equal tag_options, %w[button a summary]
+ assert_equal tag_options, %w[button a summary clipboard-copy]
end
def test_get_symbolizes_array_elements
@@ -19,7 +19,7 @@ def test_get_symbolizes_array_elements
symbolize: true
)
- assert_equal tag_options, %w[:button :a :summary]
+ assert_equal tag_options, %w[:button :a :summary :clipboard-copy]
end
def test_get_hash
diff --git a/test/lib/primer/forms/integration_forms_test.rb b/test/lib/primer/forms/integration_forms_test.rb
index 5ddc77fa2e..48c13a707b 100644
--- a/test/lib/primer/forms/integration_forms_test.rb
+++ b/test/lib/primer/forms/integration_forms_test.rb
@@ -36,8 +36,8 @@ def test_multi_submit
click_on("Submit")
result = JSON.parse(page.text)
- assert result["country"], "CA"
- assert result["region"], "SK"
+ assert_equal result["country"], "CA"
+ assert_equal result["region"], "SK"
end
def test_toggle_switch_form_errors
@@ -62,6 +62,17 @@ def test_toggle_switch_form_errors
refute_selector("#error-toggle", text: "Bad CSRF token")
end
+ def test_action_menu_form_input
+ visit_preview(:action_menu_form, route_format: :json)
+
+ click_on("Select...")
+ click_on("Lopez Island")
+ click_on("Submit")
+
+ result = JSON.parse(page.text)
+ assert_equal result.dig("other_params", "city"), "lopez_island"
+ end
+
private
def wait_for_toggle_switch_spinner
diff --git a/test/lib/rubocop/deprecated_components_test.rb b/test/lib/rubocop/deprecated_components_test.rb
index ea89cb308e..f9fbee205c 100644
--- a/test/lib/rubocop/deprecated_components_test.rb
+++ b/test/lib/rubocop/deprecated_components_test.rb
@@ -30,8 +30,8 @@ def test_raises_offense_if_calling_legacy_component
RUBY
assert_equal 2, cop.offenses.count
- assert_equal "'Primer::Tooltip' has been deprecated. Please update your code to use 'Primer::Alpha::Tooltip'. Use Rubocop's auto-correct, or replace it yourself.", cop.offenses[0].message
- assert_equal "'Primer::BlankslateComponent' has been deprecated. Please update your code to use 'Primer::Beta::Blankslate'. Use Rubocop's auto-correct, or replace it yourself.", cop.offenses[1].message
+ assert_equal "Primer/DeprecatedComponents: 'Primer::Tooltip' has been deprecated. Please update your code to use 'Primer::Alpha::Tooltip'. Use Rubocop's auto-correct, or replace it yourself.", cop.offenses[0].message
+ assert_equal "Primer/DeprecatedComponents: 'Primer::BlankslateComponent' has been deprecated. Please update your code to use 'Primer::Beta::Blankslate'. Use Rubocop's auto-correct, or replace it yourself.", cop.offenses[1].message
end
def test_raises_offense_if_calling_legacy_component_with_args
@@ -63,6 +63,6 @@ def test_suggests_alternative_component_if_available
RUBY
assert_equal 1, cop.offenses.count
- assert_equal "'Primer::Tooltip' has been deprecated. Please update your code to use 'Primer::Alpha::Tooltip'. Use Rubocop's auto-correct, or replace it yourself.", cop.offenses.first.message
+ assert_equal "Primer/DeprecatedComponents: 'Primer::Tooltip' has been deprecated. Please update your code to use 'Primer::Alpha::Tooltip'. Use Rubocop's auto-correct, or replace it yourself.", cop.offenses.first.message
end
end
diff --git a/test/lib/rubocop/deprecated_label_schemes_test.rb b/test/lib/rubocop/deprecated_label_schemes_test.rb
index c1a83521af..0e25a3a96d 100644
--- a/test/lib/rubocop/deprecated_label_schemes_test.rb
+++ b/test/lib/rubocop/deprecated_label_schemes_test.rb
@@ -24,7 +24,7 @@ def test_no_deprecated_arguments
end
def test_argument_not_a_symbol
- investigate(cop, <<-'RUBY')
+ investigate(cop, <<-RUBY)
Primer::Beta::Label.new(scheme: scheme)
RUBY
diff --git a/test/lib/rubocop/deprecated_label_variants_test.rb b/test/lib/rubocop/deprecated_label_variants_test.rb
index 979b4a5262..3e9d9037a3 100644
--- a/test/lib/rubocop/deprecated_label_variants_test.rb
+++ b/test/lib/rubocop/deprecated_label_variants_test.rb
@@ -24,7 +24,7 @@ def test_no_deprecated_arguments
end
def test_argument_not_a_string_or_symbol
- investigate(cop, <<-'RUBY')
+ investigate(cop, <<-RUBY)
Primer::Beta::Label.new(variant: variant)
RUBY
diff --git a/test/lib/rubocop/primer_octicon_test.rb b/test/lib/rubocop/primer_octicon_test.rb
index f723ee26e8..fbb660579f 100644
--- a/test/lib/rubocop/primer_octicon_test.rb
+++ b/test/lib/rubocop/primer_octicon_test.rb
@@ -32,7 +32,7 @@ def test_octicon
end
def test_octicon_with_title
- investigate(cop, <<-'RUBY')
+ investigate(cop, <<-RUBY)
octicon(:icon, title: "hello")
RUBY
@@ -40,7 +40,7 @@ def test_octicon_with_title
end
def test_octicon_with_title_interpolation
- investigate(cop, <<-'RUBY')
+ investigate(cop, <<-RUBY)
octicon(:icon, title: "hello <%= interpolation %>")
RUBY
@@ -48,7 +48,7 @@ def test_octicon_with_title_interpolation
end
def test_octicon_with_title_method
- investigate(cop, <<-'RUBY')
+ investigate(cop, <<-RUBY)
octicon(:icon, title: some_method)
RUBY
@@ -187,7 +187,7 @@ def test_converts_keeps_text_white
end
def test_octicon_with_class_that_cant_be_converted
- investigate(cop, <<-'RUBY')
+ investigate(cop, <<-RUBY)
octicon(:icon, class: "mr-1 text-fuzzy-waffle")
RUBY
@@ -195,7 +195,7 @@ def test_octicon_with_class_that_cant_be_converted
end
def test_autocorrects_unknown_color_to_class
- investigate(cop, <<-'RUBY')
+ investigate(cop, <<-RUBY)
octicon(:icon, class: "mr-1 color-unknown-color")
RUBY
@@ -203,7 +203,7 @@ def test_autocorrects_unknown_color_to_class
end
def test_corrects_without_color
- investigate(cop, <<-'RUBY')
+ investigate(cop, <<-RUBY)
octicon(:icon, class: "mr-1")
RUBY
diff --git a/test/lib/rubocop/system_arguments_instead_of_class_test.rb b/test/lib/rubocop/system_arguments_instead_of_class_test.rb
index 9e18ee3249..b0a56be2ee 100644
--- a/test/lib/rubocop/system_arguments_instead_of_class_test.rb
+++ b/test/lib/rubocop/system_arguments_instead_of_class_test.rb
@@ -21,7 +21,7 @@ def test_primer_component
RUBY
assert_equal 1, cop.offenses.count
- assert_equal "Avoid using CSS classes when you can use System Arguments: https://primer.style/view-components/system-arguments.\n", cop.offenses.first.message
+ assert_equal "Primer/SystemArgumentInsteadOfClass: Avoid using CSS classes when you can use System Arguments: https://primer.style/view-components/system-arguments.\n", cop.offenses.first.message
end
def test_non_primer_view_helper
@@ -38,7 +38,7 @@ def test_primer_view_helper
RUBY
assert_equal 1, cop.offenses.count
- assert_equal "Avoid using CSS classes when you can use System Arguments: https://primer.style/view-components/system-arguments.\n", cop.offenses.first.message
+ assert_equal "Primer/SystemArgumentInsteadOfClass: Avoid using CSS classes when you can use System Arguments: https://primer.style/view-components/system-arguments.\n", cop.offenses.first.message
end
def test_custom_class
@@ -47,7 +47,7 @@ def test_custom_class
RUBY
assert_equal 1, cop.offenses.count
- assert_equal "Avoid using CSS classes when you can use System Arguments: https://primer.style/view-components/system-arguments.\n", cop.offenses.first.message
+ assert_equal "Primer/SystemArgumentInsteadOfClass: Avoid using CSS classes when you can use System Arguments: https://primer.style/view-components/system-arguments.\n", cop.offenses.first.message
end
def test_no_classes
diff --git a/test/lib/rubocop/test_selector_test.rb b/test/lib/rubocop/test_selector_test.rb
index ec69ca0f10..c4d7a61703 100644
--- a/test/lib/rubocop/test_selector_test.rb
+++ b/test/lib/rubocop/test_selector_test.rb
@@ -21,7 +21,7 @@ def test_primer_component_with_symbol_key
RUBY
assert_equal 1, cop.offenses.count
- assert_equal "Prefer the `test_selector` argument over manually generating a `data-test-selector` attribute: https://primer.style/view-components/system-arguments.\n", cop.offenses.first.message
+ assert_equal "Primer/TestSelector: Prefer the `test_selector` argument over manually generating a `data-test-selector` attribute: https://primer.style/view-components/system-arguments.\n", cop.offenses.first.message
end
def test_primer_component_with_string_key
@@ -30,7 +30,7 @@ def test_primer_component_with_string_key
RUBY
assert_equal 1, cop.offenses.count
- assert_equal "Prefer the `test_selector` argument over manually generating a `data-test-selector` attribute: https://primer.style/view-components/system-arguments.\n", cop.offenses.first.message
+ assert_equal "Primer/TestSelector: Prefer the `test_selector` argument over manually generating a `data-test-selector` attribute: https://primer.style/view-components/system-arguments.\n", cop.offenses.first.message
end
def test_non_primer_view_helper
@@ -47,7 +47,7 @@ def test_primer_view_helper
RUBY
assert_equal 1, cop.offenses.count
- assert_equal "Prefer the `test_selector` argument over manually generating a `data-test-selector` attribute: https://primer.style/view-components/system-arguments.\n", cop.offenses.first.message
+ assert_equal "Primer/TestSelector: Prefer the `test_selector` argument over manually generating a `data-test-selector` attribute: https://primer.style/view-components/system-arguments.\n", cop.offenses.first.message
end
def test_no_test_selector
diff --git a/test/performance/bench_deny.rb b/test/performance/bench_deny.rb
index 1d3128cc38..55b2248201 100644
--- a/test/performance/bench_deny.rb
+++ b/test/performance/bench_deny.rb
@@ -11,7 +11,6 @@ class BenchDeny < Minitest::Benchmark
def bench_deny_single_argument
non_prod_results = measure_ips { Primer::DenyComponent.new }
- # rubocop:disable Rails/Inquiry
prod_results = Rails.stub(:env, "production".inquiry) do
measure_ips { Primer::DenyComponent.new }
end
diff --git a/test/system/alpha/action_menu_test.rb b/test/system/alpha/action_menu_test.rb
index 557e192591..6d478bfa4e 100644
--- a/test/system/alpha/action_menu_test.rb
+++ b/test/system/alpha/action_menu_test.rb
@@ -4,6 +4,8 @@
module Alpha
class IntegrationActionMenuTest < System::TestCase
+ include Primer::ClipboardTestHelpers
+
###### HELPER METHODS ######
def click_on_invoker_button
@@ -36,30 +38,6 @@ def focus_on_invoker_button
JS
end
- def stub_clipboard!
- page.evaluate_script(<<~JS)
- (() => {
- navigator.clipboard.writeText = async (text) => {
- this.text = text;
- return Promise.resolve(null);
- };
-
- navigator.clipboard.readText = async () => {
- return Promise.resolve(this.text);
- };
- })()
- JS
-
- @clipboard_stubbed = true
- end
-
- def read_clipboard
- page.evaluate_async_script(<<~JS)
- const [done] = arguments;
- navigator.clipboard.readText().then(done).catch((e) => done(e));
- JS
- end
-
def assert_no_alert(message = nil, &block)
accept_alert(&block)
assert false, message || "Unexpected alert dialog"
@@ -67,22 +45,8 @@ def assert_no_alert(message = nil, &block)
# expected behavior
end
- def capture_clipboard
- stub_clipboard! unless clipboard_stubbed?
- yield
- read_clipboard
- end
-
########## TESTS ############
- def setup
- @clipboard_stubbed = false
- end
-
- def clipboard_stubbed?
- @clipboard_stubbed
- end
-
def test_dynamic_labels
visit_preview(:single_select_with_internal_label)
assert_selector("action-menu button[aria-controls]", text: "Menu: Quote reply")
diff --git a/test/system/alpha/text_field_test.rb b/test/system/alpha/text_field_test.rb
index 05301121bd..38dd1c771e 100644
--- a/test/system/alpha/text_field_test.rb
+++ b/test/system/alpha/text_field_test.rb
@@ -21,7 +21,35 @@ def test_auto_check_error
find("input[type=text]").fill_in(with: "foobar")
- assert_selector ".FormControl-inlineValidation", text: "Error! Error!"
+ assert_selector ".FormControl-inlineValidation", text: "The name foobar is already taken."
+ assert_selector ".FormControl-inlineValidation--visual .octicon-alert-fill"
+ refute_selector ".FormControl-inlineValidation--visual .octicon-check-circle-fill"
+ end
+
+ def test_auto_check_accepted
+ visit_preview(:with_auto_check_accepted)
+
+ assert_selector ".FormControl-inlineValidation", visible: :hidden, text: ""
+
+ find("input[type=text]").fill_in(with: "foobar")
+
+ assert_selector ".FormControl-inlineValidation.FormControl-inlineValidation--success" do |message|
+ assert_match "The name foobar is available.", message.text
+ end
+ refute_selector ".FormControl-inlineValidation--visual .octicon-alert-fill"
+ assert_selector ".FormControl-inlineValidation--visual .octicon-check-circle-fill"
+ end
+
+ def test_auto_check_ok
+ visit_preview(:with_auto_check_ok)
+
+ assert_selector ".FormControl-inlineValidation", visible: :hidden, text: ""
+
+ find("input[type=text]").fill_in(with: "foobar")
+
+ refute_selector ".FormControl-inlineValidation"
+ refute_selector ".FormControl-inlineValidation--visual .octicon-alert-fill"
+ refute_selector ".FormControl-inlineValidation--visual .octicon-check-circle-fill"
end
def test_custom_data_target
diff --git a/test/system/beta/button_group_test.rb b/test/system/beta/button_group_test.rb
new file mode 100644
index 0000000000..eed0c9cb52
--- /dev/null
+++ b/test/system/beta/button_group_test.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+require "system/test_case"
+
+module Beta
+ class IntegrationButtonGroupTest < System::TestCase
+ include Primer::ClipboardTestHelpers
+
+ def test_clipboard_copy_button_copies_text
+ visit_preview(:with_clipboard_copy_button)
+
+ clipboard_text = capture_clipboard do
+ find("#button-2").click
+ end
+
+ assert_equal "Copyable value", clipboard_text
+ end
+ end
+end
diff --git a/test/system/beta/clipboard_copy_button_test.rb b/test/system/beta/clipboard_copy_button_test.rb
new file mode 100644
index 0000000000..253aac402e
--- /dev/null
+++ b/test/system/beta/clipboard_copy_button_test.rb
@@ -0,0 +1,25 @@
+# frozen_string_literal: true
+
+require "system/test_case"
+
+module Beta
+ class IntegrationClipboardCopyButtonTest < System::TestCase
+ include Primer::ClipboardTestHelpers
+
+ def test_copies_text
+ visit_preview(:playground)
+
+ clipboard_text = capture_clipboard do
+ find("#clipboard-button").click
+ end
+
+ assert_equal "Text to copy", clipboard_text
+ end
+
+ def test_includes_tooltip
+ visit_preview(:with_tooltip)
+
+ assert_selector ".Button + tool-tip", visible: :all
+ end
+ end
+end
diff --git a/test/test_helper.rb b/test/test_helper.rb
index 992379cb2c..20b4320b12 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -19,6 +19,7 @@
require "rails/test_help"
require "view_component/test_helpers"
require "test_helpers/component_test_helpers"
+require "test_helpers/clipboard_test_helpers"
require "action_controller/railtie"
require "rails/test_unit/railtie"
require "active_model/railtie"
diff --git a/test/test_helpers/clipboard_test_helpers.rb b/test/test_helpers/clipboard_test_helpers.rb
new file mode 100644
index 0000000000..f41be8533e
--- /dev/null
+++ b/test/test_helpers/clipboard_test_helpers.rb
@@ -0,0 +1,50 @@
+# frozen_string_literal: true
+
+module Primer
+ module ClipboardTestHelpers
+ module MethodOverrides
+ def setup
+ @clipboard_stubbed = false
+ super
+ end
+ end
+
+ def self.included(base)
+ base.prepend(MethodOverrides)
+ end
+
+ def clipboard_stubbed?
+ @clipboard_stubbed
+ end
+
+ def stub_clipboard!
+ page.evaluate_script(<<~JS)
+ (() => {
+ navigator.clipboard.writeText = async (text) => {
+ this.text = text;
+ return Promise.resolve(null);
+ };
+
+ navigator.clipboard.readText = async () => {
+ return Promise.resolve(this.text);
+ };
+ })()
+ JS
+
+ @clipboard_stubbed = true
+ end
+
+ def read_clipboard
+ page.evaluate_async_script(<<~JS)
+ const [done] = arguments;
+ navigator.clipboard.readText().then(done).catch((e) => done(e));
+ JS
+ end
+
+ def capture_clipboard
+ stub_clipboard! unless clipboard_stubbed?
+ yield
+ read_clipboard
+ end
+ end
+end
diff --git a/test/test_helpers/cuprite_setup.rb b/test/test_helpers/cuprite_setup.rb
index e48e36267e..ff0168598c 100644
--- a/test/test_helpers/cuprite_setup.rb
+++ b/test/test_helpers/cuprite_setup.rb
@@ -8,13 +8,10 @@
Capybara.register_driver(:primer_cuprite) do |app|
Capybara::Cuprite::Driver.new(
app,
- **{
- # Enable debugging capabilities
- inspector: true,
- # Allow running Chrome in a headful mode by setting HEADLESS env
- # var to a falsey value
- headless: !ENV["HEADLESS"].in?(%w[n 0 no false])
- }
+ inspector: true,
+ # Allow running Chrome in a headful mode by setting HEADLESS env
+ # var to a falsey value
+ headless: !ENV["HEADLESS"].in?(%w[n 0 no false])
)
end
diff --git a/test/test_helpers/retry.rb b/test/test_helpers/retry.rb
index 04292e689b..a3288347f6 100644
--- a/test/test_helpers/retry.rb
+++ b/test/test_helpers/retry.rb
@@ -29,7 +29,7 @@ def run_one_method(klass, method_name)
def should_retry?(failures)
return false if failures.empty?
- errors = failures.map(&:error).map(&:class)
+ errors = failures.map { |failure| failure.error.class }
(errors & Minitest::Retry::ERRORS).any?
end
end