solidus_admin 0.2.0 → 0.3.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 (189) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +60 -6
  3. data/Rakefile +1 -0
  4. data/app/assets/builds/solidus_admin/tailwind.css +197 -162
  5. data/app/assets/stylesheets/solidus_admin/dark.css +1 -0
  6. data/app/assets/stylesheets/solidus_admin/dimmed.css +1 -0
  7. data/app/components/solidus_admin/adjustment_reasons/edit/component.html.erb +27 -0
  8. data/app/components/solidus_admin/adjustment_reasons/edit/component.rb +12 -0
  9. data/app/components/solidus_admin/adjustment_reasons/edit/component.yml +8 -0
  10. data/app/components/solidus_admin/adjustment_reasons/index/component.rb +19 -2
  11. data/app/components/solidus_admin/adjustment_reasons/new/component.html.erb +28 -0
  12. data/app/components/solidus_admin/adjustment_reasons/new/component.rb +12 -0
  13. data/app/components/solidus_admin/adjustment_reasons/new/component.yml +8 -0
  14. data/app/components/solidus_admin/base_component.rb +0 -25
  15. data/app/components/solidus_admin/option_types/index/component.rb +1 -1
  16. data/app/components/solidus_admin/orders/index/component.rb +8 -8
  17. data/app/components/solidus_admin/orders/index/component.yml +1 -0
  18. data/app/components/solidus_admin/orders/show/address/component.html.erb +56 -54
  19. data/app/components/solidus_admin/orders/show/adjustments/index/adjustable/component.rb +27 -0
  20. data/app/components/solidus_admin/orders/show/adjustments/index/adjustable/spree_line_item/component.rb +14 -0
  21. data/app/components/solidus_admin/orders/show/adjustments/index/adjustable/spree_order/component.rb +11 -0
  22. data/app/components/solidus_admin/orders/show/adjustments/index/adjustable/spree_shipment/component.rb +15 -0
  23. data/app/components/solidus_admin/orders/show/adjustments/index/component.rb +147 -0
  24. data/app/components/solidus_admin/orders/show/adjustments/index/component.yml +21 -0
  25. data/app/components/solidus_admin/orders/show/adjustments/index/source/component.rb +26 -0
  26. data/app/components/solidus_admin/orders/show/adjustments/index/source/spree_tax_rate/component.rb +17 -0
  27. data/app/components/solidus_admin/orders/show/adjustments/index/source/spree_unit_cancel/component.rb +7 -0
  28. data/app/components/solidus_admin/orders/show/component.html.erb +7 -3
  29. data/app/components/solidus_admin/orders/show/component.rb +8 -0
  30. data/app/components/solidus_admin/orders/show/email/component.html.erb +18 -13
  31. data/app/components/solidus_admin/orders/show/email/component.rb +0 -4
  32. data/app/components/solidus_admin/orders/show/summary/component.html.erb +1 -1
  33. data/app/components/solidus_admin/payment_methods/index/component.rb +1 -1
  34. data/app/components/solidus_admin/products/index/component.rb +8 -5
  35. data/app/components/solidus_admin/products/show/component.html.erb +14 -3
  36. data/app/components/solidus_admin/products/status/component.rb +4 -1
  37. data/app/components/solidus_admin/products/status/component.yml +1 -0
  38. data/app/components/solidus_admin/properties/index/component.rb +1 -1
  39. data/app/components/solidus_admin/refund_reasons/edit/component.html.erb +27 -0
  40. data/app/components/solidus_admin/refund_reasons/edit/component.rb +12 -0
  41. data/app/components/solidus_admin/refund_reasons/edit/component.yml +8 -0
  42. data/app/components/solidus_admin/refund_reasons/index/component.rb +11 -4
  43. data/app/components/solidus_admin/refund_reasons/new/component.html.erb +27 -0
  44. data/app/components/solidus_admin/refund_reasons/new/component.rb +12 -0
  45. data/app/components/solidus_admin/refund_reasons/new/component.yml +6 -0
  46. data/app/components/solidus_admin/return_reasons/edit/component.html.erb +26 -0
  47. data/app/components/solidus_admin/return_reasons/edit/component.rb +12 -0
  48. data/app/components/solidus_admin/return_reasons/edit/component.yml +8 -0
  49. data/app/components/solidus_admin/return_reasons/index/component.rb +20 -2
  50. data/app/components/solidus_admin/return_reasons/new/component.html.erb +27 -0
  51. data/app/components/solidus_admin/return_reasons/new/component.rb +12 -0
  52. data/app/components/solidus_admin/return_reasons/new/component.yml +8 -0
  53. data/app/components/solidus_admin/roles/edit/component.html.erb +33 -0
  54. data/app/components/solidus_admin/roles/edit/component.rb +20 -0
  55. data/app/components/solidus_admin/roles/edit/component.yml +19 -0
  56. data/app/components/solidus_admin/roles/index/component.rb +70 -0
  57. data/app/components/solidus_admin/roles/index/component.yml +6 -0
  58. data/app/components/solidus_admin/roles/new/component.html.erb +33 -0
  59. data/app/components/solidus_admin/roles/new/component.rb +20 -0
  60. data/app/components/solidus_admin/roles/new/component.yml +19 -0
  61. data/app/components/solidus_admin/shipping_categories/edit/component.html.erb +16 -0
  62. data/app/components/solidus_admin/shipping_categories/edit/component.rb +12 -0
  63. data/app/components/solidus_admin/shipping_categories/edit/component.yml +6 -0
  64. data/app/components/solidus_admin/shipping_categories/index/component.rb +20 -3
  65. data/app/components/solidus_admin/shipping_categories/new/component.html.erb +17 -0
  66. data/app/components/solidus_admin/shipping_categories/new/component.rb +12 -0
  67. data/app/components/solidus_admin/shipping_categories/new/component.yml +6 -0
  68. data/app/components/solidus_admin/shipping_methods/index/component.rb +2 -2
  69. data/app/components/solidus_admin/stock_items/edit/component.html.erb +66 -72
  70. data/app/components/solidus_admin/stock_items/edit/component.rb +0 -5
  71. data/app/components/solidus_admin/stock_items/index/component.rb +5 -6
  72. data/app/components/solidus_admin/stock_locations/index/component.rb +1 -1
  73. data/app/components/solidus_admin/store_credit_reasons/edit/component.html.erb +26 -0
  74. data/app/components/solidus_admin/store_credit_reasons/edit/component.rb +12 -0
  75. data/app/components/solidus_admin/store_credit_reasons/edit/component.yml +8 -0
  76. data/app/components/solidus_admin/store_credit_reasons/index/component.rb +11 -4
  77. data/app/components/solidus_admin/store_credit_reasons/new/component.html.erb +27 -0
  78. data/app/components/solidus_admin/store_credit_reasons/new/component.rb +12 -0
  79. data/app/components/solidus_admin/store_credit_reasons/new/component.yml +8 -0
  80. data/app/components/solidus_admin/stores/index/component.rb +1 -1
  81. data/app/components/solidus_admin/tax_categories/edit/component.html.erb +28 -0
  82. data/app/components/solidus_admin/tax_categories/edit/component.rb +12 -0
  83. data/app/components/solidus_admin/tax_categories/edit/component.yml +8 -0
  84. data/app/components/solidus_admin/tax_categories/index/component.rb +11 -4
  85. data/app/components/solidus_admin/tax_categories/new/component.html.erb +28 -0
  86. data/app/components/solidus_admin/tax_categories/new/component.rb +12 -0
  87. data/app/components/solidus_admin/tax_categories/new/component.yml +8 -0
  88. data/app/components/solidus_admin/tax_rates/index/component.rb +3 -3
  89. data/app/components/solidus_admin/taxonomies/index/component.rb +1 -1
  90. data/app/components/solidus_admin/ui/button/component.rb +1 -1
  91. data/app/components/solidus_admin/ui/checkbox_row/component.html.erb +29 -0
  92. data/app/components/solidus_admin/ui/checkbox_row/component.rb +11 -0
  93. data/app/components/solidus_admin/ui/forms/address/component.html.erb +27 -9
  94. data/app/components/solidus_admin/ui/forms/address/component.js +38 -13
  95. data/app/components/solidus_admin/ui/forms/search/component.html.erb +2 -3
  96. data/app/components/solidus_admin/ui/forms/search/component.js +3 -3
  97. data/app/components/solidus_admin/ui/modal/component.html.erb +7 -7
  98. data/app/components/solidus_admin/ui/modal/component.js +7 -0
  99. data/app/components/solidus_admin/ui/modal/component.rb +1 -1
  100. data/app/components/solidus_admin/ui/pages/index/component.html.erb +17 -3
  101. data/app/components/solidus_admin/ui/pages/index/component.rb +29 -43
  102. data/app/components/solidus_admin/ui/panel/component.html.erb +5 -16
  103. data/app/components/solidus_admin/ui/panel/component.rb +11 -7
  104. data/app/components/solidus_admin/ui/table/component.js +31 -2
  105. data/app/components/solidus_admin/ui/table/component.rb +23 -7
  106. data/app/components/solidus_admin/ui/table/component.yml +1 -0
  107. data/app/components/solidus_admin/ui/thumbnail/component.rb +1 -1
  108. data/app/components/solidus_admin/ui/thumbnail_with_caption/component.html.erb +17 -0
  109. data/app/components/solidus_admin/ui/thumbnail_with_caption/component.rb +15 -0
  110. data/app/components/solidus_admin/users/addresses/component.html.erb +46 -0
  111. data/app/components/solidus_admin/users/addresses/component.rb +61 -0
  112. data/app/components/solidus_admin/users/addresses/component.yml +14 -0
  113. data/app/components/solidus_admin/users/edit/api_access/component.html.erb +49 -0
  114. data/app/components/solidus_admin/users/edit/api_access/component.js +9 -0
  115. data/app/components/solidus_admin/users/edit/api_access/component.rb +7 -0
  116. data/app/components/solidus_admin/users/edit/api_access/component.yml +10 -0
  117. data/app/components/solidus_admin/users/edit/component.html.erb +52 -0
  118. data/app/components/solidus_admin/users/edit/component.rb +51 -0
  119. data/app/components/solidus_admin/users/edit/component.yml +12 -0
  120. data/app/components/solidus_admin/users/index/component.rb +10 -8
  121. data/app/components/solidus_admin/users/items/component.html.erb +41 -0
  122. data/app/components/solidus_admin/users/items/component.rb +170 -0
  123. data/app/components/solidus_admin/users/items/component.yml +16 -0
  124. data/app/components/solidus_admin/users/orders/component.html.erb +42 -0
  125. data/app/components/solidus_admin/users/orders/component.rb +131 -0
  126. data/app/components/solidus_admin/users/orders/component.yml +12 -0
  127. data/app/components/solidus_admin/users/stats/component.html.erb +11 -0
  128. data/app/components/solidus_admin/users/stats/component.rb +9 -0
  129. data/app/components/solidus_admin/users/stats/component.yml +2 -0
  130. data/app/components/solidus_admin/users_and_roles/component.rb +24 -0
  131. data/app/components/solidus_admin/users_and_roles/component.yml +2 -0
  132. data/app/components/solidus_admin/zones/index/component.rb +1 -1
  133. data/app/controllers/solidus_admin/addresses_controller.rb +6 -1
  134. data/app/controllers/solidus_admin/adjustment_reasons_controller.rb +85 -10
  135. data/app/controllers/solidus_admin/adjustments_controller.rb +57 -0
  136. data/app/controllers/solidus_admin/customers_controller.rb +5 -1
  137. data/app/controllers/solidus_admin/orders_controller.rb +5 -1
  138. data/app/controllers/solidus_admin/products_controller.rb +11 -0
  139. data/app/controllers/solidus_admin/refund_reasons_controller.rb +85 -10
  140. data/app/controllers/solidus_admin/reimbursement_types_controller.rb +0 -5
  141. data/app/controllers/solidus_admin/return_reasons_controller.rb +85 -10
  142. data/app/controllers/solidus_admin/roles_controller.rb +118 -0
  143. data/app/controllers/solidus_admin/shipping_categories_controller.rb +87 -10
  144. data/app/controllers/solidus_admin/shipping_methods_controller.rb +0 -5
  145. data/app/controllers/solidus_admin/stock_items_controller.rb +6 -6
  146. data/app/controllers/solidus_admin/stock_locations_controller.rb +0 -5
  147. data/app/controllers/solidus_admin/store_credit_reasons_controller.rb +85 -10
  148. data/app/controllers/solidus_admin/stores_controller.rb +0 -5
  149. data/app/controllers/solidus_admin/tax_categories_controller.rb +89 -10
  150. data/app/controllers/solidus_admin/tax_rates_controller.rb +0 -5
  151. data/app/controllers/solidus_admin/users_controller.rb +85 -6
  152. data/app/controllers/solidus_admin/zones_controller.rb +0 -5
  153. data/app/helpers/solidus_admin/last_login_helper.rb +16 -0
  154. data/app/helpers/solidus_admin/permission_sets_helper.rb +32 -0
  155. data/app/views/layouts/solidus_admin/application.html.erb +2 -1
  156. data/config/locales/adjustment_reasons.en.yml +5 -1
  157. data/config/locales/adjustments.en.yml +10 -0
  158. data/config/locales/refund_reasons.en.yml +10 -0
  159. data/config/locales/return_reasons.en.yml +5 -1
  160. data/config/locales/roles.en.yml +10 -0
  161. data/config/locales/shipping_categories.en.yml +4 -0
  162. data/config/locales/store_credit_reasons.en.yml +5 -1
  163. data/config/locales/tax_categories.en.yml +4 -0
  164. data/config/locales/users.en.yml +10 -0
  165. data/config/routes.rb +24 -7
  166. data/docs/components.md +109 -0
  167. data/docs/{customizing_view_components.md → customizing_components.md} +2 -7
  168. data/docs/index_pages.md +146 -0
  169. data/docs/{customizing_menu_items.md → menu_items.md} +1 -1
  170. data/docs/stimulusjs.md +85 -0
  171. data/docs/{customizing_tailwindcss.md → tailwindcss.md} +27 -8
  172. data/lib/solidus_admin/component_registry.rb +40 -0
  173. data/lib/solidus_admin/configuration.rb +2 -26
  174. data/lib/solidus_admin/install_tailwindcss.rb +3 -1
  175. data/lib/solidus_admin/testing_support/admin_assets.rb +10 -0
  176. data/lib/solidus_admin/testing_support/component_helpers.rb +27 -0
  177. data/lib/solidus_admin/testing_support/dummy_app/rake_tasks.rb +60 -0
  178. data/lib/solidus_admin/testing_support/feature_helpers.rb +34 -0
  179. data/lib/solidus_admin/version.rb +1 -1
  180. data/solidus_admin.gemspec +7 -3
  181. metadata +108 -19
  182. data/app/components/solidus_admin/promotion_categories/index/component.rb +0 -56
  183. data/app/components/solidus_admin/promotions/index/component.rb +0 -104
  184. data/app/components/solidus_admin/promotions/index/component.yml +0 -10
  185. data/app/controllers/solidus_admin/promotion_categories_controller.rb +0 -29
  186. data/app/controllers/solidus_admin/promotions_controller.rb +0 -46
  187. data/config/locales/promotion_categories.en.yml +0 -6
  188. data/config/locales/promotions.en.yml +0 -6
  189. data/config/locales/refund_reasons_.en.yml +0 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 28b57ee7cd36b6042c6a1f7a735587aaba8a9e78d6050744ff6687b3799154fc
