iron-cms 0.4.2 → 0.4.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a4f1606a68161e7822f4a8d5336b58b43343429a52bd0b3f7eaa6ab424935718
4
- data.tar.gz: f95582ddbb51348db5fee680404341b2efeb1c1b91a00098b098520a05378487
3
+ metadata.gz: aade30fddfac9c750a207836942b5fbf79b97d51f18b1458e7282c1f5aa8bf66
4
+ data.tar.gz: 7bcc380eb89f8d93732d03cc1871a2ab7ba7a9c240b71397a472bfb03ffed2c2
5
5
  SHA512:
6
- metadata.gz: ab8f9513f63854817eb29ccc2acbcb721a3e901bc56006fcca7e7951856ff57fb6e70043a35943b5c97bb5b711b94ef91124c3ec99cea2f16d403068e628b718
7
- data.tar.gz: 3bef9f1beb9bcf603b0c7b98b848438bc487f689e0671f8b15a4afa85f504fd9f173ea8382fa4fc412c0d36a15a83a79fd1ab7c4a6ddbc4a68409d1b4cae956b
6
+ metadata.gz: d374e972b8465cdd89c400de59283ea01e89aef7926ec661cb348db946ecdd94ef3a96d99245a9d8c87a556a68ba2a081e06e8b94ba58959ddc1f9488e83fdd5
7
+ data.tar.gz: 4760b6764fba0911a0f9d0becc01c2cfd4c8c02889cdfb8a1bb80866f3b24ef364520230c6ddcd2d0742899f5b2523d1368d310249eda4104fb9cefb1e4b4fe5
data/README.md CHANGED
@@ -207,27 +207,21 @@ To release a new version of the Iron gem:
207
207
  1. **Update the version and changelog:**
208
208
  - Update the version number in `lib/iron/version.rb`
209
209
  - Update `CHANGELOG.md` with the changes for the new version
210
+ - Run `bundle install` to update the lock file with the new version
210
211
 
211
- 2. **Commit and tag the release:**
212
+ 2. **Commit the changes:**
212
213
 
213
214
  ```bash
214
- git add -A
215
- git commit -m "chore: release version X.Y.Z"
216
- git tag -a vX.Y.Z -m "Release version X.Y.Z"
215
+ git commit -am "your commit message"
217
216
  ```
218
217
 
219
- 3. **Push to GitHub:**
218
+ 3. **Release the gem:**
220
219
 
221
220
  ```bash
222
- git push origin main --tags
221
+ bin/rails release
223
222
  ```
224
223
 
225
- 4. **Build and publish the gem:**
226
-
227
- ```bash
228
- gem build iron.gemspec
229
- gem push iron-X.Y.Z.gem
230
- ```
224
+ This command will build the gem, tag the commit with the version number, push to GitHub, and publish to RubyGems.
231
225
 
232
226
  ## Contributing
233
227
 
@@ -1699,151 +1699,6 @@
1699
1699
  }
1700
1700
  }
1701
1701
  }
