plutonium 0.10.3 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (185) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -2
  3. data/app/assets/application.js.bk +31419 -0
  4. data/app/assets/plutonium-logo-original.png +0 -0
  5. data/app/assets/plutonium-logo-white.png +0 -0
  6. data/app/assets/plutonium-logo.png +0 -0
  7. data/app/assets/plutonium.css +1 -0
  8. data/app/assets/plutonium.ico +0 -0
  9. data/app/assets/plutonium.js +12416 -0
  10. data/app/assets/plutonium.js.map +7 -0
  11. data/app/assets/plutonium.min.js +39 -0
  12. data/app/assets/plutonium.min.js.map +7 -0
  13. data/app/views/application/_flash_alerts.html.erb +2 -2
  14. data/app/views/application/_resource_header.html.erb +263 -697
  15. data/app/views/application/_resource_sidebar.html.erb +14 -12
  16. data/app/views/components/action_button/action_button_component.rb +3 -3
  17. data/app/views/components/attributes.rb +184 -0
  18. data/app/views/components/base.rb +19 -40
  19. data/app/views/components/block/block_component.html.erb +1 -1
  20. data/app/views/components/block/block_component.rb +11 -7
  21. data/app/views/components/breadcrumbs/breadcrumbs_component.rb +3 -3
  22. data/app/views/components/button/button_component.html.erb +2 -2
  23. data/app/views/components/button/button_component.rb +10 -5
  24. data/app/views/components/dyna_frame_content/dyna_frame_content_component.html.erb +1 -0
  25. data/app/views/components/dyna_frame_content/dyna_frame_content_component.rb +3 -3
  26. data/app/views/components/dyna_frame_host/dyna_frame_host_component.html.erb +1 -2
  27. data/app/views/components/dyna_frame_host/dyna_frame_host_component.rb +12 -5
  28. data/app/views/components/empty_card/empty_card_component.rb +3 -3
  29. data/app/views/components/form/form_builder.rb +1 -1
  30. data/app/views/components/form/form_component.rb +3 -3
  31. data/app/views/components/has_many_panel/has_many_panel_component.html.erb +25 -0
  32. data/app/views/components/has_many_panel/has_many_panel_component.rb +16 -0
  33. data/app/views/components/header/header_component.rb +3 -3
  34. data/app/views/components/interactive_action_form/interactive_action_form_component.rb +3 -3
  35. data/app/views/components/nav_grid_menu/nav_grid_menu_component.html.erb +24 -0
  36. data/app/views/components/nav_grid_menu/nav_grid_menu_component.rb +23 -0
  37. data/app/views/components/nav_grid_menu_item/nav_grid_menu_item_component.html.erb +4 -0
  38. data/app/views/components/nav_grid_menu_item/nav_grid_menu_item_component.rb +20 -0
  39. data/app/views/components/nav_user/nav_user_component.html.erb +50 -0
  40. data/app/views/components/nav_user/nav_user_component.rb +32 -0
  41. data/app/views/components/nav_user_link/nav_user_link_component.html.erb +7 -0
  42. data/app/views/components/nav_user_link/nav_user_link_component.rb +23 -0
  43. data/app/views/components/nav_user_section/nav_user_section_component.html.erb +7 -0
  44. data/app/views/components/nav_user_section/nav_user_section_component.rb +18 -0
  45. data/app/views/components/nested_resource_form_fields/nested_resource_form_fields_component.html.erb +1 -3
  46. data/app/views/components/nested_resource_form_fields/nested_resource_form_fields_component.rb +11 -5
  47. data/app/views/components/pagination/pagination_component.html.erb +1 -1
  48. data/app/views/components/pagination/pagination_component.rb +10 -7
  49. data/app/views/components/panel/panel_component.html.erb +13 -6
  50. data/app/views/components/panel/panel_component.rb +11 -5
  51. data/app/views/components/resource_header/resource_header_component.html.erb +81 -0
  52. data/app/views/components/resource_header/resource_header_component.rb +20 -0
  53. data/app/views/components/resource_layout/resource_layout_component.html.erb +32 -0
  54. data/app/views/components/resource_layout/resource_layout_component.rb +39 -0
  55. data/app/views/components/sidebar/sidebar_component.html.erb +3 -33
  56. data/app/views/components/sidebar/sidebar_component.rb +3 -3
  57. data/app/views/components/sidebar_menu/sidebar_menu_component.html.erb +4 -2
  58. data/app/views/components/sidebar_menu/sidebar_menu_component.rb +10 -6
  59. data/app/views/components/sidebar_menu_item/sidebar_menu_item_component.html.erb +63 -71
  60. data/app/views/components/sidebar_menu_item/sidebar_menu_item_component.rb +27 -8
  61. data/app/views/components/skeleton/table/table_component.html.erb +1 -1
  62. data/app/views/components/skeleton/table/table_component.rb +3 -3
  63. data/app/views/components/table/table_component.html.erb +40 -89
  64. data/app/views/components/table/table_component.rb +124 -28
  65. data/app/views/components/table_search_input/table_search_input_component.html.erb +1 -1
  66. data/app/views/components/table_search_input/table_search_input_component.rb +11 -6
  67. data/app/views/components/table_toolbar/table_toolbar_component.html.erb +1 -1
  68. data/app/views/components/table_toolbar/table_toolbar_component.rb +11 -3
  69. data/app/views/components/toolbar/toolbar_component.html.erb +2 -2
  70. data/app/views/components/toolbar/toolbar_component.rb +16 -8
  71. data/app/views/layouts/resource.html.erb +21 -37
  72. data/app/views/layouts/rodauth.html.erb +32 -30
  73. data/app/views/resource/_interactive_resource_action_form.html.erb +1 -1
  74. data/app/views/resource/_resource_details.html.erb +8 -5
  75. data/app/views/resource/_resource_table.html.erb +70 -1
  76. data/app/views/resource/interactive_resource_collection_action.html.erb +1 -0
  77. data/app/views/resource/interactive_resource_record_action.html.erb +1 -0
  78. data/app/views/resource/interactive_resource_recordless_action.html.erb +1 -0
  79. data/app/views/resource/new.html.erb +1 -0
  80. data/config/initializers/simple_form.rb +22 -2
  81. data/esbuild.config.js +35 -31
  82. data/lib/generators/pu/core/assets/assets_generator.rb +41 -0
  83. data/lib/generators/pu/core/assets/templates/tailwind.config.js +18 -0
  84. data/lib/generators/pu/core/install/templates/config/initializers/plutonium.rb +3 -0
  85. data/lib/generators/pu/gem/dotenv/templates/config/initializers/001_ensure_required_env.rb +6 -0
  86. data/lib/generators/pu/gen/component/component_generator.rb +13 -10
  87. data/lib/generators/pu/gen/component/templates/component.html.erb.tt +1 -1
  88. data/lib/generators/pu/gen/component/templates/component.rb.tt +10 -4
  89. data/lib/generators/pu/pkg/app/app_generator.rb +4 -4
  90. data/lib/generators/pu/pkg/app/templates/app/controllers/concerns/controller.rb.tt +28 -0
  91. data/lib/generators/pu/pkg/app/templates/app/controllers/controller.rb.tt +5 -0
  92. data/lib/generators/pu/pkg/app/templates/app/controllers/dashboard_controller.rb.tt +1 -1
  93. data/lib/generators/pu/res/conn/conn_generator.rb +4 -4
  94. data/lib/generators/pu/res/conn/templates/app/controllers/resource_controller.rb.tt +1 -1
  95. data/lib/generators/pu/res/model/model_generator.rb +3 -3
  96. data/lib/generators/pu/res/scaffold/templates/policy.rb.tt +6 -0
  97. data/lib/generators/pu/service/sidekiq/sidekiq_generator.rb +0 -5
  98. data/lib/generators/pu/service/sidekiq/templates/app/sidekiq/sidekiq_job.rb +0 -2
  99. data/lib/plutonium/config.rb +2 -14
  100. data/lib/plutonium/core/associations/renderers/basic_renderer.rb +28 -0
  101. data/lib/plutonium/core/associations/renderers/factory.rb +36 -0
  102. data/lib/plutonium/core/associations/renderers/has_many_renderer.rb +16 -0
  103. data/lib/plutonium/core/autodiscovery/association_renderer_discoverer.rb +31 -0
  104. data/lib/plutonium/core/controllers/authorizable.rb +13 -17
  105. data/lib/plutonium/core/controllers/base.rb +3 -7
  106. data/lib/plutonium/core/controllers/presentable.rb +6 -1
  107. data/lib/plutonium/core/definers/association_renderer_definer.rb +33 -0
  108. data/lib/plutonium/core/fields/inputs/checkbox_input.rb +13 -0
  109. data/lib/plutonium/core/fields/inputs/factory.rb +1 -0
  110. data/lib/plutonium/core/fields/inputs/polymorphic_belongs_to_association_input.rb +1 -1
  111. data/lib/plutonium/core/ui/detail.rb +1 -0
  112. data/lib/plutonium/helpers/application_helper.rb +8 -9
  113. data/lib/plutonium/helpers/assets_helper.rb +33 -0
  114. data/lib/plutonium/helpers/display_helper.rb +13 -0
  115. data/lib/plutonium/helpers/form_helper.rb +1 -1
  116. data/lib/plutonium/helpers.rb +1 -0
  117. data/lib/plutonium/icons.rb +12 -5
  118. data/lib/plutonium/pkg/app.rb +10 -0
  119. data/lib/plutonium/pundit/context.rb +18 -0
  120. data/lib/plutonium/pundit/policy_finder.rb +25 -0
  121. data/lib/plutonium/railtie.rb +20 -8
  122. data/lib/plutonium/reloader.rb +18 -7
  123. data/lib/plutonium/resource/controller.rb +4 -0
  124. data/lib/plutonium/resource/policy.rb +69 -47
  125. data/lib/plutonium/resource/presenter.rb +1 -0
  126. data/lib/plutonium/resource/query_object.rb +139 -130
  127. data/lib/plutonium/rodauth/controller_methods.rb +7 -3
  128. data/lib/plutonium/version.rb +1 -1
  129. data/lib/plutonium.rb +9 -57
  130. data/package-lock.json +782 -17
  131. data/package.json +31 -8
  132. data/postcss.config.js +17 -7
  133. data/src/.npmignore +2 -0
  134. data/src/js/controllers/color_mode_controller.js +41 -0
  135. data/src/js/controllers/frame_navigator_controller.js +99 -0
  136. data/src/js/controllers/has_many_panel_controller.js +8 -0
  137. data/src/js/controllers/nav_grid_menu_controller.js +8 -0
  138. data/src/js/controllers/nav_grid_menu_item_controller.js +8 -0
  139. data/{app/views/components/tab_bar/tab_bar_controller.js → src/js/controllers/nav_user_controller.js} +2 -2
  140. data/src/js/controllers/nav_user_link_controller.js +8 -0
  141. data/src/js/controllers/nav_user_section_controller.js +8 -0
  142. data/src/js/controllers/register_controllers.js +45 -0
  143. data/{app/assets/javascripts → src/js}/controllers/resource_dismiss_controller.js +2 -0
  144. data/{app/assets/javascripts → src/js}/controllers/resource_drop_down_controller.js +2 -0
  145. data/src/js/controllers/resource_header_controller.js +8 -0
  146. data/src/js/controllers/resource_layout_controller.js +8 -0
  147. data/src/js/controllers/sidebar_menu_controller.js +8 -0
  148. data/src/js/controllers/sidebar_menu_item_controller.js +8 -0
  149. data/src/js/core.js +4 -0
  150. data/{app/assets/javascripts/plutonium-app.js → src/js/plutonium.js} +1 -1
  151. data/{app/assets/javascripts → src/js}/turbo/turbo_debug.js +2 -4
  152. data/tailwind.config.js +85 -84
  153. metadata +73 -39
  154. data/app/assets/build/plutonium.js +0 -5122
  155. data/app/assets/javascripts/controllers/index.js +0 -34
  156. data/app/assets/javascripts/plutonium.js +0 -1
  157. data/app/views/application/_color_modes.html.erb +0 -57
  158. data/app/views/components/tab_bar/tab_bar_component.html.erb +0 -11
  159. data/app/views/components/tab_bar/tab_bar_component.rb +0 -9
  160. data/app/views/resource/_nav_user.html.erb +0 -4
  161. data/app/views/resource/_tab_menu.html.erb +0 -13
  162. data/css.manifest +0 -3
  163. data/js.manifest +0 -4
  164. data/lib/generators/pu/pkg/app/templates/app/controllers/app_controller.rb.tt +0 -5
  165. data/lib/generators/pu/pkg/app/templates/app/controllers/package_controller.rb.tt +0 -26
  166. data/public/plutonium-assets/application.css +0 -25086
  167. data/public/plutonium-assets/plutonium-app-36KN5FVJ.js +0 -6
  168. data/public/plutonium-assets/plutonium-app-36KN5FVJ.js.map +0 -7
  169. data/public/plutonium-assets/plutonium-app-6WILQCTT.js +0 -39
  170. data/public/plutonium-assets/plutonium-app-6WILQCTT.js.map +0 -7
  171. data/public/plutonium-assets/plutonium.2d4f0c333cd000051d3b.css +0 -3424
  172. data/public/plutonium-assets/plutonium.50232e35b5495f5ad90d.css +0 -3415
  173. data/public/plutonium-assets/plutonium.8bee7a8482988b0360e3.css +0 -3420
  174. /data/{app/assets/build → lib/generators/pu/core/assets/templates}/.keep +0 -0
  175. /data/{app/assets/stylesheets → src/css}/plutonium.css +0 -0
  176. /data/{app/views/components/form → src/js/controllers}/form_controller.js +0 -0
  177. /data/{app/views/components/interactive_action_form → src/js/controllers}/interactive_action_form_controller.js +0 -0
  178. /data/{app/views/components/nested_resource_form_fields → src/js/controllers}/nested_resource_form_fields_controller.js +0 -0
  179. /data/{app/views/components/table → src/js/controllers}/table_controller.js +0 -0
  180. /data/{app/views/components/table_search_input → src/js/controllers}/table_search_input_controller.js +0 -0
  181. /data/{app/views/components/table_toolbar → src/js/controllers}/table_toolbar_controller.js +0 -0
  182. /data/{app/views/components/toolbar → src/js/controllers}/toolbar_controller.js +0 -0
  183. /data/{app/assets/javascripts → src/js}/turbo/index.js +0 -0
  184. /data/{app/assets/javascripts → src/js}/turbo/turbo_actions.js +0 -0
  185. /data/{app/assets/javascripts → src/js}/turbo/turbo_frame_monkey_patch.js +0 -0