4
- data.tar.gz: de8a6150a3b9c7445d4b572cc4cd6af8aba87e6be2ffcd81582b7bdfd96b2b8a
3
+ metadata.gz: 580c70a7d37e6019c6957b8dc05d2be0d92024a16a3984dd6dfd545f18dca187
4
+ data.tar.gz: a081d2f1b919de722f5edde8b6a8864e606d7b87acde8254124fc44fd7e4f9f1
5
5
  SHA512:
6
- metadata.gz: 9db4b1349c35d1778bad7f922951a8c9f9d35e97e90c25a78c71d97a7e3ec6f772c9411490f6b66a1323c016e94a283ed2311ff11c4a142891fee2695bee6ba4
7
- data.tar.gz: f24a6d904d75739bd41ef956f40489459b281e9aa9b3aa9981affdbe260865019a75c2200f56e201a0dd6f647d6d48d92483766ec5b6e99cc9e2f1d133924c65
6
+ metadata.gz: 06056cb24c3d85afc44b204d1c3cda73122ab514d6ab8e4b11c4d542d255d0230fa8573ca83e95821d912252ba1eced728bd46a1ed2dfd8ebc42ce4c46b37ada
7
+ data.tar.gz: d7649d39e90272165cdbb3ab1d64b1aaa1821dd4004de1d70b44160b0ecea6d51f7044f53469511569b81cb69290006ee2244a24e77a58fd3cba062e72e6d3f7
data/README.md CHANGED
@@ -1,17 +1,68 @@
1
- # solidus_admin (WIP)
1
+ # Solidus Admin
2
2
 
