@eightshift/ui-components 6.0.4 → 6.0.5

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.
@@ -2496,6 +2496,11 @@ input[data-rac]::-webkit-search-cancel-button {
2496
2496
  translate: var(--tw-translate-x) var(--tw-translate-y);
2497
2497
  }
2498
2498
 
2499
+ :is(body, body #wpwrap) .es\:-translate-y-4 {
2500
+ --tw-translate-y: calc(var(--es-spacing) * -4);
2501
+ translate: var(--tw-translate-x) var(--tw-translate-y);
2502
+ }
2503
+
2499
2504
  :is(body, body #wpwrap) .es\:translate-y-0 {
2500
2505
  --tw-translate-y: calc(var(--es-spacing) * 0);
2501
2506
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -2766,10 +2771,6 @@ input[data-rac]::-webkit-search-cancel-button {
2766
2771
  cursor: not-allowed;
2767
2772
  }
2768
2773
 
2769
- :is(body, body #wpwrap) .es\:cursor-pointer {
2770
- cursor: pointer;
2771
- }
2772
-
2773
2774
  :is(body, body #wpwrap) .es\:cursor-wait {
2774
2775
  cursor: wait;
2775
2776
  }
@@ -7864,10 +7865,6 @@ input[data-rac]::-webkit-search-cancel-button {
7864
7865
  border-bottom-left-radius: var(--es-radius-md);
7865
7866
  }
7866
7867
 
7867
- :is(body, body #wpwrap) .es\:not-disabled\:cursor-pointer:not(:is(:disabled, [data-rac][data-disabled])) {
7868
- cursor: pointer;
7869
- }
7870
-
7871
7868
  :is(body, body #wpwrap) .es\:not-has-any-icon\:aspect-5\/3:not(:has(* svg)) {
7872
7869
  aspect-ratio: 5 / 3;
7873
7870
  }
@@ -2464,6 +2464,11 @@ button, input:where([type="button"], [type="reset"], [type="submit"]) {
2464
2464
  translate: var(--tw-translate-x) var(--tw-translate-y);
2465
2465
  }
2466
2466
 
2467
+ :is(body, #wpwrap #editor) .es\:-translate-y-4 {
2468
+ --tw-translate-y: calc(var(--es-spacing) * -4);
2469
+ translate: var(--tw-translate-x) var(--tw-translate-y);
2470
+ }
2471
+
2467
2472
  :is(body, #wpwrap #editor) .es\:translate-y-0 {
2468
2473
  --tw-translate-y: calc(var(--es-spacing) * 0);
2469
2474
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -2734,10 +2739,6 @@ button, input:where([type="button"], [type="reset"], [type="submit"]) {
2734
2739
  cursor: not-allowed;
2735
2740
  }
2736
2741
 
2737
- :is(body, #wpwrap #editor) .es\:cursor-pointer {
2738
- cursor: pointer;
2739
- }
2740
-
2741
2742
  :is(body, #wpwrap #editor) .es\:cursor-wait {
2742
2743
  cursor: wait;
2743
2744
  }
@@ -7832,10 +7833,6 @@ button, input:where([type="button"], [type="reset"], [type="submit"]) {
7832
7833
  border-bottom-left-radius: var(--es-radius-md);
7833
7834
  }
7834
7835
 
7835
- :is(body, #wpwrap #editor) .es\:not-disabled\:cursor-pointer:not(:is(:disabled, [data-rac][data-disabled])) {
7836
- cursor: pointer;
7837
- }
7838
-
7839
7836
  :is(body, #wpwrap #editor) .es\:not-has-any-icon\:aspect-5\/3:not(:has(* svg)) {
7840
7837
  aspect-ratio: 5 / 3;
7841
7838
  }
@@ -2949,6 +2949,11 @@ input[data-rac]::-webkit-search-cancel-button {
2949
2949
  translate: var(--tw-translate-x) var(--tw-translate-y);
2950
2950
  }
2951
2951
 
2952
+ .es\:-translate-y-4 {
2953
+ --tw-translate-y: calc(var(--es-spacing) * -4);
2954
+ translate: var(--tw-translate-x) var(--tw-translate-y);
2955
+ }
2956
+
2952
2957
  .es\:translate-y-0 {
2953
2958
  --tw-translate-y: calc(var(--es-spacing) * 0);
2954
2959
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -3219,10 +3224,6 @@ input[data-rac]::-webkit-search-cancel-button {
3219
3224
  cursor: not-allowed;
3220
3225
  }
3221
3226
 
3222
- .es\:cursor-pointer {
3223
- cursor: pointer;
3224
- }
3225
-
3226
3227
  .es\:cursor-wait {
3227
3228
  cursor: wait;
3228
3229
  }
@@ -8317,10 +8318,6 @@ input[data-rac]::-webkit-search-cancel-button {
8317
8318
  border-bottom-left-radius: var(--es-radius-md);
8318
8319
  }
8319
8320
 
8320
- .es\:not-disabled\:cursor-pointer:not(:is(:disabled, [data-rac][data-disabled])) {
8321
- cursor: pointer;
8322
- }
8323
-
8324
8321
  .es\:not-has-any-icon\:aspect-5\/3:not(:has(* svg)) {
8325
8322
  aspect-ratio: 5 / 3;
8326
8323
  }
@@ -247,7 +247,7 @@ const GradientEditor = (props) => {
247
247
  "button",
248
248
  {
249
249
  className: clsx(
250
- "es:shadow-sm, es:mx-auto es:block es:h-40 es:cursor-pointer es:rounded-lg es:border es:border-secondary-300 es:transition-[width] es:duration-300 es:ease-spring-snappy",
250
+ "es:shadow-sm, es:mx-auto es:block es:h-40 es:rounded-lg es:border es:border-secondary-300 es:transition-[width] es:duration-300 es:ease-spring-snappy",
251
251
  "es:mb-2",
252
252
  squarePreview ? "es:w-40" : "es:w-full"
253
253
  ),
@@ -26,7 +26,7 @@ const DraggableHandle = (props) => {
26
26
  "div",
27
27
  {
28
28
  className: clsx(
29
- "es:flex es:h-5 es:w-4 es:cursor-pointer es:items-center es:justify-center es:rounded-sm es:hover:rounded-md es:inset-ring es:inset-ring-surface-400/10 es:bg-surface-50 es:text-surface-500/80 es:transition-plus",
29
+ "es:flex es:h-5 es:w-4 es:items-center es:justify-center es:rounded-sm es:hover:rounded-md es:inset-ring es:inset-ring-surface-400/10 es:bg-surface-50 es:text-surface-500/80 es:transition-plus",
30
30
  "es:shadow-2xs es:shadow-surface-900/2",
31
31
  "es:icon:size-4 es:icon:shrink-0",
32
32
  "es:active:inset-ring-accent-500/30 es:active:bg-surface-100 es:active:text-accent-500 es:active:rounded-xl",
@@ -72,7 +72,7 @@ const DraggableListItemHandle = (props) => {
72
72
  return /* @__PURE__ */ jsx(
73
73
  "button",
74
74
  {
75
- className: className ?? 'es:relative es:h-6 es:w-2 es:cursor-pointer es:items-center es:justify-center es:self-center es:rounded es:border es:border-secondary-300 es:bg-secondary-50 es:transition es:after:absolute es:after:inset-0 es:after:m-auto es:after:h-4 es:after:w-px es:after:bg-secondary-200 es:after:transition es:after:content-[""] es:hover:border-accent-500 es:hover:bg-accent-400 es:hover:after:bg-accent-500',
75
+ className: className ?? 'es:relative es:h-6 es:w-2 es:items-center es:justify-center es:self-center es:rounded es:border es:border-secondary-300 es:bg-secondary-50 es:transition es:after:absolute es:after:inset-0 es:after:m-auto es:after:h-4 es:after:w-px es:after:bg-secondary-200 es:after:transition es:after:content-[""] es:hover:border-accent-500 es:hover:bg-accent-400 es:hover:after:bg-accent-500',
76
76
  ...rest,
77
77
  "data-movable-handle": true,
78
78
  tabIndex: -1,
@@ -1678,7 +1678,7 @@ const LinkInput = (props) => {
1678
1678
  {
1679
1679
  className: clsx(
1680
1680
  "es:opacity-0 es:group-hover:opacity-100 es:group-focus-within:opacity-100 es:focus-visible:opacity-100",
1681
- "es:flex es:size-8 es:items-center es:justify-center es:rounded-md es:text-secondary-600 es:backdrop-blur es:transition es:cursor-pointer",
1681
+ "es:flex es:size-8 es:items-center es:justify-center es:rounded-md es:text-secondary-600 es:backdrop-blur es:transition",
1682
1682
  "es:hover:bg-red-600/5 es:hover:text-red-600",
1683
1683
  "es:icon:size-6"
1684
1684
  ),
@@ -99,29 +99,32 @@ const FilePickerShell = (props) => {
99
99
  errorClassName: "es:aspect-3-2 es:rounded-2xl es:bg-linear-to-br es:from-white es:to-secondary-50 es:border es:border-dashed es:border-secondary-200",
100
100
  imageAnalysisSettings: { yFrom: 0.25, yTo: 0.75 },
101
101
  ...rest,
102
- children: ({ image, dominantColors, isDark, hasAnalysed, isTransparent }) => /* @__PURE__ */ jsxs(
102
+ children: ({ image, dominantColors, isDark, hasAnalysed, isTransparent, hasError, errorBadge }) => /* @__PURE__ */ jsxs(
103
103
  "div",
104
104
  {
105
105
  className: clsx(
106
106
  "es:border es:justify-between es:rounded-2xl es:isolate es:relative es:flex-col es:gap-y-2 es:grid es:grid-cols-1 es:overflow-clip es:aspect-3-2 es:transition",
107
- hasAnalysed ? "es:border-secondary-200" : "es:border-secondary-200/0",
108
- hasAnalysed && !isTransparent && "es:group es:grid-rows-1",
109
- hasAnalysed && isTransparent && "es:p-2 es:grid-rows-[minmax(0,1fr)_auto] es:h-fit",
107
+ !hasError && hasAnalysed ? "es:border-secondary-200" : "es:border-secondary-200/0",
108
+ !hasError && hasAnalysed && !isTransparent && "es:group es:grid-rows-1",
109
+ !hasError && hasAnalysed && isTransparent && "es:p-2 es:grid-rows-[minmax(0,1fr)_auto] es:h-fit",
110
110
  !hasAnalysed && "es:shimmer-dark es:bg-secondary-50",
111
+ hasError && "es:flex es:items-center es:justify-center",
111
112
  className
112
113
  ),
113
- style: hasAnalysed && isTransparent ? { backgroundColor: `color-mix(in srgb, ${dominantColors[0]?.color || "#ffffff"} ${dominantColors[0]?.isDark ? 10 : 80}%, #ffffff)` } : {},
114
+ style: !hasError && hasAnalysed && isTransparent ? { backgroundColor: `color-mix(in srgb, ${dominantColors[0]?.color || "#ffffff"} ${dominantColors[0]?.isDark ? 10 : 80}%, #ffffff)` } : {},
114
115
  children: [
115
116
  image,
116
- hasAnalysed && children && /* @__PURE__ */ jsx(
117
+ hasError && errorBadge,
118
+ children && /* @__PURE__ */ jsx(
117
119
  "div",
118
120
  {
119
121
  className: clsx(
120
122
  "es:flex es:items-center-safe es:gap-0.75",
121
123
  "es-button-group-h",
122
- !isTransparent && "es:absolute es:bottom-2 es:left-2 es:right-2 es:translate-y-[125%] es:group-hover:translate-y-0 es:has-aria-expanded:translate-y-0 es:has-focus-visible:translate-y-0 es:transition-transform es:ease-spring-smooth"
124
+ !hasError && !isTransparent && "es:absolute es:bottom-2 es:left-2 es:right-2 es:translate-y-[125%] es:group-hover:translate-y-0 es:has-aria-expanded:translate-y-0 es:has-focus-visible:translate-y-0 es:transition-transform es:ease-spring-smooth",
125
+ hasError && "es:absolute es:bottom-2 es:left-2 es:right-2"
123
126
  ),
124
- children: typeof children === "function" ? children({ dominantColors, isDark, isTransparent }) : children
127
+ children: typeof children === "function" ? children({ dominantColors, isDark, isTransparent, hasError }) : children
125
128
  }
126
129
  )
127
130
  ]
@@ -38,8 +38,7 @@ const FilePlaceholder = (props) => {
38
38
  "es:inset-ring es:inset-ring-surface-300/40",
39
39
  "es:inset-shadow-xs es:inset-shadow-surface-50/50",
40
40
  "es:text-surface-800",
41
- !flat && "es:shadow-xs es:shadow-black/5",
42
- "es:cursor-pointer"
41
+ !flat && "es:shadow-xs es:shadow-black/5"
43
42
  ],
44
43
  !fileName && "es:bg-secondary-100 es:text-secondary-500"
45
44
  ),
@@ -181,6 +181,19 @@ const AsyncMultiSelect = (props) => {
181
181
  };
182
182
  const ref = useRef();
183
183
  const currentValueKeys = value?.map((item) => item?.value ?? item);
184
+ const buttonClass = cva("es:any-focus:outline-hidden es:text-start es:size-full es:inline-block es:group es:overflow-x-clip", {
185
+ variants: {
186
+ size: {
187
+ small: ["es:min-h-8", "es:px-2.5"],
188
+ medium: ["es:min-h-9", "es:px-3"],
189
+ default: ["es:min-h-10", "es:px-3"],
190
+ large: ["es:min-h-12", "es:px-4"]
191
+ }
192
+ },
193
+ defaultVariants: {
194
+ size: "default"
195
+ }
196
+ });
184
197
  const selectClass = cva(
185
198
  [
186
199
  "es:relative",
@@ -200,12 +213,6 @@ const AsyncMultiSelect = (props) => {
200
213
  ],
201
214
  {
202
215
  variants: {
203
- size: {
204
- small: ["es:min-h-8", "es:px-2.5"],
205
- medium: ["es:min-h-9", "es:px-3"],
206
- default: ["es:min-h-10", "es:px-3"],
207
- large: ["es:min-h-12", "es:px-4"]
208
- },
209
216
  disabled: {
210
217
  false: "es:selection:bg-surface-100 es:selection:text-accent-800",
211
218
  true: "es:selection:bg-secondary-200 es:selection:text-secondary-600"
@@ -274,7 +281,7 @@ const AsyncMultiSelect = (props) => {
274
281
  className: selectClass({ disabled, flat, size }),
275
282
  ref,
276
283
  children: [
277
- /* @__PURE__ */ jsxs($d2b4bc8c273e7be6$export$353f5b6fc5456de1, { className: "es:any-focus:outline-hidden es:text-start es:size-full es:inline-block es:group es:overflow-x-clip", children: [
284
+ /* @__PURE__ */ jsxs($d2b4bc8c273e7be6$export$353f5b6fc5456de1, { className: buttonClass({ size }), children: [
278
285
  /* @__PURE__ */ jsx($82d7e5349645de74$export$e288731fd71264f0, { className: "es:select-none es:pointer-events-none", children: ({ isPlaceholder, selectedItems }) => {
279
286
  const [selectedItem] = selectedItems;
280
287
  if (!currentValueKeys?.length || isPlaceholder) {
@@ -447,7 +454,7 @@ const AsyncMultiSelect = (props) => {
447
454
  "aria-label": __("Clear", "eightshift-ui-components"),
448
455
  className: clsx(
449
456
  "es:absolute es:right-3 es:top-0 es:bottom-0 es:my-auto es:border-none es:bg-transparent",
450
- "es:flex es:size-7 es:items-center es:justify-center es:rounded-3xl es:text-sm es:text-surface-700 es:transition es:hover:bg-accent-50 es:hover:text-accent-800 es:any-focus:outline-hidden es:focus:ring-2 es:focus:ring-accent-500/50 es:disabled:text-secondary-300 es:cursor-pointer",
457
+ "es:flex es:size-7 es:items-center es:justify-center es:rounded-3xl es:text-sm es:text-surface-700 es:transition es:hover:bg-accent-50 es:hover:text-accent-800 es:any-focus:outline-hidden es:focus:ring-2 es:focus:ring-accent-500/50 es:disabled:text-secondary-300",
451
458
  "es:peer-placeholder-shown:opacity-0"
452
459
  ),
453
460
  children: icons.clearAlt
@@ -148,6 +148,19 @@ const AsyncSelect = (props) => {
148
148
  if (hidden) {
149
149
  return null;
150
150
  }
151
+ const buttonClass = cva("es:any-focus:outline-hidden es:text-start es:size-full es:inline-block es:group es:overflow-x-clip", {
152
+ variants: {
153
+ size: {
154
+ small: ["es:min-h-8", "es:px-2.5"],
155
+ medium: ["es:min-h-9", "es:px-3"],
156
+ default: ["es:min-h-10", "es:px-3"],
157
+ large: ["es:min-h-12", "es:px-4"]
158
+ }
159
+ },
160
+ defaultVariants: {
161
+ size: "default"
162
+ }
163
+ });
151
164
  const selectClass = cva(
152
165
  [
153
166
  "es:relative",
@@ -167,12 +180,6 @@ const AsyncSelect = (props) => {
167
180
  ],
168
181
  {
169
182
  variants: {
170
- size: {
171
- small: ["es:min-h-8", "es:px-2.5"],
172
- medium: ["es:min-h-9", "es:px-3"],
173
- default: ["es:min-h-10", "es:px-3"],
174
- large: ["es:min-h-12", "es:px-4"]
175
- },
176
183
  disabled: {
177
184
  false: "es:selection:bg-surface-100 es:selection:text-accent-800",
178
185
  true: "es:selection:bg-secondary-200 es:selection:text-secondary-600"
@@ -258,7 +265,7 @@ const AsyncSelect = (props) => {
258
265
  className: selectClass({ disabled, flat, size }),
259
266
  ref,
260
267
  children: [
261
- /* @__PURE__ */ jsxs($d2b4bc8c273e7be6$export$353f5b6fc5456de1, { className: "es:any-focus:outline-hidden es:text-start es:size-full es:inline-block es:group es:overflow-x-clip", children: [
268
+ /* @__PURE__ */ jsxs($d2b4bc8c273e7be6$export$353f5b6fc5456de1, { className: buttonClass({ size }), children: [
262
269
  /* @__PURE__ */ jsx($82d7e5349645de74$export$e288731fd71264f0, { children: ({ isPlaceholder, selectedItems }) => {
263
270
  const [selectedItem] = selectedItems;
264
271
  if (!isPlaceholder && selectedItem && customValueDisplay) {
@@ -369,7 +376,7 @@ const AsyncSelect = (props) => {
369
376
  "aria-label": __("Clear", "eightshift-ui-components"),
370
377
  className: clsx(
371
378
  "es:absolute es:right-3 es:top-0 es:bottom-0 es:my-auto es:border-none es:bg-transparent",
372
- "es:flex es:size-7 es:items-center es:justify-center es:rounded-3xl es:text-sm es:text-surface-700 es:transition es:hover:bg-accent-50 es:hover:text-accent-800 es:any-focus:outline-hidden es:focus:ring-2 es:focus:ring-accent-500/50 es:disabled:text-secondary-300 es:cursor-pointer",
379
+ "es:flex es:size-7 es:items-center es:justify-center es:rounded-3xl es:text-sm es:text-surface-700 es:transition es:hover:bg-accent-50 es:hover:text-accent-800 es:any-focus:outline-hidden es:focus:ring-2 es:focus:ring-accent-500/50 es:disabled:text-secondary-300",
373
380
  "es:peer-placeholder-shown:opacity-0"
374
381
  ),
375
382
  children: icons.clearAlt
@@ -139,6 +139,19 @@ const MultiSelect = (props) => {
139
139
  if (hidden) {
140
140
  return null;
141
141
  }
142
+ const buttonClass = cva("es:any-focus:outline-hidden es:text-start es:size-full es:inline-block es:group es:overflow-x-clip", {
143
+ variants: {
144
+ size: {
145
+ small: ["es:min-h-8", "es:px-2.5"],
146
+ medium: ["es:min-h-9", "es:px-3"],
147
+ default: ["es:min-h-10", "es:px-3"],
148
+ large: ["es:min-h-12", "es:px-4"]
149
+ }
150
+ },
151
+ defaultVariants: {
152
+ size: "default"
153
+ }
154
+ });
142
155
  const selectClass = cva(
143
156
  [
144
157
  "es:relative",
@@ -158,12 +171,6 @@ const MultiSelect = (props) => {
158
171
  ],
159
172
  {
160
173
  variants: {
161
- size: {
162
- small: ["es:min-h-8", "es:px-2.5"],
163
- medium: ["es:min-h-9", "es:px-3"],
164
- default: ["es:min-h-10", "es:px-3"],
165
- large: ["es:min-h-12", "es:px-4"]
166
- },
167
174
  disabled: {
168
175
  false: "es:selection:bg-surface-100 es:selection:text-accent-800",
169
176
  true: "es:selection:bg-secondary-200 es:selection:text-secondary-600"
@@ -229,7 +236,7 @@ const MultiSelect = (props) => {
229
236
  className: selectClass({ disabled, flat, size }),
230
237
  ref,
231
238
  children: [
232
- /* @__PURE__ */ jsxs($d2b4bc8c273e7be6$export$353f5b6fc5456de1, { className: "es:any-focus:outline-hidden es:text-start es:size-full es:inline-block es:group es:overflow-x-clip", children: [
239
+ /* @__PURE__ */ jsxs($d2b4bc8c273e7be6$export$353f5b6fc5456de1, { className: buttonClass({ size }), children: [
233
240
  /* @__PURE__ */ jsx($82d7e5349645de74$export$e288731fd71264f0, { className: "es:select-none es:pointer-events-none", children: ({ isPlaceholder, selectedItems }) => {
234
241
  const [selectedItem] = selectedItems;
235
242
  if (!currentValueKeys?.length || isPlaceholder) {
@@ -395,7 +402,7 @@ const MultiSelect = (props) => {
395
402
  "aria-label": __("Clear", "eightshift-ui-components"),
396
403
  className: clsx(
397
404
  "es:absolute es:right-3 es:top-0 es:bottom-0 es:my-auto es:border-none es:bg-transparent",
398
- "es:flex es:size-7 es:items-center es:justify-center es:rounded-3xl es:text-sm es:text-surface-700 es:transition es:hover:bg-accent-50 es:hover:text-accent-800 es:any-focus:outline-hidden es:focus:ring-2 es:focus:ring-accent-500/50 es:disabled:text-secondary-300 es:cursor-pointer",
405
+ "es:flex es:size-7 es:items-center es:justify-center es:rounded-3xl es:text-sm es:text-surface-700 es:transition es:hover:bg-accent-50 es:hover:text-accent-800 es:any-focus:outline-hidden es:focus:ring-2 es:focus:ring-accent-500/50 es:disabled:text-secondary-300",
399
406
  "es:peer-placeholder-shown:opacity-0"
400
407
  ),
401
408
  children: icons.clearAlt
@@ -98,6 +98,19 @@ const Select = (props) => {
98
98
  if (hidden) {
99
99
  return null;
100
100
  }
101
+ const buttonClass = cva("es:any-focus:outline-hidden es:text-start es:size-full es:inline-block es:group es:overflow-x-clip", {
102
+ variants: {
103
+ size: {
104
+ small: ["es:min-h-8", "es:px-2.5"],
105
+ medium: ["es:min-h-9", "es:px-3"],
106
+ default: ["es:min-h-10", "es:px-3"],
107
+ large: ["es:min-h-12", "es:px-4"]
108
+ }
109
+ },
110
+ defaultVariants: {
111
+ size: "default"
112
+ }
113
+ });
101
114
  const selectClass = cva(
102
115
  [
103
116
  "es:relative",
@@ -117,12 +130,6 @@ const Select = (props) => {
117
130
  ],
118
131
  {
119
132
  variants: {
120
- size: {
121
- small: ["es:min-h-8", "es:px-2.5"],
122
- medium: ["es:min-h-9", "es:px-3"],
123
- default: ["es:min-h-10", "es:px-3"],
124
- large: ["es:min-h-12", "es:px-4"]
125
- },
126
133
  disabled: {
127
134
  false: "es:selection:bg-surface-100 es:selection:text-accent-800",
128
135
  true: "es:selection:bg-secondary-200 es:selection:text-secondary-600"
@@ -210,8 +217,8 @@ const Select = (props) => {
210
217
  className: selectClass({ disabled, flat, size }),
211
218
  ref,
212
219
  children: [
213
- /* @__PURE__ */ jsxs($d2b4bc8c273e7be6$export$353f5b6fc5456de1, { className: "es:any-focus:outline-hidden es:text-start es:size-full es:inline-block es:group es:overflow-x-clip", children: [
214
- /* @__PURE__ */ jsx($82d7e5349645de74$export$e288731fd71264f0, { children: ({ isPlaceholder, selectedItems }) => {
220
+ /* @__PURE__ */ jsxs($d2b4bc8c273e7be6$export$353f5b6fc5456de1, { className: buttonClass({ size }), children: [
221
+ /* @__PURE__ */ jsx($82d7e5349645de74$export$e288731fd71264f0, { className: "es:pointer-events-none", children: ({ isPlaceholder, selectedItems }) => {
215
222
  const [selectedItem] = selectedItems;
216
223
  if (!isPlaceholder && currentValue && customValueDisplay) {
217
224
  return customValueDisplay(selectedItem);
@@ -316,7 +323,7 @@ const Select = (props) => {
316
323
  "aria-label": __("Clear", "eightshift-ui-components"),
317
324
  className: clsx(
318
325
  "es:absolute es:right-3 es:top-0 es:bottom-0 es:my-auto es:border-none es:bg-transparent",
319
- "es:flex es:size-7 es:items-center es:justify-center es:rounded-3xl es:text-sm es:text-surface-700 es:transition es:hover:bg-accent-50 es:hover:text-accent-800 es:any-focus:outline-hidden es:focus:ring-2 es:focus:ring-accent-500/50 es:disabled:text-secondary-300 es:cursor-pointer",
326
+ "es:flex es:size-7 es:items-center es:justify-center es:rounded-3xl es:text-sm es:text-surface-700 es:transition es:hover:bg-accent-50 es:hover:text-accent-800 es:any-focus:outline-hidden es:focus:ring-2 es:focus:ring-accent-500/50 es:disabled:text-secondary-300",
320
327
  "es:peer-placeholder-shown:opacity-0"
321
328
  ),
322
329
  children: icons.clearAlt
@@ -1,4 +1,4 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { _ as __ } from "../../default-i18n-CnQeC5Pl.js";
3
3
  import { c as clsx } from "../../clsx-DgYk2OaC.js";
4
4
  import { useState, useRef, useEffect, cloneElement } from "react";
@@ -167,7 +167,33 @@ const SmartImage = (props) => {
167
167
  if (error && renderError) {
168
168
  return renderError(error);
169
169
  } else if (error) {
170
- return /* @__PURE__ */ jsx("div", { className: clsx("es:flex es:flex-col es:gap-2 es:items-center-safe es:justify-center-safe es:p-2 es:motion-preset-fade", errorClassName), children: /* @__PURE__ */ jsx(DecorativeTooltip, { text: __("Error loading image", "eightshift-ui-components"), children: cloneElement(icons.imageError, { className: "es:text-secondary-500 es:size-8" }) }) });
170
+ return /* @__PURE__ */ jsxs(
171
+ "div",
172
+ {
173
+ className: clsx(
174
+ typeof children !== "function" && "es:flex es:flex-col es:gap-2 es:items-center-safe es:justify-center-safe es:p-2",
175
+ "es:motion-preset-fade",
176
+ errorClassName
177
+ ),
178
+ children: [
179
+ typeof children !== "function" && /* @__PURE__ */ jsx(DecorativeTooltip, { text: __("Error loading image", "eightshift-ui-components"), children: cloneElement(icons.imageError, { className: "es:text-secondary-500 es:size-8" }) }),
180
+ typeof children === "function" ? children({
181
+ image: cloneElement(imageElement, { crossOrigin: null }),
182
+ hasAnalysed: true,
183
+ isTransparent: false,
184
+ hasError: true,
185
+ errorBadge: /* @__PURE__ */ jsx(
186
+ DecorativeTooltip,
187
+ {
188
+ wrapperClassName: "es:size-8 es:-translate-y-4 es:m-auto",
189
+ text: __("Error loading image", "eightshift-ui-components"),
190
+ children: cloneElement(icons.imageError, { className: "es:text-secondary-500 es:size-8" })
191
+ }
192
+ )
193
+ }) : cloneElement(imageElement, { crossOrigin: null })
194
+ ]
195
+ }
196
+ );
171
197
  }
172
198
  if (!children) {
173
199
  return imageElement;
@@ -691,7 +691,7 @@ const Tab = (props) => {
691
691
  [
692
692
  "es:group es:relative es:shrink-0",
693
693
  "es:flex es:items-center es:gap-1.5",
694
- "es:select-none es:not-disabled:cursor-pointer",
694
+ "es:select-none",
695
695
  "es:transition-plus es:text-center es:text-12 es:leading-[1.15] es:text-box-trim",
696
696
  "es:any-focus:outline-hidden",
697
697
  "es:contrast-more:inset-ring es:contrast-more:inset-ring-accent-500/0 es:contrast-more:focus-visible:inset-ring-accent-500",
@@ -125,7 +125,7 @@ const Switch2 = (props) => {
125
125
  default: "es:h-6 es:w-10 es:p-1"
126
126
  },
127
127
  disabled: {
128
- false: [!flat && "es:shadow-xs es:shadow-black/5", "es:cursor-pointer"]
128
+ false: [!flat && "es:shadow-xs es:shadow-black/5"]
129
129
  }
130
130
  },
131
131
  compoundVariants: [
@@ -186,7 +186,6 @@ const ToggleButton2 = (props) => {
186
186
  "es:text-box-trim",
187
187
  "es:leading-none",
188
188
  "es:icon:size-5",
189
- !disabled && "es:cursor-pointer",
190
189
  icon && children ? "es:justify-start" : "es:justify-center-safe",
191
190
  className
192
191
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eightshift/ui-components",
3
- "version": "6.0.4",
3
+ "version": "6.0.5",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -62,14 +62,14 @@
62
62
  "@react-stately/collections": "^3.12.8",
63
63
  "@stylistic/eslint-plugin-js": "^4.4.1",
64
64
  "@tailwindcss/vite": "^4.1.17",
65
- "@thi.ng/color": "^5.8.3",
66
- "@thi.ng/pixel": "^7.5.17",
67
- "@thi.ng/pixel-analysis": "^2.0.18",
68
- "@thi.ng/pixel-dominant-colors": "^2.0.22",
65
+ "@thi.ng/color": "^5.8.4",
66
+ "@thi.ng/pixel": "^7.5.18",
67
+ "@thi.ng/pixel-analysis": "^2.0.19",
68
+ "@thi.ng/pixel-dominant-colors": "^2.0.23",
69
69
  "@types/react": "^18.3.27",
70
70
  "@types/react-dom": "^18.3.7",
71
71
  "@vitejs/plugin-react-swc": "^4.2.2",
72
- "@wordpress/i18n": "^6.8.0",
72
+ "@wordpress/i18n": "^6.9.0",
73
73
  "autoprefixer": "^10.4.22",
74
74
  "class-variance-authority": "^0.7.1",
75
75
  "clsx": "^2.1.1",
@@ -88,7 +88,7 @@
88
88
  "just-throttle": "^4.2.0",
89
89
  "lightningcss": "^1.30.2",
90
90
  "postcss": "^8.5.6",
91
- "prettier": "^3.6.2",
91
+ "prettier": "^3.7.0",
92
92
  "prettier-plugin-tailwindcss": "^0.7.1",
93
93
  "react": "^18.3.1",
94
94
  "react-aria": "^3.44.0",