1702
- .select {
1703
- display: block;
1704
- width: 100%;
1705
- appearance: none;
1706
- border-radius: var(--radius-lg);
1707
- padding-block: calc(calc(var(--spacing) * 2.5) - 1px);
1708
- @media (width >= 40rem) {
1709
- padding-block: calc(calc(var(--spacing) * 1.5) - 1px);
1710
- }
1711
- padding-right: calc(calc(var(--spacing) * 4.5) - 1px);
1712
- padding-left: calc(calc(var(--spacing) * 3.5) - 1px);
1713
- @media (width >= 40rem) {
1714
- padding-right: calc(calc(var(--spacing) * 4) - 1px);
1715
- }
1716
- @media (width >= 40rem) {
1717
- padding-left: calc(calc(var(--spacing) * 3) - 1px);
1718
- }
1719
- font-size: var(--text-base);
1720
- line-height: calc(var(--spacing) * 6);
1721
- color: var(--color-stone-950);
1722
- &::placeholder {
1723
- color: var(--color-stone-500);
1724
- }
1725
- @media (width >= 40rem) {
1726
- font-size: var(--text-sm);
1727
- line-height: calc(var(--spacing) * 6);
1728
- }
1729
- @media (prefers-color-scheme: dark) {
1730
- color: var(--color-white);
1731
- }
1732
- border-style: var(--tw-border-style);
1733
- border-width: 1px;
1734
- border-color: color-mix(in srgb, oklch(14.7% 0.004 49.25) 10%, transparent);
1735
- @supports (color: color-mix(in lab, red, red)) {
1736
- border-color: color-mix(in oklab, var(--color-stone-950) 10%, transparent);
1737
- }
1738
- &:hover {
1739
- @media (hover: hover) {
1740
- border-color: color-mix(in srgb, oklch(14.7% 0.004 49.25) 20%, transparent);
1741
- @supports (color: color-mix(in lab, red, red)) {
1742
- border-color: color-mix(in oklab, var(--color-stone-950) 20%, transparent);
1743
- }
1744
- }
1745
- }
1746
- @media (prefers-color-scheme: dark) {
1747
- border-color: color-mix(in srgb, #fff 10%, transparent);
1748
- @supports (color: color-mix(in lab, red, red)) {
1749
- border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
1750
- }
1751
- }
1752
- @media (prefers-color-scheme: dark) {
1753
- &:hover {
1754
- @media (hover: hover) {
1755
- border-color: color-mix(in srgb, #fff 20%, transparent);
1756
- @supports (color: color-mix(in lab, red, red)) {
1757
- border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
1758
- }
1759
- }
1760
- }
1761
- }
1762
- background-color: var(--color-white);
1763
- @media (prefers-color-scheme: dark) {
1764
- background-color: var(--color-stone-800);
1765
- }
1766
- &:focus {
1767
- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1768
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1769
- }
1770
- &:focus {
1771
- --tw-ring-color: var(--color-blue-500);
1772
- }
1773
- &:focus {
1774
- --tw-outline-style: none;
1775
- outline-style: none;
1776
- }
1777
- &:focus {
1778
- --tw-ring-inset: inset;
1779
- }
1780
- &:disabled {
1781
- border-color: color-mix(in srgb, oklch(14.7% 0.004 49.25) 20%, transparent);
1782
- @supports (color: color-mix(in lab, red, red)) {
1783
- border-color: color-mix(in oklab, var(--color-stone-950) 20%, transparent);
1784
- }
1785
- }
1786
- &:disabled {
1787
- opacity: 50%;
1788
- }
1789
- @media (prefers-color-scheme: dark) {
1790
- &:disabled {
1791
- border-color: color-mix(in srgb, #fff 15%, transparent);
1792
- @supports (color: color-mix(in lab, red, red)) {
1793
- border-color: color-mix(in oklab, var(--color-white) 15%, transparent);
1794
- }
1795
- }
1796
- }
1797
- @media (prefers-color-scheme: dark) {
1798
- &:disabled {
1799
- background-color: color-mix(in srgb, #fff 2.5%, transparent);
1800
- @supports (color: color-mix(in lab, red, red)) {
1801
- background-color: color-mix(in oklab, var(--color-white) 2.5%, transparent);
1802
- }
1803
- }
1804
- }
1805
- &[multiple] {
1806
- padding-inline: calc(calc(var(--spacing) * 3.5) - 1px);
1807
- @media (width >= 40rem) {
1808
- padding-inline: calc(calc(var(--spacing) * 3) - 1px);
1809
- }
1810
- }
1811
- &[data-ui~="invalid"] {
1812
- border-color: var(--color-red-500);
1813
- &:hover {
1814
- @media (hover: hover) {
1815
- border-color: var(--color-red-500);
1816
- }
1817
- }
1818
- @media (prefers-color-scheme: dark) {
1819
- border-color: var(--color-red-500);
1820
- }
1821
- @media (prefers-color-scheme: dark) {
1822
- &:hover {
1823
- @media (hover: hover) {
1824
- border-color: var(--color-red-500);
1825
- }
1826
- }
1827
- }
1828
- }
1829
- @supports (appearance: base-select) {
1830
- appearance: base-select;
1831
- &::picker-icon {
1832
- color: var(--color-stone-500);
1833
- transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
1834
- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1835
- transition-duration: var(--tw-duration, var(--default-transition-duration));
1836
- --tw-duration: 200ms;
1837
- transition-duration: 200ms;
1838
- @media (prefers-color-scheme: dark) {
1839
- color: var(--color-stone-400);
1840
- }
1841
- }
1842
- &:open::picker-icon {
1843
- rotate: 180deg;
1844
- }
1845
- }
1846
- }
1847
1702
  .line-clamp-1 {
1848
1703
  overflow: hidden;
1849
1704
  display: -webkit-box;
@@ -4613,7 +4468,7 @@
4613
4468
  }
4614
4469
  }
4615
4470
  }
4616
- input[type="submit"], input[type="button"], button {
4471
+ input[type="submit"], input[type="button"], button:not(el-select button) {
4617
4472
  @layer components {
4618
4473
  @layer components {
4619
4474
  @layer components {
@@ -4714,6 +4569,9 @@
4714
4569
  }
4715
4570
  }
4716
4571
  }
4572
+ label + div {
4573
+ margin-top: calc(var(--spacing) * 2);
4574
+ }
4717
4575
  }
4718
4576
  }
4719
4577
  [data-controller="icon-picker"] {
@@ -5362,10 +5220,6 @@
5362
5220
  inherits: false;
5363
5221
  initial-value: solid;
5364
5222
  }
5365
- @property --tw-duration {
5366
- syntax: "*";
5367
- inherits: false;
5368
- }
5369
5223
  @property --tw-translate-x {
5370
5224
  syntax: "*";
5371
5225
  inherits: false;
@@ -5460,6 +5314,10 @@
5460
5314
  syntax: "*";
5461
5315
  inherits: false;
5462
5316
  }
5317
+ @property --tw-duration {
5318
+ syntax: "*";
5319
+ inherits: false;
5320
+ }
5463
5321
  @property --tw-ease {
5464
5322
  syntax: "*";
5465
5323
  inherits: false;
@@ -5527,7 +5385,6 @@
5527
5385
  --tw-drop-shadow-alpha: 100%;
5528
5386
  --tw-drop-shadow-size: initial;
5529
5387
  --tw-border-style: solid;
5530
- --tw-duration: initial;
5531
5388
  --tw-translate-x: 0;
5532
5389
  --tw-translate-y: 0;
5533
5390
  --tw-translate-z: 0;
@@ -5550,6 +5407,7 @@
5550
5407
  --tw-backdrop-opacity: initial;
5551
5408
  --tw-backdrop-saturate: initial;
5552
5409
  --tw-backdrop-sepia: initial;
5410
+ --tw-duration: initial;
5553
5411
  --tw-ease: initial;
5554
5412
  --tw-scale-x: 1;
5555
5413
  --tw-scale-y: 1;
@@ -7,7 +7,6 @@
7
7
  @import './components/input.css';
8
8
  @import './components/textarea.css';
9
9
  @import './components/button.css';
10
- @import './components/select.css';
11
10
  @import './components/dropdown.css';
12
11
  @import './components/fieldset.css';
13
12
  @import './components/page.css';
@@ -7,8 +7,12 @@
7
7
  input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]) {
8
8
  @apply input;
9
9
  }
10
- input[type="submit"], input[type="button"], button {
10
+ input[type="submit"], input[type="button"], button:not(el-select button) {
11
11
  @apply btn;
12
12
  }
13
+
14
+ label + div {
15
+ @apply mt-2;
16
+ }
13
17
  }
14
18
  }