data/package-lock.json CHANGED
@@ -1,19 +1,26 @@
1
1
  {
2
- "name": "plutonium",
2
+ "name": "@plutonium-rails/core",
3
+ "version": "0.1.0",
3
4
  "lockfileVersion": 3,
4
5
  "requires": true,
5
6
  "packages": {
6
7
  "": {
7
- "devDependencies": {
8
+ "name": "@plutonium-rails/core",
9
+ "version": "0.1.0",
10
+ "license": "MIT",
11
+ "dependencies": {
8
12
  "@hotwired/stimulus": "^3.2.2",
9
13
  "@hotwired/turbo": "^8.0.4",
14
+ "lodash.debounce": "^4.0.8"
15
+ },
16
+ "devDependencies": {
10
17
  "@tailwindcss/forms": "^0.5.7",
11
18
  "autoprefixer": "^10.4.18",
12
19
  "concurrently": "^8.2.2",
20
+ "cssnano": "^7.0.2",
13
21
  "esbuild": "^0.20.1",
14
22
  "esbuild-plugin-manifest": "^1.0.3",
15
23
  "flowbite": "^2.3.0",
16
- "lodash.debounce": "^4.0.8",
17
24
  "postcss": "^8.4.35",
18
25
  "postcss-cli": "^11.0.0",
19
26
  "postcss-hash": "^3.0.0",
@@ -415,14 +422,12 @@
415
422
  "node_modules/@hotwired/stimulus": {
416
423
  "version": "3.2.2",
417
424
  "resolved": "https://registry.npmjs.org/@hotwired/stimulus/-/stimulus-3.2.2.tgz",
418
- "integrity": "sha512-eGeIqNOQpXoPAIP7tC1+1Yc1yl1xnwYqg+3mzqxyrbE5pg5YFBZcA6YoTiByJB6DKAEsiWtl6tjTJS4IYtbB7A==",
419
- "dev": true
425
+ "integrity": "sha512-eGeIqNOQpXoPAIP7tC1+1Yc1yl1xnwYqg+3mzqxyrbE5pg5YFBZcA6YoTiByJB6DKAEsiWtl6tjTJS4IYtbB7A=="
420
426
  },
421
427
  "node_modules/@hotwired/turbo": {
422
428
  "version": "8.0.4",
423
429
  "resolved": "https://registry.npmjs.org/@hotwired/turbo/-/turbo-8.0.4.tgz",
424
430
  "integrity": "sha512-mlZEFUZrJnpfj+g/XeCWWuokvQyN68WvM78JM+0jfSFc98wegm259vCbC1zSllcspRwbgXK31ibehCy5PA78/Q==",
425
- "dev": true,
426
431
  "engines": {
427
432
  "node": ">= 14"
428
433
  }
@@ -571,6 +576,15 @@
571
576
  "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1"
572
577
  }
573
578
  },
579
+ "node_modules/@trysound/sax": {
580
+ "version": "0.2.0",
581
+ "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
582
+ "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
583
+ "dev": true,
584
+ "engines": {
585
+ "node": ">=10.13.0"
586
+ }
587
+ },
574
588
  "node_modules/ansi-regex": {
575
589
  "version": "6.0.1",
576
590
  "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
@@ -672,6 +686,12 @@
672
686
  "node": ">=8"
673
687
  }
674
688
  },
689
+ "node_modules/boolbase": {
690
+ "version": "1.0.0",
691
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
692
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
693
+ "dev": true
694
+ },
675
695
  "node_modules/brace-expansion": {
676
696
  "version": "2.0.1",
677
697
  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
@@ -734,6 +754,18 @@
734
754
  "node": ">= 6"
735
755
  }
736
756
  },
757
+ "node_modules/caniuse-api": {
758
+ "version": "3.0.0",
759
+ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
760
+ "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
761
+ "dev": true,
762
+ "dependencies": {
763
+ "browserslist": "^4.0.0",
764
+ "caniuse-lite": "^1.0.0",
765
+ "lodash.memoize": "^4.1.2",
766
+ "lodash.uniq": "^4.5.0"
767
+ }
768
+ },
737
769
  "node_modules/caniuse-lite": {
738
770
  "version": "1.0.30001596",
739
771
  "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001596.tgz",
@@ -938,6 +970,12 @@
938
970
  "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
939
971
  "dev": true
940
972
  },
973
+ "node_modules/colord": {
974
+ "version": "2.9.3",
975
+ "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
976
+ "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
977
+ "dev": true
978
+ },
941
979
  "node_modules/commander": {
942
980
  "version": "4.1.1",
943
981
  "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
@@ -988,6 +1026,59 @@
988
1026
  "node": ">= 8"
989
1027
  }
990
1028
  },
1029
+ "node_modules/css-declaration-sorter": {
1030
+ "version": "7.2.0",
1031
+ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz",
1032
+ "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==",
1033
+ "dev": true,
1034
+ "engines": {
1035
+ "node": "^14 || ^16 || >=18"
1036
+ },
1037
+ "peerDependencies": {
1038
+ "postcss": "^8.0.9"
1039
+ }
1040
+ },
1041
+ "node_modules/css-select": {
1042
+ "version": "5.1.0",
1043
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
1044
+ "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
1045
+ "dev": true,
1046
+ "dependencies": {
1047
+ "boolbase": "^1.0.0",
1048
+ "css-what": "^6.1.0",
1049
+ "domhandler": "^5.0.2",
1050
+ "domutils": "^3.0.1",
1051
+ "nth-check": "^2.0.1"
1052
+ },
1053
+ "funding": {
1054
+ "url": "https://github.com/sponsors/fb55"
1055
+ }
1056
+ },
1057
+ "node_modules/css-tree": {
1058
+ "version": "2.3.1",
1059
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
1060
+ "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
1061
+ "dev": true,
1062
+ "dependencies": {
1063
+ "mdn-data": "2.0.30",
1064
+ "source-map-js": "^1.0.1"
1065
+ },
1066
+ "engines": {
1067
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
1068
+ }
1069
+ },
1070
+ "node_modules/css-what": {
1071
+ "version": "6.1.0",
1072
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
1073
+ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
1074
+ "dev": true,
1075
+ "engines": {
1076
+ "node": ">= 6"
1077
+ },
1078
+ "funding": {
1079
+ "url": "https://github.com/sponsors/fb55"
1080
+ }
1081
+ },
991
1082
  "node_modules/cssesc": {
992
1083
  "version": "3.0.0",
993
1084
  "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -1000,6 +1091,127 @@
1000
1091
  "node": ">=4"
1001
1092
  }
1002
1093
  },
