@solostylist/ui-kit 2.0.5 → 2.0.7

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 (108) hide show
  1. package/dist/components-DWGB2MCO.js +148 -0
  2. package/dist/{gradients-DSnBONEQ.js → gradients-CUC4WH9i.js} +1 -1
  3. package/dist/main.js +1 -1
  4. package/dist/palettes/index.js +1 -1
  5. package/dist/{palettes-CJLuEy1m.js → palettes-B1trNROL.js} +2 -2
  6. package/dist/s-brand-logo/index.js +1 -1
  7. package/dist/s-brand-logo/s-brand-logo.js +1 -1
  8. package/dist/s-chat-message/s-chat-message.js +1 -1
  9. package/dist/s-comment-message/s-comment-message.js +1 -1
  10. package/dist/s-file-dropzone/s-file-dropzone.js +1 -1
  11. package/dist/s-icon-button/index.d.ts +1 -1
  12. package/dist/s-icon-button/s-icon-button.d.ts +32 -4
  13. package/dist/s-icon-button/s-icon-button.js +27 -28
  14. package/dist/s-image-viewer/image-viewer-thumbnail-dock.js +1 -1
  15. package/dist/s-list-action-item/s-list-action-item.js +4 -2
  16. package/dist/s-number-range/s-number-range.js +2 -1
  17. package/dist/s-product-gallery/index.d.ts +1 -1
  18. package/dist/s-product-gallery/s-product-gallery.d.ts +28 -11
  19. package/dist/s-product-gallery/s-product-gallery.js +302 -246
  20. package/dist/s-review/s-review.js +1 -1
  21. package/dist/s-segmented-control/s-segmented-control.js +11 -17
  22. package/dist/s-stripe/stripe-input.js +1 -1
  23. package/dist/s-swatch/s-swatch.d.ts +3 -2
  24. package/dist/s-swatch/s-swatch.js +57 -51
  25. package/dist/s-theme-demo/theme-demo-color-ramps-section.js +1 -1
  26. package/dist/s-theme-provider/s-theme-provider.js +10 -10
  27. package/dist/theme/component-augmentation.d.ts +1 -1
  28. package/dist/theme/components/accordion-details.d.ts +2 -8
  29. package/dist/theme/components/accordion-summary.d.ts +2 -1036
  30. package/dist/theme/components/accordion.d.ts +2 -43
  31. package/dist/theme/components/alert.d.ts +2 -4160
  32. package/dist/theme/components/app-bar.d.ts +2 -24
  33. package/dist/theme/components/autocomplete.d.ts +2 -78
  34. package/dist/theme/components/avatar.d.ts +2 -19
  35. package/dist/theme/components/backdrop.d.ts +2 -12
  36. package/dist/theme/components/button-base.d.ts +2 -7
  37. package/dist/theme/components/button.d.ts +2 -1117
  38. package/dist/theme/components/card-actions.d.ts +2 -7
  39. package/dist/theme/components/card-content.d.ts +2 -7
  40. package/dist/theme/components/card-header.d.ts +2 -7
  41. package/dist/theme/components/card.d.ts +2 -2046
  42. package/dist/theme/components/card.js +1 -1
  43. package/dist/theme/components/checkbox.d.ts +2 -1038
  44. package/dist/theme/components/checkbox.js +1 -1
  45. package/dist/theme/components/chip.d.ts +2 -2
  46. package/dist/theme/components/components.d.ts +68 -0
  47. package/dist/theme/components/components.js +2 -73
  48. package/dist/theme/components/container.d.ts +2 -5
  49. package/dist/theme/components/css-baseline.d.ts +2 -9
  50. package/dist/theme/components/date-calendar.d.ts +2 -13
  51. package/dist/theme/components/day-calendar.d.ts +2 -25
  52. package/dist/theme/components/dialog-actions.d.ts +2 -12
  53. package/dist/theme/components/dialog-content.d.ts +2 -13
  54. package/dist/theme/components/dialog-title.d.ts +2 -21
  55. package/dist/theme/components/dialog.d.ts +2 -25
  56. package/dist/theme/components/drawer.d.ts +2 -13
  57. package/dist/theme/components/form-control.d.ts +2 -7
  58. package/dist/theme/components/form-label.d.ts +2 -20
  59. package/dist/theme/components/icon-button.d.ts +2 -1100
  60. package/dist/theme/components/icon.d.ts +2 -17
  61. package/dist/theme/components/input-adornment.d.ts +2 -19
  62. package/dist/theme/components/input-base.d.ts +2 -18
  63. package/dist/theme/components/linear-progress.d.ts +2 -1023
  64. package/dist/theme/components/link.d.ts +2 -42
  65. package/dist/theme/components/list-item-button.d.ts +2 -120
  66. package/dist/theme/components/list-item-icon.d.ts +2 -7
  67. package/dist/theme/components/list-item-text.d.ts +2 -22
  68. package/dist/theme/components/list-item.d.ts +2 -129
  69. package/dist/theme/components/list-subheader.d.ts +2 -20
  70. package/dist/theme/components/list.d.ts +2 -10
  71. package/dist/theme/components/menu-item.d.ts +2 -8
  72. package/dist/theme/components/menu.d.ts +2 -20
  73. package/dist/theme/components/month-calendar.d.ts +2 -1088
  74. package/dist/theme/components/multi-section-digital-clock-section.d.ts +2 -2
  75. package/dist/theme/components/outlined-input.d.ts +2 -113
  76. package/dist/theme/components/pagination-item.d.ts +2 -1085
  77. package/dist/theme/components/pagination.d.ts +2 -14
  78. package/dist/theme/components/paper.d.ts +2 -5
  79. package/dist/theme/components/picker-day.d.ts +2 -1055
  80. package/dist/theme/components/pickers-arrow-switcher.d.ts +2 -12
  81. package/dist/theme/components/pickers-calendar-header.d.ts +2 -83
  82. package/dist/theme/components/popover.d.ts +2 -18
  83. package/dist/theme/components/rating.d.ts +2 -19
  84. package/dist/theme/components/select.d.ts +2 -31
  85. package/dist/theme/components/skeleton.d.ts +2 -2
  86. package/dist/theme/components/slider.d.ts +2 -0
  87. package/dist/theme/components/slot.d.ts +7 -0
  88. package/dist/theme/components/slot.js +0 -0
  89. package/dist/theme/components/step-connector.d.ts +2 -12
  90. package/dist/theme/components/step-icon.d.ts +2 -1034
  91. package/dist/theme/components/step-label.d.ts +2 -1025
  92. package/dist/theme/components/svg-icon.d.ts +2 -31
  93. package/dist/theme/components/switch.d.ts +2 -1027
  94. package/dist/theme/components/tab.d.ts +2 -30
  95. package/dist/theme/components/table-cell.d.ts +2 -12
  96. package/dist/theme/components/table-pagination.d.ts +2 -14
  97. package/dist/theme/components/tabs.d.ts +2 -36
  98. package/dist/theme/components/toggle-button-group.d.ts +2 -12
  99. package/dist/theme/components/toggle-button.d.ts +2 -1148
  100. package/dist/theme/components/tooltip.d.ts +2 -3
  101. package/dist/theme/components/year-calendar.d.ts +2 -1090
  102. package/dist/theme/theme-primitives.d.ts +3 -2
  103. package/dist/theme/theme-primitives.js +2 -3
  104. package/dist/{theme-primitives-CRfnMsNy.js → theme-primitives-DXekeATD.js} +29 -26
  105. package/package.json +4 -2
  106. /package/dist/{colors-CNjL5fhq.js → colors-DscJqo7m.js} +0 -0
  107. /package/dist/{s-brand-logo-CErW9Slg.js → s-brand-logo-Gi1MKnv9.js} +0 -0
  108. /package/dist/{utils-CMeAWSRO.js → utils-CXRJYVCd.js} +0 -0
