solidus_admin 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +23 -4
  3. data/README.md +6 -1
  4. data/Rakefile +15 -15
  5. data/app/assets/builds/solidus_admin/tailwind.css +722 -45
  6. data/app/assets/images/solidus_admin/remixicon.license.txt +196 -0
  7. data/app/assets/images/solidus_admin/remixicon.symbol.svg +4 -4
  8. data/app/blueprints/solidus_admin/state_blueprint.rb +13 -0
  9. data/app/components/concerns/solidus_admin/slotable_default.rb +42 -0
  10. data/app/components/solidus_admin/adjustment_reasons/edit/component.html.erb +6 -15
  11. data/app/components/solidus_admin/adjustment_reasons/edit/component.yml +0 -1
  12. data/app/components/solidus_admin/adjustment_reasons/index/component.rb +13 -13
  13. data/app/components/solidus_admin/adjustment_reasons/new/component.html.erb +6 -15
  14. data/app/components/solidus_admin/adjustment_reasons/new/component.yml +0 -1
  15. data/app/components/solidus_admin/base_component.rb +7 -3
  16. data/app/components/solidus_admin/layout/confirm/component.html.erb +18 -0
  17. data/app/components/solidus_admin/layout/confirm/component.js +21 -0
  18. data/app/components/solidus_admin/layout/confirm/component.rb +26 -0
  19. data/app/components/solidus_admin/layout/confirm/component.yml +4 -0
  20. data/app/components/solidus_admin/layout/flashes/alerts/component.html.erb +7 -0
  21. data/app/components/solidus_admin/layout/flashes/alerts/component.rb +19 -0
  22. data/app/components/solidus_admin/layout/flashes/component.html.erb +5 -0
  23. data/app/components/solidus_admin/layout/flashes/component.rb +4 -0
  24. data/app/components/solidus_admin/layout/flashes/toasts/component.html.erb +5 -0
  25. data/app/components/solidus_admin/layout/flashes/toasts/component.rb +9 -0
  26. data/app/components/solidus_admin/layout/navigation/account/component.html.erb +12 -1
  27. data/app/components/solidus_admin/layout/navigation/account/component.rb +4 -4
  28. data/app/components/solidus_admin/layout/page_helpers.rb +3 -9
  29. data/app/components/solidus_admin/layout/skip_link/component.rb +3 -3
  30. data/app/components/solidus_admin/option_types/edit/component.html.erb +44 -0
  31. data/app/components/solidus_admin/option_types/edit/component.rb +5 -0
  32. data/app/components/solidus_admin/option_types/edit/component.yml +10 -0
  33. data/app/components/solidus_admin/option_types/index/component.rb +22 -22
  34. data/app/components/solidus_admin/option_types/new/component.html.erb +16 -0
  35. data/app/components/solidus_admin/option_types/new/component.rb +4 -0
  36. data/app/components/solidus_admin/option_types/new/component.yml +4 -0
  37. data/app/components/solidus_admin/option_values/edit/component.html.erb +16 -0
  38. data/app/components/solidus_admin/option_values/edit/component.rb +4 -0
  39. data/app/components/solidus_admin/option_values/edit/component.yml +4 -0
  40. data/app/components/solidus_admin/option_values/new/component.html.erb +16 -0
  41. data/app/components/solidus_admin/option_values/new/component.rb +7 -0
  42. data/app/components/solidus_admin/option_values/new/component.yml +4 -0
  43. data/app/components/solidus_admin/option_values/table/component.rb +53 -0
  44. data/app/components/solidus_admin/option_values/table/component.yml +3 -0
  45. data/app/components/solidus_admin/orders/cart/component.html.erb +5 -7
  46. data/app/components/solidus_admin/orders/cart/result/component.html.erb +2 -2
  47. data/app/components/solidus_admin/orders/index/component.rb +26 -26
  48. data/app/components/solidus_admin/orders/show/address/component.html.erb +8 -20
  49. data/app/components/solidus_admin/orders/show/address/component.rb +7 -7
  50. data/app/components/solidus_admin/orders/show/address/component.yml +0 -1
  51. data/app/components/solidus_admin/orders/show/adjustments/index/adjustable/spree_shipment/component.rb +1 -1
  52. data/app/components/solidus_admin/orders/show/adjustments/index/component.rb +24 -21
  53. data/app/components/solidus_admin/orders/show/component.html.erb +2 -2
  54. data/app/components/solidus_admin/orders/show/component.rb +1 -1
  55. data/app/components/solidus_admin/orders/show/component.yml +0 -3
  56. data/app/components/solidus_admin/orders/show/customer_search/result/component.html.erb +2 -2
  57. data/app/components/solidus_admin/orders/show/email/component.html.erb +2 -2
  58. data/app/components/solidus_admin/payment_methods/edit/component.html.erb +13 -0
  59. data/app/components/solidus_admin/payment_methods/edit/component.rb +7 -0
  60. data/app/components/solidus_admin/payment_methods/edit/component.yml +2 -0
  61. data/app/components/solidus_admin/payment_methods/form/component.html.erb +29 -0
  62. data/app/components/solidus_admin/payment_methods/form/component.rb +34 -0
  63. data/app/components/solidus_admin/payment_methods/form/component.yml +15 -0
  64. data/app/components/solidus_admin/payment_methods/index/component.rb +24 -23
  65. data/app/components/solidus_admin/payment_methods/new/component.html.erb +12 -0
  66. data/app/components/solidus_admin/payment_methods/new/component.rb +7 -0
  67. data/app/components/solidus_admin/payment_methods/new/component.yml +2 -0
  68. data/app/components/solidus_admin/products/index/component.rb +26 -26
  69. data/app/components/solidus_admin/products/show/categories/new/component.html.erb +17 -0
  70. data/app/components/solidus_admin/products/show/categories/new/component.rb +17 -0
  71. data/app/components/solidus_admin/products/show/categories/new/component.yml +5 -0
  72. data/app/components/solidus_admin/products/show/component.html.erb +90 -66
  73. data/app/components/solidus_admin/products/show/component.rb +2 -2
  74. data/app/components/solidus_admin/products/show/component.yml +23 -11
  75. data/app/components/solidus_admin/products/status/component.rb +1 -1
  76. data/app/components/solidus_admin/products/stock/component.rb +7 -7
  77. data/app/components/solidus_admin/properties/edit/component.html.erb +5 -5
  78. data/app/components/solidus_admin/properties/index/component.rb +13 -13
  79. data/app/components/solidus_admin/properties/new/component.html.erb +5 -5
  80. data/app/components/solidus_admin/refund_reasons/edit/component.html.erb +6 -15
  81. data/app/components/solidus_admin/refund_reasons/edit/component.yml +0 -1
  82. data/app/components/solidus_admin/refund_reasons/index/component.rb +13 -13
  83. data/app/components/solidus_admin/refund_reasons/new/component.html.erb +6 -14
  84. data/app/components/solidus_admin/refund_reasons/new/component.yml +0 -1
  85. data/app/components/solidus_admin/refunds_and_returns/component.rb +7 -7
  86. data/app/components/solidus_admin/reimbursement_types/index/component.rb +2 -2
  87. data/app/components/solidus_admin/return_reasons/edit/component.html.erb +5 -14
  88. data/app/components/solidus_admin/return_reasons/index/component.rb +11 -11
  89. data/app/components/solidus_admin/return_reasons/new/component.html.erb +5 -14
  90. data/app/components/solidus_admin/roles/edit/component.html.erb +12 -12
  91. data/app/components/solidus_admin/roles/edit/component.yml +0 -1
  92. data/app/components/solidus_admin/roles/index/component.rb +12 -12
  93. data/app/components/solidus_admin/roles/new/component.html.erb +12 -12
  94. data/app/components/solidus_admin/roles/new/component.yml +0 -1
  95. data/app/components/solidus_admin/shipping/component.rb +5 -5
  96. data/app/components/solidus_admin/shipping_categories/edit/component.html.erb +4 -4
  97. data/app/components/solidus_admin/shipping_categories/edit/component.yml +0 -1
  98. data/app/components/solidus_admin/shipping_categories/index/component.rb +9 -9
  99. data/app/components/solidus_admin/shipping_categories/new/component.html.erb +4 -4
  100. data/app/components/solidus_admin/shipping_categories/new/component.yml +0 -1
  101. data/app/components/solidus_admin/shipping_methods/index/component.rb +10 -10
  102. data/app/components/solidus_admin/stock_items/edit/component.html.erb +5 -8
  103. data/app/components/solidus_admin/stock_items/edit/component.rb +2 -2
  104. data/app/components/solidus_admin/stock_items/index/component.rb +25 -25
  105. data/app/components/solidus_admin/stock_locations/edit/component.html.erb +16 -0
  106. data/app/components/solidus_admin/stock_locations/edit/component.rb +5 -0
  107. data/app/components/solidus_admin/stock_locations/edit/component.yml +2 -0
  108. data/app/components/solidus_admin/stock_locations/form/component.html.erb +65 -0
  109. data/app/components/solidus_admin/stock_locations/form/component.rb +11 -0
  110. data/app/components/solidus_admin/stock_locations/form/component.yml +19 -0
  111. data/app/components/solidus_admin/stock_locations/index/component.rb +94 -47
  112. data/app/components/solidus_admin/stock_locations/new/component.html.erb +16 -0
  113. data/app/components/solidus_admin/stock_locations/new/component.rb +16 -0
  114. data/app/components/solidus_admin/stock_locations/new/component.yml +2 -0
  115. data/app/components/solidus_admin/store_credit_reasons/edit/component.html.erb +5 -14
  116. data/app/components/solidus_admin/store_credit_reasons/edit/component.yml +0 -1
  117. data/app/components/solidus_admin/store_credit_reasons/index/component.rb +11 -11
  118. data/app/components/solidus_admin/store_credit_reasons/new/component.html.erb +5 -14
  119. data/app/components/solidus_admin/store_credit_reasons/new/component.yml +0 -1
  120. data/app/components/solidus_admin/stores/edit/component.html.erb +27 -0
  121. data/app/components/solidus_admin/stores/edit/component.rb +5 -0
  122. data/app/components/solidus_admin/stores/form/component.html.erb +102 -0
  123. data/app/components/solidus_admin/stores/form/component.rb +27 -0
  124. data/app/components/solidus_admin/stores/form/component.yml +17 -0
  125. data/app/components/solidus_admin/stores/index/component.rb +51 -22
  126. data/app/components/solidus_admin/stores/new/component.html.erb +16 -0
  127. data/app/components/solidus_admin/stores/new/component.rb +5 -0
  128. data/app/components/solidus_admin/stores/new/component.yml +2 -0
  129. data/app/components/solidus_admin/tax_categories/edit/component.html.erb +7 -15
  130. data/app/components/solidus_admin/tax_categories/edit/component.yml +0 -1
  131. data/app/components/solidus_admin/tax_categories/index/component.rb +17 -17
  132. data/app/components/solidus_admin/tax_categories/new/component.html.erb +7 -15
  133. data/app/components/solidus_admin/tax_categories/new/component.yml +0 -1
  134. data/app/components/solidus_admin/tax_rates/edit/component.html.erb +12 -0
  135. data/app/components/solidus_admin/tax_rates/edit/component.rb +5 -0
  136. data/app/components/solidus_admin/tax_rates/edit/component.yml +4 -0
  137. data/app/components/solidus_admin/tax_rates/form/component.html.erb +25 -0
  138. data/app/components/solidus_admin/tax_rates/form/component.rb +29 -0
  139. data/app/components/solidus_admin/tax_rates/form/component.yml +9 -0
  140. data/app/components/solidus_admin/tax_rates/index/component.rb +38 -20
  141. data/app/components/solidus_admin/tax_rates/new/component.html.erb +12 -0
  142. data/app/components/solidus_admin/tax_rates/new/component.rb +5 -0
  143. data/app/components/solidus_admin/tax_rates/new/component.yml +4 -0
  144. data/app/components/solidus_admin/taxes/component.rb +4 -4
  145. data/app/components/solidus_admin/taxonomies/index/component.rb +7 -7
  146. data/app/components/solidus_admin/turbo/target_frame/component.html.erb +5 -0
  147. data/app/components/solidus_admin/turbo/target_frame/component.rb +8 -0
  148. data/app/components/solidus_admin/ui/alert/component.html.erb +35 -0
  149. data/app/components/solidus_admin/ui/alert/component.rb +51 -0
  150. data/app/components/solidus_admin/ui/alert/component.yml +8 -0
  151. data/app/components/solidus_admin/ui/badge/component.rb +11 -11
  152. data/app/components/solidus_admin/ui/button/component.rb +84 -27
  153. data/app/components/solidus_admin/ui/button/component.yml +10 -0
  154. data/app/components/solidus_admin/ui/checkbox/component.rb +42 -0
  155. data/app/components/solidus_admin/ui/dropdown/component.rb +3 -3
  156. data/app/components/solidus_admin/ui/forms/address/component.html.erb +1 -48
  157. data/app/components/solidus_admin/ui/forms/address/component.rb +29 -6
  158. data/app/components/solidus_admin/ui/forms/address/fields/city_and_zipcode/component.html.erb +4 -0
  159. data/app/components/solidus_admin/ui/forms/address/fields/city_and_zipcode/component.rb +8 -0
  160. data/app/components/solidus_admin/ui/forms/address/fields/country_and_state/component.html.erb +39 -0
  161. data/app/components/solidus_admin/ui/forms/address/{component.js → fields/country_and_state/component.js} +2 -0
  162. data/app/components/solidus_admin/ui/forms/address/fields/country_and_state/component.rb +15 -0
  163. data/app/components/solidus_admin/ui/forms/address/fields/reverse_charge_fields/component.html.erb +7 -0
  164. data/app/components/solidus_admin/ui/forms/address/fields/reverse_charge_fields/component.rb +12 -0
  165. data/app/components/solidus_admin/ui/forms/address/fieldsets/base.rb +54 -0
  166. data/app/components/solidus_admin/ui/forms/address/fieldsets/contact/component.rb +16 -0
  167. data/app/components/solidus_admin/ui/forms/address/fieldsets/contact_info/component.rb +10 -0
  168. data/app/components/solidus_admin/ui/forms/address/fieldsets/location/component.rb +14 -0
  169. data/app/components/solidus_admin/ui/forms/checkbox/component.html.erb +14 -0
  170. data/app/components/solidus_admin/ui/forms/checkbox/component.rb +24 -31
  171. data/app/components/solidus_admin/ui/forms/field/component.html.erb +4 -4
  172. data/app/components/solidus_admin/ui/forms/field/component.rb +14 -18
  173. data/app/components/solidus_admin/ui/forms/input/component.rb +9 -18
  174. data/app/components/solidus_admin/ui/forms/search/result/component.rb +2 -2
  175. data/app/components/solidus_admin/ui/forms/select/component.html.erb +21 -0
  176. data/app/components/solidus_admin/ui/forms/select/component.rb +157 -0
  177. data/app/components/solidus_admin/ui/forms/switch/component.rb +4 -4
  178. data/app/components/solidus_admin/ui/icon/component.rb +4 -4
  179. data/app/components/solidus_admin/ui/icon/names.txt +973 -238
  180. data/app/components/solidus_admin/ui/modal/component.html.erb +2 -4
  181. data/app/components/solidus_admin/ui/modal/component.js +7 -1
  182. data/app/components/solidus_admin/ui/modal/component.rb +2 -2
  183. data/app/components/solidus_admin/ui/pages/index/component.rb +50 -19
  184. data/app/components/solidus_admin/ui/panel/component.rb +5 -9
  185. data/app/components/solidus_admin/ui/radio/component.rb +29 -0
  186. data/app/components/solidus_admin/ui/tab/component.rb +4 -4
  187. data/app/components/solidus_admin/ui/table/component.html.erb +11 -10
  188. data/app/components/solidus_admin/ui/table/component.js +18 -26
  189. data/app/components/solidus_admin/ui/table/component.rb +24 -18
  190. data/app/components/solidus_admin/ui/table/component.yml +1 -0
  191. data/app/components/solidus_admin/ui/table/ransack_filter/component.html.erb +1 -1
  192. data/app/components/solidus_admin/ui/table/ransack_filter/component.rb +7 -7
  193. data/app/components/solidus_admin/ui/thumbnail/component.rb +5 -5
  194. data/app/components/solidus_admin/ui/toast/component.html.erb +6 -6
  195. data/app/components/solidus_admin/ui/toast/component.rb +1 -1
  196. data/app/components/solidus_admin/ui/toggletip/component.rb +1 -1
  197. data/app/components/solidus_admin/users/addresses/component.html.erb +3 -5
  198. data/app/components/solidus_admin/users/addresses/component.rb +0 -30
  199. data/app/components/solidus_admin/users/addresses/component.yml +0 -7
  200. data/app/components/solidus_admin/users/edit/api_access/component.html.erb +6 -4
  201. data/app/components/solidus_admin/users/edit/api_access/component.yml +8 -2
  202. data/app/components/solidus_admin/users/edit/component.html.erb +15 -12
  203. data/app/components/solidus_admin/users/edit/component.rb +1 -33
  204. data/app/components/solidus_admin/users/edit/component.yml +0 -7
  205. data/app/components/solidus_admin/users/edit/tabs/component.rb +46 -0
  206. data/app/components/solidus_admin/users/edit/tabs/component.yml +6 -0
  207. data/app/components/solidus_admin/users/index/component.rb +20 -20
  208. data/app/components/solidus_admin/users/items/component.html.erb +1 -3
  209. data/app/components/solidus_admin/users/items/component.rb +18 -51
  210. data/app/components/solidus_admin/users/items/component.yml +0 -7
  211. data/app/components/solidus_admin/users/orders/component.html.erb +1 -3
  212. data/app/components/solidus_admin/users/orders/component.rb +9 -39
  213. data/app/components/solidus_admin/users/orders/component.yml +0 -6
  214. data/app/components/solidus_admin/users/store_credits/edit_amount/component.html.erb +7 -8
  215. data/app/components/solidus_admin/users/store_credits/edit_amount/component.rb +0 -5
  216. data/app/components/solidus_admin/users/store_credits/edit_amount/component.yml +0 -1
  217. data/app/components/solidus_admin/users/store_credits/edit_memo/component.html.erb +4 -4
  218. data/app/components/solidus_admin/users/store_credits/edit_memo/component.yml +0 -1
  219. data/app/components/solidus_admin/users/store_credits/edit_validity/component.html.erb +6 -7
  220. data/app/components/solidus_admin/users/store_credits/edit_validity/component.rb +0 -5
  221. data/app/components/solidus_admin/users/store_credits/index/component.html.erb +4 -6
  222. data/app/components/solidus_admin/users/store_credits/index/component.rb +10 -40
  223. data/app/components/solidus_admin/users/store_credits/index/component.yml +0 -6
  224. data/app/components/solidus_admin/users/store_credits/new/component.html.erb +12 -13
  225. data/app/components/solidus_admin/users/store_credits/new/component.rb +0 -9
  226. data/app/components/solidus_admin/users/store_credits/new/component.yml +0 -1
  227. data/app/components/solidus_admin/users/store_credits/show/component.html.erb +5 -7
  228. data/app/components/solidus_admin/users/store_credits/show/component.rb +8 -38
  229. data/app/components/solidus_admin/users/store_credits/show/component.yml +0 -6
  230. data/app/components/solidus_admin/users_and_roles/component.rb +4 -4
  231. data/app/components/solidus_admin/zones/edit/component.html.erb +1 -0
  232. data/app/components/solidus_admin/zones/edit/component.rb +4 -0
  233. data/app/components/solidus_admin/zones/form/component.html.erb +47 -0
  234. data/app/components/solidus_admin/zones/form/component.js +32 -0
  235. data/app/components/solidus_admin/zones/form/component.rb +23 -0
  236. data/app/components/solidus_admin/zones/form/component.yml +7 -0
  237. data/app/components/solidus_admin/zones/index/component.rb +57 -18
  238. data/app/components/solidus_admin/zones/new/component.html.erb +1 -0
  239. data/app/components/solidus_admin/zones/new/component.rb +4 -0
  240. data/app/controllers/concerns/solidus_admin/moveable.rb +31 -0
  241. data/app/controllers/solidus_admin/addresses_controller.rb +9 -11
  242. data/app/controllers/solidus_admin/adjustments_controller.rb +5 -6
  243. data/app/controllers/solidus_admin/base_controller.rb +8 -7
  244. data/app/controllers/solidus_admin/controller_helpers/authorization.rb +1 -1
  245. data/app/controllers/solidus_admin/controller_helpers/locale.rb +1 -1
  246. data/app/controllers/solidus_admin/controller_helpers/pagination.rb +37 -0
  247. data/app/controllers/solidus_admin/controller_helpers/search.rb +5 -5
  248. data/app/controllers/solidus_admin/controller_helpers/theme.rb +2 -2
  249. data/app/controllers/solidus_admin/customers_controller.rb +3 -3
  250. data/app/controllers/solidus_admin/line_items_controller.rb +3 -3
  251. data/app/controllers/solidus_admin/option_types_controller.rb +11 -32
  252. data/app/controllers/solidus_admin/option_values_controller.rb +54 -0
  253. data/app/controllers/solidus_admin/orders_controller.rb +25 -19
  254. data/app/controllers/solidus_admin/payment_methods_controller.rb +23 -28
  255. data/app/controllers/solidus_admin/product_option_types_controller.rb +5 -0
  256. data/app/controllers/solidus_admin/product_taxons_controller.rb +58 -0
  257. data/app/controllers/solidus_admin/products_controller.rb +24 -28
  258. data/app/controllers/solidus_admin/reimbursement_types_controller.rb +3 -3
  259. data/app/controllers/solidus_admin/resources_controller.rb +59 -20
  260. data/app/controllers/solidus_admin/shipping_methods_controller.rb +4 -4
  261. data/app/controllers/solidus_admin/states_controller.rb +30 -0
  262. data/app/controllers/solidus_admin/stock_items_controller.rb +11 -6
  263. data/app/controllers/solidus_admin/stock_locations_controller.rb +25 -26
  264. data/app/controllers/solidus_admin/store_credits_controller.rb +9 -9
  265. data/app/controllers/solidus_admin/stores_controller.rb +43 -9
  266. data/app/controllers/solidus_admin/tax_rates_controller.rb +9 -22
  267. data/app/controllers/solidus_admin/taxonomies_controller.rb +5 -21
  268. data/app/controllers/solidus_admin/users_controller.rb +16 -16
  269. data/app/controllers/solidus_admin/zones_controller.rb +6 -26
  270. data/app/helpers/solidus_admin/flash_helper.rb +14 -0
  271. data/app/helpers/solidus_admin/last_login_helper.rb +2 -2
  272. data/app/helpers/solidus_admin/permission_sets_helper.rb +3 -3
  273. data/app/helpers/solidus_admin/solidus_form_helper.rb +9 -0
  274. data/app/helpers/solidus_admin/stimulus_helper.rb +29 -0
  275. data/app/helpers/solidus_admin/void_elements_helper.rb +1 -1
  276. data/app/javascript/solidus_admin/application.js +10 -1
  277. data/app/javascript/solidus_admin/confirm_modal.js +24 -0
  278. data/app/javascript/solidus_admin/controllers/custom_validity_controller.js +12 -0
  279. data/app/javascript/solidus_admin/controllers/sortable_controller.js +9 -2
  280. data/app/javascript/solidus_admin/tom-select/plugins/patch_scroll.js +19 -0
  281. data/app/javascript/solidus_admin/tom-select/plugins/remote_with_pagination.js +67 -0
  282. data/app/javascript/solidus_admin/tom-select/plugins/stash_on_search.js +68 -0
  283. data/app/javascript/solidus_admin/tom-select/tom-select.js +11 -0
  284. data/app/javascript/solidus_admin/utils.js +40 -0
  285. data/app/javascript/solidus_admin/web_components/solidus_select.js +90 -0
  286. data/app/javascript/vendor/custom_elements.js +3 -0
  287. data/app/lib/solidus_admin/form_builder.rb +58 -0
  288. data/app/views/layouts/solidus_admin/application.html.erb +6 -8
  289. data/app/views/layouts/solidus_admin/preview.html.erb +1 -1
  290. data/app/views/solidus_admin/option_values/create.turbo_stream.erb +3 -0
  291. data/app/views/solidus_admin/option_values/destroy.turbo_stream.erb +3 -0
  292. data/app/views/solidus_admin/option_values/update.turbo_stream.erb +3 -0
  293. data/config/importmap.rb +9 -0
  294. data/config/initializers/view_component.rb +1 -1
  295. data/config/locales/option_types.en.yml +5 -1
  296. data/config/locales/option_values.en.yml +9 -0
  297. data/config/locales/payment_methods.en.yml +5 -1
  298. data/config/locales/product_taxons.en.yml +6 -0
  299. data/config/locales/products.en.yml +2 -0
  300. data/config/locales/solidus_select.yml +6 -0
  301. data/config/locales/stock_locations.en.yml +4 -0
  302. data/config/locales/stores.en.yml +22 -0
  303. data/config/locales/tax_rates.en.yml +4 -0
  304. data/config/locales/zones.en.yml +4 -0
  305. data/config/routes.rb +21 -9
  306. data/config/tailwind.config.js +6 -2
  307. data/docs/components.md +2 -2
  308. data/docs/index_pages.md +11 -5
  309. data/docs/stimulusjs.md +1 -1
  310. data/eslint.config.mjs +25 -0
  311. data/lib/generators/solidus_admin/component/component_generator.rb +10 -6
  312. data/lib/generators/solidus_admin/install/install_generator.rb +24 -5
  313. data/lib/generators/solidus_admin/install/templates/config/initializers/solidus_admin.rb.tt +6 -0
  314. data/lib/solidus_admin/admin_resources.rb +1 -1
  315. data/lib/solidus_admin/configuration.rb +14 -14
  316. data/lib/solidus_admin/engine.rb +3 -2
  317. data/lib/solidus_admin/importmap.rb +1 -1
  318. data/lib/solidus_admin/menu_item.rb +1 -1
  319. data/lib/solidus_admin/preview.rb +1 -0
  320. data/lib/solidus_admin/testing_support/admin_assets.rb +1 -1
  321. data/lib/solidus_admin/testing_support/feature_helpers.rb +77 -3
  322. data/lib/solidus_admin/testing_support/shared_examples/crud_resource_requests.rb +43 -36
  323. data/lib/solidus_admin/testing_support/shared_examples/moveable.rb +48 -0
  324. data/lib/solidus_admin/testing_support/shared_examples/promotion_categories_features.rb +5 -11
  325. data/lib/solidus_admin/version.rb +1 -1
  326. data/lib/tasks/tailwind.rake +1 -1
  327. data/solidus_admin.gemspec +24 -21
  328. metadata +173 -29
  329. data/.eslintrc.json +0 -7
  330. data/app/components/solidus_admin/products/show/component.js +0 -9
  331. data/app/components/solidus_admin/ui/forms/input/component.js +0 -15
  332. data/app/components/solidus_admin/users/edit/api_access/component.js +0 -9
  333. data/app/javascript/solidus_admin/controllers/confirm_controller.js +0 -21
  334. data/lib/solidus_admin/testing_support/shared_examples/bulk_delete_resources.rb +0 -20
  335. /data/app/{components/solidus_admin/ui/toast/component.js → javascript/solidus_admin/controllers/alert_animation_controller.js} +0 -0