3
3
  A Rails engine that provides an administrative interface to the Solidus ecommerce platform.
4
4
 
5
+ ## Overview
6
+
7
+ - Based on ViewComponent and TailwindCSS
8
+ - Uses StimulusJS and Turbo for interactivity
9
+ - Works as a separate engine with its own routes
10
+ - Uses the same models as the main Solidus engine
11
+ - Has its own set of controllers
12
+
13
+ ## Installation
14
+
15
+ `solidus_admin` is included by default in new stores generated with Solidus 4.3 or later, as well as those generated from the main branch.
16
+
17
+ `solidus_admin` can be added to existing stores by bundling it in the Gemfile and running the installer generator:
18
+
19
+ ```bash
20
+ bundle add solidus_admin
21
+ bin/rails g solidus_admin:install
22
+ ```
23
+
24
+ If you're using an authentication system other than `solidus_auth_devise` you'll need to manually configure authentication methods (see api documentation for `SolidusAdmin::Configuration`).
25
+
26
+ If you encounter the error `couldn't find file 'solidus_admin/tailwind.css'` when loading admin pages, you need to manually build the `solidus_admin` tailwind CSS styles.
27
+ This issue typically occurs when you bundle Solidus from a GitHub branch or from the local filesystem, or with the sandbox application.
28
+ Please see [Customizing tailwind](docs/tailwindcss.md) for more information.
29
+
30
+ ### Components
31
+
32
+ See [docs/contributing/components.md](docs/components.md) for more information about components.
33
+
34
+ ### Using it alongside `solidus_backend`
35
+
36
+ `solidus_backend` is the current admin interface for Solidus. `SolidusAdmin` is under development, acts as a drop-in replacement for `solidus_backend` and will eventually replace it. It's designed to gradually take over existing functions.
37
+
38
+ For now, you can use both `solidus_backend` and `SolidusAdmin` in the same application. To do this, mount the `SolidusAdmin` engine before `Spree::Core::Engine`.
39
+
40
+ You can use a route `constraint` to replace any `solidus_backend` routes with `SolidusAdmin` routes.
41
+
42
+ By default, `SolidusAdmin` routes are turned off if a cookie named `solidus_admin` is set to `false`, or if a query parameter named `solidus_admin` is set to `false`. This lets you switch between the two admin interfaces easily.
43
+
44
+ This constraint is set up in the application's routes file, so you can easily change it:
45
+
46
+ ```ruby
47
+ # config/routes.rb
48
+ mount SolidusAdmin::Engine, at: '/admin', constraints: ->(req) {
49
+ $redis.get('solidus_admin') == 'true' # or any other logic
50
+ }
51
+ ```
52
+
53
+ ### Authentication & Authorization
54
+
55
+ - Solidus Amidn delegates authentication to `solidus_backend` and relies on `solidus_core` for authorization.
56
+
5
57
  ## Development