@@ -0,0 +1,148 @@
1
+ import { MuiYearCalendar as e } from "./theme/components/year-calendar.js";
2
+ import { MuiTooltip as t } from "./theme/components/tooltip.js";
3
+ import { MuiToggleButton as n } from "./theme/components/toggle-button.js";
4
+ import { MuiToggleButtonGroup as r } from "./theme/components/toggle-button-group.js";
5
+ import { MuiTabs as i } from "./theme/components/tabs.js";
6
+ import { MuiTablePagination as ee } from "./theme/components/table-pagination.js";
7
+ import { MuiTableCell as a } from "./theme/components/table-cell.js";
8
+ import { MuiTab as o } from "./theme/components/tab.js";
9
+ import { MuiSwitch as s } from "./theme/components/switch.js";
10
+ import { MuiSvgIcon as c } from "./theme/components/svg-icon.js";
11
+ import { MuiStepLabel as l } from "./theme/components/step-label.js";
12
+ import { MuiStepIcon as u } from "./theme/components/step-icon.js";
13
+ import { MuiStepConnector as d } from "./theme/components/step-connector.js";
14
+ import { MuiSlider as f } from "./theme/components/slider.js";
15
+ import { MuiSkeleton as p } from "./theme/components/skeleton.js";
16
+ import { MuiSelect as m } from "./theme/components/select.js";
17
+ import { MuiRating as h } from "./theme/components/rating.js";
18
+ import { MuiPopover as g } from "./theme/components/popover.js";
19
+ import { MuiPickersCalendarHeader as _ } from "./theme/components/pickers-calendar-header.js";
20
+ import { MuiPickersArrowSwitcher as v } from "./theme/components/pickers-arrow-switcher.js";
21
+ import { MuiPickerDay as y } from "./theme/components/picker-day.js";
22
+ import { MuiPaper as b } from "./theme/components/paper.js";
23
+ import { MuiPagination as x } from "./theme/components/pagination.js";
24
+ import { MuiPaginationItem as S } from "./theme/components/pagination-item.js";
25
+ import { MuiOutlinedInput as C } from "./theme/components/outlined-input.js";
26
+ import { MuiMultiSectionDigitalClockSection as w } from "./theme/components/multi-section-digital-clock-section.js";
27
+ import { MuiMonthCalendar as T } from "./theme/components/month-calendar.js";
28
+ import { MuiMenu as E } from "./theme/components/menu.js";
29
+ import { MuiMenuItem as D } from "./theme/components/menu-item.js";
30
+ import { MuiList as O } from "./theme/components/list.js";
31
+ import { MuiListSubheader as k } from "./theme/components/list-subheader.js";
32
+ import { MuiListItemButton as A } from "./theme/components/list-item-button.js";
33
+ import { MuiListItem as j } from "./theme/components/list-item.js";
34
+ import { MuiListItemText as M } from "./theme/components/list-item-text.js";
35
+ import { MuiListItemIcon as N } from "./theme/components/list-item-icon.js";
36
+ import { MuiLink as P } from "./theme/components/link.js";
37
+ import { MuiLinearProgress as F } from "./theme/components/linear-progress.js";
38
+ import { MuiInputBase as I } from "./theme/components/input-base.js";
39
+ import { MuiInputAdornment as L } from "./theme/components/input-adornment.js";
40
+ import { MuiIcon as R } from "./theme/components/icon.js";
41
+ import { MuiIconButton as z } from "./theme/components/icon-button.js";
42
+ import { MuiFormLabel as B } from "./theme/components/form-label.js";
43
+ import { MuiFormControl as te } from "./theme/components/form-control.js";
44
+ import { MuiDrawer as V } from "./theme/components/drawer.js";
45
+ import { MuiDialog as H } from "./theme/components/dialog.js";
46
+ import { MuiDialogTitle as U } from "./theme/components/dialog-title.js";
47
+ import { MuiDialogContent as W } from "./theme/components/dialog-content.js";
48
+ import { MuiDialogActions as G } from "./theme/components/dialog-actions.js";
49
+ import { MuiDayCalendar as K } from "./theme/components/day-calendar.js";
50
+ import { MuiDateCalendar as q } from "./theme/components/date-calendar.js";
51
+ import { MuiCssBaseline as J } from "./theme/components/css-baseline.js";
52
+ import { MuiContainer as Y } from "./theme/components/container.js";
53
+ import { MuiAccordion as X } from "./theme/components/accordion.js";
54
+ import { MuiAccordionDetails as Z } from "./theme/components/accordion-details.js";
55
+ import { MuiAccordionSummary as Q } from "./theme/components/accordion-summary.js";
56
+ import { MuiAlert as ne } from "./theme/components/alert.js";
57
+ import { MuiAppBar as re } from "./theme/components/app-bar.js";
58
+ import { MuiAutocomplete as ie } from "./theme/components/autocomplete.js";
59
+ import { MuiAvatar as ae } from "./theme/components/avatar.js";
60
+ import { MuiBackdrop as oe } from "./theme/components/backdrop.js";
61
+ import { MuiButton as se } from "./theme/components/button.js";
62
+ import { MuiButtonBase as ce } from "./theme/components/button-base.js";
63
+ import { MuiCard as le } from "./theme/components/card.js";
64
+ import { MuiCardActions as ue } from "./theme/components/card-actions.js";
65
+ import { MuiCardContent as de } from "./theme/components/card-content.js";
66
+ import { MuiCardHeader as fe } from "./theme/components/card-header.js";
67
+ import { MuiCheckbox as pe } from "./theme/components/checkbox.js";
68
+ import { MuiChip as me } from "./theme/components/chip.js";
69
+ //#region \0rolldown/runtime.js
70
+ var $ = Object.defineProperty, he = /* @__PURE__ */ ((e, t) => {
71
+ let n = {};
72
+ for (var r in e) $(n, r, {
73
+ get: e[r],
74
+ enumerable: !0
75
+ });
76
+ return t || $(n, Symbol.toStringTag, { value: "Module" }), n;
77
+ })({
78
+ MuiAccordion: () => X,
79
+ MuiAccordionDetails: () => Z,
80
+ MuiAccordionSummary: () => Q,
81
+ MuiAlert: () => ne,
82
+ MuiAppBar: () => re,
83
+ MuiAutocomplete: () => ie,
84
+ MuiAvatar: () => ae,
85
+ MuiBackdrop: () => oe,
86
+ MuiButton: () => se,
87
+ MuiButtonBase: () => ce,
88
+ MuiCard: () => le,
89
+ MuiCardActions: () => ue,
90
+ MuiCardContent: () => de,
91
+ MuiCardHeader: () => fe,
92
+ MuiCheckbox: () => pe,
93
+ MuiChip: () => me,
94
+ MuiContainer: () => Y,
95
+ MuiCssBaseline: () => J,
96
+ MuiDateCalendar: () => q,
97
+ MuiDayCalendar: () => K,
98
+ MuiDialog: () => H,
99
+ MuiDialogActions: () => G,
100
+ MuiDialogContent: () => W,
101
+ MuiDialogTitle: () => U,
102
+ MuiDrawer: () => V,
103
+ MuiFormControl: () => te,
104
+ MuiFormLabel: () => B,
105
+ MuiIcon: () => R,
106
+ MuiIconButton: () => z,
107
+ MuiInputAdornment: () => L,
108
+ MuiInputBase: () => I,
109
+ MuiLinearProgress: () => F,
110
+ MuiLink: () => P,
111
+ MuiList: () => O,
112
+ MuiListItem: () => j,
113
+ MuiListItemButton: () => A,
114
+ MuiListItemIcon: () => N,
115
+ MuiListItemText: () => M,
116
+ MuiListSubheader: () => k,
117
+ MuiMenu: () => E,
118
+ MuiMenuItem: () => D,
119
+ MuiMonthCalendar: () => T,
120
+ MuiMultiSectionDigitalClockSection: () => w,
121
+ MuiOutlinedInput: () => C,
122
+ MuiPagination: () => x,
123
+ MuiPaginationItem: () => S,
124
+ MuiPaper: () => b,
125
+ MuiPickerDay: () => y,
126
+ MuiPickersArrowSwitcher: () => v,
127
+ MuiPickersCalendarHeader: () => _,
128
+ MuiPopover: () => g,
129
+ MuiRating: () => h,
130
+ MuiSelect: () => m,
131
+ MuiSkeleton: () => p,
132
+ MuiSlider: () => f,
133
+ MuiStepConnector: () => d,
134
+ MuiStepIcon: () => u,
135
+ MuiStepLabel: () => l,
136
+ MuiSvgIcon: () => c,
137
+ MuiSwitch: () => s,
138
+ MuiTab: () => o,
139
+ MuiTableCell: () => a,
140
+ MuiTablePagination: () => ee,
141
+ MuiTabs: () => i,
142
+ MuiToggleButton: () => n,
143
+ MuiToggleButtonGroup: () => r,
144
+ MuiTooltip: () => t,
145
+ MuiYearCalendar: () => e
146
+ });
147
+ //#endregion
148
+ export { he as t };
@@ -1,4 +1,4 @@
1
- import { n as e, o as t, r as n, s as r } from "./colors-CNjL5fhq.js";
1
+ import { n as e, o as t, r as n, s as r } from "./colors-DscJqo7m.js";
2
2
  //#region ../core/dist/alpha.js
