shoelace-rails 0.4.1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/main.yml +11 -61
  3. data/.gitignore +1 -6
  4. data/Appraisals +6 -0
  5. data/CHANGELOG.md +16 -5
  6. data/Gemfile +0 -3
  7. data/Rakefile +2 -17
  8. data/app/helpers/shoelace/form_helper.rb +38 -2
  9. data/gemfiles/rails_60.gemfile +0 -1
  10. data/gemfiles/rails_61.gemfile +0 -1
  11. data/gemfiles/rails_70.gemfile +0 -1
  12. data/gemfiles/rails_71.gemfile +10 -0
  13. data/gemfiles/rails_edge.gemfile +0 -1
  14. data/lib/shoelace/rails/version.rb +1 -1
  15. data/shoelace-rails.gemspec +1 -1
  16. data/test/helpers/form_helper_test.rb +39 -10
  17. metadata +6 -58
  18. data/dist/.keep +0 -0
  19. data/dist/types/.keep +0 -0
  20. data/package.json +0 -50
  21. data/rollup.config.js +0 -49
  22. data/src/index.ts +0 -2
  23. data/src/turbo/index.ts +0 -6
  24. data/src/turbo/polyfills/formdata-event.js +0 -27
  25. data/src/turbo/sl-turbo-form.ts +0 -110
  26. data/src/turbolinks/features/confirm.ts +0 -42
  27. data/src/turbolinks/features/disable.ts +0 -94
  28. data/src/turbolinks/features/remote.ts +0 -107
  29. data/src/turbolinks/index.ts +0 -6
  30. data/src/turbolinks/selectors.ts +0 -38
  31. data/src/turbolinks/start.ts +0 -38
  32. data/src/turbolinks/turbolinks.ts +0 -78
  33. data/src/turbolinks/utils/ajax.ts +0 -146
  34. data/src/turbolinks/utils/csp.ts +0 -20
  35. data/src/turbolinks/utils/csrf.ts +0 -33
  36. data/src/turbolinks/utils/dom.ts +0 -40
  37. data/src/turbolinks/utils/event.ts +0 -57
  38. data/src/turbolinks/utils/form.ts +0 -58
  39. data/test/dummy_app/Gemfile +0 -19
  40. data/test/dummy_app/Rakefile +0 -6
  41. data/test/dummy_app/app/controllers/hotwire_forms_controller.rb +0 -46
  42. data/test/dummy_app/app/controllers/turbolinks_forms_controller.rb +0 -37
  43. data/test/dummy_app/app/models/user.rb +0 -16
  44. data/test/dummy_app/app/packs/entrypoints/hotwire.js +0 -1
  45. data/test/dummy_app/app/packs/entrypoints/turbolinks.js +0 -5
  46. data/test/dummy_app/app/views/hotwire_forms/form.html.erb +0 -45
  47. data/test/dummy_app/app/views/hotwire_forms/show.html.erb +0 -5
  48. data/test/dummy_app/app/views/layouts/application.html.erb +0 -39
  49. data/test/dummy_app/app/views/turbolinks_forms/form.html.erb +0 -44
  50. data/test/dummy_app/app/views/turbolinks_forms/show.html.erb +0 -5
  51. data/test/dummy_app/bin/rails +0 -5
  52. data/test/dummy_app/bin/webpack +0 -18
  53. data/test/dummy_app/bin/yarn +0 -18
  54. data/test/dummy_app/config/application.rb +0 -16
  55. data/test/dummy_app/config/boot.rb +0 -4
  56. data/test/dummy_app/config/environment.rb +0 -2
  57. data/test/dummy_app/config/environments/development.rb +0 -10
  58. data/test/dummy_app/config/environments/test.rb +0 -18
  59. data/test/dummy_app/config/routes.rb +0 -4
  60. data/test/dummy_app/config/webpack/development.js +0 -5
  61. data/test/dummy_app/config/webpack/production.js +0 -1
  62. data/test/dummy_app/config/webpack/test.js +0 -5
  63. data/test/dummy_app/config/webpacker.yml +0 -33
  64. data/test/dummy_app/config.ru +0 -6
  65. data/test/dummy_app/package.json +0 -24
  66. data/test/dummy_app/test/system/hotwire_form_test.rb +0 -63
  67. data/test/dummy_app/test/system/turbolinks_form_test.rb +0 -38
  68. data/test/dummy_app/test/test_helper.rb +0 -68
  69. data/tsconfig.json +0 -19
  70. data/yarn.lock +0 -249
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- APP_ROOT = File.expand_path("..", __dir__)
4
- Dir.chdir(APP_ROOT) do
5
- yarn = ENV["PATH"].split(File::PATH_SEPARATOR).
6
- select { |dir| File.expand_path(dir) != __dir__ }.
7
- product(["yarn", "yarnpkg", "yarn.cmd", "yarn.ps1"]).
8
- map { |dir, file| File.expand_path(file, dir) }.
9
- find { |file| File.executable?(file) }
10
-
11
- if yarn
12
- exec yarn, *ARGV
13
- else
14
- $stderr.puts "Yarn executable was not detected in the system."
15
- $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
16
- exit 1
17
- end
18
- end
@@ -1,16 +0,0 @@
1
- require_relative "boot"
2
-
3
- require "rails"
4
- require "active_model/railtie"
5
- require "action_controller/railtie"
6
- require "action_view/railtie"
7
- require "rails/test_unit/railtie"
8
-
9
- Bundler.require(*Rails.groups)
10
-
11
- module ShoelaceTest
12
- class Application < Rails::Application
13
- config.load_defaults 6.1
14
- Rails.backtrace_cleaner.remove_silencers! if ENV["BACKTRACE"]
15
- end
16
- end
@@ -1,4 +0,0 @@
1
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
2
-
3
- require "bundler/setup"
4
- require "bootsnap/setup"
@@ -1,2 +0,0 @@
1
- require_relative "application"
2
- Rails.application.initialize!
@@ -1,10 +0,0 @@
1
- Rails.application.configure do
2
- config.cache_classes = false
3
- config.eager_load = false
4
- config.consider_all_requests_local = true
5
- config.action_controller.perform_caching = false
6
- config.cache_store = :null_store
7
- config.active_support.deprecation = :log
8
- config.active_support.disallowed_deprecation = :raise
9
- config.active_support.disallowed_deprecation_warnings = []
10
- end
@@ -1,18 +0,0 @@
1
- require "active_support/core_ext/integer/time"
2
-
3
- Rails.application.configure do
4
- config.cache_classes = true
5
- config.eager_load = false
6
- config.public_file_server.enabled = true
7
- config.public_file_server.headers = {
8
- 'Cache-Control' => "public, max-age=#{1.hour.to_i}"
9
- }
10
- config.consider_all_requests_local = true
11
- config.action_controller.perform_caching = false
12
- config.cache_store = :null_store
13
- config.action_dispatch.show_exceptions = false
14
- config.action_controller.allow_forgery_protection = false
15
- config.active_support.deprecation = :stderr
16
- config.active_support.disallowed_deprecation = :raise
17
- config.active_support.disallowed_deprecation_warnings = []
18
- end
@@ -1,4 +0,0 @@
1
- Rails.application.routes.draw do
2
- resources :hotwire_forms
3
- resources :turbolinks_forms
4
- end
@@ -1,5 +0,0 @@
1
- process.env.NODE_ENV = process.env.NODE_ENV || 'development'
2
-
3
- const { webpackConfig } = require('@rails/webpacker')
4
-
5
- module.exports = webpackConfig
@@ -1 +0,0 @@
1
- test.js
@@ -1,5 +0,0 @@
1
- process.env.NODE_ENV = process.env.NODE_ENV || 'development'
2
-
3
- const { webpackConfig } = require('@rails/webpacker')
4
-
5
- module.exports = webpackConfig
@@ -1,33 +0,0 @@
1
- default: &default
2
- source_path: app/packs
3
- source_entry_path: entrypoints
4
- public_root_path: public
5
- public_output_path: packs
6
- cache_path: tmp/webpacker
7
- webpack_compile_output: true
8
- additional_paths: []
9
- cache_manifest: false
10
-
11
- development:
12
- <<: *default
13
- compile: true
14
- dev_server:
15
- https: false
16
- host: localhost
17
- port: 3035
18
- hmr: false
19
- client:
20
- overlay: true
21
- compress: true
22
- allowed_hosts: "all"
23
- pretty: true
24
- headers:
25
- 'Access-Control-Allow-Origin': '*'
26
- static:
27
- watch:
28
- ignored: '**/node_modules/**'
29
-
30
- test:
31
- <<: *default
32
- compile: false
33
- public_output_path: packs-test
@@ -1,6 +0,0 @@
1
- # This file is used by Rack-based servers to start the application.
2
-
3
- require_relative "config/environment"
4
-
5
- run Rails.application
6
- Rails.application.load_server
@@ -1,24 +0,0 @@
1
- {
2
- "name": "app",
3
- "private": true,
4
- "babel": {
5
- "presets": [
6
- "./node_modules/@rails/webpacker/package/babel/preset.js"
7
- ]
8
- },
9
- "browserslist": [
10
- "defaults"
11
- ],
12
- "dependencies": {
13
- "@hotwired/turbo-rails": "^7.0.1",
14
- "@rails/ujs": "^7.0.2",
15
- "@rails/webpacker": "^6.0.0-rc.5",
16
- "@yuki24/shoelace-rails": "file:./../../../shoelace-rails",
17
- "turbolinks": "^5.2.0",
18
- "webpack": "^5.51.1",
19
- "webpack-cli": "^4.8.0"
20
- },
21
- "devDependencies": {
22
- "@webpack-cli/serve": "^1.5.2"
23
- }
24
- }
@@ -1,63 +0,0 @@
1
- require "test_helper"
2
-
3
- class HotwireFormTest < ApplicationSystemTestCase
4
- setup do
5
- visit new_hotwire_form_path
6
- end
7
-
8
- test "It can submit a form with a POST method" do
9
- shadow_fill_in 'sl-input[label="Name"]', with: "Yuki Nishijima"
10
- shadow_fill_in 'sl-range[name="user[score]"]', with: "50"
11
-
12
- find('sl-radio', text: "New York").click # Selecting a radio button does not work...
13
-
14
- sl_select "Tokyo", from: "Select one"
15
- sl_multi_select "Tokyo", "New York", from: "Select two or more"
16
- sl_check "Remember me"
17
- sl_toggle "Subscribe to emails"
18
- shadow_fill_in 'sl-textarea[name="user[description]"]', "textarea", with: "I am a human."
19
-
20
- find("sl-button", text: "Create User").click
21
-
22
- assert_current_path hotwire_form_path(1)
23
- assert_text "Name: Yuki Nishijima"
24
- assert_text "Description: I am a human."
25
- assert_text "Score: 50"
26
- # assert_text "Current City:"
27
- assert_text "Previous City: tokyo"
28
- assert_text 'Past Cities: ["tokyo", "new_york"]'
29
- assert_text "Remember Me: 1"
30
- assert_text "Subscribe To Emails: 1"
31
- end
32
-
33
- test "It can submit a form with a POST method without asynchronous submission" do
34
- shadow_fill_in 'sl-input[label="Name"]', with: "Yuki Nishijima"
35
- shadow_fill_in 'sl-range[name="user[score]"]', with: "50"
36
-
37
- find('sl-radio', text: "New York").click # Selecting a radio button does not work...
38
-
39
- sl_select "Tokyo", from: "Select one"
40
- sl_multi_select "Tokyo", "New York", from: "Select two or more"
41
- sl_check "Remember me"
42
- sl_toggle "Subscribe to emails"
43
- shadow_fill_in 'sl-textarea[name="user[description]"]', "textarea", with: "I am a human."
44
-
45
- find("sl-button", text: "Submit without Turbo").click
46
-
47
- assert_current_path hotwire_form_path(1)
48
- assert_text "Name: Yuki Nishijima"
49
- assert_text "Description: I am a human."
50
- assert_text "Score: 50"
51
- # assert_text "Current City:"
52
- assert_text "Previous City: tokyo"
53
- assert_text 'Past Cities: ["tokyo", "new_york"]'
54
- assert_text "Remember Me: 1"
55
- assert_text "Subscribe To Emails: 1"
56
- end
57
-
58
- test "It can handle an error form submission" do
59
- find("sl-button", text: "Create User").click
60
-
61
- assert_text "Name can't be blank"
62
- end
63
- end
@@ -1,38 +0,0 @@
1
- require "test_helper"
2
-
3
- class TurbolinksFormTest < ApplicationSystemTestCase
4
- setup do
5
- visit new_turbolinks_form_path
6
- end
7
-
8
- test "It can submit a form with a POST method" do
9
- shadow_fill_in 'sl-input[label="Name"]', with: "Yuki Nishijima"
10
- shadow_fill_in 'sl-range[name="user[score]"]', with: "50"
11
-
12
- find('sl-radio', text: "New York").click # Selecting a radio button does not work...
13
-
14
- sl_select "Tokyo", from: "Select one"
15
- sl_multi_select "Tokyo", "New York", from: "Select two or more"
16
- sl_check "Remember me"
17
- sl_toggle "Subscribe to emails"
18
- shadow_fill_in 'sl-textarea[name="user[description]"]', "textarea", with: "I am a human."
19
-
20
- find("sl-button", text: "Create User").click
21
-
22
- assert_current_path turbolinks_forms_path
23
- assert_text "Name: Yuki Nishijima"
24
- assert_text "Description: I am a human."
25
- assert_text "Score: 50"
26
- # assert_text "Current City:"
27
- assert_text "Previous City: tokyo"
28
- assert_text 'Past Cities: ["tokyo", "new_york"]'
29
- assert_text "Remember Me: 1"
30
- assert_text "Subscribe To Emails: 1"
31
- end
32
-
33
- test "It can handle an error form submission" do
34
- find("sl-button", text: "Create User").click
35
-
36
- assert_text "Name can't be blank"
37
- end
38
- end
@@ -1,68 +0,0 @@
1
- ENV['RAILS_ENV'] ||= 'test'
2
-
3
- require_relative "../config/environment"
4
- require "rails/test_help"
5
- require "action_dispatch/system_testing/server"
6
- require "shoelace/testing"
7
-
8
- Capybara.server = :webrick
9
-
10
- class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
11
- include Shoelace::Testing
12
-
13
- if ENV['BROWSERSTACK_URL'].present?
14
- browserstack_url = URI(ENV['BROWSERSTACK_URL'])
15
- browserstack_url.user = ENV['BROWSERSTACK_USERNAME'] if ENV['BROWSERSTACK_USERNAME']
16
- browserstack_url.password = ENV['BROWSERSTACK_ACCESS_KEY'] if ENV['BROWSERSTACK_ACCESS_KEY']
17
-
18
- os, os_version, browser, browser_version =
19
- ENV.fetch('TARGET_BROWSER', 'Windows, 10, Edge, latest').split(", ")
20
-
21
- caps = Selenium::WebDriver::Remote::Capabilities.new(
22
- name: "Shoelace Rails",
23
- server: browserstack_url.host,
24
- user: browserstack_url.user,
25
- key: browserstack_url.password,
26
- os: os,
27
- os_version: os_version,
28
- browser: browser,
29
- browser_version: browser_version,
30
- "browserstack.console": "errors",
31
- # "browserstack.debug": true,
32
- "browserstack.local": true,
33
- "browserstack.networkLogs": true,
34
- )
35
-
36
- # Running multiple sessions with browserstack-local is not stable, so setting it to 1 for now.
37
- parallelize workers: 1
38
-
39
- # Safari has some limitations due to their security models so we have to stick with localhost:3000.
40
- if browser.downcase == 'safari'
41
- Capybara.app_host = "http://localhost"
42
- Capybara.server_port = 3000
43
- end
44
-
45
- driven_by :selenium, using: :remote, options: { url: browserstack_url.to_s, capabilities: caps }
46
- else
47
- parallelize workers: :number_of_processors
48
-
49
- driven_by :selenium, using: (ENV["JS_DRIVER"] || :headless_chrome).downcase.to_sym, screen_size: [1400, 1400]
50
- end
51
-
52
- def shadow_fill_in(shadow_host, *locators, with:, currently_with: nil, fill_options: {}, **find_options)
53
- shadow_host = shadow_host.respond_to?(:to_capybara_node) ? shadow_host.to_capybara_node : find(shadow_host)
54
-
55
- locators = ['input'] if locators.empty?
56
- locators
57
- .reduce(shadow_host.shadow_root) { |node, locator| node.find(locator).shadow_root || node.find(locator) }
58
- .set(with, **fill_options)
59
- end
60
-
61
- def dispatch_event(query_selector: , event: , detail: {}.to_json)
62
- execute_script(<<~JAVASCRIPT)
63
- document
64
- .querySelector('#{query_selector}')
65
- .dispatchEvent(new CustomEvent('#{event}', { detail: #{detail} }))
66
- JAVASCRIPT
67
- end
68
- end
data/tsconfig.json DELETED
@@ -1,19 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "declaration": true,
4
- "outDir": "dist/types",
5
- "esModuleInterop": true,
6
- "lib": [ "dom", "dom.iterable", "esnext" ],
7
- "module": "es2015",
8
- "moduleResolution": "node",
9
- "noUnusedLocals": true,
10
- "rootDir": "src",
11
- "strict": false,
12
- "target": "es2017",
13
- "noEmit": true,
14
- "removeComments": true,
15
- "allowSyntheticDefaultImports": true
16
- },
17
- "exclude": [ "dist", "src/tests/fixtures" ]
18
- }
19
-
data/yarn.lock DELETED
@@ -1,249 +0,0 @@
1
- # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
- # yarn lockfile v1
3
-
4
-
5
- "@hotwired/turbo@^7.0.1":
6
- version "7.0.1"
7
- resolved "https://registry.yarnpkg.com/@hotwired/turbo/-/turbo-7.0.1.tgz#2a8c6ab2f24914d1d47f3a7a7779e2881e8c61a0"
8
- integrity sha512-awqraytYXbHV2NT0WAOnDDDGJeHHnFtnztdXvRuIqgsStUtPKM8B9H7ISm77SwbHemEjxEOB8Ku4RfNbEEXsPQ==
9
-
10
- "@lit/reactive-element@^1.0.0":
11
- version "1.0.0"
12
- resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.0.0.tgz#7b6e6a85709cda0370c47e425ac2f3b553696a4b"
13
- integrity sha512-Kpgenb8UNFsKCsFhggiVvUkCbcFQSd6N8hffYEEGjz27/4rw3cTSsmP9t3q1EHOAsdum60Wo64HvuZDFpEwexA==
14
-
15
- "@popperjs/core@^2.7.0":
16
- version "2.10.2"
17
- resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.10.2.tgz#0798c03351f0dea1a5a4cabddf26a55a7cbee590"
18
- integrity sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==
19
-
20
- "@rollup/plugin-node-resolve@^13.0.4":
21
- version "13.0.4"
22
- resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.4.tgz#b10222f4145a019740acb7738402130d848660c0"
23
- integrity sha512-eYq4TFy40O8hjeDs+sIxEH/jc9lyuI2k9DM557WN6rO5OpnC2qXMBNj4IKH1oHrnAazL49C5p0tgP0/VpqJ+/w==
24
- dependencies:
25
- "@rollup/pluginutils" "^3.1.0"
26
- "@types/resolve" "1.17.1"
27
- builtin-modules "^3.1.0"
28
- deepmerge "^4.2.2"
29
- is-module "^1.0.0"
30
- resolve "^1.19.0"
31
-
32
- "@rollup/plugin-typescript@^8.2.5":
33
- version "8.2.5"
34
- resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-8.2.5.tgz#e0319761b2b5105615e5a0c371ae05bc2984b7de"
35
- integrity sha512-QL/LvDol/PAGB2O0S7/+q2HpSUNodpw7z6nGn9BfoVCPOZ0r4EALrojFU29Bkoi2Hr2jgTocTejJ5GGWZfOxbQ==
36
- dependencies:
37
- "@rollup/pluginutils" "^3.1.0"
38
- resolve "^1.17.0"
39
-
40
- "@rollup/pluginutils@^3.1.0":
41
- version "3.1.0"
42
- resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b"
43
- integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==
44
- dependencies:
45
- "@types/estree" "0.0.39"
46
- estree-walker "^1.0.1"
47
- picomatch "^2.2.2"
48
-
49
- "@shoelace-style/animations@^1.1.0":
50
- version "1.1.0"
51
- resolved "https://registry.yarnpkg.com/@shoelace-style/animations/-/animations-1.1.0.tgz#17539abafd6dcbf2a79e089e1593175e9f7835b5"
52
- integrity sha512-Be+cahtZyI2dPKRm8EZSx3YJQ+jLvEcn3xzRP7tM4tqBnvd/eW/64Xh0iOf0t2w5P8iJKfdBbpVNE9naCaOf2g==
53
-
54
- "@shoelace-style/shoelace@^2.0.0-beta.52":
55
- version "2.0.0-beta.52"
56
- resolved "https://registry.yarnpkg.com/@shoelace-style/shoelace/-/shoelace-2.0.0-beta.52.tgz#a304f9991528946948f90002847e3d7e8f92217f"
57
- integrity sha512-O4xXJ06EInHYUNQgtoin7bh2kRfGKK36ow+HFYqPluxQFkuCx1gIl26JIIUMiN7WYJLpL7w0KUGSqS6AmsSaQg==
58
- dependencies:
59
- "@popperjs/core" "^2.7.0"
60
- "@shoelace-style/animations" "^1.1.0"
61
- color "^3.1.3"
62
- lit "^2.0.0"
63
- lit-html "^2.0.0"
64
- qr-creator "^1.0.0"
65
-
66
- "@types/estree@0.0.39":
67
- version "0.0.39"
68
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
69
- integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
70
-
71
- "@types/node@*":
72
- version "16.7.1"
73
- resolved "https://registry.yarnpkg.com/@types/node/-/node-16.7.1.tgz#c6b9198178da504dfca1fd0be9b2e1002f1586f0"
74
- integrity sha512-ncRdc45SoYJ2H4eWU9ReDfp3vtFqDYhjOsKlFFUDEn8V1Bgr2RjYal8YT5byfadWIRluhPFU6JiDOl0H6Sl87A==
75
-
76
- "@types/resolve@1.17.1":
77
- version "1.17.1"
78
- resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6"
79
- integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==
80
- dependencies:
81
- "@types/node" "*"
82
-
83
- "@types/trusted-types@^2.0.2":
84
- version "2.0.2"
85
- resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756"
86
- integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==
87
-
88
- builtin-modules@^3.1.0:
89
- version "3.2.0"
90
- resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887"
91
- integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==
92
-
93
- color-convert@^1.9.3:
94
- version "1.9.3"
95
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
96
- integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
97
- dependencies:
98
- color-name "1.1.3"
99
-
100
- color-name@1.1.3:
101
- version "1.1.3"
102
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
103
- integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
104
-
105
- color-name@^1.0.0:
106
- version "1.1.4"
107
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
108
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
109
-
110
- color-string@^1.6.0:
111
- version "1.6.0"
112
- resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312"
113
- integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==
114
- dependencies:
115
- color-name "^1.0.0"
116
- simple-swizzle "^0.2.2"
117
-
118
- color@^3.1.3:
119
- version "3.2.1"
120
- resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164"
121
- integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
122
- dependencies:
123
- color-convert "^1.9.3"
124
- color-string "^1.6.0"
125
-
126
- deepmerge@^4.2.2:
127
- version "4.2.2"
128
- resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
129
- integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
130
-
131
- estree-walker@^1.0.1:
132
- version "1.0.1"
133
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
134
- integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
135
-
136
- fsevents@~2.3.2:
137
- version "2.3.2"
138
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
139
- integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
140
-
141
- function-bind@^1.1.1:
142
- version "1.1.1"
143
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
144
- integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
145
-
146
- has@^1.0.3:
147
- version "1.0.3"
148
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
149
- integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
150
- dependencies:
151
- function-bind "^1.1.1"
152
-
153
- is-arrayish@^0.3.1:
154
- version "0.3.2"
155
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
156
- integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
157
-
158
- is-core-module@^2.2.0:
159
- version "2.6.0"
160
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19"
161
- integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==
162
- dependencies:
163
- has "^1.0.3"
164
-
165
- is-module@^1.0.0:
166
- version "1.0.0"
167
- resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
168
- integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=
169
-
170
- lit-element@^3.0.0:
171
- version "3.0.0"
172
- resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.0.0.tgz#0e9e64ddbc3dd6a8da4d6fbfadbc070a54cf0597"
173
- integrity sha512-oPqRhhBBhs+AlI62QLwtWQNU/bNK/h2L1jI3IDroqZubo6XVAkyNy2dW3CRfjij8mrNlY7wULOfyyKKOnfEePA==
174
- dependencies:
175
- "@lit/reactive-element" "^1.0.0"
176
- lit-html "^2.0.0"
177
-
178
- lit-html@^2.0.0:
179
- version "2.0.0"
180
- resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.0.0.tgz#ba6779269c382e66d7403a96ed99516ccc3d658b"
181
- integrity sha512-tJsCapCmc0vtLj6harqd6HfCxnlt/RSkgowtz4SC9dFE3nSL38Tb33I5HMDiyJsRjQZRTgpVsahrnDrR9wg27w==
182
- dependencies:
183
- "@types/trusted-types" "^2.0.2"
184
-
185
- lit@^2.0.0:
186
- version "2.0.0"
187
- resolved "https://registry.yarnpkg.com/lit/-/lit-2.0.0.tgz#7710095dc518d9858dde579e9c76b9eed71e98ba"
188
- integrity sha512-pqi5O/wVzQ9Bn4ERRoYQlt1EAUWyY5Wv888vzpoArbtChc+zfUv1XohRqSdtQZYCogl0eHKd+MQwymg2XJfECg==
189
- dependencies:
190
- "@lit/reactive-element" "^1.0.0"
191
- lit-element "^3.0.0"
192
- lit-html "^2.0.0"
193
-
194
- path-parse@^1.0.6:
195
- version "1.0.7"
196
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
197
- integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
198
-
199
- picomatch@^2.2.2:
200
- version "2.3.0"
201
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
202
- integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
203
-
204
- prettier@^2.3.2:
205
- version "2.3.2"
206
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.2.tgz#ef280a05ec253712e486233db5c6f23441e7342d"
207
- integrity sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==
208
-
209
- qr-creator@^1.0.0:
210
- version "1.0.0"
211
- resolved "https://registry.yarnpkg.com/qr-creator/-/qr-creator-1.0.0.tgz#f350a8f0b5be02bd1fc1ef133a038a06ef8bc5ef"
212
- integrity sha512-C0cqfbS1P5hfqN4NhsYsUXePlk9BO+a45bAQ3xLYjBL3bOIFzoVEjs79Fado9u9BPBD3buHi3+vY+C8tHh4qMQ==
213
-
214
- resolve@^1.17.0, resolve@^1.19.0:
215
- version "1.20.0"
216
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
217
- integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
218
- dependencies:
219
- is-core-module "^2.2.0"
220
- path-parse "^1.0.6"
221
-
222
- rollup@^2.56.2:
223
- version "2.56.2"
224
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.56.2.tgz#a045ff3f6af53ee009b5f5016ca3da0329e5470f"
225
- integrity sha512-s8H00ZsRi29M2/lGdm1u8DJpJ9ML8SUOpVVBd33XNeEeL3NVaTiUcSBHzBdF3eAyR0l7VSpsuoVUGrRHq7aPwQ==
226
- optionalDependencies:
227
- fsevents "~2.3.2"
228
-
229
- simple-swizzle@^0.2.2:
230
- version "0.2.2"
231
- resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
232
- integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
233
- dependencies:
234
- is-arrayish "^0.3.1"
235
-
236
- tslib@^2.3.1:
237
- version "2.3.1"
238
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
239
- integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
240
-
241
- turbolinks@5.x:
242
- version "5.2.0"
243
- resolved "https://registry.yarnpkg.com/turbolinks/-/turbolinks-5.2.0.tgz#e6877a55ea5c1cb3bb225f0a4ae303d6d32ff77c"
244
- integrity sha512-pMiez3tyBo6uRHFNNZoYMmrES/IaGgMhQQM+VFF36keryjb5ms0XkVpmKHkfW/4Vy96qiGW3K9bz0tF5sK9bBw==
245
-
246
- typescript@^4.3.5:
247
- version "4.3.5"
248
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4"
249
- integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==