6
58
 
7
- - [Customizing tailwind](docs/customizing_tailwind.md)
8
- - [Customizing view components](docs/customizing_view_components.md)
9
- - [Customizing the main navigation](docs/customizing_menu_items.md)
59
+ - [Customizing tailwind](docs/tailwindcss.md)
60
+ - [Customizing view components](docs/customizing_components.md)
61
+ - [Customizing the main navigation](docs/menu_items.md)
10
62
 
11
63
  ### Adding components to Solidus Admin
12
64
 
13
- When using the component generator from within the admin folder it will generate the component in the library
14
- instead of the sandbox application.
65
+ Solidus Admin components can be generated with the `solidus_admin:component`generator:
15
66
 
16
67
  ```bash
17
68
  # the `solidus_admin/` namespace is added by default
@@ -23,6 +74,9 @@ bin/rails admin g solidus_admin:component foo
23
74
  create spec/components/solidus_admin/foo/component_spec.rb
24
75
  ```
25
76
 
77
+ Please note that when using the component generator from within the admin folder it will generate the component in the library
78
+ instead of the sandbox application.
79
+
26
80
  ## Releasing
27
81
 
28
82
  1. Update the version in `lib/solidus_admin/version.rb`
data/Rakefile CHANGED
@@ -5,6 +5,7 @@ require 'rake'
5
5
  require 'rake/testtask'
6
6
  require 'rspec/core/rake_task'
7
7
  require 'spree/testing_support/dummy_app/rake_tasks'
8
+ require 'solidus_admin/testing_support/dummy_app/rake_tasks'
8
9
  require 'bundler/gem_tasks'
9
10
 
10
11
  namespace :tailwindcss do
@@ -1,7 +1,115 @@
1
1
  @import url("https://rsms.me/inter/inter.css");
2
2
 