1094
+ "node_modules/cssnano": {
1095
+ "version": "7.0.2",
1096
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.2.tgz",
1097
+ "integrity": "sha512-LXm/Xx6TNLzfHM2lBaIQHfvtdW5QfdbyLzfJAWZrclCAb47yVa0/yJG69+amcw3Lq0YZ+kyU40rbsMPLcMt9aw==",
1098
+ "dev": true,
1099
+ "dependencies": {
1100
+ "cssnano-preset-default": "^7.0.2",
1101
+ "lilconfig": "^3.1.1"
1102
+ },
1103
+ "engines": {
1104
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
1105
+ },
1106
+ "funding": {
1107
+ "type": "opencollective",
1108
+ "url": "https://opencollective.com/cssnano"
1109
+ },
1110
+ "peerDependencies": {
1111
+ "postcss": "^8.4.31"
1112
+ }
1113
+ },
1114
+ "node_modules/cssnano-preset-default": {
1115
+ "version": "7.0.2",
1116
+ "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.2.tgz",
1117
+ "integrity": "sha512-z95kGKZx8VWHfERj7LFzuiTxylbvEp07ZEYaFu+t6bFyNOXLd/+3oPyNaY7ISwcrfHFCkt8OfRo4IZxVRJZ7dg==",
1118
+ "dev": true,
1119
+ "dependencies": {
1120
+ "browserslist": "^4.23.0",
1121
+ "css-declaration-sorter": "^7.2.0",
1122
+ "cssnano-utils": "^5.0.0",
1123
+ "postcss-calc": "^10.0.0",
1124
+ "postcss-colormin": "^7.0.0",
1125
+ "postcss-convert-values": "^7.0.0",
1126
+ "postcss-discard-comments": "^7.0.0",
1127
+ "postcss-discard-duplicates": "^7.0.0",
1128
+ "postcss-discard-empty": "^7.0.0",
1129
+ "postcss-discard-overridden": "^7.0.0",
1130
+ "postcss-merge-longhand": "^7.0.1",
1131
+ "postcss-merge-rules": "^7.0.1",
1132
+ "postcss-minify-font-values": "^7.0.0",
1133
+ "postcss-minify-gradients": "^7.0.0",
1134
+ "postcss-minify-params": "^7.0.0",
1135
+ "postcss-minify-selectors": "^7.0.1",
1136
+ "postcss-normalize-charset": "^7.0.0",
1137
+ "postcss-normalize-display-values": "^7.0.0",
1138
+ "postcss-normalize-positions": "^7.0.0",
1139
+ "postcss-normalize-repeat-style": "^7.0.0",
1140
+ "postcss-normalize-string": "^7.0.0",
1141
+ "postcss-normalize-timing-functions": "^7.0.0",
1142
+ "postcss-normalize-unicode": "^7.0.0",
1143
+ "postcss-normalize-url": "^7.0.0",
1144
+ "postcss-normalize-whitespace": "^7.0.0",
1145
+ "postcss-ordered-values": "^7.0.0",
1146
+ "postcss-reduce-initial": "^7.0.0",
1147
+ "postcss-reduce-transforms": "^7.0.0",
1148
+ "postcss-svgo": "^7.0.1",
1149
+ "postcss-unique-selectors": "^7.0.1"
1150
+ },
1151
+ "engines": {
1152
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
1153
+ },
1154
+ "peerDependencies": {
1155
+ "postcss": "^8.4.31"
1156
+ }
1157
+ },
1158
+ "node_modules/cssnano-utils": {
1159
+ "version": "5.0.0",
1160
+ "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.0.tgz",
1161
+ "integrity": "sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==",
1162
+ "dev": true,
1163
+ "engines": {
1164
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
1165
+ },
1166
+ "peerDependencies": {
1167
+ "postcss": "^8.4.31"
1168
+ }
1169
+ },
1170
+ "node_modules/cssnano/node_modules/lilconfig": {
1171
+ "version": "3.1.1",
1172
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz",
1173
+ "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==",
1174
+ "dev": true,
1175
+ "engines": {
1176
+ "node": ">=14"
1177
+ },
1178
+ "funding": {
1179
+ "url": "https://github.com/sponsors/antonk52"
1180
+ }
1181
+ },
1182
+ "node_modules/csso": {
1183
+ "version": "5.0.5",
1184
+ "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz",
1185
+ "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==",
1186
+ "dev": true,
1187
+ "dependencies": {
1188
+ "css-tree": "~2.2.0"
1189
+ },
1190
+ "engines": {
1191
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
1192
+ "npm": ">=7.0.0"
1193
+ }
1194
+ },
1195
+ "node_modules/csso/node_modules/css-tree": {
1196
+ "version": "2.2.1",
1197
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz",
1198
+ "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==",
1199
+ "dev": true,
1200
+ "dependencies": {
1201
+ "mdn-data": "2.0.28",
1202
+ "source-map-js": "^1.0.1"
1203
+ },
1204
+ "engines": {
1205
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
1206
+ "npm": ">=7.0.0"
1207
+ }
1208
+ },
1209
+ "node_modules/csso/node_modules/mdn-data": {
1210
+ "version": "2.0.28",
1211
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz",
1212
+ "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==",
1213
+ "dev": true
1214
+ },
1003
1215
  "node_modules/date-fns": {
1004
1216
  "version": "2.30.0",
1005
1217
  "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
@@ -1037,6 +1249,61 @@
1037
1249
  "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
1038
1250
  "dev": true
1039
1251
  },
