asma-ui-core 3.41.0 → 3.42.1

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 (201) hide show
  1. package/dist/asma-ui-core.css +1 -1
  2. package/dist/components/data-display/badge/StyledBadge.js +24 -29
  3. package/dist/components/data-display/chip/StyledChip.js +60 -45
  4. package/dist/components/data-display/interactive-chip/StyledInteractiveChip.js +38 -32
  5. package/dist/components/data-display/tooltip/StyledTooltip.js +33 -50
  6. package/dist/components/data-display/typography/StyledTypography.js +4 -62
  7. package/dist/components/feedback/dialog/StyledDialog.js +50 -70
  8. package/dist/components/feedback/dialog/StyledDialog.module.js +9 -2
  9. package/dist/components/feedback/dialog/StyledDialogActions.js +16 -16
  10. package/dist/components/feedback/dialog/StyledDialogActions.module.js +8 -0
  11. package/dist/components/feedback/dialog/StyledDialogContent.js +14 -17
  12. package/dist/components/feedback/dialog/StyledDialogContent.module.js +4 -0
  13. package/dist/components/feedback/dialog/StyledDialogTitle.js +13 -18
  14. package/dist/components/feedback/dialog/StyledDialogTitle.module.js +4 -0
  15. package/dist/components/feedback/minimizable-dialog/MinimizableDialog.js +57 -56
  16. package/dist/components/feedback/snack-bar/StyledAlert.js +14 -72
  17. package/dist/components/feedback/snack-bar/StyledSnackbar.js +8 -34
  18. package/dist/components/feedback/snack-bar/components/StyledDefaultSnackbar.js +34 -33
  19. package/dist/components/inputs/checkbox/StyledCheckbox.js +20 -0
  20. package/dist/components/inputs/checkbox/base-ui/StyledCheckbox.js +58 -55
  21. package/dist/components/inputs/checkbox/base-ui/StyledCheckbox.module.js +12 -12
  22. package/dist/components/inputs/dynamic-select/components/DynamicInteractiveChipGroup.js +1 -1
  23. package/dist/components/inputs/dynamic-select/components/DynamicSelectAutocomplete.js +1 -1
  24. package/dist/components/inputs/input-field/StyledInputField.js +81 -104
  25. package/dist/components/inputs/radio-button/StyledRadio.js +17 -0
  26. package/dist/components/inputs/radio-button/base-ui/StyledRadio.js +29 -40
  27. package/dist/components/inputs/radio-button/base-ui/StyledRadio.module.js +10 -10
  28. package/dist/components/inputs/radio-button/base-ui/StyledRadioGroup.js +23 -35
  29. package/dist/components/inputs/select/StyledSelect.js +45 -124
  30. package/dist/components/inputs/select/StyledSelectItem.js +23 -19
  31. package/dist/components/inputs/select-autocomplete/StyledSelectAutocomplete.js +151 -181
  32. package/dist/components/inputs/slider/StyledSlider.js +52 -78
  33. package/dist/components/inputs/switch/base-ui/StyledSwitch.js +39 -44
  34. package/dist/components/miscellaneous/StyledFormControl.js +21 -39
  35. package/dist/components/miscellaneous/StyledFormControlLabel.js +16 -27
  36. package/dist/components/miscellaneous/StyledFormGroup.js +4 -16
  37. package/dist/components/miscellaneous/StyledFormHelperText.js +4 -12
  38. package/dist/components/miscellaneous/StyledInputLabel.js +4 -20
  39. package/dist/components/navigation/drawer/StyledDrawer.js +4 -42
  40. package/dist/components/navigation/listbox/Listbox.js +7 -7
  41. package/dist/components/navigation/menu/StyledMenu.js +11 -28
  42. package/dist/components/navigation/menu/StyledMenuItem.js +18 -16
  43. package/dist/components/navigation/menu/StyledMenuList.js +4 -32
  44. package/dist/components/navigation/tabs/StyledTab.js +13 -25
  45. package/dist/components/navigation/tabs/StyledTabs.js +64 -112
  46. package/dist/components/utils/accordion/base-ui/StyledAccordion.js +21 -28
  47. package/dist/components/utils/accordion/base-ui/StyledAccordion.module.js +7 -7
  48. package/dist/components/utils/accordion/base-ui/StyledAccordionDetails.js +14 -28
  49. package/dist/components/utils/accordion/base-ui/StyledAccordionSummary.js +27 -31
  50. package/dist/components/utils/popover/StyledPopover.js +15 -44
  51. package/dist/datetime/components/date-picker/StyledDatePicker.js +6 -6
  52. package/dist/datetime/components/date-picker/components/BaseDatePickerInput.js +1 -1
  53. package/dist/datetime/components/date-picker/components/HelperTextWithTooltip.js +6 -6
  54. package/dist/datetime/components/date-picker/components/StyledCalendarPicker.js +11 -11
  55. package/dist/datetime/components/date-picker/components/StyledCalendarPickerFooter.js +14 -13
  56. package/dist/datetime/components/date-picker/components/StyledCalendarPickerSelectMonth.js +14 -14
  57. package/dist/datetime/components/date-picker/components/StyledCalendarPickerSelectYear.js +6 -6
  58. package/dist/datetime/components/date-picker/components/StyledDayPicker.js +5 -4
  59. package/dist/datetime/components/date-picker/hooks/useDatePickerMask.js +4 -4
  60. package/dist/datetime/components/time-picker/StyledTimePicker.js +25 -25
  61. package/dist/datetime/components/time-picker/TimePickerInput.js +16 -15
  62. package/dist/datetime/components/time-picker/TimePickerPopper.js +19 -21
  63. package/dist/datetime/helpers/cn.js +5 -4
  64. package/dist/datetime/shared-components/ExpandIcon.js +18 -0
  65. package/dist/datetime/shared-components/StyledFormControl.js +23 -0
  66. package/dist/datetime/shared-components/StyledInputField.js +47 -0
  67. package/dist/datetime/shared-components/StyledSelect.js +47 -0
  68. package/dist/datetime/shared-components/StyledSelectItem.js +13 -0
  69. package/dist/datetime/shared-components/StyledTooltip.js +32 -0
  70. package/dist/helpers/cn.js +5 -4
  71. package/dist/index.js +175 -185
  72. package/dist/src/components/data-display/badge/StyledBadge.d.ts +2 -26
  73. package/dist/src/components/data-display/chip/StyledChip.d.ts +5 -39
  74. package/dist/src/components/data-display/interactive-chip/StyledInteractiveChip.d.ts +4 -11
  75. package/dist/src/components/data-display/tooltip/StyledTooltip.d.ts +2 -36
  76. package/dist/src/components/data-display/typography/StyledTypography.d.ts +1 -19
  77. package/dist/src/components/feedback/dialog/StyledDialog.d.ts +4 -50
  78. package/dist/src/components/feedback/dialog/StyledDialogActions.d.ts +2 -12
  79. package/dist/src/components/feedback/dialog/StyledDialogContent.d.ts +2 -12
  80. package/dist/src/components/feedback/dialog/StyledDialogTitle.d.ts +2 -10
  81. package/dist/src/components/feedback/snack-bar/SnackbarProvider.d.ts +1 -1
  82. package/dist/src/components/feedback/snack-bar/StyledAlert.d.ts +2 -24
  83. package/dist/src/components/feedback/snack-bar/StyledAlertSnackbar.d.ts +1 -1
  84. package/dist/src/components/feedback/snack-bar/StyledSnackbar.d.ts +2 -21
  85. package/dist/src/components/feedback/snack-bar/components/StyledDefaultSnackbar.d.ts +1 -1
  86. package/dist/src/components/feedback/snack-bar/components/StyledInfoSnackbar.d.ts +1 -1
  87. package/dist/src/components/feedback/snack-bar/components/types.d.ts +1 -1
  88. package/dist/src/components/inputs/checkbox/StyledCheckbox.d.ts +4 -0
  89. package/dist/src/components/inputs/checkbox/base-ui/StyledCheckbox.d.ts +4 -9
  90. package/dist/src/components/inputs/dynamic-select/types.d.ts +2 -2
  91. package/dist/src/components/inputs/input-field/StyledInputField.d.ts +11 -67
  92. package/dist/src/components/inputs/input-field/index.d.ts +1 -1
  93. package/dist/src/components/inputs/radio-button/StyledRadio.d.ts +4 -0
  94. package/dist/src/components/inputs/radio-button/StyledRadioGroup.d.ts +4 -0
  95. package/dist/src/components/inputs/radio-button/base-ui/StyledRadio.d.ts +5 -20
  96. package/dist/src/components/inputs/radio-button/base-ui/StyledRadioGroup.d.ts +7 -24
  97. package/dist/src/components/inputs/select/StyledSelect.d.ts +16 -39
  98. package/dist/src/components/inputs/select/StyledSelectItem.d.ts +2 -14
  99. package/dist/src/components/inputs/select/index.d.ts +1 -0
  100. package/dist/src/components/inputs/select-autocomplete/StyledSelectAutocomplete.d.ts +17 -88
  101. package/dist/src/components/inputs/slider/StyledSlider.d.ts +3 -55
  102. package/dist/src/components/inputs/switch/StyledSwitch.d.ts +5 -0
  103. package/dist/src/components/inputs/switch/base-ui/StyledSwitch.d.ts +4 -20
  104. package/dist/src/components/miscellaneous/StyledFormControl.d.ts +2 -22
  105. package/dist/src/components/miscellaneous/StyledFormControlLabel.d.ts +2 -21
  106. package/dist/src/components/miscellaneous/StyledFormGroup.d.ts +2 -11
  107. package/dist/src/components/miscellaneous/StyledFormHelperText.d.ts +2 -12
  108. package/dist/src/components/miscellaneous/StyledInputLabel.d.ts +2 -20
  109. package/dist/src/components/navigation/drawer/StyledDrawer.d.ts +2 -28
  110. package/dist/src/components/navigation/menu/StyledMenu.d.ts +2 -33
  111. package/dist/src/components/navigation/menu/StyledMenuItem.d.ts +2 -23
  112. package/dist/src/components/navigation/menu/StyledMenuList.d.ts +2 -16
  113. package/dist/src/components/navigation/menu/index.d.ts +1 -0
  114. package/dist/src/components/navigation/tabs/StyledTab.d.ts +3 -17
  115. package/dist/src/components/navigation/tabs/StyledTabs.d.ts +7 -16
  116. package/dist/src/components/utils/accordion/StyledAccordion.d.ts +2 -0
  117. package/dist/src/components/utils/accordion/StyledAccordionDetails.d.ts +2 -0
  118. package/dist/src/components/utils/accordion/StyledAccordionSummary.d.ts +8 -0
  119. package/dist/src/components/utils/accordion/base-ui/StyledAccordion.d.ts +3 -9
  120. package/dist/src/components/utils/accordion/base-ui/StyledAccordionDetails.d.ts +0 -5
  121. package/dist/src/components/utils/accordion/base-ui/StyledAccordionSummary.d.ts +4 -8
  122. package/dist/src/components/utils/copy-wrapper/CopyWrapper.d.ts +1 -1
  123. package/dist/src/components/utils/filter-menu/StyledFilterMenu.d.ts +2 -2
  124. package/dist/src/components/utils/popover/StyledPopover.d.ts +2 -32
  125. package/dist/src/datetime/components/date-picker/components/StyledCalendarPicker.d.ts +1 -1
  126. package/dist/src/datetime/components/date-picker/components/StyledDayPicker.d.ts +1 -1
  127. package/dist/src/datetime/components/date-picker/hooks/useDatePickerMask.d.ts +2 -1
  128. package/dist/src/datetime/components/time-picker/TimePickerInput.d.ts +1 -1
  129. package/dist/src/datetime/components/time-picker/TimePickerPopper.d.ts +1 -1
  130. package/dist/src/datetime/components/time-picker/types.d.ts +2 -1
  131. package/dist/src/datetime/shared-components/StyledFormControl.d.ts +2 -1
  132. package/dist/src/datetime/shared-components/StyledInputField.d.ts +12 -1
  133. package/dist/src/datetime/shared-components/StyledSelect.d.ts +16 -1
  134. package/dist/src/datetime/shared-components/StyledSelectItem.d.ts +2 -1
  135. package/dist/src/datetime/shared-components/StyledTooltip.d.ts +2 -1
  136. package/dist/src/index.d.ts +1 -2
  137. package/dist/src/table/shared-components/StyledCheckbox.d.ts +4 -7
  138. package/dist/src/table/shared-components/StyledMenuItem.d.ts +2 -18
  139. package/dist/src/table/shared-components/menu-item/index.d.ts +2 -13
  140. package/dist/src/table/shared-components/tooltip/index.d.ts +1 -5
  141. package/dist/src/table/types.d.ts +1 -1
  142. package/dist/table/components/Fetching.js +4 -4
  143. package/dist/table/components/TableRow.js +7 -7
  144. package/dist/table/components/TableSkeleton.js +6 -6
  145. package/dist/table/components/columns/action-column/components/HeaderActionMenu.js +24 -24
  146. package/dist/table/components/columns/action-column/components/RowActionMenu.js +25 -26
  147. package/dist/table/components/table-footer/TablePagination.js +24 -27
  148. package/dist/table/components/table-footer/TableRowCountSelect.js +27 -30
  149. package/dist/table/helpers/cn.js +5 -4
  150. package/dist/table/shared-components/StyledCheckbox.js +55 -54
  151. package/dist/table/shared-components/StyledCheckbox.module.js +10 -10
  152. package/dist/table/shared-components/StyledMenuItem.js +18 -12
  153. package/dist/table/shared-components/menu-item/index.js +17 -13
  154. package/dist/table/shared-components/tooltip/index.js +23 -4
  155. package/package.json +16 -9
  156. package/dist/components/inputs/field-styles.js +0 -6
  157. package/dist/components/inputs/input-field/StyledInputField.module.js +0 -4
  158. package/dist/components/inputs/radio-button/base-ui/RadioGroupContext.js +0 -6
  159. package/dist/components/inputs/slider/StyledSlider.module.js +0 -10
  160. package/dist/components/miscellaneous/FormControlContext.js +0 -6
  161. package/dist/components/mui-compat/Avatar.js +0 -29
  162. package/dist/components/mui-compat/ClickAwayListener.js +0 -29
  163. package/dist/components/mui-compat/Container.js +0 -24
  164. package/dist/components/mui-compat/Fade.js +0 -29
  165. package/dist/components/mui-compat/Fade.module.js +0 -9
  166. package/dist/components/mui-compat/FormLabel.js +0 -22
  167. package/dist/components/mui-compat/Paper.js +0 -44
  168. package/dist/components/mui-compat/Popper.js +0 -35
  169. package/dist/components/mui-compat/Skeleton.js +0 -26
  170. package/dist/components/mui-compat/Stack.js +0 -24
  171. package/dist/components/navigation/tabs/TabsContext.js +0 -6
  172. package/dist/components/utils/accordion/base-ui/AccordionContext.js +0 -10
  173. package/dist/components/utils/virtual-list/VirtualList.js +0 -45
  174. package/dist/helpers/arrays.js +0 -4
  175. package/dist/helpers/inputMask.js +0 -45
  176. package/dist/helpers/sx.js +0 -46
  177. package/dist/src/api-surface.test.d.ts +0 -1
  178. package/dist/src/components/inputs/field-styles.d.ts +0 -22
  179. package/dist/src/components/inputs/radio-button/base-ui/RadioGroupContext.d.ts +0 -10
  180. package/dist/src/components/miscellaneous/FormControlContext.d.ts +0 -14
  181. package/dist/src/components/mui-compat/Avatar.d.ts +0 -6
  182. package/dist/src/components/mui-compat/ClickAwayListener.d.ts +0 -19
  183. package/dist/src/components/mui-compat/Container.d.ts +0 -6
  184. package/dist/src/components/mui-compat/Fade.d.ts +0 -21
  185. package/dist/src/components/mui-compat/FormLabel.d.ts +0 -6
  186. package/dist/src/components/mui-compat/Paper.d.ts +0 -6
  187. package/dist/src/components/mui-compat/Popper.d.ts +0 -29
  188. package/dist/src/components/mui-compat/Skeleton.d.ts +0 -7
  189. package/dist/src/components/mui-compat/Stack.d.ts +0 -7
  190. package/dist/src/components/mui-compat/index.d.ts +0 -9
  191. package/dist/src/components/mui-compat/types.d.ts +0 -46
  192. package/dist/src/components/navigation/tabs/TabsContext.d.ts +0 -11
  193. package/dist/src/components/utils/accordion/base-ui/AccordionContext.d.ts +0 -10
  194. package/dist/src/components/utils/virtual-list/VirtualList.d.ts +0 -28
  195. package/dist/src/components/utils/virtual-list/index.d.ts +0 -1
  196. package/dist/src/helpers/arrays.d.ts +0 -2
  197. package/dist/src/helpers/arrays.test.d.ts +0 -1
  198. package/dist/src/helpers/inputMask.d.ts +0 -29
  199. package/dist/src/helpers/inputMask.test.d.ts +0 -1
  200. package/dist/src/helpers/sx.d.ts +0 -2
  201. package/dist/src/helpers/sx.test.d.ts +0 -1
