@eightshift/ui-components 5.6.1 → 6.0.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 (146) hide show
  1. package/dist/{Button-CQ5ZZJ2w.js → Button-BXjXzdW_.js} +13 -13
  2. package/dist/{Dialog-BMgMUQuN.js → Dialog-D8bjn-nh.js} +404 -77
  3. package/dist/{FieldError-B8BgFmIQ.js → FieldError-DwBG6m1U.js} +2 -2
  4. package/dist/{FocusScope-B5vxRkHm.js → FocusScope-BMk5oZCk.js} +8 -8
  5. package/dist/{Heading-B5aEynOM.js → Heading-BmRX4BRL.js} +3 -3
  6. package/dist/{Hidden-rE6uR-lr.js → Hidden-Rfj-STx7.js} +4 -4
  7. package/dist/{Input-8yja_IHC.js → Input-CNNksOWg.js} +11 -11
  8. package/dist/{Label-DWVaNd2E.js → Label-D8a3eYb-.js} +4 -4
  9. package/dist/{List-BiAnh5G5.js → List-BGHOoFf0.js} +8 -8
  10. package/dist/{ListBox-DggfiuO_.js → ListBox-Dd37zMvs.js} +40 -41
  11. package/dist/{OverlayArrow-DraDOoRn.js → OverlayArrow-DokC40S3.js} +6 -6
  12. package/dist/{PortalProvider---wyKpMr.js → PortalProvider-CHPnqDSH.js} +2 -2
  13. package/dist/RadioGroup-BVFvITWO.js +371 -0
  14. package/dist/{SearchField-DWGdCvnn.js → SearchField-CHYnN-jt.js} +16 -16
  15. package/dist/{SelectionManager-B6-b5NM2.js → SelectionManager-N8X7T_4D.js} +44 -46
  16. package/dist/{SharedElementTransition-fML-zIv6.js → SharedElementTransition-BDT84GtD.js} +3 -3
  17. package/dist/{Slider-DfU6bRtH.js → Slider-CL5CM9S8.js} +23 -23
  18. package/dist/{Text-AxKZjtFm.js → Text-ztX6G1zR.js} +3 -3
  19. package/dist/{VisuallyHidden-CgnIuZJ2.js → VisuallyHidden-DTUuKFiI.js} +4 -4
  20. package/dist/assets/style-admin.css +12156 -2
  21. package/dist/assets/style-editor.css +12156 -2
  22. package/dist/assets/style.css +12162 -2
  23. package/dist/assets/wp-overrides/allow-full-width-blocks.css +6 -0
  24. package/dist/assets/wp-overrides/fix-label-text-case.css +29 -0
  25. package/dist/assets/wp-overrides/increase-sidebar-width.css +4 -0
  26. package/dist/assets/wp-overrides/make-block-messages-nicer.css +155 -0
  27. package/dist/assets/wp-overrides/replace-fonts.css +8 -0
  28. package/dist/assets/wp-overrides/restyle-tooltips.css +194 -0
  29. package/dist/assets/wp-overrides/round-corners.css +200 -0
  30. package/dist/assets/wp-overrides/unify-button-sizes.css +5 -0
  31. package/dist/clsx-DgYk2OaC.js +16 -0
  32. package/dist/{Color-WxFE7lQB.js → color-swatch-CFIuSPcO.js} +124 -6
  33. package/dist/components/animated-visibility/animated-visibility.js +25 -17
  34. package/dist/components/base-control/base-control.js +8 -5
  35. package/dist/components/base-control/container.js +204 -0
  36. package/dist/components/button/button.js +249 -155
  37. package/dist/components/checkbox/checkbox.js +96 -37
  38. package/dist/components/color-pickers/color-picker.js +16 -7
  39. package/dist/components/color-pickers/color-swatch.js +5 -57
  40. package/dist/components/color-pickers/gradient-editor.js +161 -138
  41. package/dist/components/color-pickers/solid-color-picker.js +308 -206
  42. package/dist/components/component-toggle/component-toggle.js +12 -8
  43. package/dist/components/container-panel/container-panel.js +54 -31
  44. package/dist/components/draggable/draggable-handle.js +8 -7
  45. package/dist/components/draggable/draggable.js +2 -2
  46. package/dist/components/draggable-list/draggable-list-item.js +21 -12
  47. package/dist/components/draggable-list/draggable-list.js +19 -21
  48. package/dist/components/expandable/expandable.js +56 -28
  49. package/dist/components/index.js +7 -21
  50. package/dist/components/input-field/input-field.js +112 -35
  51. package/dist/components/item-collection/item-collection.js +1 -1
  52. package/dist/components/link-input/link-input.js +181 -121
  53. package/dist/components/matrix-align/matrix-align.js +54 -20
  54. package/dist/components/menu/menu.js +26 -34
  55. package/dist/components/modal/modal.js +31 -28
  56. package/dist/components/notice/notice.js +45 -28
  57. package/dist/components/number-picker/number-picker.js +151 -101
  58. package/dist/components/option-select/option-select.js +40 -4
  59. package/dist/components/options-panel/options-panel.js +52 -25
  60. package/dist/components/placeholders/file-picker-shell.js +10 -9
  61. package/dist/components/placeholders/file-placeholder.js +14 -6
  62. package/dist/components/placeholders/image-placeholder.js +14 -4
  63. package/dist/components/placeholders/media-placeholder.js +11 -4
  64. package/dist/components/popover/popover.js +14 -11
  65. package/dist/components/portal-provider/portal-provider.js +1 -1
  66. package/dist/components/radio/radio.js +118 -429
  67. package/dist/components/repeater/repeater-item.js +7 -10
  68. package/dist/components/repeater/repeater.js +9 -15
  69. package/dist/components/responsive/mini-responsive.js +53 -61
  70. package/dist/components/responsive/responsive-legacy.js +1 -1
  71. package/dist/components/responsive/responsive.js +27 -27
  72. package/dist/components/responsive-preview/responsive-preview.js +1 -1
  73. package/dist/components/rich-label/rich-label.js +5 -5
  74. package/dist/components/select/async-multi-select.js +467 -100
  75. package/dist/components/select/{v2/async-select.js → async-select.js} +182 -105
  76. package/dist/components/select/multi-select.js +437 -83
  77. package/dist/components/select/shared.js +14 -42
  78. package/dist/components/select/single-select.js +349 -54
  79. package/dist/components/slider/column-config-slider.js +138 -45
  80. package/dist/components/slider/slider.js +265 -205
  81. package/dist/components/slider/utils.js +32 -1
  82. package/dist/components/smart-image/smart-image.js +25 -4
  83. package/dist/components/smart-image/worker-inline.js +1 -1
  84. package/dist/components/spacer/spacer.js +2 -2
  85. package/dist/components/tabs/tabs.js +370 -101
  86. package/dist/components/toggle/switch.js +174 -39
  87. package/dist/components/toggle/toggle.js +6 -3
  88. package/dist/components/toggle-button/toggle-button.js +140 -56
  89. package/dist/components/tooltip/tooltip.js +27 -26
  90. package/dist/{context-DMOmz986.js → context-BQvmiUqb.js} +3 -3
  91. package/dist/{default-i18n-DBm-GqWM.js → default-i18n-CnQeC5Pl.js} +10 -10
  92. package/dist/{general-Ck8IV7xJ.js → general-B6pOveVp.js} +11 -10
  93. package/dist/icons/icons.js +28 -9
  94. package/dist/icons/jsx-svg.js +1 -1
  95. package/dist/icons/spinner.js +3 -1
  96. package/dist/{index-Dq3gT5pW.js → index-BHpUy2Ix.js} +1 -1
  97. package/dist/{index-D8-Zjpbd.js → index-oFgxU4zs.js} +3 -3
  98. package/dist/index.js +6 -20
  99. package/dist/proxy-0B6wWuDe.js +7409 -0
  100. package/dist/{react-jsx-parser.min-VUl-CuCv.js → react-jsx-parser.min-B_hvYYa1.js} +5 -5
  101. package/dist/{Select-BvggcFOX.js → shared-DwjRce5e.js} +170 -36
  102. package/dist/{textSelection-DbCKqaw8.js → textSelection-CwHUtNVX.js} +1 -1
  103. package/dist/{useButton-v9ngEj50.js → useButton-DdZrS1Kz.js} +3 -3
  104. package/dist/{useEvent-BifIGnVS.js → useEvent-BD7Olibq.js} +1 -1
  105. package/dist/{useFilter-BlkUH1Ma.js → useFilter-bhxeEDg8.js} +1 -1
  106. package/dist/{useFocusRing-Cgm0R4Cf.js → useFocusRing-D3b7Kh4P.js} +1 -1
  107. package/dist/{useFormReset-yV9VVy9R.js → useFormReset-WUv2PdFO.js} +1 -1
  108. package/dist/{useFormValidation-CeNsUGWK.js → useFormValidation-DQeXkyLm.js} +2 -2
  109. package/dist/{useHover-BRDW3y7-.js → useHover-Bycb7BsD.js} +7 -7
  110. package/dist/{useLabel-C8umX0gk.js → useLabel-Bnv4-T24.js} +2 -2
  111. package/dist/{useLabels-Cdxi6JSa.js → useLabels-B49ptFDX.js} +1 -1
  112. package/dist/{useListState-RdLrYsMP.js → useListState-ZKhRO8ML.js} +1 -1
  113. package/dist/{useLocalizedStringFormatter-eaZiN2tE.js → useLocalizedStringFormatter-NETP-8H8.js} +1 -1
  114. package/dist/{useNumberField-D16dDfYF.js → useNumberField-D2fUHql3.js} +10 -10
  115. package/dist/{useNumberFormatter-BCmkV-7c.js → useNumberFormatter-DGvuRCn7.js} +1 -1
  116. package/dist/{usePress-DJskZBH9.js → usePress-B8OteQMu.js} +6 -6
  117. package/dist/{useSingleSelectListState-n0AVMr3Y.js → useSingleSelectListState-BBTu4shO.js} +2 -2
  118. package/dist/{useToggle-DSBDAfdw.js → useToggle-BZhaYwZl.js} +4 -4
  119. package/dist/{useToggleState-CzN79ary.js → useToggleState-VkXJjsru.js} +1 -1
  120. package/dist/utilities/general.js +1 -1
  121. package/dist/utilities/index.js +1 -1
  122. package/dist/{utils-cvK1vxO7.js → utils-DGpXyJOJ.js} +29 -42
  123. package/dist/workers/image-analysis.worker.js +3 -3
  124. package/package.json +26 -22
  125. package/dist/ColorSwatch-xVS3rMYS.js +0 -66
  126. package/dist/Select-ef7c0426.esm-CmTkSxDx.js +0 -2474
  127. package/dist/Separator-B-xeqOkC.js +0 -344
  128. package/dist/assets/wp-font-enhancements.css +0 -2
  129. package/dist/assets/wp-ui-enhancements.css +0 -2
  130. package/dist/components/select/async-single-select.js +0 -138
  131. package/dist/components/select/custom-select-default-components.js +0 -38
  132. package/dist/components/select/multi-select-components.js +0 -8
  133. package/dist/components/select/react-select-component-wrappers.js +0 -90
  134. package/dist/components/select/styles.js +0 -49
  135. package/dist/components/select/v2/async-multi-select.js +0 -432
  136. package/dist/components/select/v2/multi-select.js +0 -403
  137. package/dist/components/select/v2/shared.js +0 -69
  138. package/dist/components/select/v2/single-select.js +0 -358
  139. package/dist/index-641ee5b8.esm-DVp0njHa.js +0 -3139
  140. package/dist/modifiers.esm-BuJQPI1X.js +0 -31
  141. package/dist/multi-select-components-CT_W0Cy9.js +0 -3744
  142. package/dist/react-select-async.esm-Zl1LPaPb.js +0 -107
  143. package/dist/react-select.esm-Bu36HujU.js +0 -15
  144. package/dist/useDragAndDrop-C08ZXv4F.js +0 -3925
  145. package/dist/wp/wp-font-enhancements.js +0 -1
  146. package/dist/wp/wp-ui-enhancements.js +0 -1