3
+ *, ::before, ::after{
4
+ --tw-border-spacing-x: 0;
5
+ --tw-border-spacing-y: 0;
6
+ --tw-translate-x: 0;
7
+ --tw-translate-y: 0;
8
+ --tw-rotate: 0;
9
+ --tw-skew-x: 0;
10
+ --tw-skew-y: 0;
11
+ --tw-scale-x: 1;
12
+ --tw-scale-y: 1;
13
+ --tw-pan-x: ;
14
+ --tw-pan-y: ;
15
+ --tw-pinch-zoom: ;
16
+ --tw-scroll-snap-strictness: proximity;
17
+ --tw-gradient-from-position: ;
18
+ --tw-gradient-via-position: ;
19
+ --tw-gradient-to-position: ;
20
+ --tw-ordinal: ;
21
+ --tw-slashed-zero: ;
22
+ --tw-numeric-figure: ;
23
+ --tw-numeric-spacing: ;
24
+ --tw-numeric-fraction: ;
25
+ --tw-ring-inset: ;
26
+ --tw-ring-offset-width: 0px;
27
+ --tw-ring-offset-color: #fff;
28
+ --tw-ring-color: rgb(59 130 246 / 0.5);
29
+ --tw-ring-offset-shadow: 0 0 #0000;
30
+ --tw-ring-shadow: 0 0 #0000;
31
+ --tw-shadow: 0 0 #0000;
32
+ --tw-shadow-colored: 0 0 #0000;
33
+ --tw-blur: ;
34
+ --tw-brightness: ;
35
+ --tw-contrast: ;
36
+ --tw-grayscale: ;
37
+ --tw-hue-rotate: ;
38
+ --tw-invert: ;
39
+ --tw-saturate: ;
40
+ --tw-sepia: ;
41
+ --tw-drop-shadow: ;
42
+ --tw-backdrop-blur: ;
43
+ --tw-backdrop-brightness: ;
44
+ --tw-backdrop-contrast: ;
45
+ --tw-backdrop-grayscale: ;
46
+ --tw-backdrop-hue-rotate: ;
47
+ --tw-backdrop-invert: ;
48
+ --tw-backdrop-opacity: ;
49
+ --tw-backdrop-saturate: ;
50
+ --tw-backdrop-sepia: ;
51
+ --tw-contain-size: ;
52
+ --tw-contain-layout: ;
53
+ --tw-contain-paint: ;
54
+ --tw-contain-style: ;
55
+ }
56
+
57
+ ::backdrop{
58
+ --tw-border-spacing-x: 0;
59
+ --tw-border-spacing-y: 0;
60
+ --tw-translate-x: 0;
61
+ --tw-translate-y: 0;
62
+ --tw-rotate: 0;
63
+ --tw-skew-x: 0;
64
+ --tw-skew-y: 0;
65
+ --tw-scale-x: 1;
66
+ --tw-scale-y: 1;
67
+ --tw-pan-x: ;
68
+ --tw-pan-y: ;
69
+ --tw-pinch-zoom: ;
70
+ --tw-scroll-snap-strictness: proximity;
71
+ --tw-gradient-from-position: ;
72
+ --tw-gradient-via-position: ;
73
+ --tw-gradient-to-position: ;
74
+ --tw-ordinal: ;
75
+ --tw-slashed-zero: ;
76
+ --tw-numeric-figure: ;
77
+ --tw-numeric-spacing: ;
78
+ --tw-numeric-fraction: ;
79
+ --tw-ring-inset: ;
80
+ --tw-ring-offset-width: 0px;
81
+ --tw-ring-offset-color: #fff;
82
+ --tw-ring-color: rgb(59 130 246 / 0.5);
83
+ --tw-ring-offset-shadow: 0 0 #0000;
84
+ --tw-ring-shadow: 0 0 #0000;
85
+ --tw-shadow: 0 0 #0000;
86
+ --tw-shadow-colored: 0 0 #0000;
87
+ --tw-blur: ;
88
+ --tw-brightness: ;
89
+ --tw-contrast: ;
90
+ --tw-grayscale: ;
91
+ --tw-hue-rotate: ;
92
+ --tw-invert: ;
93
+ --tw-saturate: ;
94
+ --tw-sepia: ;
95
+ --tw-drop-shadow: ;
96
+ --tw-backdrop-blur: ;
97
+ --tw-backdrop-brightness: ;
98
+ --tw-backdrop-contrast: ;
99
+ --tw-backdrop-grayscale: ;
100
+ --tw-backdrop-hue-rotate: ;
101
+ --tw-backdrop-invert: ;
102
+ --tw-backdrop-opacity: ;
103
+ --tw-backdrop-saturate: ;
104
+ --tw-backdrop-sepia: ;
105
+ --tw-contain-size: ;
106
+ --tw-contain-layout: ;
107
+ --tw-contain-paint: ;
108
+ --tw-contain-style: ;
109
+ }
110
+
3
111
  /*
4
- ! tailwindcss v3.4.0 | MIT License | https://tailwindcss.com
112
+ ! tailwindcss v3.4.13 | MIT License | https://tailwindcss.com
5
113
  */
6
114
 
7
115
  /*
@@ -213,6 +321,8 @@ textarea {
213
321
  /* 1 */
214
322
  line-height: inherit;
215
323
  /* 1 */
324
+ letter-spacing: inherit;
325
+ /* 1 */
216
326
  color: inherit;
217
327
  /* 1 */
218
328
  margin: 0;