1252
+ "node_modules/dom-serializer": {
1253
+ "version": "2.0.0",
1254
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
1255
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
1256
+ "dev": true,
1257
+ "dependencies": {
1258
+ "domelementtype": "^2.3.0",
1259
+ "domhandler": "^5.0.2",
1260
+ "entities": "^4.2.0"
1261
+ },
1262
+ "funding": {
1263
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
1264
+ }
1265
+ },
1266
+ "node_modules/domelementtype": {
1267
+ "version": "2.3.0",
1268
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
1269
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
1270
+ "dev": true,
1271
+ "funding": [
1272
+ {
1273
+ "type": "github",
1274
+ "url": "https://github.com/sponsors/fb55"
1275
+ }
1276
+ ]
1277
+ },
1278
+ "node_modules/domhandler": {
1279
+ "version": "5.0.3",
1280
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
1281
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
1282
+ "dev": true,
1283
+ "dependencies": {
1284
+ "domelementtype": "^2.3.0"
1285
+ },
1286
+ "engines": {
1287
+ "node": ">= 4"
1288
+ },
1289
+ "funding": {
1290
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
1291
+ }
1292
+ },
1293
+ "node_modules/domutils": {
1294
+ "version": "3.1.0",
1295
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
1296
+ "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
1297
+ "dev": true,
1298
+ "dependencies": {
1299
+ "dom-serializer": "^2.0.0",
1300
+ "domelementtype": "^2.3.0",
1301
+ "domhandler": "^5.0.3"
1302
+ },
1303
+ "funding": {
1304
+ "url": "https://github.com/fb55/domutils?sponsor=1"
1305
+ }
1306
+ },
1040
1307
  "node_modules/eastasianwidth": {
1041
1308
  "version": "0.2.0",
1042
1309
  "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -1055,6 +1322,18 @@
1055
1322
  "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
1056
1323
  "dev": true
1057
1324
  },