@@ -109,7 +109,7 @@
109
109
  }
110
110
 
111
111
  /*
112
- ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
112
+ ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
113
113
  */
114
114
 
115
115
  /*
@@ -568,6 +568,40 @@ summary{
568
568
  list-style: none;
569
569
  }
570
570
 
571
+ .container{
572
+ width: 100%;
573
+ }
574
+
575
+ @media (min-width: 640px){
576
+ .container{
577
+ max-width: 640px;
578
+ }
579
+ }
580
+
581
+ @media (min-width: 768px){
582
+ .container{
583
+ max-width: 768px;
584
+ }
585
+ }
586
+
587
+ @media (min-width: 1024px){
588
+ .container{
589
+ max-width: 1024px;
590
+ }
591
+ }
592
+
593
+ @media (min-width: 1280px){
594
+ .container{
595
+ max-width: 1280px;
596
+ }
597
+ }
598
+
599
+ @media (min-width: 1536px){
600
+ .container{
601
+ max-width: 1536px;
602
+ }
603
+ }
604
+
571
605
  .form-input,.form-textarea,.form-select,.form-multiselect{
572
606
  -webkit-appearance: none;
573
607
  -moz-appearance: none;
@@ -626,26 +660,6 @@ summary{
626
660
  padding-bottom: 0;
627
661
  }
628
662
 
629
- .form-select{
630
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23737373' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
631
- background-position: right 0.5rem center;
632
- background-repeat: no-repeat;
633
- background-size: 1.5em 1.5em;
634
- padding-right: 2.5rem;
635
- -webkit-print-color-adjust: exact;
636
- print-color-adjust: exact;
637
- }
638
-
639
- .form-select:where([size]:not([size="1"])){
640
- background-image: initial;
641
- background-position: initial;
642
- background-repeat: unset;
643
- background-size: initial;
644
- padding-right: 0.75rem;
645
- -webkit-print-color-adjust: unset;
646
- print-color-adjust: unset;
647
- }
648
-
649
663
  .form-checkbox,.form-radio{
650
664
  -webkit-appearance: none;
651
665
  -moz-appearance: none;
@@ -817,6 +831,10 @@ summary{
817
831
  top: 0.5rem;
818
832
  }
819
833
 
834
+ .top-3{
835
+ top: 0.75rem;
836
+ }
837
+
820
838
  .z-10{
821
839
  z-index: 10;
822
840
  }
@@ -829,6 +847,10 @@ summary{
829
847
  z-index: 50;
830
848
  }
831
849
 
850
+ .col-span-2{
851
+ grid-column: span 2 / span 2;
852
+ }
853
+
832
854
  .m-2{
833
855
  margin: 0.5rem;
834
856
  }
@@ -937,10 +959,24 @@ summary{
937
959
  display: table;
938
960
  }
939
961
 
962
+ .grid{
963
+ display: grid;
964
+ }
965
+
940
966
  .hidden{
941
967
  display: none;
942
968
  }
943
969
 
970
+ .size-4{
971
+ width: 1rem;
972
+ height: 1rem;
973
+ }
974
+
975
+ .size-5{
976
+ width: 1.25rem;
977
+ height: 1.25rem;
978
+ }
979
+
944
980
  .h-1{
945
981
  height: 0.25rem;
946
982
  }
@@ -1053,6 +1089,10 @@ summary{
1053
1089
  min-height: 84px;
1054
1090
  }
1055
1091
 
1092
+ .min-h-\[85px\]{
1093
+ min-height: 85px;
1094
+ }
1095
+
1056
1096
  .min-h-full{
1057
1097
  min-height: 100%;
1058
1098
  }
@@ -1069,6 +1109,10 @@ summary{
1069
1109
  width: 50%;
1070
1110
  }
1071
1111
 
1112
+ .w-1\/6{
1113
+ width: 16.666667%;
1114
+ }
1115
+
1072
1116
  .w-10{
1073
1117
  width: 2.5rem;
1074
1118
  }
@@ -1081,6 +1125,10 @@ summary{
1081
1125
  width: 4rem;
1082
1126
  }
1083
1127
 
1128
+ .w-2\/3{
1129
+ width: 66.666667%;
1130
+ }
1131
+
1084
1132
  .w-20{
1085
1133
  width: 5rem;
1086
1134
  }
@@ -1101,6 +1149,10 @@ summary{
1101
1149
  width: 1.25rem;
1102
1150
  }
1103
1151
 
1152
+ .w-5\/6{
1153
+ width: 83.333333%;
1154
+ }
1155
+
1104
1156
  .w-56{
1105
1157
  width: 14rem;
1106
1158
  }
@@ -1294,6 +1346,11 @@ summary{
1294
1346
  border-collapse: collapse;
1295
1347
  }
1296
1348
 
1349
+ .-translate-y-\[150\%\]{
1350
+ --tw-translate-y: -150%;
1351
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1352
+ }
1353
+
1297
1354
  .translate-x-\[calc\(-50\%\+\(1rem\/2\)\)\]{
1298
1355
  --tw-translate-x: calc(-50% + (1rem / 2));
1299
1356
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -1326,6 +1383,10 @@ summary{
1326
1383
  cursor: default;
1327
1384
  }
1328
1385
 
1386
+ .cursor-grab{
1387
+ cursor: grab;
1388
+ }
1389
+
1329
1390
  .cursor-pointer{
1330
1391
  cursor: pointer;
1331
1392
  }
@@ -1336,6 +1397,10 @@ summary{
1336
1397
  appearance: none;
1337
1398
  }
1338
1399
 
1400
+ .grid-cols-5{
1401
+ grid-template-columns: repeat(5, minmax(0, 1fr));
1402
+ }
1403
+
1339
1404
  .flex-col{
1340
1405
  flex-direction: column;
1341
1406
  }
@@ -1348,6 +1413,10 @@ summary{
1348
1413
  align-items: flex-start;
1349
1414
  }
1350
1415
 
1416
+ .items-end{
1417
+ align-items: flex-end;
1418
+ }
1419
+
1351
1420
  .items-center{
1352
1421
  align-items: center;
1353
1422
  }
@@ -1421,6 +1490,10 @@ summary{
1421
1490
  border-color: rgb(222 222 222 / var(--tw-divide-opacity, 1));
1422
1491
  }
1423
1492
 
1493
+ .place-self-center{
1494
+ place-self: center;
1495
+ }
1496
+
1424
1497
  .overflow-auto{
1425
1498
  overflow: auto;
1426
1499
  }
@@ -1527,6 +1600,11 @@ summary{
1527
1600
  border-top-width: 1px;
1528
1601
  }
1529
1602
 
1603
+ .border-forest{
1604
+ --tw-border-opacity: 1;
1605
+ border-color: rgb(9 103 86 / var(--tw-border-opacity, 1));
1606
+ }
1607
+
1530
1608
  .border-gray-100{
1531
1609
  --tw-border-opacity: 1;
1532
1610
  border-color: rgb(222 222 222 / var(--tw-border-opacity, 1));
@@ -1542,6 +1620,16 @@ summary{
1542
1620
  border-color: rgb(186 186 186 / var(--tw-border-opacity, 1));
1543
1621
  }
1544
1622
 
1623
+ .border-gray-500{
1624
+ --tw-border-opacity: 1;
1625
+ border-color: rgb(115 115 115 / var(--tw-border-opacity, 1));
1626
+ }
1627
+
1628
+ .border-orange{
1629
+ --tw-border-opacity: 1;
1630
+ border-color: rgb(246 128 80 / var(--tw-border-opacity, 1));
1631
+ }
1632
+
1545
1633
  .border-red-500{
1546
1634
  --tw-border-opacity: 1;
1547
1635
  border-color: rgb(220 55 40 / var(--tw-border-opacity, 1));
@@ -1620,6 +1708,11 @@ summary{
1620
1708
  background-color: rgb(220 55 40 / var(--tw-bg-opacity, 1));
1621
1709
  }
1622
1710
 
1711
+ .bg-sazerac{
1712
+ --tw-bg-opacity: 1;
1713
+ background-color: rgb(252 240 221 / var(--tw-bg-opacity, 1));
1714
+ }
1715
+
1623
1716
  .bg-seafoam{
1624
1717
  --tw-bg-opacity: 1;
1625
1718
  background-color: rgb(193 224 222 / var(--tw-bg-opacity, 1));
@@ -1639,14 +1732,14 @@ summary{
1639
1732
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
1640
1733
  }
1641
1734
 
1642
- .bg-arrow-down-s-fill-gray-700{
1643
- background-image: url('solidus_admin/arrow_down_s_fill_gray_700.svg');
1644
- }
1645
-
1646
1735
  .fill-current{
1647
1736
  fill: currentColor;
1648
1737
  }
1649
1738
 
1739
+ .fill-forest{
1740
+ fill: #096756;
1741
+ }
1742
+
1650
1743
  .fill-gray-400{
1651
1744
  fill: #a3a3a3;
1652
1745
  }
@@ -1663,6 +1756,14 @@ summary{
1663
1756
  fill: #333333;
1664
1757
  }
1665
1758
 
1759
+ .fill-orange{
1760
+ fill: #f68050;
1761
+ }
1762
+
1763
+ .fill-red-500{
1764
+ fill: #dc3728;
1765
+ }
1766
+
1666
1767
  .fill-yellow{
1667
1768
  fill: #fdc071;
1668
1769
  }
@@ -1796,6 +1897,10 @@ summary{
1796
1897
  padding-top: 0.125rem;
1797
1898
  }
1798
1899
 
1900
+ .pt-1{
1901
+ padding-top: 0.25rem;
1902
+ }
1903
+
1799
1904
  .pt-2{
1800
1905
  padding-top: 0.5rem;
1801
1906
  }
@@ -1836,6 +1941,10 @@ summary{
1836
1941
  font-family: Inter var, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
1837
1942
  }
1838
1943
 
1944
+ .font-serif{
1945
+ font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
1946
+ }
1947
+
1839
1948
  .text-2xl{
1840
1949
  font-size: 1.5rem;
1841
1950
  line-height: 2rem;
@@ -1925,11 +2034,6 @@ summary{
1925
2034
  color: rgb(34 34 34 / var(--tw-text-opacity, 1));
1926
2035
  }
1927
2036
 
1928
- .text-blue{
1929
- --tw-text-opacity: 1;
1930
- color: rgb(37 84 177 / var(--tw-text-opacity, 1));
1931
- }
1932
-
1933
2037
  .text-forest{
1934
2038
  --tw-text-opacity: 1;
1935
2039
  color: rgb(9 103 86 / var(--tw-text-opacity, 1));
@@ -1980,6 +2084,11 @@ summary{
1980
2084
  color: rgb(177 44 32 / var(--tw-text-opacity, 1));
1981
2085
  }
1982
2086
 
2087
+ .text-solidus-blue{
2088
+ --tw-text-opacity: 1;
2089
+ color: rgb(37 84 177 / var(--tw-text-opacity, 1));
2090
+ }
2091
+
1983
2092
  .text-solidus-red{
1984
2093
  --tw-text-opacity: 1;
1985
2094
  color: rgb(239 48 35 / var(--tw-text-opacity, 1));
@@ -2056,14 +2165,6 @@ summary{
2056
2165
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
2057
2166
  }
2058
2167
 
2059
- .transition{
2060
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
2061
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
2062
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
2063
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
2064
- transition-duration: 150ms;
2065
- }
2066
-
2067
2168
  .transition-all{
2068
2169
  transition-property: all;
2069
2170
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
@@ -2074,6 +2175,64 @@ summary{
2074
2175
  transition-duration: 500ms;
2075
2176
  }
2076
2177
 
2178
+ .duration-75{
2179
+ transition-duration: 75ms;
2180
+ }
2181
+
2182
+ .ease-linear{
2183
+ transition-timing-function: linear;
2184
+ }
2185
+
2186
+ .\[\&\>\.control\]\:form-select>.control{
2187
+ -webkit-appearance: none;
2188
+ -moz-appearance: none;
2189
+ appearance: none;
2190
+ background-color: #fff;
2191
+ border-color: #737373;
2192
+ border-width: 1px;
2193
+ border-radius: 0px;
2194
+ padding-top: 0.5rem;
2195
+ padding-right: 0.75rem;
2196
+ padding-bottom: 0.5rem;
2197
+ padding-left: 0.75rem;
2198
+ font-size: 1rem;
2199
+ line-height: 1.5rem;
2200
+ --tw-shadow: 0 0 #0000;
2201
+ }
2202
+
2203
+ .\[\&\>\.control\]\:form-select>.control:focus{
2204
+ outline: 2px solid transparent;
2205
+ outline-offset: 2px;
2206
+ --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
2207
+ --tw-ring-offset-width: 0px;
2208
+ --tw-ring-offset-color: #fff;
2209
+ --tw-ring-color: #2563eb;
2210
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2211
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2212
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2213
+ border-color: #2563eb;
2214
+ }
2215
+
2216
+ .\[\&\>\.control\]\:form-select>.control{
2217
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23737373' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
2218
+ background-position: right 0.5rem center;
2219
+ background-repeat: no-repeat;
2220
+ background-size: 1.5em 1.5em;
2221
+ padding-right: 2.5rem;
2222
+ -webkit-print-color-adjust: exact;
2223
+ print-color-adjust: exact;
2224
+ }
2225
+
2226
+ .\[\&\>\.control\]\:form-select>.control:where([size]:not([size="1"])){
2227
+ background-image: initial;
2228
+ background-position: initial;
2229
+ background-repeat: unset;
2230
+ background-size: initial;
2231
+ padding-right: 0.75rem;
2232
+ -webkit-print-color-adjust: unset;
2233
+ print-color-adjust: unset;
2234
+ }
2235
+
2077
2236
  .placeholder\:text-gray-400::-moz-placeholder{
2078
2237
  --tw-text-opacity: 1;
2079
2238
  color: rgb(163 163 163 / var(--tw-text-opacity, 1));
@@ -2219,6 +2378,14 @@ summary{
2219
2378
  border-top-width: 0px;
2220
2379
  }
2221
2380
 
2381
+ .checked\:border-\[5px\]:checked{
2382
+ border-width: 5px;
2383
+ }
2384
+
2385
+ .checked\:border-\[6px\]:checked{
2386
+ border-width: 6px;
2387
+ }
2388
+
2222
2389
  .checked\:border-gray-700:checked{
2223
2390
  --tw-border-opacity: 1;
2224
2391
  border-color: rgb(74 74 74 / var(--tw-border-opacity, 1));
@@ -2271,10 +2438,6 @@ summary{
2271
2438
  border-color: rgb(177 44 32 / var(--tw-border-opacity, 1));
2272
2439
  }
2273
2440
 
2274
- .invalid\:bg-arrow-down-s-fill-red-400:invalid{
2275
- background-image: url('solidus_admin/arrow_down_s_fill_red_400.svg');
2276
- }
2277
-
2278
2441
  .invalid\:text-red-600:invalid{
2279
2442
  --tw-text-opacity: 1;
2280
2443
  color: rgb(177 44 32 / var(--tw-text-opacity, 1));
@@ -2298,6 +2461,10 @@ summary{
2298
2461
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
2299
2462
  }
2300
2463
 
2464
+ .empty\:hidden:empty{
2465
+ display: none;
2466
+ }
2467
+
2301
2468
  .hover\:border-gray-500:hover{
2302
2469
  --tw-border-opacity: 1;
2303
2470
  border-color: rgb(115 115 115 / var(--tw-border-opacity, 1));
@@ -2362,11 +2529,12 @@ summary{
2362
2529
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
2363
2530
  }
2364
2531
 
2365
- .hover\:underline:hover{
2366
- text-decoration-line: underline;
2532
+ .checked\:hover\:border-gray-500:hover:checked{
2533
+ --tw-border-opacity: 1;
2534
+ border-color: rgb(115 115 115 / var(--tw-border-opacity, 1));
2367
2535
  }
2368
2536
 
2369
- .checked\:hover\:border-gray-500:hover:checked{
2537
+ .hover\:checked\:border-gray-500:checked:hover{
2370
2538
  --tw-border-opacity: 1;
2371
2539
  border-color: rgb(115 115 115 / var(--tw-border-opacity, 1));
2372
2540
  }
@@ -2565,6 +2733,21 @@ summary{
2565
2733
  border-color: rgb(186 186 186 / var(--tw-border-opacity, 1));
2566
2734
  }
2567
2735
 
2736
+ .focus-visible\:ring-2:focus-visible{
2737
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2738
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2739
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2740
+ }
2741
+
2742
+ .focus-visible\:ring-gray-300:focus-visible{
2743
+ --tw-ring-opacity: 1;
2744
+ --tw-ring-color: rgb(186 186 186 / var(--tw-ring-opacity, 1));
2745
+ }
2746
+
2747
+ .focus-visible\:ring-offset-1:focus-visible{
2748
+ --tw-ring-offset-width: 1px;
2749
+ }
2750
+
2568
2751
  .active\:border-red-700:active{
2569
2752
  --tw-border-opacity: 1;
2570
2753
  border-color: rgb(134 34 25 / var(--tw-border-opacity, 1));
@@ -2601,6 +2784,12 @@ summary{
2601
2784
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2602
2785
  }
2603
2786
 
2787
+ .active\:ring-2:active{
2788
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2789
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2790
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2791
+ }
2792
+
2604
2793
  .active\:ring-gray-300:active{
2605
2794
  --tw-ring-opacity: 1;
2606
2795
  --tw-ring-color: rgb(186 186 186 / var(--tw-ring-opacity, 1));
@@ -2619,6 +2808,10 @@ summary{
2619
2808
  border-color: rgb(186 186 186 / var(--tw-border-opacity, 1));
2620
2809
  }
2621
2810
 
2811
+ .disabled\:border-gray-300\/50:disabled{
2812
+ border-color: rgb(186 186 186 / 0.5);
2813
+ }
2814
+
2622
2815
  .disabled\:border-red-200:disabled{
2623
2816
  --tw-border-opacity: 1;
2624
2817
  border-color: rgb(241 173 167 / var(--tw-border-opacity, 1));
@@ -2697,6 +2890,16 @@ summary{
2697
2890
  background-color: rgb(186 186 186 / var(--tw-bg-opacity, 1));
2698
2891
  }
2699
2892
 
2893
+ .disabled\:hover\:border-gray-300\/50:hover:disabled{
2894
+ border-color: rgb(186 186 186 / 0.5);
2895
+ }
2896
+
2897
+ .disabled\:active\:ring-0:active:disabled{
2898
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2899
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2900
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2901
+ }
2902
+
2700
2903
  .peer:-moz-placeholder-shown ~ .peer-placeholder-shown\:hidden{
2701
2904
  display: none;
2702
2905
  }
@@ -2843,6 +3046,480 @@ summary{
2843
3046
  color: rgb(34 34 34 / var(--tw-text-opacity, 1));
2844
3047
  }
2845
3048
 
3049
+ .\[\&\>\.control\]\:flex>.control{
3050
+ display: flex;
3051
+ }
3052
+
3053
+ .\[\&\>\.control\]\:min-h-12>.control{
3054
+ min-height: 3rem;
3055
+ }
3056
+
3057
+ .\[\&\>\.control\]\:min-h-7>.control{
3058
+ min-height: 1.75rem;
3059
+ }
3060
+
3061
+ .\[\&\>\.control\]\:min-h-9>.control{
3062
+ min-height: 2.25rem;
3063
+ }
3064
+
3065
+ .\[\&\>\.control\]\:w-full>.control{
3066
+ width: 100%;
3067
+ }
3068
+
3069
+ .\[\&\>\.control\]\:flex-wrap>.control{
3070
+ flex-wrap: wrap;
3071
+ }
3072
+
3073
+ .\[\&\>\.control\]\:items-center>.control{
3074
+ align-items: center;
3075
+ }
3076
+
3077
+ .\[\&\>\.control\]\:gap-1>.control{
3078
+ gap: 0.25rem;
3079
+ }
3080
+
3081
+ .\[\&\>\.control\]\:rounded-sm>.control{
3082
+ border-radius: 4px;
3083
+ }
3084
+
3085
+ .\[\&\>\.control\]\:border>.control{
3086
+ border-width: 1px;
3087
+ }
3088
+
3089
+ .\[\&\>\.control\]\:border-gray-300>.control{
3090
+ --tw-border-opacity: 1;
3091
+ border-color: rgb(186 186 186 / var(--tw-border-opacity, 1));
3092
+ }
3093
+
3094
+ .\[\&\>\.control\]\:bg-white>.control{
3095
+ --tw-bg-opacity: 1;
3096
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
3097
+ }
3098
+
3099
+ .\[\&\>\.control\]\:bg-arrow-down-s-fill-gray-700>.control{
3100
+ background-image: url('solidus_admin/arrow_down_s_fill_gray_700.svg');
3101
+ }
3102
+
3103
+ .\[\&\>\.control\]\:py-1\.5>.control{
3104
+ padding-top: 0.375rem;
3105
+ padding-bottom: 0.375rem;
3106
+ }
3107
+
3108
+ .\[\&\>\.control\]\:pl-3>.control{
3109
+ padding-left: 0.75rem;
3110
+ }
3111
+
3112
+ .\[\&\>\.control\]\:pr-10>.control{
3113
+ padding-right: 2.5rem;
3114
+ }
3115
+
3116
+ .\[\&\>\.control\]\:text-base>.control{
3117
+ font-size: 1rem;
3118
+ line-height: 1.5rem;
3119
+ }
3120
+
3121
+ .\[\&\>\.control\]\:text-sm>.control{
3122
+ font-size: 0.875rem;
3123
+ line-height: 1.25rem;
3124
+ }
3125
+
3126
+ .\[\&\>\.control\]\:text-xs>.control{
3127
+ font-size: 0.75rem;
3128
+ line-height: 1rem;
3129
+ }
3130
+
3131
+ .\[\&\>\.control\]\:hover\:border-gray-500:hover>.control{
3132
+ --tw-border-opacity: 1;
3133
+ border-color: rgb(115 115 115 / var(--tw-border-opacity, 1));
3134
+ }
3135
+
3136
+ .peer:invalid ~ .\[\&\>\.control\]\:peer-invalid\:border-red-600>.control{
3137
+ --tw-border-opacity: 1;
3138
+ border-color: rgb(177 44 32 / var(--tw-border-opacity, 1));
3139
+ }
3140
+
3141
+ .peer:invalid ~ .\[\&\>\.control\]\:peer-invalid\:bg-arrow-down-s-fill-red-400>.control{
3142
+ background-image: url('solidus_admin/arrow_down_s_fill_red_400.svg');
3143
+ }
3144
+
3145
+ .peer:invalid ~ .\[\&\>\.control\]\:peer-invalid\:text-red-600>.control{
3146
+ --tw-text-opacity: 1;
3147
+ color: rgb(177 44 32 / var(--tw-text-opacity, 1));
3148
+ }
3149
+
3150
+ .peer:invalid ~ .\[\&\>\.control\]\:peer-invalid\:hover\:border-red-600:hover>.control{
3151
+ --tw-border-opacity: 1;
3152
+ border-color: rgb(177 44 32 / var(--tw-border-opacity, 1));
3153
+ }
3154
+
3155
+ .\[\&\>\.control\]\:has-\[\:disabled\]\:cursor-not-allowed:has(:disabled)>.control{
3156
+ cursor: not-allowed;
3157
+ }
3158
+
3159
+ .\[\&\>\.control\]\:has-\[\:disabled\]\:bg-gray-50:has(:disabled)>.control{
3160
+ --tw-bg-opacity: 1;
3161
+ background-color: rgb(240 240 240 / var(--tw-bg-opacity, 1));
3162
+ }
3163
+
3164
+ .\[\&\>\.control\]\:has-\[\:focus\]\:bg-white:has(:focus)>.control{
3165
+ --tw-bg-opacity: 1;
3166
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
3167
+ }
3168
+
3169
+ .\[\&\>\.control\]\:has-\[\:disabled\]\:text-gray-500:has(:disabled)>.control{
3170
+ --tw-text-opacity: 1;
3171
+ color: rgb(115 115 115 / var(--tw-text-opacity, 1));
3172
+ }
3173
+
3174
+ .\[\&\>\.control\]\:has-\[\:focus\]\:outline-none:has(:focus)>.control{
3175
+ outline: 2px solid transparent;
3176
+ outline-offset: 2px;
3177
+ }
3178
+
3179
+ .\[\&\>\.control\]\:has-\[\:focus\]\:ring:has(:focus)>.control{
3180
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
3181
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
3182
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
3183
+ }
3184
+
3185
+ .\[\&\>\.control\]\:has-\[\:focus\]\:ring-gray-300:has(:focus)>.control{
3186
+ --tw-ring-opacity: 1;
3187
+ --tw-ring-color: rgb(186 186 186 / var(--tw-ring-opacity, 1));
3188
+ }
3189
+
3190
+ .\[\&\>\.control\]\:has-\[\:focus\]\:ring-offset-0:has(:focus)>.control{
3191
+ --tw-ring-offset-width: 0px;
3192
+ }
3193
+
3194
+ .\[\&\>\.control\]\:has-\[\:disabled\]\:hover\:border-gray-300:hover:has(:disabled)>.control{
3195
+ --tw-border-opacity: 1;
3196
+ border-color: rgb(186 186 186 / var(--tw-border-opacity, 1));
3197
+ }
3198
+
3199
+ .\[\&\>\.error\]\:hidden>.error{
3200
+ display: none;
3201
+ }
3202
+
3203
+ .peer:invalid ~ .\[\&\>\.error\]\:peer-invalid\:block>.error{
3204
+ display: block;
3205
+ }
3206
+
3207
+ .\[\&_\.dropdown-content\]\:flex .dropdown-content{
3208
+ display: flex;
3209
+ }
3210
+
3211
+ .\[\&_\.dropdown-content\]\:max-h-\[200px\] .dropdown-content{
3212
+ max-height: 200px;
3213
+ }
3214
+
3215
+ .\[\&_\.dropdown-content\]\:flex-col .dropdown-content{
3216
+ flex-direction: column;
3217
+ }
3218
+
3219
+ .\[\&_\.dropdown-content\]\:overflow-y-auto .dropdown-content{
3220
+ overflow-y: auto;
3221
+ }
3222
+
3223
+ .\[\&_\.dropdown-content\]\:overflow-x-hidden .dropdown-content{
3224
+ overflow-x: hidden;
3225
+ }
3226
+
3227
+ .\[\&_\.dropdown-content\]\:scroll-smooth .dropdown-content{
3228
+ scroll-behavior: smooth;
3229
+ }
3230
+
3231
+ .\[\&_\.dropdown\]\:absolute .dropdown{
3232
+ position: absolute;
3233
+ }
3234
+
3235
+ .\[\&_\.dropdown\]\:z-10 .dropdown{
3236
+ z-index: 10;
3237
+ }
3238
+
3239
+ .\[\&_\.dropdown\]\:mt-0\.5 .dropdown{
3240
+ margin-top: 0.125rem;
3241
+ }
3242
+
3243
+ .\[\&_\.dropdown\]\:w-full .dropdown{
3244
+ width: 100%;
3245
+ }
3246
+
3247
+ .\[\&_\.dropdown\]\:min-w-\[10rem\] .dropdown{
3248
+ min-width: 10rem;
3249
+ }
3250
+
3251
+ .\[\&_\.dropdown\]\:rounded-sm .dropdown{
3252
+ border-radius: 4px;
3253
+ }
3254
+
3255
+ .\[\&_\.dropdown\]\:border .dropdown{
3256
+ border-width: 1px;
3257
+ }
3258
+
3259
+ .\[\&_\.dropdown\]\:border-gray-100 .dropdown{
3260
+ --tw-border-opacity: 1;
3261
+ border-color: rgb(222 222 222 / var(--tw-border-opacity, 1));
3262
+ }
3263
+
3264
+ .\[\&_\.dropdown\]\:bg-white .dropdown{
3265
+ --tw-bg-opacity: 1;
3266
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
3267
+ }
3268
+
3269
+ .\[\&_\.dropdown\]\:p-2 .dropdown{
3270
+ padding: 0.5rem;
3271
+ }
3272
+
3273
+ .\[\&_\.dropdown\]\:text-base .dropdown{
3274
+ font-size: 1rem;
3275
+ line-height: 1.5rem;
3276
+ }
3277
+
3278
+ .\[\&_\.dropdown\]\:text-sm .dropdown{
3279
+ font-size: 0.875rem;
3280
+ line-height: 1.25rem;
3281
+ }
3282
+
3283
+ .\[\&_\.dropdown\]\:text-xs .dropdown{
3284
+ font-size: 0.75rem;
3285
+ line-height: 1rem;
3286
+ }
3287
+
3288
+ .\[\&_\.dropdown\]\:shadow-lg .dropdown{
3289
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
3290
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
3291
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
3292
+ }
3293
+
3294
+ .\[\&_\.item\]\:flex .item{
3295
+ display: flex;
3296
+ }
3297
+
3298
+ .\[\&_\.item\]\:h-5 .item{
3299
+ height: 1.25rem;
3300
+ }
3301
+
3302
+ .\[\&_\.item\]\:h-5\.5 .item{
3303
+ height: 1.375rem;
3304
+ }
3305
+
3306
+ .\[\&_\.item\]\:h-8 .item{
3307
+ height: 2rem;
3308
+ }
3309
+
3310
+ .\[\&_\.item\]\:items-center .item{
3311
+ align-items: center;
3312
+ }
3313
+
3314
+ .\[\&_\.item\]\:gap-1 .item{
3315
+ gap: 0.25rem;
3316
+ }
3317
+
3318
+ .\[\&_\.item\]\:whitespace-nowrap .item{
3319
+ white-space: nowrap;
3320
+ }
3321
+
3322
+ .\[\&_\.item\]\:rounded-full .item{
3323
+ border-radius: 9999px;
3324
+ }
3325
+
3326
+ .\[\&_\.item\]\:bg-graphite-light .item{
3327
+ --tw-bg-opacity: 1;
3328
+ background-color: rgb(216 218 216 / var(--tw-bg-opacity, 1));
3329
+ }
3330
+
3331
+ .\[\&_\.item\]\:px-2 .item{
3332
+ padding-left: 0.5rem;
3333
+ padding-right: 0.5rem;
3334
+ }
3335
+
3336
+ .\[\&_\.item\]\:py-0\.5 .item{
3337
+ padding-top: 0.125rem;
3338
+ padding-bottom: 0.125rem;
3339
+ }
3340
+
3341
+ .peer:invalid ~ .\[\&_\.item\]\:peer-invalid\:bg-red-100 .item{
3342
+ --tw-bg-opacity: 1;
3343
+ background-color: rgb(248 214 211 / var(--tw-bg-opacity, 1));
3344
+ }
3345
+
3346
+ .\[\&_\.item_\.remove-button\]\:order-first .item .remove-button{
3347
+ order: -9999;
3348
+ }
3349
+
3350
+ .\[\&_\.item_\.remove-button\]\:pb-0\.5 .item .remove-button{
3351
+ padding-bottom: 0.125rem;
3352
+ }
3353
+
3354
+ .\[\&_\.item_\.remove-button\]\:text-xl .item .remove-button{
3355
+ font-size: 1.25rem;
3356
+ line-height: 1.75rem;
3357
+ }
3358
+
3359
+ .\[\&_\.item_\.remove-button\]\:has-\[\:disabled\]\:cursor-not-allowed:has(:disabled) .item .remove-button{
3360
+ cursor: not-allowed;
3361
+ }
3362
+
3363
+ @keyframes pulse{
3364
+ 50%{
3365
+ opacity: .5;
3366
+ }
3367
+ }
3368
+
3369
+ .\[\&_\.loading\]\:animate-pulse .loading{
3370
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
3371
+ }
3372
+
3373
+ .\[\&_\.loading\]\:px-2 .loading{
3374
+ padding-left: 0.5rem;
3375
+ padding-right: 0.5rem;
3376
+ }
3377
+
3378
+ .\[\&_\.loading\]\:py-1 .loading{
3379
+ padding-top: 0.25rem;
3380
+ padding-bottom: 0.25rem;
3381
+ }
3382
+
3383
+ .\[\&_\.loading\]\:italic .loading{
3384
+ font-style: italic;
3385
+ }
3386
+
3387
+ .\[\&_\.loading\]\:text-gray-500 .loading{
3388
+ --tw-text-opacity: 1;
3389
+ color: rgb(115 115 115 / var(--tw-text-opacity, 1));
3390
+ }
3391
+
3392
+ .\[\&_\.no-results\]\:px-2 .no-results{
3393
+ padding-left: 0.5rem;
3394
+ padding-right: 0.5rem;
3395
+ }
3396
+
3397
+ .\[\&_\.no-results\]\:py-1 .no-results{
3398
+ padding-top: 0.25rem;
3399
+ padding-bottom: 0.25rem;
3400
+ }
3401
+
3402
+ .\[\&_\.no-results\]\:text-gray-500 .no-results{
3403
+ --tw-text-opacity: 1;
3404
+ color: rgb(115 115 115 / var(--tw-text-opacity, 1));
3405
+ }
3406
+
3407
+ .\[\&_\.option\.active\]\:bg-gray-50 .option.active{
3408
+ --tw-bg-opacity: 1;
3409
+ background-color: rgb(240 240 240 / var(--tw-bg-opacity, 1));
3410
+ }
3411
+
3412
+ .\[\&_\.option\.active\]\:text-gray-700 .option.active{
3413
+ --tw-text-opacity: 1;
3414
+ color: rgb(74 74 74 / var(--tw-text-opacity, 1));
3415
+ }
3416
+
3417
+ .\[\&_\.option\.loading-more\]\:pointer-events-none .option.loading-more{
3418
+ pointer-events: none;
3419
+ }
3420
+
3421
+ @keyframes pulse{
3422
+ 50%{
3423
+ opacity: .5;
3424
+ }
3425
+ }
3426
+
3427
+ .\[\&_\.option\.loading-more\]\:animate-pulse .option.loading-more{
3428
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
3429
+ }
3430
+
3431
+ .\[\&_\.option\.loading-more\]\:py-0\.5 .option.loading-more{
3432
+ padding-top: 0.125rem;
3433
+ padding-bottom: 0.125rem;
3434
+ }
3435
+
3436
+ .\[\&_\.option\.loading-more\]\:text-center .option.loading-more{
3437
+ text-align: center;
3438
+ }
3439
+
3440
+ .\[\&_\.option\.loading-more\]\:text-xs .option.loading-more{
3441
+ font-size: 0.75rem;
3442
+ line-height: 1rem;
3443
+ }
3444
+
3445
+ .\[\&_\.option\.loading-more\]\:italic .option.loading-more{
3446
+ font-style: italic;
3447
+ }
3448
+
3449
+ .\[\&_\.option\.loading-more\]\:text-gray-500 .option.loading-more{
3450
+ --tw-text-opacity: 1;
3451
+ color: rgb(115 115 115 / var(--tw-text-opacity, 1));
3452
+ }
3453
+
3454
+ .\[\&_\.option\]\:h-12 .option{
3455
+ height: 3rem;
3456
+ }
3457
+
3458
+ .\[\&_\.option\]\:h-7 .option{
3459
+ height: 1.75rem;
3460
+ }
3461
+
3462
+ .\[\&_\.option\]\:h-9 .option{
3463
+ height: 2.25rem;
3464
+ }
3465
+
3466
+ .\[\&_\.option\]\:min-w-fit .option{
3467
+ min-width: -moz-fit-content;
3468
+ min-width: fit-content;
3469
+ }
3470
+
3471
+ .\[\&_\.option\]\:rounded-sm .option{
3472
+ border-radius: 4px;
3473
+ }
3474
+
3475
+ .\[\&_\.option\]\:p-2 .option{
3476
+ padding: 0.5rem;
3477
+ }
3478
+
3479
+ .\[\&_\.option_\.highlight\]\:rounded-\[1px\] .option .highlight{
3480
+ border-radius: 1px;
3481
+ }
3482
+
3483
+ .\[\&_\.option_\.highlight\]\:bg-yellow .option .highlight{
3484
+ --tw-bg-opacity: 1;
3485
+ background-color: rgb(253 192 113 / var(--tw-bg-opacity, 1));
3486
+ }
3487
+
3488
+ .\[\&_input\:disabled\]\:cursor-not-allowed input:disabled{
3489
+ cursor: not-allowed;
3490
+ }
3491
+
3492
+ .\[\&_input\:disabled\]\:bg-gray-50 input:disabled{
3493
+ --tw-bg-opacity: 1;
3494
+ background-color: rgb(240 240 240 / var(--tw-bg-opacity, 1));
3495
+ }
3496
+
3497
+ .peer:invalid ~ .\[\&_input\]\:peer-invalid\:placeholder\:text-red-400 input::-moz-placeholder{
3498
+ --tw-text-opacity: 1;
3499
+ color: rgb(227 96 84 / var(--tw-text-opacity, 1));
3500
+ }
3501
+
3502
+ .peer:invalid ~ .\[\&_input\]\:peer-invalid\:placeholder\:text-red-400 input::placeholder{
3503
+ --tw-text-opacity: 1;
3504
+ color: rgb(227 96 84 / var(--tw-text-opacity, 1));
3505
+ }
3506
+
3507
+ .\[\&_input\]\:has-\[\.item\]\:cursor-default:has(.item) input{
3508
+ cursor: default;
3509
+ }
3510
+
3511
+ .\[\&_input\]\:has-\[\.item\]\:opacity-0:has(.item) input{
3512
+ opacity: 0;
3513
+ }
3514
+
3515
+ .\[\&_input\]\:has-\[\.item\]\:placeholder\:opacity-0:has(.item) input::-moz-placeholder{
3516
+ opacity: 0;
3517
+ }
3518
+
3519
+ .\[\&_input\]\:has-\[\.item\]\:placeholder\:opacity-0:has(.item) input::placeholder{
3520
+ opacity: 0;
3521
+ }
3522
+
2846
3523
  :disabled~.\[\:disabled\~\&\]\:text-gray-300{
2847
3524
  --tw-text-opacity: 1;
2848
3525
  color: rgb(186 186 186 / var(--tw-text-opacity, 1));