@@ -236,9 +346,9 @@ select {
236
346
  */
237
347
 
238
348
  button,
239
- [type='button'],
240
- [type='reset'],
241
- [type='submit'] {
349
+ input:where([type='button']),
350
+ input:where([type='reset']),
351
+ input:where([type='submit']) {
242
352
  -webkit-appearance: button;
243
353
  /* 1 */
244
354
  background-color: transparent;
@@ -458,106 +568,6 @@ summary{
458
568
  list-style: none;
459
569
  }
460
570
 
461
- *, ::before, ::after{
462
- --tw-border-spacing-x: 0;
463
- --tw-border-spacing-y: 0;
464
- --tw-translate-x: 0;
465
- --tw-translate-y: 0;
466
- --tw-rotate: 0;
467
- --tw-skew-x: 0;
468
- --tw-skew-y: 0;
469
- --tw-scale-x: 1;
470
- --tw-scale-y: 1;
471
- --tw-pan-x: ;
472
- --tw-pan-y: ;
473
- --tw-pinch-zoom: ;
474
- --tw-scroll-snap-strictness: proximity;
475
- --tw-gradient-from-position: ;
476
- --tw-gradient-via-position: ;
477
- --tw-gradient-to-position: ;
478
- --tw-ordinal: ;
479
- --tw-slashed-zero: ;
480
- --tw-numeric-figure: ;
481
- --tw-numeric-spacing: ;
482
- --tw-numeric-fraction: ;
483
- --tw-ring-inset: ;
484
- --tw-ring-offset-width: 0px;
485
- --tw-ring-offset-color: #fff;
486
- --tw-ring-color: rgb(59 130 246 / 0.5);
487
- --tw-ring-offset-shadow: 0 0 #0000;
488
- --tw-ring-shadow: 0 0 #0000;
489
- --tw-shadow: 0 0 #0000;
490
- --tw-shadow-colored: 0 0 #0000;
491
- --tw-blur: ;
492
- --tw-brightness: ;
493
- --tw-contrast: ;
494
- --tw-grayscale: ;
495
- --tw-hue-rotate: ;
496
- --tw-invert: ;
497
- --tw-saturate: ;
498
- --tw-sepia: ;
499
- --tw-drop-shadow: ;
500
- --tw-backdrop-blur: ;
501
- --tw-backdrop-brightness: ;
502
- --tw-backdrop-contrast: ;
503
- --tw-backdrop-grayscale: ;
504
- --tw-backdrop-hue-rotate: ;
505
- --tw-backdrop-invert: ;
506
- --tw-backdrop-opacity: ;
507
- --tw-backdrop-saturate: ;
508
- --tw-backdrop-sepia: ;
509
- }
510
-
511
- ::backdrop{
512
- --tw-border-spacing-x: 0;
513
- --tw-border-spacing-y: 0;
514
- --tw-translate-x: 0;
515
- --tw-translate-y: 0;
516
- --tw-rotate: 0;
517
- --tw-skew-x: 0;
518
- --tw-skew-y: 0;
519
- --tw-scale-x: 1;
520
- --tw-scale-y: 1;
521
- --tw-pan-x: ;
522
- --tw-pan-y: ;
523
- --tw-pinch-zoom: ;
524
- --tw-scroll-snap-strictness: proximity;
525
- --tw-gradient-from-position: ;
526
- --tw-gradient-via-position: ;
527
- --tw-gradient-to-position: ;
528
- --tw-ordinal: ;
529
- --tw-slashed-zero: ;
530
- --tw-numeric-figure: ;
531
- --tw-numeric-spacing: ;
532
- --tw-numeric-fraction: ;
533
- --tw-ring-inset: ;
534
- --tw-ring-offset-width: 0px;
535
- --tw-ring-offset-color: #fff;
536
- --tw-ring-color: rgb(59 130 246 / 0.5);
537
- --tw-ring-offset-shadow: 0 0 #0000;
538
- --tw-ring-shadow: 0 0 #0000;
539
- --tw-shadow: 0 0 #0000;
540
- --tw-shadow-colored: 0 0 #0000;
541
- --tw-blur: ;
542
- --tw-brightness: ;
543
- --tw-contrast: ;
544
- --tw-grayscale: ;
545
- --tw-hue-rotate: ;
546
- --tw-invert: ;
547
- --tw-saturate: ;
548
- --tw-sepia: ;
549
- --tw-drop-shadow: ;
550
- --tw-backdrop-blur: ;
551
- --tw-backdrop-brightness: ;
552
- --tw-backdrop-contrast: ;
553
- --tw-backdrop-grayscale: ;
554
- --tw-backdrop-hue-rotate: ;
555
- --tw-backdrop-invert: ;
556
- --tw-backdrop-opacity: ;
557
- --tw-backdrop-saturate: ;
558
- --tw-backdrop-sepia: ;
559
- }
560
-
561
571
  .form-input,.form-textarea,.form-select,.form-multiselect{
562
572
  -webkit-appearance: none;
563
573
  -moz-appearance: none;
@@ -604,6 +614,11 @@ summary{
604
614
 
605
615
  .form-input::-webkit-date-and-time-value{
606
616
  min-height: 1.5em;
617
+ text-align: inherit;
618
+ }
619
+
620
+ .form-input::-webkit-datetime-edit{
621
+ display: inline-flex;
607
622
  }
608
623
 
609
624
  .form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-year-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-meridiem-field{
@@ -621,6 +636,16 @@ summary{
621
636
  print-color-adjust: exact;
622
637
  }
623
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
+
624
649
  .form-checkbox,.form-radio{
625
650
  -webkit-appearance: none;
626
651
  -moz-appearance: none;
@@ -672,6 +697,14 @@ summary{
672
697
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
673
698
  }
674
699
 
700
+ @media (forced-colors: active) {
701
+ .form-checkbox:checked{
702
+ -webkit-appearance: auto;
703
+ -moz-appearance: auto;
704
+ appearance: auto;
705
+ }
706
+ }
707
+
675
708
  .form-checkbox:checked:hover,.form-checkbox:checked:focus,.form-radio:checked:hover,.form-radio:checked:focus{
676
709
  border-color: transparent;
677
710
  background-color: currentColor;
@@ -686,6 +719,14 @@ summary{
686
719
  background-repeat: no-repeat;
687
720
  }
688
721
 
722
+ @media (forced-colors: active) {
723
+ .form-checkbox:indeterminate{
724
+ -webkit-appearance: auto;
725
+ -moz-appearance: auto;
726
+ appearance: auto;
727
+ }
728
+ }
729
+
689
730
  .form-checkbox:indeterminate:hover,.form-checkbox:indeterminate:focus{
690
731
  border-color: transparent;
691
732
  background-color: currentColor;
@@ -800,6 +841,10 @@ summary{
800
841
  margin: 1.5rem;
801
842
  }
802
843
 
844
+ .m-auto{
845
+ margin: auto;
846
+ }
847
+
803
848
  .mb-1{
804
849
  margin-bottom: 0.25rem;
805
850
  }
@@ -924,10 +969,6 @@ summary{
924
969
  height: 1rem;
925
970
  }
926
971
 
927
- .h-4\/5{
928
- height: 80%;
929
- }
930
-
931
972
  .h-5{
932
973
  height: 1.25rem;
933
974
  }
@@ -1044,6 +1085,10 @@ summary{
1044
1085
  width: 5rem;
1045
1086
  }
1046
1087
 
1088
+ .w-24{
1089
+ width: 6rem;
1090
+ }
1091
+
1047
1092
  .w-4{
1048
1093
  width: 1rem;
1049
1094
  }
@@ -1092,8 +1137,16 @@ summary{
1092
1137
  width: 1.5em;
1093
1138
  }
1094
1139
 
1095
- .w-\[17\.78rem\]{
1096
- width: 17.78rem;
1140
+ .w-\[10\%\]{
1141
+ width: 10%;
1142
+ }
1143
+
1144
+ .w-\[15\%\]{
1145
+ width: 15%;
1146
+ }
1147
+
1148
+ .w-\[18\%\]{
1149
+ width: 18%;
1097
1150
  }
1098
1151
 
1099
1152
  .w-\[1rem\]{
@@ -1104,6 +1157,10 @@ summary{
1104
1157
  width: 22px;
1105
1158
  }
1106
1159
 
1160
+ .w-\[24\%\]{
1161
+ width: 24%;
1162
+ }
1163
+
1107
1164
  .w-\[400px\]{
1108
1165
  width: 400px;
1109
1166
  }
@@ -1112,14 +1169,31 @@ summary{
1112
1169
  width: 52px;
1113
1170
  }
1114
1171
 
1172
+ .w-\[7\%\]{
1173
+ width: 7%;
1174
+ }
1175
+
1115
1176
  .w-\[72px\]{
1116
1177
  width: 72px;
1117
1178
  }
1118
1179
 
1180
+ .w-\[8\%\]{
1181
+ width: 8%;
1182
+ }
1183
+
1184
+ .w-\[calc\(5rem\+2rem\+2\.5rem\+1px\)\]{
1185
+ width: calc(5rem + 2rem + 2.5rem + 1px);
1186
+ }
1187
+
1119
1188
  .w-auto{
1120
1189
  width: auto;
1121
1190
  }
1122
1191
 
1192
+ .w-fit{
1193
+ width: -moz-fit-content;
1194
+ width: fit-content;
1195
+ }
1196
+
1123
1197
  .w-full{
1124
1198
  width: 100%;
1125
1199
  }
@@ -1136,6 +1210,10 @@ summary{
1136
1210
  min-width: 40rem;
1137
1211
  }
1138
1212
 
1213
+ .max-w-\[15rem\]{
1214
+ max-width: 15rem;
1215
+ }
1216
+
1139
1217
  .max-w-\[20px\]{
1140
1218
  max-width: 20px;
1141
1219
  }
@@ -1168,6 +1246,10 @@ summary{
1168
1246
  flex-grow: 1;
1169
1247
  }
1170
1248
 
1249
+ .basis-10{
1250
+ flex-basis: 2.5rem;
1251
+ }
1252
+
1171
1253
  .table-auto{
1172
1254
  table-layout: auto;
1173
1255
  }
@@ -1290,12 +1372,6 @@ summary{
1290
1372
  gap: 1.5rem;
1291
1373
  }
1292
1374
 
1293
- .space-y-0 > :not([hidden]) ~ :not([hidden]){
1294
- --tw-space-y-reverse: 0;
1295
- margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
1296
- margin-bottom: calc(0px * var(--tw-space-y-reverse));
1297
- }
1298
-
1299
1375
  .space-y-0\.5 > :not([hidden]) ~ :not([hidden]){
1300
1376
  --tw-space-y-reverse: 0;
1301
1377
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
@@ -1313,10 +1389,6 @@ summary{
1313
1389
  border-color: rgb(222 222 222 / var(--tw-divide-opacity));
1314
1390
  }
1315
1391
 
1316
- .self-end{
1317
- align-self: flex-end;
1318
- }
1319
-
1320
1392
  .overflow-auto{
1321
1393
  overflow: auto;
1322
1394
  }
@@ -1423,10 +1495,6 @@ summary{
1423
1495
  border-top-width: 1px;
1424
1496
  }
1425
1497
 
1426
- .border-dotted{
1427
- border-style: dotted;
1428
- }
1429
-
1430
1498
  .border-gray-100{
1431
1499
  --tw-border-opacity: 1;
1432
1500
  border-color: rgb(222 222 222 / var(--tw-border-opacity));
@@ -1600,20 +1668,11 @@ summary{
1600
1668
  padding: 1rem;
1601
1669
  }
1602
1670
 
1603
- .p-6{
1604
- padding: 1.5rem;
1605
- }
1606
-
1607
1671
  .\!px-10{
1608
1672
  padding-left: 2.5rem !important;
1609
1673
  padding-right: 2.5rem !important;
1610
1674
  }
1611
1675
 
1612
- .px-1{
1613
- padding-left: 0.25rem;
1614
- padding-right: 0.25rem;
1615
- }
1616
-
1617
1676
  .px-1\.5{
1618
1677
  padding-left: 0.375rem;
1619
1678
  padding-right: 0.375rem;
@@ -1644,11 +1703,6 @@ summary{
1644
1703
  padding-right: 0.75rem;
1645
1704
  }
1646
1705
 
1647
- .py-0{
1648
- padding-top: 0px;
1649
- padding-bottom: 0px;
1650
- }
1651
-
1652
1706
  .py-0\.5{
1653
1707
  padding-top: 0.125rem;
1654
1708
  padding-bottom: 0.125rem;
@@ -1694,10 +1748,6 @@ summary{
1694
1748
  padding-bottom: 0.5rem;
1695
1749
  }
1696
1750
 
1697
- .pb-0{
1698
- padding-bottom: 0px;
1699
- }
1700
-
1701
1751
  .pb-0\.5{
1702
1752
  padding-bottom: 0.125rem;
1703
1753
  }
@@ -1710,10 +1760,6 @@ summary{
1710
1760
  padding-bottom: 2rem;
1711
1761
  }
1712
1762
 
1713
- .pt-0{
1714
- padding-top: 0px;
1715
- }
1716
-
1717
1763
  .pt-0\.5{
1718
1764
  padding-top: 0.125rem;
1719
1765
  }
@@ -1722,10 +1768,6 @@ summary{
1722
1768
  padding-top: 0.5rem;
1723
1769
  }
1724
1770
 
1725
- .pt-20{
1726
- padding-top: 5rem;
1727
- }
1728
-
1729
1771
  .text-left{
1730
1772
  text-align: left;
1731
1773
  }
@@ -1841,6 +1883,11 @@ summary{
1841
1883
  line-height: 1;
1842
1884
  }
1843
1885
 
1886
+ .\!text-red-500{
1887
+ --tw-text-opacity: 1 !important;
1888
+ color: rgb(220 55 40 / var(--tw-text-opacity)) !important;
1889
+ }
1890
+
1844
1891
  .text-black{
1845
1892
  --tw-text-opacity: 1;
1846
1893
  color: rgb(34 34 34 / var(--tw-text-opacity));
@@ -2402,12 +2449,6 @@ summary{
2402
2449
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2403
2450
  }
2404
2451
 
2405
- .focus\:ring-0:focus{
2406
- --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2407
- --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2408
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2409
- }
2410
-
2411
2452
  .focus\:ring-2:focus{
2412
2453
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2413
2454
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
@@ -2528,12 +2569,6 @@ summary{
2528
2569
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2529
2570
  }
2530
2571
 
2531
- .active\:ring-0:active{
2532
- --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2533
- --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2534
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2535
- }
2536
-
2537
2572
  .active\:ring-gray-300:active{
2538
2573
  --tw-ring-opacity: 1;
2539
2574
  --tw-ring-color: rgb(186 186 186 / var(--tw-ring-opacity));
@@ -9,4 +9,5 @@ html {
9
9
 
10
10
  main img {
11
11
  filter: invert(100%) hue-rotate(-180deg);
12
+ background-color: #fff;
12
13
  }
@@ -8,4 +8,5 @@ html {
8
8
 
9
9
  main img {
10
10
  filter: invert(91%) brightness(1.5) contrast(1.5) hue-rotate(-180deg);
11
+ background-color: #ddd;
11
12
  }
@@ -0,0 +1,27 @@
1
+ <%= turbo_frame_tag :edit_adjustment_reason_modal do %>
2
+ <%= render component("ui/modal").new(title: t(".title")) do |modal| %>
3
+ <%= form_for @adjustment_reason, url: solidus_admin.adjustment_reason_path(@adjustment_reason), html: { id: form_id } do |f| %>
4
+ <div class="flex flex-col gap-6 pb-4">
5
+ <%= render component("ui/forms/field").text_field(f, :name, class: "required") %>
6
+ <%= render component("ui/forms/field").text_field(f, :code, class: "required") %>
7
+ <label class="flex gap-2 items-center">
8
+ <%= hidden_field_tag "#{f.object_name}[active]", "0" %>
9
+ <%= render component("ui/forms/checkbox").new(
10
+ name: "#{f.object_name}[active]",
11
+ value: "1",
12
+ checked: f.object.active
13
+ ) %>
14
+ <span class="font-semibold text-xs ml-2"><%= Spree::AdjustmentReason.human_attribute_name :active %></span>
15
+ <%= render component("ui/toggletip").new(text: t(".hints.active")) %>
16
+ </label>
17
+ </div>
18
+ <% modal.with_actions do %>
19
+ <form method="dialog">
20
+ <%= render component("ui/button").new(scheme: :secondary, text: t('.cancel')) %>
21
+ </form>
22
+ <%= render component("ui/button").new(form: form_id, type: :submit, text: t('.submit')) %>
23
+ <% end %>
24
+ <% end %>
25
+ <% end %>
26
+ <% end %>
27
+ <%= render component("adjustment_reasons/index").new(page: @page) %>
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ class SolidusAdmin::AdjustmentReasons::Edit::Component < SolidusAdmin::BaseComponent
4
+ def initialize(page:, adjustment_reason:)
5
+ @page = page
6
+ @adjustment_reason = adjustment_reason
7
+ end
8
+
9
+ def form_id
10
+ dom_id(@adjustment_reason, "#{stimulus_id}_edit_adjustment_reason_form")
11
+ end
12
+ end