1325
+ "node_modules/entities": {
1326
+ "version": "4.5.0",
1327
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
1328
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
1329
+ "dev": true,
1330
+ "engines": {
1331
+ "node": ">=0.12"
1332
+ },
1333
+ "funding": {
1334
+ "url": "https://github.com/fb55/entities?sponsor=1"
1335
+ }
1336
+ },
1058
1337
  "node_modules/esbuild": {
1059
1338
  "version": "0.20.1",
1060
1339
  "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.1.tgz",
@@ -1482,7 +1761,18 @@
1482
1761
  "node_modules/lodash.debounce": {
1483
1762
  "version": "4.0.8",
1484
1763
  "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
1485
- "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
1764
+ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
1765
+ },
1766
+ "node_modules/lodash.memoize": {
1767
+ "version": "4.1.2",
1768
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
1769
+ "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
1770
+ "dev": true
1771
+ },
1772
+ "node_modules/lodash.uniq": {
1773
+ "version": "4.5.0",
1774
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
1775
+ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
1486
1776
  "dev": true
1487
1777
  },
1488
1778
  "node_modules/lru-cache": {
@@ -1494,6 +1784,12 @@
1494
1784
  "node": "14 || >=16.14"
1495
1785
  }
1496
1786
  },
1787
+ "node_modules/mdn-data": {
1788
+ "version": "2.0.30",
1789
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
1790
+ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
1791
+ "dev": true
1792
+ },
1497
1793
  "node_modules/merge2": {
1498
1794
  "version": "1.4.1",
1499
1795
  "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -1623,6 +1919,18 @@
1623
1919
  "node": ">=0.10.0"
1624
1920
  }
1625
1921
  },
1922
+ "node_modules/nth-check": {
1923
+ "version": "2.1.1",
1924
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
1925
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
1926
+ "dev": true,
1927
+ "dependencies": {
1928
+ "boolbase": "^1.0.0"
1929
+ },
1930
+ "funding": {
1931
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
1932
+ }
1933
+ },
1626
1934
  "node_modules/object-assign": {
1627
1935
  "version": "4.1.1",
1628
1936
  "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -1721,9 +2029,9 @@
1721
2029
  }
1722
2030
  },
1723
2031
  "node_modules/postcss": {
1724
- "version": "8.4.35",
1725
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz",
1726
- "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==",
2032
+ "version": "8.4.38",
2033
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
2034
+ "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
1727
2035
  "dev": true,
1728
2036
  "funding": [
1729
2037
  {
@@ -1742,12 +2050,28 @@
1742
2050
  "dependencies": {
1743
2051
  "nanoid": "^3.3.7",
1744
2052
  "picocolors": "^1.0.0",
1745
- "source-map-js": "^1.0.2"
2053
+ "source-map-js": "^1.2.0"
1746
2054
  },
1747
2055
  "engines": {
1748
2056
  "node": "^10 || ^12 || >=14"
1749
2057
  }
1750
2058
  },
2059
+ "node_modules/postcss-calc": {
2060
+ "version": "10.0.0",
2061
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.0.0.tgz",
2062
+ "integrity": "sha512-OmjhudoNTP0QleZCwl1i6NeBwN+5MZbY5ersLZz69mjJiDVv/p57RjRuKDkHeDWr4T+S97wQfsqRTNoDHB2e3g==",
2063
+ "dev": true,
2064
+ "dependencies": {
2065
+ "postcss-selector-parser": "^6.0.16",
2066
+ "postcss-value-parser": "^4.2.0"
2067
+ },
2068
+ "engines": {
2069
+ "node": "^18.12 || ^20.9 || >=22.0"
2070
+ },
2071
+ "peerDependencies": {
2072
+ "postcss": "^8.4.38"
2073
+ }
2074
+ },
1751
2075
  "node_modules/postcss-cli": {
1752
2076
  "version": "11.0.0",
1753
2077
  "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-11.0.0.tgz",
@@ -1824,6 +2148,88 @@
1824
2148
  }
1825
2149
  }
1826
2150
  },