@@ -1,13 +1,13 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { a as $64fa3d84918910a7$export$29f1550f4b0d4415, l as $df56164dff5785e2$export$4338b53315abf666, m as $5dc95899b306f630$export$c9058316764c140e, g as $64fa3d84918910a7$export$ef03459518577ad4, h as $64fa3d84918910a7$export$4d86445c2cf5e3, b as $3ef42575df84b30b$export$9d1611c77c2fe928 } from "../../utils-cvK1vxO7.js";
2
+ import { $ as $64fa3d84918910a7$export$29f1550f4b0d4415, k as $df56164dff5785e2$export$4338b53315abf666, l as $5dc95899b306f630$export$c9058316764c140e, f as $64fa3d84918910a7$export$ef03459518577ad4, g as $64fa3d84918910a7$export$4d86445c2cf5e3, a as $3ef42575df84b30b$export$9d1611c77c2fe928 } from "../../utils-DGpXyJOJ.js";
3
3
  import { $ as $65484d02dcb7eb3e$export$457c3d6518dd4c6f } from "../../filterDOMProps-D2C6R0DK.js";
4
- import React__default, { forwardRef, createContext } from "react";
5
- import { $ as $3017fa7ffdddec74$export$8042c6c013fd5226 } from "../../useToggleState-CzN79ary.js";
6
- import { $ as $d2c8e2b0480f3f34$export$cbe85ee05b554577 } from "../../useToggle-DSBDAfdw.js";
7
- import { a as $f7dceffc5ad7768b$export$4e328f61c538687f } from "../../useFocusRing-Cgm0R4Cf.js";
8
- import { w as $6179b936705e76d3$export$ae780daf29e6d456 } from "../../useHover-BRDW3y7-.js";
9
- import { $ as $5c3e21d68f1c4674$export$439d29a4e110a164 } from "../../VisuallyHidden-CgnIuZJ2.js";
10
- import { c as clsx } from "../../lite-DVmmD_-j.js";
4
+ import $dbSRa$react__default, { forwardRef, createContext } from "react";
5
+ import { $ as $3017fa7ffdddec74$export$8042c6c013fd5226 } from "../../useToggleState-VkXJjsru.js";
6
+ import { $ as $d2c8e2b0480f3f34$export$cbe85ee05b554577 } from "../../useToggle-BZhaYwZl.js";
7
+ import { a as $f7dceffc5ad7768b$export$4e328f61c538687f } from "../../useFocusRing-D3b7Kh4P.js";
8
+ import { w as $6179b936705e76d3$export$ae780daf29e6d456 } from "../../useHover-Bycb7BsD.js";
9
+ import { $ as $5c3e21d68f1c4674$export$439d29a4e110a164 } from "../../VisuallyHidden-DTUuKFiI.js";
10
+ import { c as cva } from "../../index-BHpUy2Ix.js";
11
11
  function $b418ec0c85c52f27$export$d853f7095ae95f88(props, state, ref) {
12
12
  let { labelProps, inputProps, isSelected, isPressed, isDisabled, isReadOnly } = $d2c8e2b0480f3f34$export$cbe85ee05b554577(props, state, ref);
13
13
  return {
@@ -59,7 +59,7 @@ const $8e59e948500a8fe1$export$b5d5cf8927ab7262 = /* @__PURE__ */ forwardRef(fun
59
59
  });
60
60
  delete DOMProps.id;
61
61
  delete DOMProps.onClick;
62
- return /* @__PURE__ */ React__default.createElement("label", {
62
+ return /* @__PURE__ */ $dbSRa$react__default.createElement("label", {
63
63
  ...$3ef42575df84b30b$export$9d1611c77c2fe928(DOMProps, labelProps, hoverProps, renderProps),
64
64
  ref,
65
65
  slot: props.slot || void 0,
@@ -70,9 +70,9 @@ const $8e59e948500a8fe1$export$b5d5cf8927ab7262 = /* @__PURE__ */ forwardRef(fun
70
70
  "data-focus-visible": isFocusVisible || void 0,
71
71
  "data-disabled": isDisabled || void 0,
72
72
  "data-readonly": isReadOnly || void 0
73
- }, /* @__PURE__ */ React__default.createElement($5c3e21d68f1c4674$export$439d29a4e110a164, {
73
+ }, /* @__PURE__ */ $dbSRa$react__default.createElement($5c3e21d68f1c4674$export$439d29a4e110a164, {
74
74
  elementType: "span"
75
- }, /* @__PURE__ */ React__default.createElement("input", {
75
+ }, /* @__PURE__ */ $dbSRa$react__default.createElement("input", {
76
76
  ...$3ef42575df84b30b$export$9d1611c77c2fe928(inputProps, focusProps),
77
77
  ref: inputRef
78
78
  })), renderProps.children);
@@ -88,8 +88,12 @@ const $8e59e948500a8fe1$export$b5d5cf8927ab7262 = /* @__PURE__ */ forwardRef(fun
88
88
  * @param {string} [props.id] - The ID of the switch.
89
89
  * @param {string} [props.className] - Classes to pass to the switch.
90
90
  * @param {boolean} [props.isIndeterminate] - If `true`, the switch will render in an indeterminate state.
91
+ * @param {boolean} [props.flat] - If `true`, component will look more flat. Useful for nested layer of controls.
92
+ * @param {SwitchSize} [props.size='default'] - The size of the switch.
91
93
  * @param {boolean} [props.hidden] - If `true`, the component is not rendered.
92
94
  *
95
+ * @typedef {'default' | 'medium' | 'small'} SwitchSize
96
+ *
93
97
  * @returns {JSX.Element} The Switch component.
94
98
  *
95
99
  * @example
@@ -103,7 +107,150 @@ const $8e59e948500a8fe1$export$b5d5cf8927ab7262 = /* @__PURE__ */ forwardRef(fun
103
107
  * @preserve
104
108
  */
105
109
  const Switch2 = (props) => {
106
- const { checked, onChange, disabled, id, children, className, isIndeterminate, hidden, ...rest } = props;
110
+ const { checked, onChange, disabled, id, children, className, isIndeterminate, flat, hidden, size = "default", ...rest } = props;
111
+ const outsideClasses = cva(
112
+ [
113
+ "es:flex es:shrink-0 es:items-center",
114
+ "es:rounded-full",
115
+ "es:transition es:duration-300",
116
+ "es:group-focus-visible:ring-2 es:group-focus-visible:ring-accent-500/30 es:group-focus-visible:inset-ring-accent-500",
117
+ "es:inset-ring",
118
+ className
119
+ ],
120
+ {
121
+ variants: {
122
+ size: {
123
+ small: "es:h-3 es:w-5 es:p-0.5",
124
+ medium: "es:h-4.5 es:w-7.5 es:p-0.75",
125
+ default: "es:h-6 es:w-10 es:p-1"
126
+ },
127
+ disabled: {
128
+ false: [!flat && "es:shadow-xs es:shadow-black/5", "es:cursor-pointer"]
129
+ }
130
+ },
131
+ compoundVariants: [
132
+ {
133
+ checked: false,
134
+ disabled: false,
135
+ class: [
136
+ "es:inset-ring-secondary-400 es:bg-white es:bg-linear-to-r es:from-secondary-800/1 es:to-secondary-800/3",
137
+ "es:hover:bg-surface-100",
138
+ "es:group-hover:inset-ring-surface-400"
139
+ ]
140
+ },
141
+ {
142
+ checked: true,
143
+ disabled: false,
144
+ class: [
145
+ "es:bg-accent-500",
146
+ "es:bg-linear-to-r es:from-accent-800/0 es:to-accent-800/25",
147
+ "es:inset-ring-accent-800/30",
148
+ "es:inset-shadow-xs es:inset-shadow-accent-50/25",
149
+ "es:group-focus-visible:inset-ring-accent-800"
150
+ ]
151
+ },
152
+ {
153
+ checked: false,
154
+ disabled: true,
155
+ class: ["es:inset-ring-secondary-300 es:bg-white"]
156
+ },
157
+ {
158
+ checked: true,
159
+ disabled: true,
160
+ class: ["es:inset-ring-secondary-300 es:bg-secondary-300"]
161
+ }
162
+ ],
163
+ defaultVariants: {
164
+ disabled: false,
165
+ checked: false,
166
+ size: "default"
167
+ }
168
+ }
169
+ );
170
+ const thumbClasses = cva(["es:block es:rounded-full es:will-change-transform", "es:shrink-0", "es:no-webkit-highlight", "es:transition es:ease-spring-bouncy es:duration-400"], {
171
+ variants: {
172
+ disabled: {
173
+ false: [!flat && "es:shadow-xs es:shadow-black/5"]
174
+ },
175
+ checked: {
176
+ false: "es:not-pressed:scale-90",
177
+ true: "es:scale-110"
178
+ },
179
+ size: {
180
+ small: "es:size-2",
181
+ medium: "es:size-3",
182
+ default: "es:size-4"
183
+ }
184
+ },
185
+ compoundVariants: [
186
+ {
187
+ checked: true,
188
+ indeterminate: false,
189
+ size: "small",
190
+ class: "es:translate-x-2"
191
+ },
192
+ {
193
+ checked: true,
194
+ indeterminate: false,
195
+ size: "medium",
196
+ class: "es:translate-x-3"
197
+ },
198
+ {
199
+ checked: true,
200
+ indeterminate: false,
201
+ size: "default",
202
+ class: "es:translate-x-4"
203
+ },
204
+ {
205
+ checked: false,
206
+ indeterminate: true,
207
+ size: "small",
208
+ class: "es:translate-x-1"
209
+ },
210
+ {
211
+ checked: false,
212
+ indeterminate: true,
213
+ size: "medium",
214
+ class: "es:translate-x-1.5"
215
+ },
216
+ {
217
+ checked: false,
218
+ indeterminate: true,
219
+ size: "default",
220
+ class: "es:translate-x-2"
221
+ },
222
+ {
223
+ checked: false,
224
+ indeterminate: true,
225
+ class: "es:scale-100"
226
+ },
227
+ {
228
+ checked: false,
229
+ disabled: false,
230
+ class: ["es:bg-secondary-500", "es:group-hover:bg-surface-500"]
231
+ },
232
+ {
233
+ checked: true,
234
+ disabled: false,
235
+ class: ["es:bg-accent-50", "es:bg-linear-to-br es:from-white/10 es:to-white/20", "es:shadow-xs es:shadow-accent-950/20"]
236
+ },
237
+ {
238
+ checked: false,
239
+ disabled: true,
240
+ class: ["es:bg-secondary-400"]
241
+ },
242
+ {
243
+ checked: true,
244
+ disabled: true,
245
+ class: ["es:bg-white"]
246
+ }
247
+ ],
248
+ defaultVariants: {
249
+ disabled: false,
250
+ checked: false,
251
+ size: "default"
252
+ }
253
+ });
107
254
  if (hidden) {
108
255
  return null;
109
256
  }
@@ -114,43 +261,31 @@ const Switch2 = (props) => {
114
261
  isDisabled: disabled,
115
262
  isSelected: checked ?? false,
116
263
  onChange,
117
- className: "es:group es:flex es:items-center es:justify-between es:gap-2 es:any-focus:outline-hidden",
264
+ className: "es:group es:flex es:items-center es:justify-between es:gap-2.5 es:any-focus:outline-hidden",
118
265
  ...rest,
119
266
  children: [
120
267
  children,
121
- /* @__PURE__ */ jsx("div", { className: clsx("es:flex es:shrink-0 es:items-center es:justify-center es:min-h-6.5", className), children: /* @__PURE__ */ jsx(
268
+ /* @__PURE__ */ jsx(
122
269
  "div",
123
270
  {
124
- className: clsx(
125
- "es:shrink-0 es:group-not-disabled:cursor-pointer es:no-webkit-highlight",
126
- "es:h-5 es:w-9 es:p-[0.1875rem] es:rounded-full",
127
- "es:bg-radial-[circle_at_75%_50%]",
128
- "es:border es:inset-ring es:inset-shadow-xs",
129
- "es:transition",
130
- "es:group-focus-visible:ring-2 es:group-focus-visible:ring-accent-500/50 es:group-focus-visible:border-accent-600",
131
- !checked && !disabled && "es:border-secondary-400 es:inset-ring-secondary-100 es:from-white es:to-secondary-100",
132
- checked && !disabled && "es:border-accent-700/75 es:inset-ring-accent-500 es:to-accent-500 es:from-accent-600 es:shadow-accent-600/30",
133
- disabled && "es:cursor-default es:border-secondary-300 es:from-white es:to-secondary-50 es:inset-ring-0 es:inset-shadow-secondary-100",
134
- !disabled && "es:shadow-sm"
135
- ),
271
+ className: outsideClasses({
272
+ checked: checked ?? false,
273
+ disabled: Boolean(disabled),
274
+ size
275
+ }),
136
276
  children: /* @__PURE__ */ jsx(
137
- "span",
277
+ "div",
138
278
  {
139
- className: clsx(
140
- "es:block es:size-3 es:rounded-full es:border es:will-change-transform es:bg-radial",
141
- "es:transition es:motion-ease-spring-bouncy es:ease-[var(--motion-spring-bouncy)] es:duration-200",
142
- !checked && "es:scale-95",
143
- !checked && !disabled && "es:border-secondary-500 es:from-secondary-500 es:to-secondary-600",
144
- checked && "es:translate-x-4",
145
- checked && !disabled && "es:border-accent-600/20 es:from-white es:to-accent-500/30 es:from-40% es:bg-white es:shadow-sm es:shadow-accent-900/60",
146
- disabled && "es:border-secondary-300",
147
- checked && disabled && "es:bg-secondary-200",
148
- isIndeterminate && "es:translate-x-2 es:scale-100"
149
- )
279
+ className: thumbClasses({
280
+ checked: checked ?? false,
281
+ disabled: Boolean(disabled),
282
+ indeterminate: Boolean(isIndeterminate),
283
+ size
284
+ })
150
285
  }
151
286
  )
152
287
  }
153
- ) })
288
+ )
154
289
  ]
155
290
  }
156
291
  );
@@ -1,7 +1,8 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { $ as $01b77f81d0f07f68$export$b04be29aa201d4f5 } from "../../Label-DWVaNd2E.js";
2
+ import { $ as $01b77f81d0f07f68$export$b04be29aa201d4f5 } from "../../Label-D8a3eYb-.js";
3
3
  import { Switch } from "./switch.js";
4
4
  import { RichLabel } from "../rich-label/rich-label.js";
5
+ import { c as clsx } from "../../lite-DVmmD_-j.js";
5
6
  /**
6
7
  * A toggle switch with a label and optional icon and subtitle.
7
8
  *
@@ -16,6 +17,7 @@ import { RichLabel } from "../rich-label/rich-label.js";
16
17
  * @param {string} [props.className] - Classes to pass to the toggle switch.
17
18
  * @param {string} [props.labelClassName] - Classes to pass to the label.
18
19
  * @param {boolean} [props.isIndeterminate] - If `true`, the switch will render in an indeterminate state.
20
+ * @param {boolean} [props.flat] - If `true`, component will look more flat. Useful for nested layer of controls.
19
21
  * @param {boolean} [props.hidden] - If `true`, the component is not rendered.
20
22
  *
21
23
  * @returns {JSX.Element} The Toggle component.
@@ -33,7 +35,7 @@ import { RichLabel } from "../rich-label/rich-label.js";
33
35
  * @preserve
34
36
  */
35
37
  const Toggle = (props) => {
36
- const { checked, onChange, icon, label, subtitle, disabled, className, labelClassName, isIndeterminate, hidden } = props;
38
+ const { checked, onChange, icon, label, subtitle, disabled, className, labelClassName, isIndeterminate, flat, hidden } = props;
37
39
  if (hidden) {
38
40
  return null;
39
41
  }
@@ -45,6 +47,7 @@ const Toggle = (props) => {
45
47
  disabled,
46
48
  className,
47
49
  isIndeterminate,
50
+ flat,
48
51
  children: /* @__PURE__ */ jsx(
49
52
  RichLabel,
50
53
  {
@@ -52,7 +55,7 @@ const Toggle = (props) => {
52
55
  icon,
53
56
  label,
54
57
  subtitle,
55
- className: labelClassName,
58
+ className: clsx("es:py-2", labelClassName),
56
59
  fullWidth: true
57
60
  }
58
61
  )
@@ -1,13 +1,13 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { p as $ff5963eb1fccf552$export$e08e3b67e392101e, b as $3ef42575df84b30b$export$9d1611c77c2fe928, a as $64fa3d84918910a7$export$29f1550f4b0d4415, h as $64fa3d84918910a7$export$4d86445c2cf5e3 } from "../../utils-cvK1vxO7.js";
2
+ import { o as $ff5963eb1fccf552$export$e08e3b67e392101e, a as $3ef42575df84b30b$export$9d1611c77c2fe928, $ as $64fa3d84918910a7$export$29f1550f4b0d4415, g as $64fa3d84918910a7$export$4d86445c2cf5e3 } from "../../utils-DGpXyJOJ.js";
3
3
  import { $ as $1d5b8b8664671ef2$export$c9549807523555e0 } from "../../SelectionIndicator-D7WMzeAW.js";
4
- import React__default, { createContext, forwardRef, useContext } from "react";
4
+ import $dbSRa$react__default, { createContext, forwardRef, useContext } from "react";
5
5
  import { $ as $65484d02dcb7eb3e$export$457c3d6518dd4c6f } from "../../filterDOMProps-D2C6R0DK.js";
6
- import { $ as $3017fa7ffdddec74$export$8042c6c013fd5226 } from "../../useToggleState-CzN79ary.js";
7
- import { $ as $701a24aa0da5b062$export$ea18c227d4417cc3 } from "../../useButton-v9ngEj50.js";
8
- import { a as $f7dceffc5ad7768b$export$4e328f61c538687f } from "../../useFocusRing-Cgm0R4Cf.js";
9
- import { w as $6179b936705e76d3$export$ae780daf29e6d456 } from "../../useHover-BRDW3y7-.js";
10
- import { c as cva } from "../../index-Dq3gT5pW.js";
6
+ import { $ as $3017fa7ffdddec74$export$8042c6c013fd5226 } from "../../useToggleState-VkXJjsru.js";
7
+ import { $ as $701a24aa0da5b062$export$ea18c227d4417cc3 } from "../../useButton-DdZrS1Kz.js";
8
+ import { a as $f7dceffc5ad7768b$export$4e328f61c538687f } from "../../useFocusRing-D3b7Kh4P.js";
9
+ import { w as $6179b936705e76d3$export$ae780daf29e6d456 } from "../../useHover-Bycb7BsD.js";
10
+ import { c as cva } from "../../index-BHpUy2Ix.js";
11
11
  import { Tooltip } from "../tooltip/tooltip.js";
12
12
  function $55f54f7887471b58$export$51e84d46ca0bc451(props, state, ref) {
13
13
  const { isSelected } = state;
@@ -91,7 +91,7 @@ const $efde0372d7a700fe$export$d2b052e7b4be1756 = /* @__PURE__ */ forwardRef(fun
91
91
  });
92
92
  delete DOMProps.id;
93
93
  delete DOMProps.onClick;
94
- return /* @__PURE__ */ React__default.createElement("button", {
94
+ return /* @__PURE__ */ $dbSRa$react__default.createElement("button", {
95
95
  ...$3ef42575df84b30b$export$9d1611c77c2fe928(DOMProps, renderProps, buttonProps, focusProps, hoverProps),
96
96
  ref,
97
97
  slot: props.slot || void 0,
@@ -101,7 +101,7 @@ const $efde0372d7a700fe$export$d2b052e7b4be1756 = /* @__PURE__ */ forwardRef(fun
101
101
  "data-selected": isSelected || void 0,
102
102
  "data-hovered": isHovered || void 0,
103
103
  "data-focus-visible": isFocusVisible || void 0
104
- }, /* @__PURE__ */ React__default.createElement($1d5b8b8664671ef2$export$c9549807523555e0.Provider, {
104
+ }, /* @__PURE__ */ $dbSRa$react__default.createElement($1d5b8b8664671ef2$export$c9549807523555e0.Provider, {
105
105
  value: {
106
106
  isSelected
107
107
  }
@@ -127,12 +127,13 @@ const $efde0372d7a700fe$export$d2b052e7b4be1756 = /* @__PURE__ */ forwardRef(fun
127
127
  * @param {Function} [props.onChange] - Function to run when the toggle state changes.
128
128
  * @param {string} [props.wrapperClassName] - Classes to pass to the tooltip wrapper.
129
129
  * @param {TooltipProps} [props.tooltipProps] - Props to pass to the tooltip.
130
+ * @param {boolean} [props.flat] - If `true`, component will look more flat (applies only to `default` type). Useful for nested layer of controls.
130
131
  * @param {boolean} [props.hidden] - If `true`, the component is not rendered.
131
132
  *
132
133
  * @returns {JSX.Element} The ToggleButton component.
133
134
  *
134
135
  * @typedef {'small' | 'default' | 'large'} ToggleButtonSize
135
- * @typedef {'default'| 'ghost'} ToggleButtonType
136
+ * @typedef {'default'| 'ghost' | 'simple'} ToggleButtonType
136
137
  *
137
138
  * @example
138
139
  * const [selected, setSelected] = useState(false);
@@ -166,6 +167,7 @@ const ToggleButton2 = (props) => {
166
167
  onChange,
167
168
  wrapperClassName,
168
169
  tooltipProps,
170
+ flat,
169
171
  hidden,
170
172
  "aria-label": ariaLabel,
171
173
  ...other
@@ -175,89 +177,171 @@ const ToggleButton2 = (props) => {
175
177
  }
176
178
  const componentClasses = cva(
177
179
  [
178
- "es:flex es:items-center es:gap-1",
179
- "es:transition es:duration-300 es:border es:text-sm",
180
- "es:any-focus:outline-hidden es:focus-visible:z-10",
181
- "es:focus-visible:ring-2 es:focus-visible:ring-accent-500/50",
182
- "es:focus-visible:border-accent-500",
183
- "es:btn-group-mid:rounded-none",
184
- "es:btn-group-h-start:rounded-r-none es:btn-group-v-start:rounded-b-none",
185
- "es:btn-group-h-end:rounded-l-none es:btn-group-v-end:rounded-t-none",
186
- "es:enabled:not-pending:cursor-pointer",
180
+ 'es:font-variation-["wdth"_80,"YTLC"_520,"wdth"_64,"wght"_375]',
181
+ "es:flex es:items-center",
182
+ "es:transition-plus es:duration-300 es:ease-spring-snappy es:text-13",
183
+ "es:any-focus:outline-hidden",
184
+ "es:focus-visible:ring-2",
187
185
  "es:shrink-0",
188
- "es:pending:shadow-none! es:pending:cursor-wait",
189
- "es:bg-radial-[at_50%_125%]",
190
- icon && children ? "es:justify-start" : "es:justify-center",
186
+ "es:text-box-trim",
187
+ "es:leading-none",
188
+ "es:icon:size-5",
189
+ !disabled && "es:cursor-pointer",
190
+ icon && children ? "es:justify-start" : "es:justify-center-safe",
191
191
  className
192
192
  ],
193
193
  {
194
194
  variants: {
195
195
  size: {
196
- small: "es:icon:size-5 es:rounded-7",
197
- default: "es:icon:size-5 es:rounded-10",
198
- large: "es:icon:size-6 es:rounded-xl"
196
+ small: "es:gap-0.75",
197
+ default: "es:gap-1.25",
198
+ large: "es:gap-1.5"
199
+ },
200
+ selected: {
201
+ false: [
202
+ "es:btn-group-h:not-pressed:not-after-current:not-first:rounded-l-sm",
203
+ "es:btn-group-h:not-pressed:not-before-current:not-last:rounded-r-sm",
204
+ "es:btn-group-v:not-pressed:not-after-current:not-first:rounded-t-sm",
205
+ "es:btn-group-v:not-pressed:not-before-current:not-last:rounded-b-sm"
206
+ ]
199
207
  }
200
208
  },
201
209
  compoundVariants: [
210
+ {
211
+ size: "small",
212
+ selected: true,
213
+ class: "es:rounded-14"
214
+ },
215
+ {
216
+ size: "default",
217
+ selected: true,
218
+ class: "es:rounded-18"
219
+ },
220
+ {
221
+ size: "large",
222
+ selected: true,
223
+ class: "es:rounded-3xl"
224
+ },
225
+ {
226
+ size: "small",
227
+ selected: false,
228
+ class: "es:rounded-md es:hover:rounded-10! es:pressed:rounded-14!"
229
+ },
230
+ {
231
+ size: "default",
232
+ selected: false,
233
+ class: "es:rounded-10 es:hover:rounded-xl! es:pressed:rounded-18!"
234
+ },
235
+ {
236
+ size: "large",
237
+ selected: false,
238
+ class: "es:rounded-xl es:hover:rounded-2xl! es:pressed:rounded-3xl!"
239
+ },
240
+ // Default
202
241
  {
203
242
  type: "default",
204
243
  disabled: false,
205
244
  selected: false,
206
245
  class: [
207
246
  "es:text-black",
208
- "es:from-white es:to-secondary-50",
209
- "es:border-secondary-300",
210
- "es:inset-ring es:inset-ring-secondary-100",
211
- "es:inset-shadow-xs es:inset-shadow-secondary-100/50",
212
- "es:shadow-sm",
213
- "es:enabled:hover:shadow-md es:enabled:active:shadow-sm es:enabled:pressed:shadow-sm es:hover:inset-shadow-secondary-100 es:hover:to-secondary-100 es:hover:inset-ring-secondary-100",
214
- "es:hover:text-accent-950",
215
- "es:focus-visible:text-accent-950"
247
+ "es:bg-linear-to-b es:from-black/2 es:to-black/4 es:from-25% es:bg-white",
248
+ "es:inset-ring es:inset-ring-secondary-800/20",
249
+ "es:inset-shadow-sm es:inset-shadow-white/75",
250
+ !flat && "es:shadow-xs es:shadow-black/5",
251
+ "es:hover:bg-surface-100 es:hover:text-accent-900 es:hover:inset-ring-surface-300 es:hover:inset-shadow-white/10",
252
+ "es:pressed:bg-surface-100 es:pressed:text-accent-950 es:pressed:inset-ring-surface-300 es:pressed:inset-shadow-white/10",
253
+ "es:focus-visible:ring-accent-500/30 es:focus-visible:text-accent-950 es:focus-visible:inset-ring-accent-500 es:focus-visible:inset-shadow-accent-300/10 es:focus-visible:bg-accent-50"
216
254
  ]
217
255
  },
218
256
  {
219
- type: ["default", "ghost"],
257
+ type: "default",
220
258
  disabled: false,
221
259
  selected: true,
222
260
  class: [
223
- "es:text-white",
224
- "es:from-accent-500 es:to-accent-600",
225
- "es:border-accent-700",
261
+ 'es:font-variation-["wdth"_80,"YTLC"_520,"wdth"_64,"wght"_375,"GRAD"_150]',
262
+ "es:any-icon:drop-shadow-xs es:any-icon:drop-shadow-accent-800/25",
263
+ "es:text-white es:text-shadow-xs es:text-shadow-accent-900/30",
264
+ "es:bg-linear-to-b es:from-accent-800/10 es:to-accent-800/30 es:bg-accent-500 es:from-30%",
226
265
  "es:inset-ring es:inset-ring-accent-600",
227
- "es:inset-shadow-xs es:inset-shadow-accent-400/75",
228
- "es:focus-visible:border-accent-700",
229
- "es:focus-visible:inset-ring es:focus-visible:inset-ring-accent-600",
230
- "es:focus-visible:inset-shadow-xs es:focus-visible:inset-shadow-accent-400",
231
- "es:shadow es:shadow-accent-600/30 es:enabled:hover:shadow-md es:enabled:active:shadow-sm es:enabled:pressed:shadow-sm"
266
+ "es:inset-shadow-sm es:inset-shadow-accent-50/25",
267
+ !flat && "es:shadow-xs es:shadow-accent-900/30",
268
+ "es:hover:from-accent-800/20 es:hover:to-accent-800/40",
269
+ "es:pressed:from-accent-800/30 es:pressed:to-accent-800/50",
270
+ "es:focus-visible:ring-accent-500/30 es:focus-visible:inset-ring-accent-700 es:focus-visible:bg-accent-600"
232
271
  ]
233
272
  },
273
+ // Simple
274
+ {
275
+ type: "simple",
276
+ disabled: false,
277
+ selected: false,
278
+ class: [
279
+ "es:text-black",
280
+ "es:bg-secondary-50 es:bg-linear-to-br es:from-surface-500/2 es:to-surface-500/10",
281
+ "es:hover:bg-surface-100 es:hover:text-accent-900 es:hover:inset-ring-surface-300 es:hover:inset-shadow-white/10 es:hover:to-accent-700/5",
282
+ "es:pressed:bg-surface-100 es:pressed:text-accent-950 es:pressed:inset-ring-surface-300 es:pressed:inset-shadow-white/10",
283
+ "es:focus-visible:inset-ring es:focus-visible:ring-accent-500/30 es:focus-visible:text-accent-950 es:focus-visible:inset-ring-accent-500 es:focus-visible:inset-shadow-accent-300/10 es:focus-visible:bg-accent-50"
284
+ ]
285
+ },
286
+ {
287
+ type: "simple",
288
+ disabled: false,
289
+ selected: true,
290
+ class: [
291
+ "es:text-white",
292
+ "es:bg-linear-to-br es:from-accent-600/55 es:to-accent-600/90 es:text-white",
293
+ "es:focus-visible:inset-ring es:focus-visible:ring-accent-500/30 es:focus-visible:inset-ring-accent-500 es:focus-visible:inset-shadow-accent-300/10 es:focus-visible:bg-accent-50",
294
+ "es:inset-ring es:inset-ring-accent-800/15"
295
+ ]
296
+ },
297
+ // Ghost
234
298
  {
235
299
  type: "ghost",
236
300
  disabled: false,
237
301
  selected: false,
238
302
  class: [
239
- "es:border-accent-500/0 es:text-secondary-700",
240
- "es:hover:bg-accent-500/10 es:hover:text-accent-700",
241
- "es:active:bg-accent-50 es:pressed:bg-accent-50 es:active:text-accent-950 es:pressed:text-accent-950",
242
- "es:focus-visible:text-accent-700",
243
- "es:inset-ring es:inset-ring-accent-600/0",
244
- "es:inset-shadow-xs es:inset-shadow-accent-400/0"
303
+ "es:bg-white",
304
+ "es:bg-linear-to-br es:from-surface-200/0 es:to-surface-200/0 es:text-secondary-700",
305
+ "es:hover:from-surface-200/30 es:hover:to-surface-200/50 es:hover:text-accent-950",
306
+ "es:pressed:from-accent-600/5 es:pressed:to-accent-600/15 es:pressed:text-accent-900",
307
+ "es:focus-visible:bg-accent-50 es:focus-visible:text-accent-950 es:focus-visible:inset-ring es:focus-visible:ring-accent-500/30 es:focus-visible:inset-shadow-accent-300/10 es:focus-visible:inset-ring-accent-500"
245
308
  ]
246
309
  },
247
310
  {
311
+ type: "ghost",
312
+ disabled: false,
313
+ selected: true,
314
+ class: [
315
+ "es:bg-white",
316
+ "es:bg-linear-to-br es:from-accent-600/70 es:to-accent-600/90 es:text-white",
317
+ "es:inset-ring es:inset-ring-accent-800/15",
318
+ "es:focus-visible:bg-accent-50 es:focus-visible:inset-ring es:focus-visible:ring-accent-500/30 es:focus-visible:inset-shadow-accent-300/10 es:focus-visible:inset-ring-accent-500"
319
+ ]
320
+ },
321
+ {
322
+ type: ["default"],
323
+ disabled: true,
324
+ class: [
325
+ "es:bg-linear-to-br es:from-secondary-50 es:to-secondary-100",
326
+ "es:text-secondary-400 es:any-icon:text-secondary-400/50",
327
+ "es:inset-ring es:inset-ring-secondary-200"
328
+ ]
329
+ },
330
+ {
331
+ type: ["ghost"],
248
332
  disabled: true,
249
- class: "es:disabled:border-zinc-300 es:disabled:text-zinc-400 es:border es:shadow-none es:disabled:inset-shadow-transparent es:disabled:inset-ring-0"
333
+ class: ["es:text-secondary-500 es:any-icon:text-secondary-500/50"]
250
334
  },
251
335
  // Sizes.
252
336
  {
253
337
  size: "small",
254
338
  iconOnly: false,
255
- class: "es:h-7 es:min-w-7"
339
+ class: "es:h-8 es:min-w-8"
256
340
  },
257
341
  {
258
342
  size: "small",
259
343
  iconOnly: true,
260
- class: "es:size-7"
344
+ class: "es:size-8"
261
345
  },
262
346
  {
263
347
  size: "small",
@@ -269,7 +353,7 @@ const ToggleButton2 = (props) => {
269
353
  size: "small",
270
354
  hasIcon: true,
271
355
  iconOnly: false,
272
- class: "es:px-1"
356
+ class: "es:px-1.5"
273
357
  },
274
358
  {
275
359
  size: "default",
@@ -285,13 +369,13 @@ const ToggleButton2 = (props) => {
285
369
  size: "default",
286
370
  hasIcon: false,
287
371
  iconOnly: false,
288
- class: "es:px-2"
372
+ class: "es:px-2.5"
289
373
  },
290
374
  {
291
375
  size: "default",
292
376
  hasIcon: true,
293
377
  iconOnly: false,
294
- class: "es:px-1.5"
378
+ class: "es:px-2"
295
379
  },
296
380
  {
297
381
  size: "large",
@@ -307,13 +391,13 @@ const ToggleButton2 = (props) => {
307
391
  size: "large",
308
392
  hasIcon: false,
309
393
  iconOnly: false,
310
- class: "es:px-4"
394
+ class: "es:px-3"
311
395
  },
312
396
  {
313
397
  size: "large",
314
398
  hasIcon: true,
315
399
  iconOnly: false,
316
- class: "es:px-2"
400
+ class: "es:px-2.5"
317
401
  }
318
402
  ],
319
403
  defaultVariants: {