@payfit/unity-components 0.0.0-alpha.7 → 0.0.0-alpha.9

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 (237) hide show
  1. package/dist/cjs/components/actionable/Actionable.d.ts +6 -5
  2. package/dist/cjs/components/alert/Alert.js +1 -1
  3. package/dist/cjs/components/app-menu/parts/AppMenuFooter.js +1 -1
  4. package/dist/cjs/components/avatar/Avatar.js +1 -1
  5. package/dist/cjs/components/avatar/parts/AvatarPair.js +1 -1
  6. package/dist/cjs/components/badge/Badge.d.ts +3 -0
  7. package/dist/cjs/components/badge/Badge.js +1 -1
  8. package/dist/cjs/components/bottom-sheet/BottomSheet.d.ts +153 -0
  9. package/dist/cjs/components/bottom-sheet/BottomSheet.js +1 -0
  10. package/dist/cjs/components/bottom-sheet/parts/BottomSheetContent.d.ts +70 -0
  11. package/dist/cjs/components/bottom-sheet/parts/BottomSheetContent.js +1 -0
  12. package/dist/cjs/components/bottom-sheet/parts/BottomSheetDragIndicator.d.ts +54 -0
  13. package/dist/cjs/components/bottom-sheet/parts/BottomSheetDragIndicator.js +1 -0
  14. package/dist/cjs/components/bottom-sheet/parts/BottomSheetFooter.d.ts +27 -0
  15. package/dist/cjs/components/bottom-sheet/parts/BottomSheetFooter.js +1 -0
  16. package/dist/cjs/components/bottom-sheet/parts/BottomSheetHeader.d.ts +83 -0
  17. package/dist/cjs/components/bottom-sheet/parts/BottomSheetHeader.js +1 -0
  18. package/dist/cjs/components/breadcrumbs/Breadcrumbs.js +1 -1
  19. package/dist/cjs/components/breadcrumbs/parts/Breadcrumb.js +1 -1
  20. package/dist/cjs/components/button/Button.js +1 -1
  21. package/dist/cjs/components/button/Button.variants.js +1 -1
  22. package/dist/cjs/components/checkbox/Checkbox.js +1 -1
  23. package/dist/cjs/components/checkbox/parts/CheckboxIndicator.js +1 -1
  24. package/dist/cjs/components/checkbox-group/CheckboxGroup.js +1 -1
  25. package/dist/cjs/components/collapsible/Collapsible.d.ts +33 -0
  26. package/dist/cjs/components/collapsible/parts/CollapsibleContent.d.ts +36 -0
  27. package/dist/cjs/components/collapsible/parts/CollapsibleTitle.d.ts +39 -0
  28. package/dist/cjs/components/date-picker/DatePicker.js +1 -1
  29. package/dist/cjs/components/date-picker/parts/DateCalendar.js +1 -1
  30. package/dist/cjs/components/date-picker/parts/DateInput.js +1 -1
  31. package/dist/cjs/components/dialog/Dialog.d.ts +98 -11
  32. package/dist/cjs/components/dialog/Dialog.js +1 -1
  33. package/dist/cjs/components/dialog/parts/DialogActions.js +1 -1
  34. package/dist/cjs/components/dialog/parts/DialogContent.js +1 -1
  35. package/dist/cjs/components/dialog/parts/DialogTitle.js +1 -1
  36. package/dist/cjs/components/fieldset/Fieldset.d.ts +150 -0
  37. package/dist/cjs/components/fieldset/Fieldset.js +1 -0
  38. package/dist/cjs/components/fieldset/parts/FieldGroup.d.ts +27 -0
  39. package/dist/cjs/components/fieldset/parts/FieldGroup.js +1 -0
  40. package/dist/cjs/components/form/Form.js +1 -1
  41. package/dist/cjs/components/form-field/parts/FormContextualLink.js +1 -1
  42. package/dist/cjs/components/form-field/parts/FormControl.d.ts +23 -0
  43. package/dist/cjs/components/form-field/parts/FormFeedbackText.js +1 -1
  44. package/dist/cjs/components/form-field/parts/FormHelperText.js +1 -1
  45. package/dist/cjs/components/full-page-loader/FullPageLoader.js +1 -1
  46. package/dist/cjs/components/icon/Icon.js +1 -1
  47. package/dist/cjs/components/icon-button/CircularIconButton.d.ts +68 -3
  48. package/dist/cjs/components/icon-button/CircularIconButton.js +1 -1
  49. package/dist/cjs/components/icon-button/IconButton.js +1 -1
  50. package/dist/cjs/components/icon-button/IconButton.variants.js +1 -1
  51. package/dist/cjs/components/input/Input.js +1 -1
  52. package/dist/cjs/components/label/Label.js +1 -1
  53. package/dist/cjs/components/link/Link.d.ts +1 -1
  54. package/dist/cjs/components/link/Link.js +1 -1
  55. package/dist/cjs/components/menu/parts/MenuContent.js +1 -1
  56. package/dist/cjs/components/multi-select/MultiSelect.d.ts +62 -0
  57. package/dist/cjs/components/multi-select/MultiSelect.js +1 -0
  58. package/dist/cjs/components/multi-select/Multiselect.context.d.ts +7 -0
  59. package/dist/cjs/components/multi-select/Multiselect.context.js +1 -0
  60. package/dist/cjs/components/multi-select/Multiselect.types.d.ts +109 -0
  61. package/dist/cjs/components/multi-select/hooks/use-combobox-filter.d.ts +12 -0
  62. package/dist/cjs/components/multi-select/hooks/use-combobox-filter.js +1 -0
  63. package/dist/cjs/components/multi-select/hooks/use-multiselection-state.d.ts +14 -0
  64. package/dist/cjs/components/multi-select/hooks/use-multiselection-state.js +1 -0
  65. package/dist/cjs/components/multi-select/parts/MultiSelectButton.d.ts +16 -0
  66. package/dist/cjs/components/multi-select/parts/MultiSelectButton.js +1 -0
  67. package/dist/cjs/components/multi-select/parts/MultiSelectOptGroup.d.ts +69 -0
  68. package/dist/cjs/components/multi-select/parts/MultiSelectOptGroup.js +1 -0
  69. package/dist/cjs/components/multi-select/parts/MultiSelectOption.d.ts +20 -0
  70. package/dist/cjs/components/multi-select/parts/MultiSelectOption.js +1 -0
  71. package/dist/cjs/components/multi-select/parts/MultiSelectPopover.d.ts +7 -0
  72. package/dist/cjs/components/multi-select/parts/MultiSelectPopover.js +1 -0
  73. package/dist/cjs/components/multi-select-field/MultiSelectField.d.ts +59 -0
  74. package/dist/cjs/components/multi-select-field/MultiSelectField.js +1 -0
  75. package/dist/cjs/components/pill/Pill.js +1 -1
  76. package/dist/cjs/components/progress-bar/ProgressBar.js +1 -1
  77. package/dist/cjs/components/segmented-button-group/SegmentedButtonGroup.d.ts +43 -0
  78. package/dist/cjs/components/segmented-button-group/SegmentedButtonGroups.context.d.ts +8 -0
  79. package/dist/cjs/components/segmented-button-group/parts/ToggleButton.d.ts +47 -0
  80. package/dist/cjs/components/select/Select.js +1 -1
  81. package/dist/cjs/components/select/parts/SearchInput.js +1 -1
  82. package/dist/cjs/components/select/parts/SelectButton.js +1 -1
  83. package/dist/cjs/components/select/parts/SelectOption.js +1 -1
  84. package/dist/cjs/components/select/parts/SelectOptionHelper.js +1 -1
  85. package/dist/cjs/components/selectable-button-group/SelectableButtonGroup.context.d.ts +2 -0
  86. package/dist/cjs/components/selectable-button-group/SelectableButtonGroup.context.js +1 -0
  87. package/dist/cjs/components/selectable-button-group/SelectableButtonGroup.d.ts +59 -0
  88. package/dist/cjs/components/selectable-button-group/SelectableButtonGroup.js +1 -0
  89. package/dist/cjs/components/selectable-button-group/parts/SelectableButton.d.ts +127 -0
  90. package/dist/cjs/components/selectable-button-group/parts/SelectableButton.js +1 -0
  91. package/dist/cjs/components/side-panel/SidePanel.d.ts +152 -0
  92. package/dist/cjs/components/side-panel/SidePanel.js +1 -0
  93. package/dist/cjs/components/side-panel/parts/SidePanelContent.d.ts +71 -0
  94. package/dist/cjs/components/side-panel/parts/SidePanelContent.js +1 -0
  95. package/dist/cjs/components/side-panel/parts/SidePanelDragIndicator.d.ts +54 -0
  96. package/dist/cjs/components/side-panel/parts/SidePanelDragIndicator.js +1 -0
  97. package/dist/cjs/components/side-panel/parts/SidePanelFooter.d.ts +27 -0
  98. package/dist/cjs/components/side-panel/parts/SidePanelFooter.js +1 -0
  99. package/dist/cjs/components/side-panel/parts/SidePanelHeader.d.ts +75 -0
  100. package/dist/cjs/components/side-panel/parts/SidePanelHeader.js +1 -0
  101. package/dist/cjs/components/spinner/Spinner.js +1 -1
  102. package/dist/cjs/components/tabs/Tabs.js +1 -1
  103. package/dist/cjs/components/tabs/Tabs.variant.js +1 -1
  104. package/dist/cjs/components/tabs/parts/TabList.js +1 -1
  105. package/dist/cjs/components/text/Text.js +1 -1
  106. package/dist/cjs/components/text-area/TextArea.js +1 -1
  107. package/dist/cjs/components/toast/UnityToast.d.ts +3 -3
  108. package/dist/cjs/components/toast/UnityToast.js +1 -1
  109. package/dist/cjs/components/toast/toast.d.ts +2 -1
  110. package/dist/cjs/components/toast/toast.js +1 -1
  111. package/dist/cjs/components/tooltip/Tooltip.d.ts +1 -1
  112. package/dist/cjs/components/tooltip/Tooltip.js +1 -1
  113. package/dist/cjs/index.d.ts +18 -0
  114. package/dist/cjs/index.js +1 -1
  115. package/dist/cjs/types/utils.d.ts +1 -0
  116. package/dist/esm/components/actionable/Actionable.d.mts +6 -5
  117. package/dist/esm/components/alert/Alert.mjs +31 -21
  118. package/dist/esm/components/app-menu/parts/AppMenuFooter.mjs +14 -6
  119. package/dist/esm/components/avatar/Avatar.mjs +15 -14
  120. package/dist/esm/components/avatar/parts/AvatarPair.mjs +10 -10
  121. package/dist/esm/components/badge/Badge.d.mts +3 -0
  122. package/dist/esm/components/badge/Badge.mjs +11 -8
  123. package/dist/esm/components/bottom-sheet/BottomSheet.d.mts +153 -0
  124. package/dist/esm/components/bottom-sheet/BottomSheet.mjs +68 -0
  125. package/dist/esm/components/bottom-sheet/parts/BottomSheetContent.d.mts +70 -0
  126. package/dist/esm/components/bottom-sheet/parts/BottomSheetContent.mjs +26 -0
  127. package/dist/esm/components/bottom-sheet/parts/BottomSheetDragIndicator.d.mts +54 -0
  128. package/dist/esm/components/bottom-sheet/parts/BottomSheetDragIndicator.mjs +67 -0
  129. package/dist/esm/components/bottom-sheet/parts/BottomSheetFooter.d.mts +27 -0
  130. package/dist/esm/components/bottom-sheet/parts/BottomSheetFooter.mjs +28 -0
  131. package/dist/esm/components/bottom-sheet/parts/BottomSheetHeader.d.mts +83 -0
  132. package/dist/esm/components/bottom-sheet/parts/BottomSheetHeader.mjs +45 -0
  133. package/dist/esm/components/breadcrumbs/Breadcrumbs.mjs +11 -11
  134. package/dist/esm/components/breadcrumbs/parts/Breadcrumb.mjs +10 -10
  135. package/dist/esm/components/button/Button.mjs +25 -24
  136. package/dist/esm/components/button/Button.variants.mjs +2 -2
  137. package/dist/esm/components/checkbox/Checkbox.mjs +13 -5
  138. package/dist/esm/components/checkbox/parts/CheckboxIndicator.mjs +2 -2
  139. package/dist/esm/components/checkbox-group/CheckboxGroup.mjs +32 -25
  140. package/dist/esm/components/collapsible/Collapsible.d.mts +33 -0
  141. package/dist/esm/components/collapsible/parts/CollapsibleContent.d.mts +36 -0
  142. package/dist/esm/components/collapsible/parts/CollapsibleTitle.d.mts +39 -0
  143. package/dist/esm/components/date-picker/DatePicker.mjs +3 -2
  144. package/dist/esm/components/date-picker/parts/DateCalendar.mjs +20 -20
  145. package/dist/esm/components/date-picker/parts/DateInput.mjs +7 -7
  146. package/dist/esm/components/dialog/Dialog.d.mts +98 -11
  147. package/dist/esm/components/dialog/Dialog.mjs +50 -29
  148. package/dist/esm/components/dialog/parts/DialogActions.mjs +11 -4
  149. package/dist/esm/components/dialog/parts/DialogContent.mjs +16 -8
  150. package/dist/esm/components/dialog/parts/DialogTitle.mjs +5 -5
  151. package/dist/esm/components/fieldset/Fieldset.d.mts +150 -0
  152. package/dist/esm/components/fieldset/Fieldset.mjs +66 -0
  153. package/dist/esm/components/fieldset/parts/FieldGroup.d.mts +27 -0
  154. package/dist/esm/components/fieldset/parts/FieldGroup.mjs +18 -0
  155. package/dist/esm/components/form/Form.mjs +15 -14
  156. package/dist/esm/components/form-field/parts/FormContextualLink.mjs +21 -19
  157. package/dist/esm/components/form-field/parts/FormControl.d.mts +23 -0
  158. package/dist/esm/components/form-field/parts/FormFeedbackText.mjs +26 -23
  159. package/dist/esm/components/form-field/parts/FormHelperText.mjs +11 -10
  160. package/dist/esm/components/full-page-loader/FullPageLoader.mjs +24 -15
  161. package/dist/esm/components/icon/Icon.mjs +1 -0
  162. package/dist/esm/components/icon-button/CircularIconButton.d.mts +68 -3
  163. package/dist/esm/components/icon-button/CircularIconButton.mjs +58 -25
  164. package/dist/esm/components/icon-button/IconButton.mjs +16 -15
  165. package/dist/esm/components/icon-button/IconButton.variants.mjs +9 -9
  166. package/dist/esm/components/input/Input.mjs +23 -22
  167. package/dist/esm/components/label/Label.mjs +9 -8
  168. package/dist/esm/components/link/Link.d.mts +1 -1
  169. package/dist/esm/components/link/Link.mjs +18 -17
  170. package/dist/esm/components/menu/parts/MenuContent.mjs +4 -3
  171. package/dist/esm/components/multi-select/MultiSelect.d.mts +62 -0
  172. package/dist/esm/components/multi-select/MultiSelect.mjs +231 -0
  173. package/dist/esm/components/multi-select/Multiselect.context.d.mts +7 -0
  174. package/dist/esm/components/multi-select/Multiselect.context.mjs +8 -0
  175. package/dist/esm/components/multi-select/Multiselect.types.d.mts +109 -0
  176. package/dist/esm/components/multi-select/hooks/use-combobox-filter.d.mts +12 -0
  177. package/dist/esm/components/multi-select/hooks/use-combobox-filter.mjs +22 -0
  178. package/dist/esm/components/multi-select/hooks/use-multiselection-state.d.mts +14 -0
  179. package/dist/esm/components/multi-select/hooks/use-multiselection-state.mjs +47 -0
  180. package/dist/esm/components/multi-select/parts/MultiSelectButton.d.mts +16 -0
  181. package/dist/esm/components/multi-select/parts/MultiSelectButton.mjs +161 -0
  182. package/dist/esm/components/multi-select/parts/MultiSelectOptGroup.d.mts +69 -0
  183. package/dist/esm/components/multi-select/parts/MultiSelectOptGroup.mjs +34 -0
  184. package/dist/esm/components/multi-select/parts/MultiSelectOption.d.mts +20 -0
  185. package/dist/esm/components/multi-select/parts/MultiSelectOption.mjs +87 -0
  186. package/dist/esm/components/multi-select/parts/MultiSelectPopover.d.mts +7 -0
  187. package/dist/esm/components/multi-select/parts/MultiSelectPopover.mjs +65 -0
  188. package/dist/esm/components/multi-select-field/MultiSelectField.d.mts +59 -0
  189. package/dist/esm/components/multi-select-field/MultiSelectField.mjs +82 -0
  190. package/dist/esm/components/pill/Pill.mjs +4 -3
  191. package/dist/esm/components/progress-bar/ProgressBar.mjs +8 -7
  192. package/dist/esm/components/segmented-button-group/SegmentedButtonGroup.d.mts +43 -0
  193. package/dist/esm/components/segmented-button-group/SegmentedButtonGroups.context.d.mts +8 -0
  194. package/dist/esm/components/segmented-button-group/parts/ToggleButton.d.mts +47 -0
  195. package/dist/esm/components/select/Select.mjs +19 -19
  196. package/dist/esm/components/select/parts/SearchInput.mjs +11 -11
  197. package/dist/esm/components/select/parts/SelectButton.mjs +40 -31
  198. package/dist/esm/components/select/parts/SelectOption.mjs +5 -4
  199. package/dist/esm/components/select/parts/SelectOptionHelper.mjs +11 -9
  200. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.context.d.mts +2 -0
  201. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.context.mjs +5 -0
  202. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.d.mts +59 -0
  203. package/dist/esm/components/selectable-button-group/SelectableButtonGroup.mjs +34 -0
  204. package/dist/esm/components/selectable-button-group/parts/SelectableButton.d.mts +127 -0
  205. package/dist/esm/components/selectable-button-group/parts/SelectableButton.mjs +99 -0
  206. package/dist/esm/components/side-panel/SidePanel.d.mts +152 -0
  207. package/dist/esm/components/side-panel/SidePanel.mjs +67 -0
  208. package/dist/esm/components/side-panel/parts/SidePanelContent.d.mts +71 -0
  209. package/dist/esm/components/side-panel/parts/SidePanelContent.mjs +26 -0
  210. package/dist/esm/components/side-panel/parts/SidePanelDragIndicator.d.mts +54 -0
  211. package/dist/esm/components/side-panel/parts/SidePanelDragIndicator.mjs +67 -0
  212. package/dist/esm/components/side-panel/parts/SidePanelFooter.d.mts +27 -0
  213. package/dist/esm/components/side-panel/parts/SidePanelFooter.mjs +20 -0
  214. package/dist/esm/components/side-panel/parts/SidePanelHeader.d.mts +75 -0
  215. package/dist/esm/components/side-panel/parts/SidePanelHeader.mjs +43 -0
  216. package/dist/esm/components/spinner/Spinner.mjs +18 -17
  217. package/dist/esm/components/tabs/Tabs.mjs +19 -10
  218. package/dist/esm/components/tabs/Tabs.variant.mjs +1 -1
  219. package/dist/esm/components/tabs/parts/TabList.mjs +48 -26
  220. package/dist/esm/components/text/Text.mjs +11 -10
  221. package/dist/esm/components/text-area/TextArea.mjs +39 -40
  222. package/dist/esm/components/toast/UnityToast.d.mts +3 -3
  223. package/dist/esm/components/toast/UnityToast.mjs +22 -19
  224. package/dist/esm/components/toast/toast.d.mts +2 -1
  225. package/dist/esm/components/toast/toast.mjs +15 -13
  226. package/dist/esm/components/tooltip/Tooltip.d.mts +1 -1
  227. package/dist/esm/components/tooltip/Tooltip.mjs +12 -17
  228. package/dist/esm/index.d.mts +18 -0
  229. package/dist/esm/index.mjs +221 -173
  230. package/dist/esm/providers/router/RouterProvider.mjs +3 -3
  231. package/dist/esm/types/utils.d.mts +1 -0
  232. package/i18n/en-GB.json +1 -0
  233. package/i18n/es-ES.json +1 -0
  234. package/i18n/fr-FR.json +1 -0
  235. package/package.json +29 -22
  236. package/dist/cjs/components/index.d.ts +0 -4
  237. package/dist/esm/components/index.d.mts +0 -4