2151
+ "node_modules/postcss-colormin": {
2152
+ "version": "7.0.0",
2153
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.0.tgz",
2154
+ "integrity": "sha512-5CN6fqtsEtEtwf3mFV3B4UaZnlYljPpzmGeDB4yCK067PnAtfLe9uX2aFZaEwxHE7HopG5rUkW8gyHrNAesHEg==",
2155
+ "dev": true,
2156
+ "dependencies": {
2157
+ "browserslist": "^4.23.0",
2158
+ "caniuse-api": "^3.0.0",
2159
+ "colord": "^2.9.3",
2160
+ "postcss-value-parser": "^4.2.0"
2161
+ },
2162
+ "engines": {
2163
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2164
+ },
2165
+ "peerDependencies": {
2166
+ "postcss": "^8.4.31"
2167
+ }
2168
+ },
2169
+ "node_modules/postcss-convert-values": {
2170
+ "version": "7.0.0",
2171
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.0.tgz",
2172
+ "integrity": "sha512-bMuzDgXBbFbByPgj+/r6va8zNuIDUaIIbvAFgdO1t3zdgJZ77BZvu6dfWyd6gHEJnYzmeVr9ayUsAQL3/qLJ0w==",
2173
+ "dev": true,
2174
+ "dependencies": {
2175
+ "browserslist": "^4.23.0",
2176
+ "postcss-value-parser": "^4.2.0"
2177
+ },
2178
+ "engines": {
2179
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2180
+ },
2181
+ "peerDependencies": {
2182
+ "postcss": "^8.4.31"
2183
+ }
2184
+ },
2185
+ "node_modules/postcss-discard-comments": {
2186
+ "version": "7.0.0",
2187
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.0.tgz",
2188
+ "integrity": "sha512-xpSdzRqYmy4YIVmjfGyYXKaI1SRnK6CTr+4Zmvyof8ANwvgfZgGdVtmgAvzh59gJm808mJCWQC9tFN0KF5dEXA==",
2189
+ "dev": true,
2190
+ "engines": {
2191
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2192
+ },
2193
+ "peerDependencies": {
2194
+ "postcss": "^8.4.31"
2195
+ }
2196
+ },
2197
+ "node_modules/postcss-discard-duplicates": {
2198
+ "version": "7.0.0",
2199
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.0.tgz",
2200
+ "integrity": "sha512-bAnSuBop5LpAIUmmOSsuvtKAAKREB6BBIYStWUTGq8oG5q9fClDMMuY8i4UPI/cEcDx2TN+7PMnXYIId20UVDw==",
2201
+ "dev": true,
2202
+ "engines": {
2203
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2204
+ },
2205
+ "peerDependencies": {
2206
+ "postcss": "^8.4.31"
2207
+ }
2208
+ },
2209
+ "node_modules/postcss-discard-empty": {
2210
+ "version": "7.0.0",
2211
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz",
2212
+ "integrity": "sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==",
2213
+ "dev": true,
2214
+ "engines": {
2215
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2216
+ },
2217
+ "peerDependencies": {
2218
+ "postcss": "^8.4.31"
2219
+ }
2220
+ },
2221
+ "node_modules/postcss-discard-overridden": {
2222
+ "version": "7.0.0",
2223
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.0.tgz",
2224
+ "integrity": "sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==",
2225
+ "dev": true,
2226
+ "engines": {
2227
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2228
+ },
2229
+ "peerDependencies": {
2230
+ "postcss": "^8.4.31"
2231
+ }
2232
+ },
1827
2233
  "node_modules/postcss-hash": {
1828
2234
  "version": "3.0.0",
1829
2235
  "resolved": "https://registry.npmjs.org/postcss-hash/-/postcss-hash-3.0.0.tgz",
@@ -1916,6 +2322,104 @@
1916
2322
  "url": "https://github.com/sponsors/antonk52"
1917
2323
  }
1918
2324
  },
2325
+ "node_modules/postcss-merge-longhand": {
2326
+ "version": "7.0.1",
2327
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.1.tgz",
2328
+ "integrity": "sha512-qZlD26hnqSTMxSSOMS8+QCeRWtqOdMKeQHvHcBhjL3mJxKUs47cvO1Y1x3iTdYIk3ioMcRHTiy229TT0mEMH/A==",
2329
+ "dev": true,
2330
+ "dependencies": {
2331
+ "postcss-value-parser": "^4.2.0",
2332
+ "stylehacks": "^7.0.1"
2333
+ },
2334
+ "engines": {
2335
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2336
+ },
2337
+ "peerDependencies": {
2338
+ "postcss": "^8.4.31"
2339
+ }
2340
+ },
2341
+ "node_modules/postcss-merge-rules": {
2342
+ "version": "7.0.1",
2343
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.1.tgz",
2344
+ "integrity": "sha512-bb8McYQbo2etgs0uVt6AfngajACK3FHSVP3sGLhprrjbtHJWgG03JZ4KKBlJ8/5Fb8/Rr+mMKaybMYeoYrAg0A==",
2345
+ "dev": true,
2346
+ "dependencies": {
2347
+ "browserslist": "^4.23.0",
2348
+ "caniuse-api": "^3.0.0",
2349
+ "cssnano-utils": "^5.0.0",
2350
+ "postcss-selector-parser": "^6.1.0"
2351
+ },
2352
+ "engines": {
2353
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2354
+ },
2355
+ "peerDependencies": {
2356
+ "postcss": "^8.4.31"
2357
+ }
2358
+ },
2359
+ "node_modules/postcss-minify-font-values": {
2360
+ "version": "7.0.0",
2361
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.0.tgz",
2362
+ "integrity": "sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==",
2363
+ "dev": true,
2364
+ "dependencies": {
2365
+ "postcss-value-parser": "^4.2.0"
2366
+ },
2367
+ "engines": {
2368
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2369
+ },
2370
+ "peerDependencies": {
2371
+ "postcss": "^8.4.31"
2372
+ }
2373
+ },
2374
+ "node_modules/postcss-minify-gradients": {
2375
+ "version": "7.0.0",
2376
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.0.tgz",
2377
+ "integrity": "sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==",
2378
+ "dev": true,
2379
+ "dependencies": {
2380
+ "colord": "^2.9.3",
2381
+ "cssnano-utils": "^5.0.0",
2382
+ "postcss-value-parser": "^4.2.0"
2383
+ },
2384
+ "engines": {
2385
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2386
+ },
2387
+ "peerDependencies": {
2388
+ "postcss": "^8.4.31"
2389
+ }
2390
+ },
2391
+ "node_modules/postcss-minify-params": {
2392
+ "version": "7.0.0",
2393
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.0.tgz",
2394
+ "integrity": "sha512-XOJAuX8Q/9GT1sGxlUvaFEe2H9n50bniLZblXXsAT/BwSfFYvzSZeFG7uupwc0KbKpTnflnQ7aMwGzX6JUWliQ==",
2395
+ "dev": true,
2396
+ "dependencies": {
2397
+ "browserslist": "^4.23.0",
2398
+ "cssnano-utils": "^5.0.0",
2399
+ "postcss-value-parser": "^4.2.0"
2400
+ },
2401
+ "engines": {
2402
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2403
+ },
2404
+ "peerDependencies": {
2405
+ "postcss": "^8.4.31"
2406
+ }
2407
+ },
2408
+ "node_modules/postcss-minify-selectors": {
2409
+ "version": "7.0.1",
2410
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.1.tgz",
2411
+ "integrity": "sha512-YfIbGtcgMFquPxV2L/ASs36ZS4DsgfcDX9tQ8cTEIvBTv+0GXFKtcvvpi9tCKto/+DWGWYKMCESFG3Pnan0Feg==",
2412
+ "dev": true,
2413
+ "dependencies": {
2414
+ "postcss-selector-parser": "^6.1.0"
2415
+ },
2416
+ "engines": {
2417
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2418
+ },
2419
+ "peerDependencies": {
2420
+ "postcss": "^8.4.31"
2421
+ }
2422
+ },
1919
2423
  "node_modules/postcss-nested": {
1920
2424
  "version": "6.0.1",
1921
2425
  "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
@@ -1935,6 +2439,186 @@
1935
2439
  "postcss": "^8.2.14"
1936
2440
  }