@@ -1,127 +1,48 @@
1
- import { cn as a } from "../../../helpers/cn.js";
2
- import { resolveSx as oe } from "../../../helpers/sx.js";
3
- import { ChevronDownIcon as re } from "../../icons/chevron-down-icon/ChevronDownIcon.js";
4
- import { CloseIcon as se } from "../../icons/close-icon/CloseIcon.js";
5
- import { ErrorOutlineIcon as le } from "../../icons/error-outline-icon/ErrorOutlineIcon.js";
6
- import { outlineClass as ne } from "../field-styles.js";
7
- import { useFormControlContext as ie } from "../../miscellaneous/FormControlContext.js";
8
- import { StyledFormHelperText as ae } from "../../miscellaneous/StyledFormHelperText.js";
9
- import { Children as D, cloneElement as ce, isValidElement as R, useEffect as F, useRef as de, useState as S } from "react";
10
- import { jsx as o, jsxs as c } from "react/jsx-runtime";
11
- import { FloatingPortal as me, autoUpdate as fe, flip as ue, offset as pe, shift as xe, size as ge, useClick as he, useDismiss as be, useFloating as we, useInteractions as ye, useMergeRefs as E, useRole as ve } from "@floating-ui/react";
12
- var Ve = ({ dataTest: x, value: g, defaultValue: A, onChange: I, size: z, error: V, errorText: j, allowClear: P, disabled: _, readOnly: d, name: h, placeholder: m, displayEmpty: f, renderValue: b, fullWidth: U, className: q, style: B, sx: K, children: w, MenuProps: M }) => {
13
- const r = ie(), $ = z ?? r?.size ?? "medium", y = V ?? r?.error ?? !1, l = _ ?? r?.disabled ?? !1, [s, v] = S(!1), [H, O] = S(A), C = g !== void 0, n = C ? g : H, i = n !== void 0 && n !== "" && n !== null, u = de(null), { refs: N, floatingStyles: W, context: p } = we({
14
- open: s,
15
- onOpenChange: v,
16
- placement: "bottom-start",
17
- whileElementsMounted: fe,
18
- middleware: [
19
- pe(4),
20
- ue({ padding: 8 }),
21
- xe({ padding: 8 }),
22
- ge({ apply({ rects: e, elements: t }) {
23
- t.floating.style.minWidth = `${e.reference.width}px`;
24
- } })
25
- ]
26
- }), { getReferenceProps: G, getFloatingProps: J } = ye([
27
- he(p, { enabled: !l && !d }),
28
- be(p),
29
- ve(p, { role: "listbox" })
30
- ]), L = E([N.setReference]), Q = E([N.setFloating, u]);
31
- F(() => r?.setFocused(s), [s, r]), F(() => r?.setFilled(i || !!m || !!f), [
32
- i,
33
- m,
34
- f,
35
- r
36
- ]);
37
- const k = (e, t) => {
38
- C || O(e), I?.({ target: {
39
- value: e,
40
- name: h
41
- } }, t), v(!1);
42
- }, T = D.map(w, (e) => {
43
- if (!R(e)) return e;
44
- const t = e.props.value;
45
- return ce(e, {
46
- selected: t === n,
47
- onClick: () => k(t, e.props.children)
48
- });
49
- }), X = D.toArray(w).find((e) => R(e) && e.props.value === n), Y = b ? b(n) : X?.props.children, Z = (e) => {
50
- const t = u.current ? Array.from(u.current.querySelectorAll('[role="option"]:not([aria-disabled="true"])')) : [];
51
- if (t.length === 0) return;
52
- const ee = t.findIndex((te) => te === document.activeElement);
53
- e.key === "ArrowDown" || e.key === "ArrowUp" ? (e.preventDefault(), t[(ee + (e.key === "ArrowDown" ? 1 : -1) + t.length) % t.length]?.focus()) : (e.key === "Enter" || e.key === " ") && (e.preventDefault(), document.activeElement?.click());
54
- };
55
- return /* @__PURE__ */ c("div", {
56
- className: a("group relative inline-flex flex-col", U && "w-full", q),
57
- style: {
58
- ...oe(K),
59
- ...B
1
+ import { ChevronDownIcon as u } from "../../icons/chevron-down-icon/ChevronDownIcon.js";
2
+ import { CloseIcon as m } from "../../icons/close-icon/CloseIcon.js";
3
+ import { ErrorOutlineIcon as d } from "../../icons/error-outline-icon/ErrorOutlineIcon.js";
4
+ import { StyledFormHelperText as c } from "../../miscellaneous/StyledFormHelperText.js";
5
+ import s from "clsx";
6
+ import { Select as h } from "@mui/material";
7
+ import { Fragment as p, jsx as o, jsxs as t } from "react/jsx-runtime";
8
+ var I = ({ dataTest: i, allowClear: l, error: e, errorText: n, ...r }) => /* @__PURE__ */ t(p, { children: [/* @__PURE__ */ o(h, {
9
+ ...r,
10
+ "data-testid": i,
11
+ error: e,
12
+ value: r.value,
13
+ IconComponent: ({ className: a }) => /* @__PURE__ */ o(u, {
14
+ width: 24,
15
+ height: 24,
16
+ className: s(a, "-mt-[3.5px]")
17
+ }),
18
+ endAdornment: l && r.value ? /* @__PURE__ */ o("div", {
19
+ "data-testid": "select-clear-button",
20
+ className: "absolute right-8 flex items-center justify-center rounded-full p-[2px] duration-300 hover:bg-gama-100",
21
+ onClick: () => {
22
+ r.onChange?.({ target: { value: "" } }, null);
60
23
  },
61
- children: [
62
- /* @__PURE__ */ c("button", {
63
- ref: L,
64
- type: "button",
65
- "data-testid": x,
66
- role: "combobox",
67
- "aria-haspopup": "listbox",
68
- "aria-expanded": s,
69
- "aria-disabled": l ? !0 : void 0,
70
- disabled: l,
71
- ...G(),
72
- className: a("relative flex w-full items-center justify-between rounded-lg border-0 bg-transparent px-3 text-left text-delta-800 outline-none", $ === "small" ? "h-9 text-sm" : "h-12 text-base", l && "cursor-not-allowed text-delta-300", d && "pointer-events-none"),
73
- children: [
74
- /* @__PURE__ */ o("span", {
75
- className: a("min-w-0 flex-1 truncate", !i && "text-delta-500"),
76
- children: i || f ? Y : m
77
- }),
78
- /* @__PURE__ */ c("span", {
79
- className: "flex items-center gap-1",
80
- children: [P && i && !l && /* @__PURE__ */ o("span", {
81
- role: "button",
82
- "data-testid": `${x}-clear`,
83
- className: "flex items-center justify-center rounded-full p-[2px] hover:bg-gama-100",
84
- onClick: (e) => {
85
- e.stopPropagation(), k("", null);
86
- },
87
- children: /* @__PURE__ */ o(se, {
88
- width: 18,
89
- height: 18
90
- })
91
- }), /* @__PURE__ */ o(re, {
92
- width: 24,
93
- height: 24,
94
- className: a("transition-transform", s && "rotate-180")
95
- })]
96
- }),
97
- /* @__PURE__ */ o("div", { className: ne({
98
- focused: s,
99
- error: y,
100
- disabled: l,
101
- readOnly: d
102
- }) })
103
- ]
104
- }),
105
- s && /* @__PURE__ */ o(me, { children: /* @__PURE__ */ o("ul", {
106
- ref: Q,
107
- role: "listbox",
108
- "aria-label": h,
109
- style: W,
110
- ...J(),
111
- onKeyDown: Z,
112
- className: a("z-[1300] m-0 max-h-72 list-none overflow-auto rounded-lg border border-delta-300 bg-white px-0 py-1 shadow-[0px_2px_4px_0px_rgba(34,33,51,0.15)]", M?.className),
113
- children: T
114
- }) }),
115
- y && /* @__PURE__ */ c(ae, {
116
- className: "m-0 flex items-center gap-1 pt-1 text-sm text-error-500",
117
- children: [/* @__PURE__ */ o(le, {
118
- width: 20,
119
- height: 20
120
- }), j ?? "Required"]
121
- })
122
- ]
123
- });
124
- };
24
+ children: /* @__PURE__ */ o(m, {
25
+ width: 18,
26
+ height: 18
27
+ })
28
+ }) : null,
29
+ sx: {
30
+ ".MuiOutlinedInput-notchedOutline": { borderColor: "var(--colors-delta-500) !important" },
31
+ "&.Mui-focused .MuiOutlinedInput-notchedOutline": { borderColor: "var(--colors-gama-500) !important" },
32
+ "&.MuiFormLabel-root-MuiInputLabel-root .Mui-error": { color: "var(--colors-error-500) !important" },
33
+ "&.Mui-error .MuiOutlinedInput-notchedOutline": { borderColor: "var(--colors-error-500) !important" },
34
+ "& .MuiInputBase-colorPrimary.Mui-error fieldset": { borderColor: "var(--colors-error-500) !important" },
35
+ "&.Mui-focused::after": { borderColor: "var(--colors-gama-400) !important" },
36
+ "&:hover .MuiOutlinedInput-notchedOutline": { border: "2px solid var(--colors-gama-300) !important" },
37
+ ...r.sx
38
+ }
39
+ }), e && /* @__PURE__ */ t(c, {
40
+ className: "m-0 flex items-center gap-1 pt-1 text-sm text-error-500",
41
+ children: [/* @__PURE__ */ o(d, {
42
+ width: 20,
43
+ height: 20
44
+ }), n ?? "Required"]
45
+ })] });
125
46
  export {
126
- Ve as StyledSelect
47
+ I as StyledSelect
127
48
  };
@@ -1,25 +1,29 @@
1
- import { cn as n } from "../../../helpers/cn.js";
2
- import { CheckIcon as l } from "../../icons/check-icon/CheckIcon.js";
3
- import { jsx as a, jsxs as m } from "react/jsx-runtime";
4
- var x = ({ children: r, selected: e, disabled: t, className: o, onClick: i }) => /* @__PURE__ */ m("li", {
5
- role: "option",
6
- "aria-selected": e ? !0 : void 0,
7
- "aria-disabled": t ? !0 : void 0,
8
- tabIndex: -1,
9
- onClick: t ? void 0 : i,
10
- className: n("flex items-center gap-1 px-2 py-2.5 text-sm outline-none", t ? "cursor-not-allowed text-delta-300" : "cursor-pointer hover:bg-delta-50", e && "bg-gama-50", o),
11
- children: [/* @__PURE__ */ a("span", {
12
- className: "flex w-6 justify-center",
13
- children: e && /* @__PURE__ */ a(l, {
1
+ import { CheckIcon as t } from "../../icons/check-icon/CheckIcon.js";
2
+ import { MenuItem as o } from "@mui/material";
3
+ import { jsx as r, jsxs as n } from "react/jsx-runtime";
4
+ var c = (e) => /* @__PURE__ */ n(o, {
5
+ ...e,
6
+ sx: {
7
+ "&.MuiMenuItem-root": {
8
+ fontSize: "14px !important",
9
+ gap: "4px",
10
+ px: 1
11
+ },
12
+ "&.Mui-selected": { backgroundColor: "var(--colors-gama-50) !important" }
13
+ },
14
+ children: [/* @__PURE__ */ r("span", {
15
+ style: {
16
+ width: "24px",
17
+ justifyContent: "center",
18
+ display: "flex"
19
+ },
20
+ children: e.selected && /* @__PURE__ */ r(t, {
14
21
  width: 22,
15
22
  height: 22,
16
- className: "text-gama-500"
23
+ style: { color: "var(--colors-gama-500)" }
17
24
  })
18
- }), /* @__PURE__ */ a("span", {
19
- className: "min-w-0 flex-1 truncate",
20
- children: r
21
- })]
25
+ }), /* @__PURE__ */ r("span", { children: e.children })]
22
26
  });
23
27
  export {
24
- x as StyledSelectItem
28
+ c as StyledSelectItem
25
29
  };
@@ -1,192 +1,162 @@
1
- import { cn as x } from "../../../helpers/cn.js";
2
- import { ChevronDownIcon as ve } from "../../icons/chevron-down-icon/ChevronDownIcon.js";
3
- import { CloseIcon as Ie } from "../../icons/close-icon/CloseIcon.js";
4
- import { CheckIcon as Ce } from "../../icons/check-icon/CheckIcon.js";
5
- import { PlusIconCircle as Se } from "../../icons/plus-icon-circle/PlusIconCircle.js";
6
- import { StyledChip as $e } from "../../data-display/chip/StyledChip.js";
7
- import { StyledCheckbox as De } from "../checkbox/base-ui/StyledCheckbox.js";
8
- import { LoadingIcon as Ae } from "../../../table/shared-components/LoadingIcon.js";
9
- import U from "./StyledSelectAutocomplete.module.js";
10
- import { useMemo as Re, useRef as Fe, useState as $ } from "react";
11
- import { jsx as s, jsxs as D } from "react/jsx-runtime";
12
- import { FloatingFocusManager as ke, FloatingPortal as je, autoUpdate as Le, flip as Me, offset as Pe, shift as _e, size as ze, useDismiss as We, useFloating as Ue, useInteractions as Ve, useListNavigation as Ee, useMergeRefs as V, useRole as Ke } from "@floating-ui/react";
13
- var Be = (r) => typeof r == "object" && r !== null && "label" in r ? String(r.label) : String(r), E = (r) => typeof r == "object" && r !== null && "disabled" in r && !!r.disabled;
14
- function lt({ dataTest: r, options: A, renderInput: K, value: w, onChange: y, getOptionLabel: B, isOptionEqualToValue: R, renderOption: F, renderValue: k, filterOptions: N, loading: j, loadingText: H = "Loading…", noOptionsText: O = "No options", disabled: L, readOnly: u, size: q = "small", disableClearable: G, popupIcon: J, multiple: Q, fullWidth: X, classes: Y, inputValue: M, onInputChange: Z, open: P, onOpen: T, onClose: ee, className: te, wrapperClassName: le }) {
15
- const o = Q === !0, a = B ?? Be, p = (e, t) => R ? R(e, t) : e === t, [se, re] = $(!1), n = P ?? se, m = (e) => {
16
- P === void 0 && re(e), e ? T?.() : ee?.();
17
- }, [oe, ae] = $(""), c = M ?? oe, v = (e, t, l) => {
18
- M === void 0 && ae(t), Z?.(e, t, l);
19
- }, [f, ne] = $(null), _ = Fe([]), i = o ? Array.isArray(w) ? w : [] : [], I = o ? null : w ?? null, z = (e) => o ? i.some((t) => p(e, t)) : I !== null && p(e, I), h = Re(() => {
20
- const e = [...A];
21
- if (N) return N(e, { inputValue: c });
22
- if (!c || o) return e;
23
- const t = c.toLowerCase();
24
- return e.filter((l) => a(l).toLowerCase().includes(t));
25
- }, [
26
- A,
27
- c,
28
- o,
29
- N
30
- ]), { refs: W, floatingStyles: ie, context: g } = Ue({
31
- open: n,
32
- onOpenChange: m,
33
- placement: "bottom-start",
34
- whileElementsMounted: Le,
35
- middleware: [
36
- Pe(4),
37
- Me({ padding: 8 }),
38
- _e({ padding: 8 }),
39
- ze({ apply({ rects: e, elements: t, availableHeight: l }) {
40
- t.floating.style.minWidth = `${e.reference.width}px`, t.floating.style.maxHeight = `${Math.min(l - 8, 320)}px`;
41
- } })
42
- ]
43
- }), { getReferenceProps: ce, getFloatingProps: de, getItemProps: ue } = Ve([
44
- We(g),
45
- Ke(g, { role: "listbox" }),
46
- Ee(g, {
47
- listRef: _,
48
- activeIndex: f,
49
- onNavigate: ne,
50
- virtual: !0,
51
- loop: !0
52
- })
53
- ]), me = V([W.setReference]), fe = V([W.setFloating]), C = (e, t) => {
54
- if (o) {
55
- const l = i.some((d) => p(t, d)), b = l ? i.filter((d) => !p(t, d)) : [...i, t];
56
- y?.(e, b, l ? "removeOption" : "selectOption", { option: t });
57
- } else
58
- y?.(e, t, "selectOption", { option: t }), v(e, a(t), "reset"), m(!1);
59
- }, pe = (e) => {
60
- y?.(e, o ? [] : null, "clear", void 0), v(e, "", "clear");
61
- }, he = (e) => {
62
- if (e.key === "Enter" && n && f != null && h[f] != null) {
63
- e.preventDefault();
64
- const t = h[f];
65
- E(t) || C(e, t);
66
- } else e.key === "ArrowDown" && !n && m(!0);
67
- }, ge = !G && !u && !L && (o ? i.length > 0 : I !== null), be = o ? k ? k(i, ({ index: e }) => ({ "data-index": e })) : i.map((e, t) => /* @__PURE__ */ s($e, {
68
- dataTest: `selected-chip-${a(e)}`,
69
- label: a(e),
70
- readOnly: u,
71
- onDelete: u ? void 0 : (l) => C(l, e)
72
- }, `${a(e)}-${t}`)) : void 0, xe = /* @__PURE__ */ D("span", {
73
- className: "flex items-center",
74
- children: [
75
- j && /* @__PURE__ */ s(Ae, {
76
- width: 20,
77
- height: 20,
78
- className: "animate-spin"
79
- }),
80
- ge && /* @__PURE__ */ s("span", {
81
- role: "button",
82
- "data-testid": `${r}-clear`,
83
- className: "flex min-h-6 min-w-6 cursor-pointer items-center justify-center rounded-full bg-delta-50",
84
- onMouseDown: (e) => {
85
- e.preventDefault(), pe(e);
86
- },
87
- children: /* @__PURE__ */ s(Ie, {
88
- width: 20,
89
- height: 20,
90
- className: "text-delta-700"
91
- })
92
- }),
93
- u ? null : J ?? (o ? /* @__PURE__ */ s(Se, {
1
+ import { cn as v } from "../../../helpers/cn.js";
2
+ import { ChevronDownIcon as le } from "../../icons/chevron-down-icon/ChevronDownIcon.js";
3
+ import { CloseIcon as ae } from "../../icons/close-icon/CloseIcon.js";
4
+ import { CheckIcon as se } from "../../icons/check-icon/CheckIcon.js";
5
+ import { PlusIconCircle as ne } from "../../icons/plus-icon-circle/PlusIconCircle.js";
6
+ import { StyledChip as ce } from "../../data-display/chip/StyledChip.js";
7
+ import { StyledCheckbox as R } from "../checkbox/base-ui/StyledCheckbox.js";
8
+ import H from "./StyledSelectAutocomplete.module.js";
9
+ import B from "clsx";
10
+ import { createElement as A, useLayoutEffect as ie, useRef as de, useState as D } from "react";
11
+ import { Autocomplete as ue, Paper as me } from "@mui/material";
12
+ import { jsx as o, jsxs as L } from "react/jsx-runtime";
13
+ import { mergeSlotProps as pe } from "@mui/material/utils";
14
+ function he(s, c) {
15
+ return pe(s, c);
16
+ }
17
+ function Ie({ dataTest: s, autoHeight: c, getOptionLabel: u, wrapperClassName: z, multiple: n, allowSelectAll: W, selectAllLabel: C, className: V, defaultValue: M, isOptionEqualToValue: p, onChange: _, options: h, popupIcon: F, readOnly: f, renderOption: G, renderValue: K, sx: O, value: x, ...T }) {
18
+ const { slots: U, slotProps: g, ...E } = T, [N, J] = D("auto"), b = de(null), l = n === !0 && W === !0 && !f, k = x !== void 0, S = (e) => Array.isArray(e) ? e : [], [Q, X] = D(() => S(M));
19
+ ie(() => {
20
+ if (!c) return;
21
+ const e = b.current?.getBoundingClientRect().height ?? 0, t = b.current?.getBoundingClientRect().top ?? 0, r = window.innerHeight - t - e - 40;
22
+ J(r > 0 ? r : "auto");
23
+ }, [c]);
24
+ const i = (e) => typeof e == "object" && e !== null && "label" in e ? e.label : String(e), Y = (e) => typeof e == "object" && e !== null && "disabled" in e && !!e.disabled, Z = {
25
+ padding: 0,
26
+ "& .MuiAutocomplete-option": { paddingLeft: n ? "12px !important" : "6px !important" }
27
+ }, w = c ? { maxHeight: N === "auto" ? "auto" : `${N}px` } : void 0, I = l ? S(k ? x : Q) : [], d = l ? h.filter((e) => !Y(e)) : h, q = (e, t) => {
28
+ const r = typeof e == "object" && e !== null;
29
+ return r !== (typeof t == "object" && t !== null) || !r && typeof e != typeof t ? !1 : p ? p(e, t) : e === t;
30
+ }, P = l ? d.filter((e) => I.some((t) => q(e, t))).length : 0, $ = l && d.length > 0 && P === d.length, ee = l && P > 0 && !$, j = (e, t, r, a) => {
31
+ l && !k && X(S(t)), _?.(e, t, r, a);
32
+ }, te = (e, t) => {
33
+ j(e, t ? [...d] : [], t ? "selectOption" : "clear", void 0);
34
+ }, re = (e, t) => Array.isArray(e) ? e.map((r, a) => {
35
+ const m = t({ index: a }), y = u?.(r) ?? i(r);
36
+ return /* @__PURE__ */ A(ce, {
37
+ ...m,
38
+ key: `selected-chip-${y}-${a}`,
39
+ dataTest: `selected-chip-${y}`,
40
+ label: y,
41
+ variant: "outlined"
42
+ });
43
+ }) : null, oe = {
44
+ sx: Z,
45
+ ...w ? { style: w } : {}
46
+ };
47
+ return /* @__PURE__ */ o("div", {
48
+ className: v(H.styledSelectAutocompleteWrapper, z),
49
+ ref: b,
50
+ children: /* @__PURE__ */ o(ue, {
51
+ ...E,
52
+ multiple: n,
53
+ defaultValue: l ? void 0 : M,
54
+ getOptionLabel: u,
55
+ isOptionEqualToValue: p,
56
+ className: B("!text-sm", V),
57
+ onChange: j,
58
+ options: h,
59
+ renderValue: K ?? (n ? re : void 0),
60
+ popupIcon: f ? null : F ?? n ? /* @__PURE__ */ o(ne, {
94
61
  width: 24,
95
62
  height: 24
96
- }) : /* @__PURE__ */ s(ve, {
63
+ }) : /* @__PURE__ */ o(le, {
97
64
  width: 24,
98
65
  height: 24,
99
- className: x(U["select-custom-icon"], "transition-transform", n && "rotate-180")
100
- }))
101
- ]
102
- }), we = {
103
- disabled: L,
104
- size: q,
105
- fullWidth: !0,
106
- value: c,
107
- onChange: (e) => {
108
- v(e, e.target.value, "input"), n || m(!0);
109
- },
110
- onFocus: () => m(!0),
111
- onKeyDown: he,
112
- slotProps: {
113
- htmlInput: {
114
- ...ce(),
115
- ref: me,
116
- role: "combobox",
117
- "aria-autocomplete": "list",
118
- "aria-expanded": n,
119
- autoComplete: "off",
120
- readOnly: u
66
+ className: B(H["select-custom-icon"])
67
+ }),
68
+ readOnly: f,
69
+ "data-testid": s,
70
+ value: l ? I : x,
71
+ slots: {
72
+ ...U,
73
+ paper: ({ children: e }) => /* @__PURE__ */ L(me, {
74
+ "data-testid": `paper-${s}`,
75
+ sx: {
76
+ padding: "0 !important",
77
+ marginTop: "0px !important",
78
+ "& .MuiAutocomplete-option.Mui-focused": { background: "var(--colors-delta-50) !important" },
79
+ "& li[aria-selected=true]": { background: "var(--colors-gama-50) !important" },
80
+ "& li[aria-selected=true].MuiAutocomplete-option.Mui-focused": { background: "var(--colors-gama-50) !important" },
81
+ "&:has([data-select-all-header]:hover) .MuiAutocomplete-option.Mui-focused": { background: "transparent !important" },
82
+ "&:has([data-select-all-header]:hover) li[aria-selected=true].MuiAutocomplete-option.Mui-focused": { background: "var(--colors-gama-50) !important" }
83
+ },
84
+ children: [l && d.length > 0 && /* @__PURE__ */ L("div", {
85
+ "data-select-all-header": !0,
86
+ className: "flex items-center gap-x-[10px] border-[1px] border-b border-solid border-delta-200 bg-delta-50 py-2 pl-3 text-xs",
87
+ onMouseDown: (t) => t.preventDefault(),
88
+ role: "presentation",
89
+ children: [/* @__PURE__ */ o(R, {
90
+ size: "small",
91
+ dataTest: `${s}-select-all`,
92
+ checked: $,
93
+ indeterminate: ee,
94
+ hideWrapper: !0,
95
+ onChange: te,
96
+ "aria-label": C ?? "Select all"
97
+ }), /* @__PURE__ */ o("span", {
98
+ className: "truncate text-[10px] font-semibold uppercase text-delta-600",
99
+ children: C ?? "Select all"
100
+ })]
101
+ }), e]
102
+ })
121
103
  },
122
- input: {
123
- startAdornment: be,
124
- endAdornment: xe
125
- }
126
- }
127
- }, ye = (e, t, l) => /* @__PURE__ */ D("li", {
128
- ...e,
129
- className: x("flex cursor-pointer items-center gap-x-1 px-2 text-sm text-delta-700", "aria-selected:bg-gama-50 data-[active]:bg-delta-50", o && "border-0 border-b border-solid border-delta-200"),
130
- children: [o ? /* @__PURE__ */ s(De, {
131
- dataTest: `${r}-${a(t)}-checkbox`,
132
- checked: l.selected,
133
- size: "small",
134
- hideWrapper: !0
135
- }) : /* @__PURE__ */ s("span", {
136
- className: "w-5",
137
- children: l.selected && /* @__PURE__ */ s(Ce, {
138
- width: 20,
139
- height: 20,
140
- className: "text-gama-500"
141
- })
142
- }), /* @__PURE__ */ s("span", {
143
- className: "flex-1 truncate py-2",
144
- children: a(t)
145
- })]
146
- }), Ne = (e, t) => {
147
- const l = E(e), b = {
148
- ...ue({ onClick: (S) => {
149
- l || C(S, e);
150
- } }),
151
- key: `${a(e)}-${t}`,
152
- ref: (S) => {
153
- _.current[t] = S;
104
+ renderOption: G ?? ((e, t, { selected: r }) => {
105
+ const a = e, m = e.id ?? i(t);
106
+ return n ? /* @__PURE__ */ A("li", {
107
+ ...a,
108
+ key: m,
109
+ className: v(e.className, "flex items-center gap-x-[10px] border-0 border-b border-solid border-delta-200")
110
+ }, /* @__PURE__ */ o(R, {
111
+ dataTest: `${s}-${i(t)}-checkbox`,
112
+ checked: r,
113
+ size: "small",
114
+ hideWrapper: !0
115
+ }), /* @__PURE__ */ o("span", {
116
+ className: "flex-1 truncate py-2 text-sm text-delta-700",
117
+ children: u?.(t) ?? i(t)
118
+ })) : /* @__PURE__ */ A("li", {
119
+ ...a,
120
+ key: m,
121
+ className: v(e.className, "flex items-center gap-x-1")
122
+ }, /* @__PURE__ */ o("span", {
123
+ className: "w-5",
124
+ children: r && /* @__PURE__ */ o(se, {
125
+ width: 20,
126
+ height: 20,
127
+ style: { color: "var(--colors-gama-500)" }
128
+ })
129
+ }), /* @__PURE__ */ o("span", {
130
+ className: "flex-1 truncate py-2 text-sm text-delta-700",
131
+ children: u?.(t) ?? i(t)
132
+ }));
133
+ }),
134
+ sx: {
135
+ ...O,
136
+ "& .MuiOutlinedInput-notchedOutline": { borderColor: "var(--colors-gama-500) !important" },
137
+ "& .select-custom-icon": { marginTop: "-0.5px !important" },
138
+ "& .MuiInputBase-inputSizeSmall": { minHeight: "23px !important" }
154
139
  },
155
- role: "option",
156
- id: `${r}-option-${t}`,
157
- "aria-selected": z(e),
158
- "aria-disabled": l || void 0,
159
- "data-active": f === t ? "" : void 0
160
- }, d = {
161
- selected: z(e),
162
- index: t,
163
- inputValue: c
164
- };
165
- return F ? F(b, e, d) : ye(b, e, d);
166
- };
167
- return /* @__PURE__ */ D("div", {
168
- className: x(U.styledSelectAutocompleteWrapper, !X && "w-auto", le, te),
169
- children: [K(we), n && /* @__PURE__ */ s(je, { children: /* @__PURE__ */ s(ke, {
170
- context: g,
171
- modal: !1,
172
- initialFocus: -1,
173
- returnFocus: !1,
174
- children: /* @__PURE__ */ s("ul", {
175
- ref: fe,
176
- style: ie,
177
- ...de(),
178
- className: x("z-[1300] m-0 list-none overflow-auto rounded-lg border border-delta-200 bg-white py-0 shadow-[0px_2px_4px_0px_rgba(34,33,51,0.15)]", Y?.listbox),
179
- children: j ? /* @__PURE__ */ s("li", {
180
- className: "px-3 py-2 text-sm text-delta-600",
181
- children: H
182
- }) : h.length === 0 ? /* @__PURE__ */ s("li", {
183
- className: "px-3 py-2 text-sm text-delta-600",
184
- children: O
185
- }) : h.map(Ne)
140
+ slotProps: {
141
+ ...g,
142
+ clearIndicator: {
143
+ disableRipple: !0,
144
+ disableFocusRipple: !0,
145
+ ...g?.clearIndicator ?? {}
146
+ },
147
+ listbox: he(g?.listbox, oe)
148
+ },
149
+ clearIcon: /* @__PURE__ */ o("span", {
150
+ className: "flex min-h-6 min-w-6 cursor-pointer items-center justify-center rounded-full bg-delta-50",
151
+ children: /* @__PURE__ */ o(ae, {
152
+ width: 20,
153
+ height: 20,
154
+ className: "text-delta-700"
155
+ })
186
156
  })
187
- }) })]
157
+ })
188
158
  });
189
159
  }
190
160
  export {
191
- lt as StyledSelectAutocomplete
161
+ Ie as StyledSelectAutocomplete
192
162
  };