@@ -43,7 +43,7 @@ module Iron
43
43
  def collection_select(method, collection, value_method, text_method, options = {}, html_options = {})
44
44
  selected_value = object.send(method) rescue nil
45
45
 
46
- @template.render partial: "iron/shared/collection_select", locals: {
46
+ @template.render partial: "iron/shared/select", locals: {
47
47
  field_name: "#{object_name}[#{method}]",
48
48
  select_id: html_options[:id] || "#{object_name}_#{method}",
49
49
  selected_value: selected_value,
@@ -56,7 +56,7 @@ module Iron
56
56
  end
57
57
 
58
58
  def select(method, choices = nil, options = {}, html_options = {}, &block)
59
- selected_value = object.send(method) rescue nil
59
+ selected_value = options[:selected] || (object.send(method) rescue nil)
60
60
 
61
61
  # Convert choices to a uniform format
62
62
  collection = case choices
@@ -74,7 +74,7 @@ module Iron
74
74
  []
75
75
  end
76
76
 
77
- @template.render partial: "iron/shared/collection_select", locals: {
77
+ @template.render partial: "iron/shared/select", locals: {
78
78
  field_name: "#{object_name}[#{method}]",
79
79
  select_id: html_options[:id] || "#{object_name}_#{method}",
80
80
  selected_value: selected_value,
@@ -52,10 +52,7 @@
52
52
  <div class="field">
53
53
  <%= form.label :type, "Type" %>
54
54
  <div>
55
- <%= form.select :type,
56
- options_for_select(Iron::ContentType::TYPES.map { |t| [t, Iron::ContentType.classify_type(t)] }, content_type.type),
57
- {},
58
- { class: "select" } %>
55
+ <%= form.select :type, Iron::ContentType::TYPES.map { |t| [t, Iron::ContentType.classify_type(t)] } %>
59
56
  <p class="text-sm text-stone-500 mt-1">Single entry types have only one entry, collections can have multiple entries</p>
60
57
  <%= form.error_for :type %>
61
58
  </div>
@@ -66,12 +63,11 @@
66
63
  <div class="field">
67
64
  <%= form.label :title_field_definition_id, "Title Field" %>
68
65
  <div>
69
- <%= form.collection_select :title_field_definition_id,
70
- content_type.titlable_definitions,
71
- :id,
72
- :name,
73
- { include_blank: "Select a field" },
74
- { class: "select" } %>
66
+ <%= form.collection_select :title_field_definition_id,
67
+ content_type.titlable_definitions,
68
+ :id,
69
+ :name,
70
+ { include_blank: "Select a field" } %>
75
71
  <p class="text-sm text-stone-500 mt-1">Field used for entry titles in the admin interface</p>
76
72
  <%= form.error_for :title_field_definition_id %>
77
73
  </div>
@@ -102,17 +98,13 @@
102
98
  <%= form.label :web_page_title_field_definition_id, "Web Page Title Field" %>
103
99
  <div>
104
100
  <% if content_type.titlable_definitions.any? %>
105
- <%= form.collection_select :web_page_title_field_definition_id,
106
- content_type.titlable_definitions,
107
- :id,
108
- :name,
109
- { include_blank: "Select a field" },
110
- { class: "select" } %>
101
+ <%= form.collection_select :web_page_title_field_definition_id,
102
+ content_type.titlable_definitions,
103
+ :id,
104
+ :name,
105
+ { include_blank: "Select a field" } %>
111
106
  <% else %>
112
- <%= form.select :web_page_title_field_definition_id,
113
- options_for_select([["No compatible fields", ""]]),
114
- {},
115
- { class: "select", disabled: true } %>
107
+ <%= form.select :web_page_title_field_definition_id, [["No compatible fields", ""]], {}, { disabled: true } %>
116
108
  <% end %>
117
109
  <p class="text-sm text-stone-500 mt-1">Field used to generate the URL handle for each entry</p>
118
110
  <%= form.error_for :web_page_title_field_definition_id %>
@@ -24,8 +24,7 @@
24
24
  :code,
25
25
  :name,
26
26
  { selected: params[:locale] },
27
- onchange: "this.form.requestSubmit()",
28
- class: "select" %>
27
+ { onchange: "this.form.requestSubmit()" } %>
29
28
  <% end %>
30
29
  <% end %>
31
30
  <% if @entry.content_type.web_publishing_enabled? && !@entry.route.nil? %>
@@ -10,8 +10,7 @@
10
10
  :code,
11
11
  :name,
12
12
  { selected: params[:locale] },
13
- onchange: "this.form.requestSubmit()",
14
- class: "select" %>
13
+ { onchange: "this.form.requestSubmit()" } %>
15
14
  <% end %>
16
15
  <% end %>
17
16
  </div>
@@ -8,5 +8,5 @@
8
8
 
9
9
  <%= builder.label :referenced_entry_id, field.definition.name %>
10
10
  <% entries = Iron::Entry.with_content_type(field.definition.supported_content_types.pluck(:id)) %>
11
- <%= builder.collection_select :referenced_entry_id, entries, :id, :title, { include_blank: "Select an entry" }, { class: "select" } %>
11
+ <%= builder.collection_select :referenced_entry_id, entries, :id, :title, { include_blank: "Select an entry" } %>
12
12
  </div>
@@ -26,7 +26,7 @@
26
26
  </div>
27
27
 
28
28
  <div>
29
- <%= builder.collection_select :value_entry_id, Iron::Entry.all, :id, :title, { include_blank: "Select an entry" }, { class: "select" } if false %>
29
+ <%= builder.collection_select :value_entry_id, Iron::Entry.all, :id, :title, { include_blank: "Select an entry" } if false %>
30
30
 
31
31
  <div>
32
32
  <% picker_id = "picker_#{reference_list_dom_id}" %>
@@ -15,8 +15,7 @@
15
15
  <% if field.definition.allowed_values.present? %>
16
16
  <%= builder.select :value_string,
17
17
  field.definition.allowed_values,
18
- { include_blank: "Select #{field.definition.name}" },
19
- { class: "select" } %>
18
+ { include_blank: "Select #{field.definition.name}" } %>
20
19
  <% else %>
21
20
  <%= builder.text_field :value_string %>
22
21
  <% end %>
@@ -6,10 +6,7 @@
6
6
  Iron::BlockDefinition.all,
7
7
  :id, :name,
8
8
  { prompt: "Select a block definition" },
9
- {
10
- name: "field_definition[supported_block_definition_ids][]",
11
- class: "select"
12
- } %>
9
+ { name: "field_definition[supported_block_definition_ids][]" } %>
13
10
 
14
11
  </div>
15
12
  </div>
@@ -8,9 +8,9 @@
8
8
  <div class="mt-6 mb-2 w-64">
9
9
  <%= form_with(method: :get) do |form| %>
10
10
  <%= form.select :type,
11
- options_for_select(field_definition_type_options, @field_definition.type_handle),
12
- {},
13
- { onchange: "this.form.requestSubmit()", class: "select" }
11
+ field_definition_type_options,
12
+ { selected: @field_definition.type_handle },
13
+ { onchange: "this.form.requestSubmit()" }
14
14
  %>
15
15
  <% end %>
16
16
  </div>
@@ -19,12 +19,7 @@
19
19
  <div class="field">
20
20
  <%= form.label :default_locale_id, "Default Locale" %>
21
21
  <div>
22
- <%= form.collection_select :default_locale_id,
23
- @locales,
24
- :id,
25
- :name,
26
- {},
27
- { class: "select" } %>
22
+ <%= form.collection_select :default_locale_id, @locales, :id, :name %>
28
23
  <%= form.error_for :default_locale_id %>
29
24
  </div>
30
25
  </div>
@@ -1,6 +1,6 @@
1
1
  <%# locals: (field_name:, select_id:, selected_value:, collection:, value_method:, text_method:, options:, html_options:) -%>
2
2
 
3
- <el-select id="<%= select_id %>" name="<%= field_name %>" value="<%= selected_value %>" class="mt-2 block">
3
+ <el-select id="<%= select_id %>" name="<%= field_name %>" value="<%= selected_value %>" class="<%= tw("block", html_options[:class]) %>">
4
4
  <button type="button" class="grid w-full cursor-default grid-cols-1 rounded-md bg-white py-1.5 pr-2 pl-3 text-left text-stone-900 outline-1 -outline-offset-1 outline-stone-400 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-sky-600 sm:text-sm/6 dark:bg-white/5 dark:text-white dark:outline-white/10 dark:focus-visible:outline-sky-500">
5
5
  <el-selectedcontent class="col-start-1 row-start-1 truncate pr-6"></el-selectedcontent>
6
6
  <%= icon "chevrons-up-down", class: "col-start-1 row-start-1 size-5 self-center justify-self-end text-stone-500 sm:size-4 dark:text-stone-400" %>
@@ -11,7 +11,7 @@
11
11
  <div class="field">
12
12
  <%= form.label :role, "User role" %>
13
13
  <div>
14
- <%= form.collection_select :role, Iron::User.roles.keys, :to_s, :titleize, {}, { class: "select" } %>
14
+ <%= form.collection_select :role, Iron::User.roles.keys, :to_s, :titleize %>
15
15
  <%= form.error_for :role %>
16
16
  </div>
17
17
  </div>
@@ -15,7 +15,7 @@
15
15
  <div class="field">
16
16
  <%= form.label :role, "User role", class: "sr-only" %>
17
17
  <div>
18
- <%= form.collection_select :role, Iron::User.roles.keys, :to_s, :titleize, {}, { class: "select" } %>
18
+ <%= form.collection_select :role, Iron::User.roles.keys, :to_s, :titleize %>
19
19
  <%= form.error_for :role %>
20
20
  </div>
21
21
  </div>
data/lib/iron/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Iron
2
- VERSION = "0.4.2"
2
+ VERSION = "0.4.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iron-cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Massimo De Marchi
@@ -185,7 +185,6 @@ files:
185
185
  - app/assets/tailwind/iron/components/icon-picker.css
186
186
  - app/assets/tailwind/iron/components/input.css
187
187
  - app/assets/tailwind/iron/components/page.css
188
- - app/assets/tailwind/iron/components/select.css
189
188
  - app/assets/tailwind/iron/components/sidebar.css
190
189
  - app/assets/tailwind/iron/components/textarea.css
191
190
  - app/controllers/concerns/iron/authentication.rb
@@ -378,8 +377,8 @@ files:
378
377
  - app/views/iron/schemas/new.html.erb
379
378
  - app/views/iron/sessions/new.html.erb
380
379
  - app/views/iron/settings/show.html.erb
381
- - app/views/iron/shared/_collection_select.html.erb
382
380
  - app/views/iron/shared/_icon_picker.html.erb
381
+ - app/views/iron/shared/_select.html.erb
383
382
  - app/views/iron/users/_form.html.erb
384
383
  - app/views/iron/users/_user.html.erb
385
384
  - app/views/iron/users/edit.html.erb
@@ -1,36 +0,0 @@
1
- @utility select {
2
- @apply block w-full rounded-lg appearance-none;
3
- @apply py-[calc(--spacing(2.5)-1px)] sm:py-[calc(--spacing(1.5)-1px)];
4
- @apply pl-[calc(--spacing(3.5)-1px)] pr-[calc(--spacing(4.5)-1px)]
5
- sm:pl-[calc(--spacing(3)-1px)] sm:pr-[calc(--spacing(4)-1px)];
6
- @apply text-base/6 sm:text-sm/6 text-stone-950 placeholder:text-stone-500
7
- dark:text-white;
8
- @apply border border-stone-950/10 hover:border-stone-950/20
9
- dark:border-white/10 dark:hover:border-white/20;
10
- @apply bg-white dark:bg-stone-800;
11
- @apply focus:outline-none focus:ring-2 focus:ring-inset focus:ring-blue-500;
12
- @apply disabled:opacity-50 disabled:border-stone-950/20
13
- dark:disabled:border-white/15 dark:disabled:bg-white/[2.5%];
14
-
15
- /* Multi-select needs equal padding both sides */
16
- &[multiple] { @apply px-[calc(--spacing(3.5)-1px)]
17
- sm:px-[calc(--spacing(3)-1px)]; }
18
-
19
- /* Validation error, toggled with attribute */
20
- &[data-ui~="invalid"] {
21
- @apply border-red-500 hover:border-red-500
22
- dark:border-red-500 dark:hover:border-red-500;
23
- }
24
-
25
- @supports (appearance: base-select) {
26
- appearance: base-select;
27
-
28
- &::picker-icon {
29
- @apply text-stone-500 dark:text-stone-400 transition duration-200;
30
- }
31
- &:open::picker-icon {
32
- @apply rotate-180;
33
- }
34
- }
35
- }
36
-