1937
2441
  },
2442
+ "node_modules/postcss-normalize-charset": {
2443
+ "version": "7.0.0",
2444
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.0.tgz",
2445
+ "integrity": "sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==",
2446
+ "dev": true,
2447
+ "engines": {
2448
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2449
+ },
2450
+ "peerDependencies": {
2451
+ "postcss": "^8.4.31"
2452
+ }
2453
+ },
2454
+ "node_modules/postcss-normalize-display-values": {
2455
+ "version": "7.0.0",
2456
+ "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.0.tgz",
2457
+ "integrity": "sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==",
2458
+ "dev": true,
2459
+ "dependencies": {
2460
+ "postcss-value-parser": "^4.2.0"
2461
+ },
2462
+ "engines": {
2463
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2464
+ },
2465
+ "peerDependencies": {
2466
+ "postcss": "^8.4.31"
2467
+ }
2468
+ },
2469
+ "node_modules/postcss-normalize-positions": {
2470
+ "version": "7.0.0",
2471
+ "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.0.tgz",
2472
+ "integrity": "sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==",
2473
+ "dev": true,
2474
+ "dependencies": {
2475
+ "postcss-value-parser": "^4.2.0"
2476
+ },
2477
+ "engines": {
2478
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2479
+ },
2480
+ "peerDependencies": {
2481
+ "postcss": "^8.4.31"
2482
+ }
2483
+ },
2484
+ "node_modules/postcss-normalize-repeat-style": {
2485
+ "version": "7.0.0",
2486
+ "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.0.tgz",
2487
+ "integrity": "sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==",
2488
+ "dev": true,
2489
+ "dependencies": {
2490
+ "postcss-value-parser": "^4.2.0"
2491
+ },
2492
+ "engines": {
2493
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2494
+ },
2495
+ "peerDependencies": {
2496
+ "postcss": "^8.4.31"
2497
+ }
2498
+ },
2499
+ "node_modules/postcss-normalize-string": {
2500
+ "version": "7.0.0",
2501
+ "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.0.tgz",
2502
+ "integrity": "sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==",
2503
+ "dev": true,
2504
+ "dependencies": {
2505
+ "postcss-value-parser": "^4.2.0"
2506
+ },
2507
+ "engines": {
2508
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2509
+ },
2510
+ "peerDependencies": {
2511
+ "postcss": "^8.4.31"
2512
+ }
2513
+ },
2514
+ "node_modules/postcss-normalize-timing-functions": {
2515
+ "version": "7.0.0",
2516
+ "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.0.tgz",
2517
+ "integrity": "sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==",
2518
+ "dev": true,
2519
+ "dependencies": {
2520
+ "postcss-value-parser": "^4.2.0"
2521
+ },
2522
+ "engines": {
2523
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2524
+ },
2525
+ "peerDependencies": {
2526
+ "postcss": "^8.4.31"
2527
+ }
2528
+ },
2529
+ "node_modules/postcss-normalize-unicode": {
2530
+ "version": "7.0.0",
2531
+ "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.0.tgz",
2532
+ "integrity": "sha512-OnKV52/VFFDAim4n0pdI+JAhsolLBdnCKxE6VV5lW5Q/JeVGFN8UM8ur6/A3EAMLsT1ZRm3fDHh/rBoBQpqi2w==",
2533
+ "dev": true,
2534
+ "dependencies": {
2535
+ "browserslist": "^4.23.0",
2536
+ "postcss-value-parser": "^4.2.0"
2537
+ },
2538
+ "engines": {
2539
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2540
+ },
2541
+ "peerDependencies": {
2542
+ "postcss": "^8.4.31"
2543
+ }
2544
+ },
2545
+ "node_modules/postcss-normalize-url": {
2546
+ "version": "7.0.0",
2547
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.0.tgz",
2548
+ "integrity": "sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==",
2549
+ "dev": true,
2550
+ "dependencies": {
2551
+ "postcss-value-parser": "^4.2.0"
2552
+ },
2553
+ "engines": {
2554
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2555
+ },
2556
+ "peerDependencies": {
2557
+ "postcss": "^8.4.31"
2558
+ }
2559
+ },
2560
+ "node_modules/postcss-normalize-whitespace": {
2561
+ "version": "7.0.0",
2562
+ "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.0.tgz",
2563
+ "integrity": "sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==",
2564
+ "dev": true,
2565
+ "dependencies": {
2566
+ "postcss-value-parser": "^4.2.0"
2567
+ },
2568
+ "engines": {
2569
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2570
+ },
2571
+ "peerDependencies": {
2572
+ "postcss": "^8.4.31"
2573
+ }
2574
+ },
2575
+ "node_modules/postcss-ordered-values": {
2576
+ "version": "7.0.0",
2577
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.0.tgz",
2578
+ "integrity": "sha512-KROvC63A8UQW1eYDljQe1dtwc1E/M+mMwDT6z7khV/weHYLWTghaLRLunU7x1xw85lWFwVZOAGakxekYvKV+0w==",
2579
+ "dev": true,
2580
+ "dependencies": {
2581
+ "cssnano-utils": "^5.0.0",
2582
+ "postcss-value-parser": "^4.2.0"
2583
+ },
2584
+ "engines": {
2585
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2586
+ },
2587
+ "peerDependencies": {
2588
+ "postcss": "^8.4.31"
2589
+ }
2590
+ },
2591
+ "node_modules/postcss-reduce-initial": {
2592
+ "version": "7.0.0",
2593
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.0.tgz",
2594
+ "integrity": "sha512-iqGgmBxY9LrblZ0BKLjmrA1mC/cf9A/wYCCqSmD6tMi+xAyVl0+DfixZIHSVDMbCPRPjNmVF0DFGth/IDGelFQ==",
2595
+ "dev": true,
2596
+ "dependencies": {
2597
+ "browserslist": "^4.23.0",
2598
+ "caniuse-api": "^3.0.0"
2599
+ },
2600
+ "engines": {
2601
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2602
+ },
2603
+ "peerDependencies": {
2604
+ "postcss": "^8.4.31"
2605
+ }
2606
+ },
2607
+ "node_modules/postcss-reduce-transforms": {
2608
+ "version": "7.0.0",
2609
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.0.tgz",
2610
+ "integrity": "sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==",
2611
+ "dev": true,
2612
+ "dependencies": {
2613
+ "postcss-value-parser": "^4.2.0"
2614
+ },
2615
+ "engines": {
2616
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2617
+ },
2618
+ "peerDependencies": {
2619
+ "postcss": "^8.4.31"
2620
+ }
2621
+ },
1938
2622
  "node_modules/postcss-reporter": {
1939
2623
  "version": "7.1.0",
1940
2624
  "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.1.0.tgz",
@@ -1962,9 +2646,9 @@
1962
2646
  }