3
3
  var i = {
4
4
  0: "rgba(0,0,0,0)",
package/dist/main.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "./palettes-CJLuEy1m.js";
1
+ import { n as e, r as t, t as n } from "./palettes-B1trNROL.js";
2
2
  export { e as PALETTE_OPTIONS, t as VARIANTS, n as paletteThemeOptions };
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "../palettes-CJLuEy1m.js";
1
+ import { n as e, r as t, t as n } from "../palettes-B1trNROL.js";
2
2
  export { e as PALETTE_OPTIONS, t as VARIANTS, n as paletteThemeOptions };
@@ -1,5 +1,5 @@
1
- import { g as e, h as t } from "./colors-CNjL5fhq.js";
2
- import { t as n } from "./gradients-DSnBONEQ.js";
1
+ import { g as e, h as t } from "./colors-DscJqo7m.js";
2
+ import { t as n } from "./gradients-CUC4WH9i.js";
3
3
  import { alpha as r } from "@mui/material/styles";
4
4
  //#region ../core/dist/palettes/aurora.js
5
5
  var i = {
@@ -1,2 +1,2 @@
1
- import { t as e } from "../s-brand-logo-CErW9Slg.js";
1
+ import { t as e } from "../s-brand-logo-Gi1MKnv9.js";
2
2
  export { e as SBrandLogo, e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../s-brand-logo-CErW9Slg.js";
1
+ import { t as e } from "../s-brand-logo-Gi1MKnv9.js";
2
2
  export { e as SBrandLogo, e as default };
@@ -1,4 +1,4 @@
1
- import { n as e, r as t } from "../utils-CMeAWSRO.js";
1
+ import { n as e, r as t } from "../utils-CXRJYVCd.js";
2
2
  import { toSxArray as n } from "../utils/sx.js";
3
3
  import { SLazyImage as r } from "../s-lazy-image/s-lazy-image.js";
4
4
  import { SIconButton as i } from "../s-icon-button/s-icon-button.js";
@@ -1,4 +1,4 @@
1
- import { i as e } from "../utils-CMeAWSRO.js";
1
+ import { i as e } from "../utils-CXRJYVCd.js";
2
2
  import { toSxArray as t } from "../utils/sx.js";
3
3
  import { SSkeleton as n } from "../s-skeleton/s-skeleton.js";
4
4
  import { SAvatar as r } from "../s-avatar/s-avatar.js";
@@ -1,4 +1,4 @@
1
- import { t as e } from "../utils-CMeAWSRO.js";
1
+ import { t as e } from "../utils-CXRJYVCd.js";
2
2
  import { toSxArray as t } from "../utils/sx.js";
3
3
  import { SForm as n } from "../s-form/s-form.js";
4
4
  import { SFileIcon as ee } from "../s-file-icon/s-file-icon.js";
@@ -1,3 +1,3 @@
1
1
  export { default, default as SIconButton } from './s-icon-button';
2
- export type { SIconButtonOwnerState, SIconButtonProps, SIconButtonSlotProps, SIconButtonSlots, SIconButtonVariant, } from './s-icon-button';
2
+ export type { SIconButtonAccessibleNameProps, SIconButtonBaseProps, SIconButtonOwnerState, SIconButtonProps, SIconButtonSlotProps, SIconButtonSlots, SIconButtonVariant, } from './s-icon-button';
3
3
  export type {} from '../theme/component-augmentation';
@@ -17,20 +17,48 @@ export interface SIconButtonSlotProps {
17
17
  /** Props or an owner-state callback for the tooltip slot. */
18
18
  tooltip?: OwnerStateSlotProps<Omit<TooltipProps, 'children' | 'title'>>;
19
19
  }
20
+ /**
21
+ * An icon carries no text, so every button needs a name: either an explicit
22
+ * `aria-label` / `aria-labelledby`, or a string `tooltip` the button falls back to.
23
+ */
24
+ export type SIconButtonAccessibleNameProps = {
25
+ 'aria-label': string;
26
+ 'aria-labelledby'?: string;
27
+ tooltip?: React.ReactNode;
28
+ } | {
29
+ 'aria-label'?: string;
30
+ 'aria-labelledby': string;
31
+ tooltip?: React.ReactNode;
32
+ } | {
33
+ 'aria-label'?: string;
34
+ 'aria-labelledby'?: string;
35
+ tooltip: string;
36
+ };
20
37
  /**
21
38
  * MUI IconButton with an optional tooltip slot. Setting `href` makes the
22
39
  * underlying ButtonBase render an anchor, so icon-only links keep the button
23
40
  * hit target and hover state.
24
41
  */
25
- export interface SIconButtonProps extends Omit<IconButtonProps, 'component'>, Pick<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href' | 'rel' | 'target'> {
42
+ export interface SIconButtonBaseProps extends Omit<IconButtonProps, 'aria-label' | 'aria-labelledby' | 'component'>, Pick<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href' | 'rel' | 'target'> {
26
43
  /** Components used for internal slots. */
27
44
  slots?: SIconButtonSlots;
28
45
  /** Props or owner-state callbacks for internal slots. */
29
46
  slotProps?: SIconButtonSlotProps;
30
- /** Optional tooltip title. */
31
- tooltip?: React.ReactNode;
32
47
  /** Visual treatment for icon buttons displayed over another surface. */
33
48
  variant?: SIconButtonVariant;
34
49
  }
35
- export declare const SIconButton: React.ForwardRefExoticComponent<Omit<SIconButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
50
+ export type SIconButtonProps = SIconButtonBaseProps & SIconButtonAccessibleNameProps;
51
+ export declare const SIconButton: React.ForwardRefExoticComponent<(Omit<SIconButtonBaseProps & {
52
+ 'aria-label': string;
53
+ 'aria-labelledby'?: string;
54
+ tooltip?: React.ReactNode;
55
+ }, "ref"> | Omit<SIconButtonBaseProps & {
56
+ 'aria-label'?: string;
57
+ 'aria-labelledby': string;
58
+ tooltip?: React.ReactNode;
59
+ }, "ref"> | Omit<SIconButtonBaseProps & {
60
+ 'aria-label'?: string;
61
+ 'aria-labelledby'?: string;
62
+ tooltip: string;
63
+ }, "ref">) & React.RefAttributes<HTMLButtonElement>>;
36
64
  export default SIconButton;
@@ -1,11 +1,12 @@
1
- import { styled as e, useThemeProps as t } from "@mui/material/styles";
2
- import n from "@mui/material/IconButton";
3
- import * as r from "react";
4
- import { jsx as i } from "react/jsx-runtime";
5
- import a from "@mui/utils/appendOwnerState";
6
- import o from "@mui/material/Tooltip";
1
+ import { resolveOwnerStateSlotProps as e } from "../utils/slots.js";
2
+ import { styled as t, useThemeProps as n } from "@mui/material/styles";
3
+ import r from "@mui/material/IconButton";
4
+ import * as i from "react";
5
+ import { jsx as a } from "react/jsx-runtime";
6
+ import o from "@mui/utils/appendOwnerState";
7
+ import s from "@mui/material/Tooltip";
7
8
  //#region lib/s-icon-button/s-icon-button.tsx
8
- var s = e(n, {
9
+ var c = t(r, {
9
10
  name: "SIconButton",
10
11
  slot: "Root"
11
12
  })(({ theme: e, ownerState: t }) => {
@@ -16,32 +17,30 @@ var s = e(n, {
16
17
  backgroundColor: n.blackAlpha.medium,
17
18
  boxShadow: e.shadows[1],
18
19
  color: n.common.white,
20
+ "&:active": { backgroundColor: n.blackAlpha.dark },
19
21
  "@media (hover: hover) and (pointer: fine)": { "&:hover": { backgroundColor: n.blackAlpha.dark } }
20
22
  };
21
- });
22
- function c(e, t) {
23
- return typeof e == "function" ? e(t) : e;
24
- }
25
- var l = r.forwardRef(function(e, n) {
26
- let r = t({
27
- props: e,
23
+ }), l = i.forwardRef(function(t, r) {
24
+ let i = n({
25
+ props: t,
28
26
  name: "SIconButton"
29
- }), { disabled: l = !1, slotProps: u, slots: d, tooltip: f, variant: p, ...m } = r, h = {
30
- ...r,
31
- disabled: l,
32
- hasTooltip: f != null,
33
- variant: p
34
- }, g = d?.tooltip ?? o, _ = a(d?.tooltip, c(u?.tooltip, h) ?? {}, h), v = m["aria-label"] ?? (typeof f == "string" ? f : void 0), y = /* @__PURE__ */ i(s, {
35
- ...m,
36
- "aria-label": v,
27
+ }), { disabled: l = !1, loading: u, slotProps: d, slots: f, tooltip: p, variant: m, ...h } = i, g = l || u === !0, _ = {
28
+ ...i,
29
+ disabled: g,
30
+ hasTooltip: p != null,
31
+ variant: m
32
+ }, v = f?.tooltip ?? s, y = o(f?.tooltip, e(d?.tooltip, _) ?? {}, _), b = h["aria-label"] ?? (typeof p == "string" ? p : void 0), x = /* @__PURE__ */ a(c, {
33
+ ...h,
34
+ "aria-label": b,
37
35
  disabled: l,
38
- ownerState: h,
39
- ref: n
36
+ loading: u,
37
+ ownerState: _,
38
+ ref: r
40
39
  });
41
- return f == null ? y : /* @__PURE__ */ i(g, {
42
- ..._,
43
- title: f,
44
- children: l ? /* @__PURE__ */ i("span", { children: y }) : y
40
+ return p == null ? x : /* @__PURE__ */ a(v, {
41
+ ...y,
42
+ title: p,
43
+ children: g ? /* @__PURE__ */ a("span", { children: x }) : x
45
44
  });
46
45
  });
47
46
  l.displayName = "SIconButton";
@@ -1,4 +1,4 @@
1
- import { r as e } from "../theme-primitives-CRfnMsNy.js";
1
+ import { r as e } from "../theme-primitives-DXekeATD.js";
2
2
  import { DefaultMediaItem as t } from "./default-media-item.js";
3
3
  import "react";
4
4
  import { jsx as n } from "react/jsx-runtime";
@@ -70,7 +70,8 @@ var g = 44, _ = 36, v = d(l, {
70
70
  display: "block",
71
71
  minWidth: 0,
72
72
  overflow: "hidden",
73
- textOverflow: "ellipsis"
73
+ textOverflow: "ellipsis",
74
+ whiteSpace: "nowrap"
74
75
  }), S = d(u, {
75
76
  name: "SListActionItem",
76
77
  slot: "Description",
@@ -80,7 +81,8 @@ var g = 44, _ = 36, v = d(l, {
80
81
  display: "block",
81
82
  minWidth: 0,
82
83
  overflow: "hidden",
83
- textOverflow: "ellipsis"
84
+ textOverflow: "ellipsis",
85
+ whiteSpace: "nowrap"
84
86
  })), C = d(c, {
85
87
  name: "SListActionItem",
86
88
  slot: "Trailing",
@@ -40,6 +40,7 @@ var p = (e, t, n) => Math.min(Math.max(e, t), n), m = (e, t, n) => {
40
40
  color: (e.vars ?? e).palette.text.primary,
41
41
  fontWeight: 600,
42
42
  margin: 0,
43
+ marginBlockEnd: e.spacing(1),
43
44
  padding: 0
44
45
  })), oe = c(s, {
45
46
  name: "SNumberRange",
@@ -58,7 +59,7 @@ var p = (e, t, n) => Math.min(Math.max(e, t), n), m = (e, t, n) => {
58
59
  [`& .${f.track}`]: { border: 0 },
59
60
  [`& .${f.thumb}`]: {
60
61
  border: `2px solid ${(e.vars ?? e).palette.background.paper}`,
61
- boxShadow: `0 0 0 1px ${(e.vars ?? e).palette[t.color].main}`,
62
+ boxShadow: "0 0 0 1px currentColor",
62
63
  height: n ? 14 : 18,
63
64
  width: n ? 14 : 18,
64
65
  [`&:hover, &.${f.focusVisible}`]: { boxShadow: `0 0 0 6px ${(e.vars ?? e).palette.action.selected}` }
@@ -1,3 +1,3 @@
1
1
  export { default, default as SProductGallery } from './s-product-gallery';
2
- export type { SProductGalleryCarouselSlotProps, SProductGalleryImageItem, SProductGalleryItem, SProductGalleryOwnerState, SProductGalleryProps, SProductGallerySlotProps, SProductGallerySlots, SProductGalleryThumbnailOwnerState, SProductGalleryVideoItem, } from './s-product-gallery';
2
+ export type { SProductGalleryImageItem, SProductGalleryItem, SProductGalleryOwnerState, SProductGalleryProps, SProductGallerySlotProps, SProductGallerySlots, SProductGalleryThumbnailOwnerState, SProductGalleryThumbnailsPosition, SProductGalleryVariant, SProductGalleryVideoItem, } from './s-product-gallery';
3
3
  export type {} from '../theme/component-augmentation';
@@ -1,5 +1,5 @@
1
1
  import { BoxProps, ButtonBaseProps } from '@mui/material';
2
- import { SCarouselProps } from '../s-carousel';
2
+ import { SIconButtonProps } from '../s-icon-button';
3
3
  import { SLazyImageProps } from '../s-lazy-image';
4
4
  import { OwnerStateSlotProps } from '../utils/slots';
5
5
  import * as React from 'react';
@@ -35,6 +35,10 @@ export type SProductGalleryVideoItem = SProductGalleryVideoItemBase & ({
35
35
  });
36
36
  /** A single image or video in the product gallery. */
37
37
  export type SProductGalleryItem = SProductGalleryImageItem | SProductGalleryVideoItem;
38
+ /** Visual density preset for the product gallery. */
39
+ export type SProductGalleryVariant = 'standard' | 'compact';
40
+ /** Placement of the thumbnail rail relative to the stage. */
41
+ export type SProductGalleryThumbnailsPosition = 'bottom' | 'start' | 'end';
38
42
  /** Props for <SProductGallery>. */
39
43
  export interface SProductGalleryProps extends Omit<BoxProps, 'children' | 'component' | 'defaultValue' | 'onChange'> {
40
44
  /**
@@ -44,6 +48,8 @@ export interface SProductGalleryProps extends Omit<BoxProps, 'children' | 'compo
44
48
  aspectRatio?: number | string;
45
49
  /** Initially selected item id, for uncontrolled usage. Defaults to the first item. */
46
50
  defaultValue?: string;
51
+ /** Accessible text shown when there are no items to display. */
52
+ emptyText?: string;
47
53
  /** Returns the accessible name for a thumbnail button. */
48
54
  getThumbnailAriaLabel?: (item: SProductGalleryItem, index: number, total: number) => string;
49
55
  /** Media shown in the stage and the thumbnail rail. */
@@ -56,10 +62,12 @@ export interface SProductGalleryProps extends Omit<BoxProps, 'children' | 'compo
56
62
  slotProps?: SProductGallerySlotProps;
57
63
  /** Accessible name for the thumbnail rail. */
58
64
  thumbnailsLabel?: string;
59
- /** Thumbnails visible at once on wide viewports. Halves below the `sm` breakpoint. */
60
- thumbnailsToShow?: number;
65
+ /** Placement of the thumbnail rail. When set to 'start' or 'end', collapses to bottom on mobile. */
66
+ thumbnailsPosition?: SProductGalleryThumbnailsPosition;
61
67
  /** Selected item id, for controlled usage. */
62
68
  value?: string;
69
+ /** Visual preset for density. */
70
+ variant?: SProductGalleryVariant;
63
71
  }
64
72
  export interface SProductGalleryOwnerState extends SProductGalleryProps {
65
73
  /** Resolved fixed stage aspect ratio. */
@@ -68,9 +76,11 @@ export interface SProductGalleryOwnerState extends SProductGalleryProps {
68
76
  activeItem: SProductGalleryItem | null;
69
77
  /** Index of the active item, or `-1` when there is nothing to show. */
70
78
  activeIndex: number;
79
+ emptyText: string;
71
80
  thumbnailsLabel: string;
72
- thumbnailsToShow: number;
81
+ thumbnailsPosition: SProductGalleryThumbnailsPosition;
73
82
  value: string;
83
+ variant: SProductGalleryVariant;
74
84
  }
75
85
  /** Owner state handed to the `thumbnail` slot. */
76
86
  export interface SProductGalleryThumbnailOwnerState extends SProductGalleryOwnerState {
@@ -79,12 +89,12 @@ export interface SProductGalleryThumbnailOwnerState extends SProductGalleryOwner
79
89
  selected: boolean;
80
90
  }
81
91
  export interface SProductGallerySlots {
82
- /** The embla-backed thumbnail carousel. */
83
- carousel?: React.ElementType;
84
- /** Shared media wrapper inside the stage. */
85
- media?: React.ElementType;
92
+ /** Placeholder surface when items list is empty. */
93
+ empty?: React.ElementType;
86
94
  /** Stage image renderer. */
87
95
  image?: React.ElementType;
96
+ /** Shared media wrapper inside the stage. */
97
+ media?: React.ElementType;
88
98
  root?: React.ElementType;
89
99
  /** Aspect-ratio box holding the active media. */
90
100
  stage?: React.ElementType;
@@ -94,18 +104,25 @@ export interface SProductGallerySlots {
94
104
  thumbnails?: React.ElementType;
95
105
  /** Stage video renderer. */
96
106
  video?: React.ElementType;
107
+ /** Wrapper around video element and play button. */
108
+ videoFrame?: React.ElementType;
109
+ /** Overlay play/pause indicator badge on video thumbnails. */
110
+ videoIndicator?: React.ElementType;
111
+ /** Center play button for stage video. */
112
+ videoPlayButton?: React.ElementType;
97
113
  }
98
- export type SProductGalleryCarouselSlotProps = Omit<SCarouselProps, 'apiRef' | 'autoplay' | 'autoplaySpeed' | 'centerMode' | 'centerPadding' | 'children' | 'infinite' | 'responsive' | 'slidesToShow' | 'spaceBetween'>;
99
114
  export interface SProductGallerySlotProps {
100
- carousel?: OwnerStateSlotProps<SProductGalleryCarouselSlotProps, SProductGalleryOwnerState>;
115
+ empty?: OwnerStateSlotProps<Omit<BoxProps, 'children'>, SProductGalleryOwnerState>;
101
116
  image?: OwnerStateSlotProps<Omit<SLazyImageProps, 'alt' | 'src'>, SProductGalleryOwnerState>;
102
117
  media?: OwnerStateSlotProps<Omit<BoxProps, 'children'>, SProductGalleryOwnerState>;
103
118
  root?: OwnerStateSlotProps<Omit<BoxProps, 'children' | 'component'>, SProductGalleryOwnerState>;
104
119
  stage?: OwnerStateSlotProps<Omit<BoxProps, 'children'>, SProductGalleryOwnerState>;
105
120
  thumbnail?: OwnerStateSlotProps<Omit<ButtonBaseProps, 'children'>, SProductGalleryThumbnailOwnerState>;
106
121
  thumbnails?: OwnerStateSlotProps<Omit<BoxProps, 'children'>, SProductGalleryOwnerState>;
107
- /** Native video props. `children` can provide caption or subtitle `<track>` elements. */
108
122
  video?: OwnerStateSlotProps<Omit<React.ComponentPropsWithRef<'video'>, 'poster' | 'src'>, SProductGalleryOwnerState>;
123
+ videoFrame?: OwnerStateSlotProps<Omit<BoxProps, 'children'>, SProductGalleryOwnerState>;
124
+ videoIndicator?: OwnerStateSlotProps<Omit<BoxProps, 'children'>, SProductGalleryOwnerState>;
125
+ videoPlayButton?: OwnerStateSlotProps<Omit<SIconButtonProps, 'children'>, SProductGalleryOwnerState>;
109
126
  }
110
127
  /**
111
128
  * Product media viewer: one stage plus a scrollable thumbnail rail, with both