@@ -1,33 +1,66 @@
1
- import { jsx as e, jsxs as c } from "react/jsx-runtime";
2
- import { Button as d } from "react-aria-components";
3
- import { tv as y } from "tailwind-variants";
4
- import b from "../../hooks/use-id.mjs";
5
- import { Icon as f } from "../icon/Icon.mjs";
6
- import { Spinner as m } from "../spinner/Spinner.mjs";
7
- import p from "../tooltip/Tooltip.mjs";
8
- const h = y({
9
- base: "uy-w-300 uy-h-300 uy-rounded-circle uy-flex uy-items-center uy-justify-center uy-text-content-neutral uy-transition-colors hover:uy-bg-surface-neutral-hover active:uy-bg-surface-neutral-active data-[pressed]:uy-bg-surface-neutral-pressed focus-visible:uy-outline-2 focus-visible:uy-outline-offset-2 focus-visible:uy-outline-utility-focus-ring disabled:uy-cursor-not-allowed disabled:uy-text-content-neutral-disabled aria-busy:uy-cursor-not-allowed aria-busy:uy-text-content-neutral-disabled"
1
+ import { jsx as e, jsxs as f } from "react/jsx-runtime";
2
+ import { Button as m, Pressable as p } from "react-aria-components";
3
+ import { tv as v } from "tailwind-variants";
4
+ import h from "../../hooks/use-id.mjs";
5
+ import { Icon as g } from "../icon/Icon.mjs";
6
+ import { Spinner as x } from "../spinner/Spinner.mjs";
7
+ import { Tooltip as w } from "../tooltip/Tooltip.mjs";
8
+ const I = v({
9
+ base: "uy-rounded-circle uy-flex uy-items-center uy-justify-center uy-transition-colors hover:uy-bg-surface-neutral-hover active:uy-bg-surface-neutral-active data-[pressed]:uy-bg-surface-neutral-pressed focus-visible:uy-outline-2 focus-visible:uy-outline-offset-2 focus-visible:uy-outline-utility-focus-ring disabled:uy-cursor-not-allowed disabled:uy-text-content-neutral-disabled aria-busy:uy-cursor-not-allowed aria-busy:uy-text-content-neutral-disabled",
10
+ variants: {
11
+ size: {
12
+ default: "uy-w-300 uy-h-300",
13
+ large: "uy-w-400 uy-h-400"
14
+ },
15
+ color: {
16
+ "content.neutral": "uy-text-content-neutral",
17
+ "content.neutral.low": "uy-text-content-neutral-low"
18
+ }
19
+ },
20
+ defaultVariants: {
21
+ size: "default",
22
+ color: "content.neutral"
23
+ }
10
24
  });
11
- function v(i) {
12
- const s = b(), { onPress: n, icon: u, isLoading: t, title: o, isDisabled: l, ...a } = i, r = `icon-button-label-${s}`;
13
- return /* @__PURE__ */ e(p, { title: o, children: /* @__PURE__ */ c(
14
- d,
25
+ function z(l) {
26
+ const i = h(), {
27
+ onPress: a,
28
+ icon: s,
29
+ color: u,
30
+ size: o,
31
+ isLoading: t,
32
+ title: r,
33
+ isDisabled: c,
34
+ asElement: d = "default",
35
+ ...y
36
+ } = l, n = `icon-button-label-${i}`, b = I({ color: u, size: o });
37
+ return /* @__PURE__ */ e(w, { title: r, children: /* @__PURE__ */ e(
38
+ d === "button" ? m : p,
15
39
  {
16
- ...a,
17
- className: h(),
18
- onPress: n,
19
- isDisabled: l || t,
20
- "aria-labelledby": r,
40
+ "data-dd-privacy": "allow",
41
+ ...y,
42
+ onPress: a,
43
+ isDisabled: c || t,
44
+ "aria-labelledby": n,
21
45
  "aria-busy": t,
22
- children: [
23
- t ? /* @__PURE__ */ e(m, { size: "small", label: "Loading", color: "inherit" }) : /* @__PURE__ */ e(f, { src: u, color: "inherit", role: "presentation" }),
24
- /* @__PURE__ */ e("span", { id: r, className: "uy-sr-only", children: o })
25
- ]
46
+ className: b,
47
+ children: /* @__PURE__ */ f("div", { role: "button", children: [
48
+ t ? /* @__PURE__ */ e(x, { size: "small", label: "Loading", color: "inherit" }) : /* @__PURE__ */ e(
49
+ g,
50
+ {
51
+ src: s,
52
+ size: o === "large" ? 24 : 20,
53
+ color: "inherit",
54
+ role: "presentation"
55
+ }
56
+ ),
57
+ /* @__PURE__ */ e("span", { id: n, className: "uy-sr-only", children: r })
58
+ ] })
26
59
  }
27
60
  ) });
28
61
  }
29
- v.displayName = "CircularIconButton";
62
+ z.displayName = "CircularIconButton";
30
63
  export {
31
- v as CircularIconButton,
32
- h as circularIconButton
64
+ z as CircularIconButton,
65
+ I as circularIconButton
33
66
  };
@@ -1,9 +1,9 @@
1
- import { jsx as e, jsxs as f } from "react/jsx-runtime";
2
- import { Button as p } from "react-aria-components";
3
- import b from "../../hooks/use-id.mjs";
4
- import { Icon as y } from "../icon/Icon.mjs";
1
+ import { jsx as i, jsxs as p } from "react/jsx-runtime";
2
+ import { Button as f } from "react-aria-components";
3
+ import y from "../../hooks/use-id.mjs";
4
+ import { Icon as b } from "../icon/Icon.mjs";
5
5
  import { Spinner as B } from "../spinner/Spinner.mjs";
6
- import h from "../tooltip/Tooltip.mjs";
6
+ import { Tooltip as h } from "../tooltip/Tooltip.mjs";
7
7
  import { iconButtonPrimary as I, iconButtonSecondary as N, iconButtonGhost as x } from "./IconButton.variants.mjs";
8
8
  const j = ({
9
9
  variant: o,
@@ -27,27 +27,28 @@ const j = ({
27
27
  isLoading: t
28
28
  });
29
29
  function C(o) {
30
- const n = b(), { button: t, icon: r } = j(o), { onClick: s, icon: m, isLoading: l, label: i, isDisabled: a, iconRole: u, ...d } = o, c = `icon-button-label-${n}`;
31
- return /* @__PURE__ */ e(h, { title: i, children: /* @__PURE__ */ f(
32
- p,
30
+ const n = y(), { button: t, icon: r } = j(o), { onClick: s, icon: a, isLoading: l, label: e, isDisabled: m, iconRole: u, ...d } = o, c = `icon-button-label-${n}`;
31
+ return /* @__PURE__ */ i(h, { title: e, children: /* @__PURE__ */ p(
32
+ f,
33
33
  {
34
+ "data-dd-privacy": "allow",
35
+ ...d,
34
36
  className: t({ class: o.className }),
35
37
  onPress: s,
36
- isDisabled: a || l,
37
- "aria-label": i,
38
- ...d,
38
+ isDisabled: m || l,
39
+ "aria-label": e,
39
40
  children: [
40
- l ? /* @__PURE__ */ e(B, { size: "small", label: "Loading", color: "inherit" }) : /* @__PURE__ */ e(
41
- y,
41
+ l ? /* @__PURE__ */ i(B, { size: "small", label: "Loading", color: "inherit" }) : /* @__PURE__ */ i(
42
+ b,
42
43
  {
43
44
  role: u,
44
- src: m,
45
+ src: a,
45
46
  className: r(),
46
47
  "aria-labelledby": c,
47
48
  color: "inherit"
48
49
  }
49
50
  ),
50
- /* @__PURE__ */ e("span", { id: c, className: "uy-sr-only", children: i })
51
+ /* @__PURE__ */ i("span", { id: c, className: "uy-sr-only", children: e })
51
52
  ]
52
53
  }
53
54
  ) });
@@ -107,7 +107,7 @@ const t = e({
107
107
  }
108
108
  }
109
109
  ]
110
- }), a = e({
110
+ }), o = e({
111
111
  extend: t,
112
112
  variants: {
113
113
  variant: {
@@ -124,7 +124,7 @@ const t = e({
124
124
  isDisabled: !1,
125
125
  isLoading: !1,
126
126
  class: {
127
- button: "uy-border uy-border-border-primary hover:uy-border-border-primary-hover active:uy-border-border-primary-active data-[pressed]:uy-border-border-primary-pressed",
127
+ button: "uy-border uy-border-solid uy-border-border-primary hover:uy-border-border-primary-hover active:uy-border-border-primary-active data-[pressed]:uy-border-border-primary-pressed",
128
128
  icon: "uy-text-content-primary group-hover:uy-text-content-primary-hover active:uy-text-content-primary-active data-[pressed]:uy-text-content-primary-pressed focus-visible:uy-text-content-primary-focus"
129
129
  }
130
130
  },
@@ -133,7 +133,7 @@ const t = e({
133
133
  isLoading: !0,
134
134
  isDisabled: !1,
135
135
  class: {
136
- button: "uy-border uy-border-border-neutral-disabled focus-visible:uy-border-border-primary-focus",
136
+ button: "uy-border uy-border-solid uy-border-border-neutral-disabled focus-visible:uy-border-border-primary-focus",
137
137
  icon: "uy-text-content-neutral-disabled"
138
138
  }
139
139
  },
@@ -142,7 +142,7 @@ const t = e({
142
142
  isLoading: !1,
143
143
  isDisabled: !0,
144
144
  class: {
145
- button: "uy-border uy-border-border-neutral-disabled focus-visible:uy-border-border-primary-focus",
145
+ button: "uy-border uy-border-solid uy-border-border-neutral-disabled focus-visible:uy-border-border-primary-focus",
146
146
  icon: "uy-text-content-neutral-disabled"
147
147
  }
148
148
  },
@@ -151,7 +151,7 @@ const t = e({
151
151
  isDisabled: !1,
152
152
  isLoading: !1,
153
153
  class: {
154
- button: "uy-border uy-border-border-inverted hover:uy-border-border-inverted-hover data-[pressed]:uy-border-border-inverted-pressed active:uy-border-border-inverted-active focus-visible:uy-border-border-inverted-focus",
154
+ button: "uy-border uy-border-solid uy-border-border-inverted hover:uy-border-border-inverted-hover data-[pressed]:uy-border-border-inverted-pressed active:uy-border-border-inverted-active focus-visible:uy-border-border-inverted-focus",
155
155
  icon: "uy-text-content-inverted group-hover:uy-text-content-inverted-hover data-[pressed]:uy-text-content-inverted-pressed active:uy-text-content-inverted-active focus-visible:uy-text-content-inverted-focus"
156
156
  }
157
157
  },
@@ -160,12 +160,12 @@ const t = e({
160
160
  isLoading: !1,
161
161
  isDisabled: !0,
162
162
  class: {
163
- button: "uy-border uy-border-border-inverted-disabled focus-visible:uy-border-border-primary-focus",
163
+ button: "uy-border uy-border-solid uy-border-border-inverted-disabled focus-visible:uy-border-border-primary-focus",
164
164
  icon: "uy-text-content-inverted-disabled"
165
165
  }
166
166
  }
167
167
  ]
168
- }), o = e({
168
+ }), a = e({
169
169
  extend: t,
170
170
  variants: {
171
171
  variant: {
@@ -236,7 +236,7 @@ const t = e({
236
236
  ]
237
237
  });
238
238
  export {
239
- o as iconButtonGhost,
239
+ a as iconButtonGhost,
240
240
  n as iconButtonPrimary,
241
- a as iconButtonSecondary
241
+ o as iconButtonSecondary
242
242
  };
@@ -1,6 +1,6 @@
1
1
  import { jsxs as d, jsx as r } from "react/jsx-runtime";
2
- import { forwardRef as h } from "react";
3
- import { Input as w } from "react-aria-components";
2
+ import { forwardRef as v } from "react";
3
+ import { Input as h } from "react-aria-components";
4
4
  import { useIntl as I } from "react-intl";
5
5
  import { tv as N } from "tailwind-variants";
6
6
  import { CircularIconButton as W } from "../icon-button/CircularIconButton.mjs";
@@ -8,12 +8,12 @@ import { Icon as M } from "../icon/Icon.mjs";
8
8
  import { Spinner as O } from "../spinner/Spinner.mjs";
9
9
  const S = N({
10
10
  slots: {
11
- base: "uy-flex uy-h-500 uy-border uy-rounded-100 focus-within:uy-outline-none focus-within:uy-ring-2 focus-within:uy-ring-utility-focus-ring focus-within:uy-ring-offset-2 active:uy-border-border-form-active",
12
- prefix: "uy-flex-grow-0 uy-content-center uy-pt-100 uy-pb-100 uy-pl-150 uy-pr-150 uy-border-r uy-rounded-l-100 active:uy-border-border-form-active",
13
- inputWrapper: "uy-flex uy-gap-50 uy-flex-grow uy-pt-100 uy-pb-100 uy-pl-150 uy-pr-150 uy-rounded-100",
14
- input: "uy-flex-grow uy-outline-none uy-typography-body placeholder:uy-text-content-neutral-lowest",
15
- state: "uy-flex uy-gap-50 uy-items-center",
16
- suffix: "uy-flex-grow-0 uy-content-center uy-pt-100 uy-pb-100 uy-pl-150 uy-pr-150 uy-border-l uy-rounded-r-100 active:uy-border-border-form-active"
11
+ base: "uy-flex uy-h-500 uy-border uy-border-solid uy-rounded-100 focus-within:uy-outline-none focus-within:uy-ring-2 focus-within:uy-ring-utility-focus-ring focus-within:uy-ring-offset-2 active:uy-border-border-form-active",
12
+ prefix: "uy-flex-grow-0 uy-content-center uy-pt-100 uy-pb-100 uy-pl-150 uy-pr-150 uy-border-r uy-border-solid uy-rounded-l-100 active:uy-border-border-form-active",
13
+ inputWrapper: "uy-flex uy-gap-50 uy-flex-grow uy-flex-nowrap uy-pt-100 uy-pb-100 uy-pl-150 uy-pr-150 uy-rounded-100 uy-max-w-full uy-justify-between",
14
+ input: "uy-w-full uy-flex-1 uy-outline-none uy-typography-body placeholder:uy-text-content-neutral-lowest uy-min-w-0 uy-max-w-full",
15
+ state: "uy-flex uy-gap-50 uy-items-center uy-shrink-0",
16
+ suffix: "uy-flex-grow-0 uy-content-center uy-pt-100 uy-pb-100 uy-pl-150 uy-pr-150 uy-border-l uy-border-solid uy-rounded-r-100 active:uy-border-border-form-active"
17
17
  },
18
18
  variants: {
19
19
  isInvalid: {
@@ -60,12 +60,12 @@ const S = N({
60
60
  }
61
61
  }
62
62
  ]
63
- }), j = h(
63
+ }), j = v(
64
64
  ({
65
65
  type: s = "text",
66
66
  prefix: n,
67
- suffix: f,
68
- isInvalid: i,
67
+ suffix: i,
68
+ isInvalid: f,
69
69
  isLoading: e,
70
70
  isDisabled: o,
71
71
  isReadOnly: u,
@@ -77,19 +77,20 @@ const S = N({
77
77
  prefix: m,
78
78
  inputWrapper: c,
79
79
  input: p,
80
- state: g,
81
- suffix: x
80
+ state: x,
81
+ suffix: g
82
82
  } = S({
83
- isInvalid: !!i,
83
+ isInvalid: !!f,
84
84
  isReadOnly: !!u,
85
85
  isDisabled: !!o
86
- }), v = l.value && !e && !u && !o;
86
+ }), w = l.value && !e && !u && !o;
87
87
  return /* @__PURE__ */ d("div", { className: b(), children: [
88
88
  n ? /* @__PURE__ */ r("span", { className: m(), children: n }) : null,
89
89
  /* @__PURE__ */ d("div", { className: c(), children: [
90
90
  /* @__PURE__ */ r(
91
- w,
91
+ h,
92
92
  {
93
+ "data-dd-privacy": "mask",
93
94
  ...l,
94
95
  ref: y,
95
96
  type: s,
@@ -99,19 +100,19 @@ const S = N({
99
100
  disabled: o
100
101
  }
101
102
  ),
102
- /* @__PURE__ */ d("div", { className: g(), children: [
103
+ /* @__PURE__ */ d("div", { className: x(), children: [
103
104
  e && /* @__PURE__ */ r(
104
105
  O,
105
106
  {
106
107
  color: "inherit",
107
108
  size: "small",
108
109
  label: a.formatMessage({
109
- id: "unity:component:form-field:form-input:spinner:label",
110
- defaultMessage: "Loading"
110
+ id: "unity:component:common:loading:label",
111
+ defaultMessage: "Loading..."
111
112
  })
112
113
  }
113
114
  ),
114
- i && /* @__PURE__ */ r(
115
+ f && /* @__PURE__ */ r(
115
116
  M,
116
117
  {
117
118
  src: "WarningCircleOutlined",
@@ -122,7 +123,7 @@ const S = N({
122
123
  })
123
124
  }
124
125
  ),
125
- v && /* @__PURE__ */ r(
126
+ w && /* @__PURE__ */ r(
126
127
  W,
127
128
  {
128
129
  title: a.formatMessage({
@@ -138,7 +139,7 @@ const S = N({
138
139
  )
139
140
  ] })
140
141
  ] }),
141
- f ? /* @__PURE__ */ r("span", { className: x(), children: f }) : null
142
+ i ? /* @__PURE__ */ r("span", { className: g(), children: i }) : null
142
143
  ] });
143
144
  }
144
145
  );
@@ -1,5 +1,5 @@
1
1
  import { jsxs as o, jsx as t } from "react/jsx-runtime";
2
- import { forwardRef as c } from "react";
2
+ import { forwardRef as m } from "react";
3
3
  import { mergeProps as u } from "react-aria";
4
4
  import { useSlottedContext as b, InputContext as g, Label as f } from "react-aria-components";
5
5
  import { tv as N } from "tailwind-variants";
@@ -22,7 +22,7 @@ const h = N({
22
22
  defaultVariants: {
23
23
  variant: "strong"
24
24
  }
25
- }), q = c(
25
+ }), q = m(
26
26
  ({ children: n, ...a }, l) => {
27
27
  const e = b(g), i = u(
28
28
  { isRequired: e == null ? void 0 : e["aria-required"] },
@@ -30,21 +30,22 @@ const h = N({
30
30
  ), {
31
31
  isRequired: r = !1,
32
32
  requiredVariant: s = "required",
33
- ...p
34
- } = i, { base: y, asterisk: d, optionalTag: m } = h();
33
+ ...d
34
+ } = i, { base: p, asterisk: y, optionalTag: c } = h();
35
35
  return /* @__PURE__ */ o(
36
36
  f,
37
37
  {
38
- ...p,
38
+ "data-dd-privacy": "allow",
39
+ ...d,
39
40
  ref: l,
40
- className: y({ className: a.className }),
41
+ className: p({ className: a.className }),
41
42
  children: [
42
43
  n,
43
- s === "required" && r && /* @__PURE__ */ o("span", { className: d(), children: [
44
+ s === "required" && r && /* @__PURE__ */ o("span", { className: y(), children: [
44
45
  "*",
45
46
  /* @__PURE__ */ t("span", { className: "uy-sr-only", children: "required" })
46
47
  ] }),
47
- s === "optional" && !r && /* @__PURE__ */ t("span", { className: m({ className: a.className }), children: "(optional)" })
48
+ s === "optional" && !r && /* @__PURE__ */ t("span", { className: c({ className: a.className }), children: "(optional)" })
48
49
  ]
49
50
  }
50
51
  );
@@ -37,7 +37,7 @@ export type LinkProps = Omit<AriaLinkProps, 'style' | 'className'> & {
37
37
  /**
38
38
  * Links allow users to navigate to different pages or sections.
39
39
  */
40
- declare const Link: import('react').ForwardRefExoticComponent<Omit<AriaLinkProps, "style" | "className"> & {
40
+ declare const Link: import('react').ForwardRefExoticComponent<Omit<AriaLinkProps, "className" | "style"> & {
41
41
  /**
42
42
  * The URL the link navigates to.
43
43
  */
@@ -1,38 +1,39 @@
1
1
  import { jsxs as f, jsx as k } from "react/jsx-runtime";
2
2
  import { forwardRef as y } from "react";
3
- import { IconSprite as g } from "@payfit/unity-icons";
4
- import { Link as v } from "react-aria-components";
5
- import { useRouter as x } from "../../providers/router/RouterProvider.mjs";
6
- import { link as w } from "./Link.variants.mjs";
3
+ import { IconSprite as v } from "@payfit/unity-icons";
4
+ import { Link as g } from "react-aria-components";
5
+ import { useRouter as w } from "../../providers/router/RouterProvider.mjs";
6
+ import { link as x } from "./Link.variants.mjs";
7
7
  import { isExternalUrl as L } from "./utils.mjs";
8
8
  const A = y(
9
9
  ({
10
10
  href: o,
11
- children: s,
12
- variant: m = "inline",
13
- color: a = "primary",
11
+ children: a,
12
+ variant: s = "inline",
13
+ color: c = "primary",
14
14
  isDisabled: n = !1,
15
- isCurrent: c = void 0,
15
+ isCurrent: m = void 0,
16
16
  isExternal: p,
17
17
  maxCharactersTruncation: t,
18
18
  ...r
19
- }, u) => {
20
- const l = x(), e = p ?? L(o), i = !e && l ? l.isActive(o.toString()) : c, d = w({
21
- variant: m,
22
- color: a,
19
+ }, d) => {
20
+ const l = w(), e = p ?? L(o), i = !e && l ? l.isActive(o.toString()) : m, u = x({
21
+ variant: s,
22
+ color: c,
23
23
  isDisabled: n,
24
24
  isTruncated: !!t
25
25
  });
26
26
  return /* @__PURE__ */ f(
27
- v,
27
+ g,
28
28
  {
29
+ "data-dd-privacy": "allow",
29
30
  ...r,
30
31
  href: o,
31
- ref: u,
32
+ ref: d,
32
33
  style: !!t ? {
33
34
  "--uy-link-max-w": `${t}ch`
34
35
  } : {},
35
- className: d,
36
+ className: u,
36
37
  isDisabled: n,
37
38
  target: e ? "_blank" : r.target,
38
39
  rel: e && !r.rel ? "noopener noreferrer" : r.rel,
@@ -41,9 +42,9 @@ const A = y(
41
42
  "aria-current": i ? "page" : void 0
42
43
  },
43
44
  children: [
44
- s,
45
+ a,
45
46
  e && /* @__PURE__ */ k(
46
- g,
47
+ v,
47
48
  {
48
49
  src: "ArrowSquareOutOutlined",
49
50
  color: "currentColor",
@@ -1,5 +1,5 @@
1
1
  import { jsx as u } from "react/jsx-runtime";
2
- import { Popover as n, Menu as s } from "react-aria-components";
2
+ import { Popover as n, Menu as a } from "react-aria-components";
3
3
  function y({
4
4
  children: r,
5
5
  placement: o,
@@ -10,8 +10,9 @@ function y({
10
10
  n,
11
11
  {
12
12
  placement: o,
13
- className: "uy-flex uy-flex-col uy-justify-end uy-items-start uy-p-100 uy-rounded-100 uy-border uy-border-border-neutral uy-bg-surface-neutral uy-shadow-floating",
14
- children: /* @__PURE__ */ u(s, { autoFocus: "first", className: `uy-min-w-[320px] ${t}`, children: r })
13
+ className: "uy-flex uy-flex-col uy-justify-end uy-items-start uy-p-100 uy-rounded-100 uy-border uy-border-solid uy-border-border-neutral uy-bg-surface-neutral uy-shadow-floating",
14
+ "data-dd-privacy": "allow",
15
+ children: /* @__PURE__ */ u(a, { autoFocus: "first", className: `uy-min-w-[320px] ${t}`, children: r })
15
16
  }
16
17
  );
17
18
  }
@@ -0,0 +1,62 @@
1
+ import { MultiSelectComponent, MultiSelectProps } from './Multiselect.types.mjs';
2
+ declare const MultiSelectComponent: <TItem extends Record<string | number, unknown>, TItemKey extends keyof TItem, TKeyType extends TItem[TItemKey] & (string | number)>(props: MultiSelectProps<TItem, TItemKey, TKeyType>, ref: React.ForwardedRef<HTMLButtonElement>) => import("react/jsx-runtime").JSX.Element;
3
+ /**
4
+ * The MultiSelect component allows users to select multiple items from a dropdown list.
5
+ * The component provides two different APIs:
6
+ * 1. Static API - For simple cases where options are defined as direct children and use primitive values as keys (strings or numbers)
7
+ * 2. Dynamic API - For data-driven cases where options are generated from a dynamic collection with typed objects
8
+ * @example
9
+ * ```tsx
10
+ * import { MultiSelect, MultiSelectOption, MultiSelectOptGroup } from '@payfit/unity-components'
11
+ *
12
+ * // Static API - Options defined as direct children
13
+ * <MultiSelect
14
+ * placeholder="Select fruits..."
15
+ * onChange={(selected) => console.log(selected)}
16
+ * >
17
+ * <MultiSelectOptGroup label="Citrus" withSeparator>
18
+ * <MultiSelectOption value="orange">Orange</MultiSelectOption>
19
+ * <MultiSelectOption value="lemon">Lemon</MultiSelectOption>
20
+ * </MultiSelectOptGroup>
21
+ * <MultiSelectOption value="apple">Apple</MultiSelectOption>
22
+ * </MultiSelect>
23
+ *
24
+ * // Dynamic API - Options generated from a collection with typed objects
25
+ * interface Fruit {
26
+ * id: string;
27
+ * name: string;
28
+ * category: string;
29
+ * }
30
+ *
31
+ * const fruits: Set<Fruit> = new Set([
32
+ * { id: 'apple-1', name: 'Apple', category: 'Core' },
33
+ * { id: 'orange-1', name: 'Orange', category: 'Citrus' }
34
+ * ]);
35
+ *
36
+ * <MultiSelect
37
+ * items={fruits}
38
+ * placeholder="Select fruits..."
39
+ * value={new Set(['apple-1'])}
40
+ * getItemValue={item => item.id}
41
+ * renderValue={(items) =>
42
+ * Array.from(items)
43
+ * .map(item => item.name)
44
+ * .join(', ')
45
+ * }
46
+ * >
47
+ * {(item) => (
48
+ * <MultiSelectOption value={item.id}>
49
+ * {item.name}
50
+ * </MultiSelectOption>
51
+ * )}
52
+ * </MultiSelect>
53
+ * ```
54
+ * @component
55
+ * @template TItem - The type of items in the collection. When using the dynamic API, it must be a Record or an object. For the static API, it defaults to a string or number.
56
+ * @template TItemKey - The key name within TItem used as the selection value (must be a key of TItem). Applies only to the dynamic API.
57
+ * @template TKeyType - The type of the property at TItem[TItemKey] (must be string or number). Applies only to the dynamic API.
58
+ * @remarks
59
+ * [API & Docs](https://unity-components.payfit.io/?path=/docs/inputs-multiselect--docs) • [Design Guidelines](https://www.payfit.design/24f360409/p/928776-multiselect)
60
+ */
61
+ export declare const MultiSelect: MultiSelectComponent;
62
+ export {};