1963
2647
  },
1964
2648
  "node_modules/postcss-selector-parser": {
1965
- "version": "6.0.15",
1966
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz",
1967
- "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==",
2649
+ "version": "6.1.0",
2650
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz",
2651
+ "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==",
1968
2652
  "dev": true,
1969
2653
  "dependencies": {
1970
2654
  "cssesc": "^3.0.0",
@@ -1974,6 +2658,37 @@
1974
2658
  "node": ">=4"
1975
2659
  }
1976
2660
  },
2661
+ "node_modules/postcss-svgo": {
2662
+ "version": "7.0.1",
2663
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.0.1.tgz",
2664
+ "integrity": "sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==",
2665
+ "dev": true,
2666
+ "dependencies": {
2667
+ "postcss-value-parser": "^4.2.0",
2668
+ "svgo": "^3.3.2"
2669
+ },
2670
+ "engines": {
2671
+ "node": "^18.12.0 || ^20.9.0 || >= 18"
2672
+ },
2673
+ "peerDependencies": {
2674
+ "postcss": "^8.4.31"
2675
+ }
2676
+ },
2677
+ "node_modules/postcss-unique-selectors": {
2678
+ "version": "7.0.1",
2679
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.1.tgz",
2680
+ "integrity": "sha512-MH7QE/eKUftTB5ta40xcHLl7hkZjgDFydpfTK+QWXeHxghVt3VoPqYL5/G+zYZPPIs+8GuqFXSTgxBSoB1RZtQ==",
2681
+ "dev": true,
2682
+ "dependencies": {
2683
+ "postcss-selector-parser": "^6.1.0"
2684
+ },
2685
+ "engines": {
2686
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
2687
+ },
2688
+ "peerDependencies": {
2689
+ "postcss": "^8.4.31"
2690
+ }
2691
+ },
1977
2692
  "node_modules/postcss-value-parser": {
1978
2693
  "version": "4.2.0",
1979
2694
  "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
@@ -2185,9 +2900,9 @@
2185
2900
  }
2186
2901
  },
2187
2902
  "node_modules/source-map-js": {
2188
- "version": "1.0.2",
2189
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
2190
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
2903
+ "version": "1.2.0",
2904
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
2905
+ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
2191
2906
  "dev": true,
2192
2907
  "engines": {
2193
2908
  "node": ">=0.10.0"
@@ -2295,6 +3010,22 @@
2295
3010
  "node": ">=8"
2296
3011
  }
2297
3012
  },
3013
+ "node_modules/stylehacks": {
3014
+ "version": "7.0.1",
3015
+ "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.1.tgz",
3016
+ "integrity": "sha512-PnrT4HzajnxbjfChpeBKLSpSykilnGBlD+pIffCoT5KbLur9fcL8uKRQJJap85byR2wCYZl/4Otk5eq76qeZxQ==",
3017
+ "dev": true,
3018
+ "dependencies": {
3019
+ "browserslist": "^4.23.0",
3020
+ "postcss-selector-parser": "^6.1.0"
3021
+ },
3022
+ "engines": {
3023
+ "node": "^18.12.0 || ^20.9.0 || >=22.0"
3024
+ },
3025
+ "peerDependencies": {
3026
+ "postcss": "^8.4.31"
3027
+ }
3028
+ },
2298
3029
  "node_modules/sucrase": {
2299
3030
  "version": "3.35.0",
2300
3031
  "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
@@ -2344,6 +3075,40 @@
2344
3075
  "url": "https://github.com/sponsors/ljharb"
2345
3076
  }
2346
3077
  },
3078
+ "node_modules/svgo": {
3079
+ "version": "3.3.2",
3080
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz",
3081
+ "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==",
3082
+ "dev": true,
3083
+ "dependencies": {
3084
+ "@trysound/sax": "0.2.0",
3085
+ "commander": "^7.2.0",
3086
+ "css-select": "^5.1.0",
3087
+ "css-tree": "^2.3.1",
3088
+ "css-what": "^6.1.0",
3089
+ "csso": "^5.0.5",
3090
+ "picocolors": "^1.0.0"
3091
+ },
3092
+ "bin": {
3093
+ "svgo": "bin/svgo"
3094
+ },
3095
+ "engines": {
3096
+ "node": ">=14.0.0"
3097
+ },
3098
+ "funding": {
3099
+ "type": "opencollective",
3100
+ "url": "https://opencollective.com/svgo"
3101
+ }
3102
+ },
3103
+ "node_modules/svgo/node_modules/commander": {
3104
+ "version": "7.2.0",
3105
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
3106
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
3107
+ "dev": true,
3108
+ "engines": {
3109
+ "node": ">= 10"
3110
+ }
3111
+ },
2347
3112
  "node_modules/tailwindcss": {
2348
3113
  "version": "3.4.1",
2349
3114
  "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz",