@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
@@ -0,0 +1,150 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { VariantProps } from 'tailwind-variants';
3
+ export declare const fieldset: import('tailwind-variants').TVReturnType<{
4
+ isLegendHidden: {
5
+ true: {
6
+ legend: string;
7
+ description: string;
8
+ fieldsContainer: string;
9
+ };
10
+ false: {
11
+ legend: string;
12
+ description: string;
13
+ fieldsContainer: string;
14
+ };
15
+ };
16
+ }, {
17
+ base: string;
18
+ legend: string;
19
+ description: string;
20
+ fieldsContainer: string;
21
+ }, undefined, import('tailwind-variants/dist/config').TVConfig<{
22
+ isLegendHidden: {
23
+ true: {
24
+ legend: string;
25
+ description: string;
26
+ fieldsContainer: string;
27
+ };
28
+ false: {
29
+ legend: string;
30
+ description: string;
31
+ fieldsContainer: string;
32
+ };
33
+ };
34
+ }, {
35
+ isLegendHidden: {
36
+ true: {
37
+ legend: string;
38
+ description: string;
39
+ fieldsContainer: string;
40
+ };
41
+ false: {
42
+ legend: string;
43
+ description: string;
44
+ fieldsContainer: string;
45
+ };
46
+ };
47
+ }>, {
48
+ isLegendHidden: {
49
+ true: {
50
+ legend: string;
51
+ description: string;
52
+ fieldsContainer: string;
53
+ };
54
+ false: {
55
+ legend: string;
56
+ description: string;
57
+ fieldsContainer: string;
58
+ };
59
+ };
60
+ }, {
61
+ base: string;
62
+ legend: string;
63
+ description: string;
64
+ fieldsContainer: string;
65
+ }, import('tailwind-variants').TVReturnType<{
66
+ isLegendHidden: {
67
+ true: {
68
+ legend: string;
69
+ description: string;
70
+ fieldsContainer: string;
71
+ };
72
+ false: {
73
+ legend: string;
74
+ description: string;
75
+ fieldsContainer: string;
76
+ };
77
+ };
78
+ }, {
79
+ base: string;
80
+ legend: string;
81
+ description: string;
82
+ fieldsContainer: string;
83
+ }, undefined, import('tailwind-variants/dist/config').TVConfig<{
84
+ isLegendHidden: {
85
+ true: {
86
+ legend: string;
87
+ description: string;
88
+ fieldsContainer: string;
89
+ };
90
+ false: {
91
+ legend: string;
92
+ description: string;
93
+ fieldsContainer: string;
94
+ };
95
+ };
96
+ }, {
97
+ isLegendHidden: {
98
+ true: {
99
+ legend: string;
100
+ description: string;
101
+ fieldsContainer: string;
102
+ };
103
+ false: {
104
+ legend: string;
105
+ description: string;
106
+ fieldsContainer: string;
107
+ };
108
+ };
109
+ }>, unknown, unknown, undefined>>;
110
+ export interface FieldsetProps extends PropsWithChildren<VariantProps<typeof fieldset>> {
111
+ /**
112
+ * The legend of the fieldset.
113
+ */
114
+ legend: string;
115
+ /**
116
+ * An optional description of the fieldset.
117
+ */
118
+ description?: string;
119
+ /**
120
+ * Whether to hide the legend of the fieldset.
121
+ */
122
+ isLegendHidden?: boolean;
123
+ }
124
+ /**
125
+ * The `Fieldset` component groups related form fields together with an accessible structure.
126
+ * It provides visual organization and semantic HTML for form sections, making forms more understandable and navigable.
127
+ * @param {FieldsetProps} props - The props for the `Fieldset` component
128
+ * @see {@link FieldsetProps} for all available props
129
+ * @example
130
+ * ```tsx
131
+ * import { Fieldset } from '@payfit/unity-components'
132
+ *
133
+ * function Example() {
134
+ * return (
135
+ * <Fieldset
136
+ * legend="Personal Information"
137
+ * description="Please provide your contact details"
138
+ * isLegendHidden={false}
139
+ * >
140
+ * <TextField name="firstName" label="First name" />
141
+ * <TextField name="lastName" label="Last name" />
142
+ * </Fieldset>
143
+ * )
144
+ * }
145
+ * ```
146
+ * @remarks
147
+ * [API](https://unity-components.payfit.io/?path=/docs/forms-fieldset--docs) • [Design docs](https://www.payfit.design/24f360409/p/1151cf-form-layout)
148
+ */
149
+ declare const Fieldset: import('react').ForwardRefExoticComponent<FieldsetProps & import('react').RefAttributes<HTMLFieldSetElement>>;
150
+ export { Fieldset };
@@ -0,0 +1,66 @@
1
+ import { jsxs as f, jsx as t } from "react/jsx-runtime";
2
+ import { forwardRef as m } from "react";
3
+ import { useId as g } from "react-aria";
4
+ import { tv as b } from "tailwind-variants";
5
+ const x = b({
6
+ slots: {
7
+ base: "uy-p-0 uy-m-0 [&+&]:uy-mt-500 [&:last-of-type]:uy-mb-500",
8
+ legend: "uy-typography-h3 uy-text-content-neutral",
9
+ description: "uy-block uy-typography-body uy-mt-100 uy-text-content-neutral",
10
+ fieldsContainer: "uy-flex uy-flex-col uy-gap-250"
11
+ },
12
+ variants: {
13
+ isLegendHidden: {
14
+ true: {
15
+ legend: "uy-sr-only",
16
+ description: "uy-sr-only",
17
+ fieldsContainer: "uy-mt-0"
18
+ },
19
+ false: {
20
+ legend: "uy-block",
21
+ description: "uy-block",
22
+ fieldsContainer: "uy-mt-300"
23
+ }
24
+ }
25
+ },
26
+ defaultVariants: {
27
+ isLegendHidden: !1
28
+ }
29
+ }), h = m(
30
+ ({ children: i, ...d }, n) => {
31
+ const s = g(), { legend: l, description: e, isLegendHidden: o, ...r } = d, {
32
+ base: a,
33
+ legend: y,
34
+ description: c,
35
+ fieldsContainer: u
36
+ } = x({ isLegendHidden: o }), p = e ? `${s}-fieldset-description` : void 0;
37
+ return /* @__PURE__ */ f(
38
+ "fieldset",
39
+ {
40
+ "data-dd-privacy": "allow",
41
+ ...r,
42
+ ref: n,
43
+ className: a(),
44
+ "aria-describedby": p,
45
+ children: [
46
+ /* @__PURE__ */ t("legend", { className: y(), children: l }),
47
+ e && /* @__PURE__ */ t(
48
+ "span",
49
+ {
50
+ id: `${s}-fieldset-description`,
51
+ "data-fieldset-slot": "description",
52
+ className: c(),
53
+ children: e
54
+ }
55
+ ),
56
+ /* @__PURE__ */ t("div", { className: u(), children: i })
57
+ ]
58
+ }
59
+ );
60
+ }
61
+ );
62
+ h.displayName = "Fieldset";
63
+ export {
64
+ h as Fieldset,
65
+ x as fieldset
66
+ };
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The `FieldGroup` component arranges form fields in a responsive grid layout within a Fieldset.
3
+ * It optimizes space by displaying fields side-by-side on larger screens while stacking them on mobile devices.
4
+ * @param {PropsWithChildren<object>} props - The props for the `FieldGroup` component
5
+ * @example
6
+ * ```tsx
7
+ * import { Fieldset, FieldGroup } from '@payfit/unity-components'
8
+ *
9
+ * function Example() {
10
+ * return (
11
+ * <Fieldset legend="Personal Information">
12
+ * <FieldGroup>
13
+ * <TextField name="firstName" label="First name" />
14
+ * <TextField name="lastName" label="Last name" />
15
+ * </FieldGroup>
16
+ * <TextField name="email" label="Email" />
17
+ * </Fieldset>
18
+ * )
19
+ * }
20
+ * ```
21
+ * @remarks
22
+ * [API](https://unity-components.payfit.io/?path=/docs/forms-fieldset-fieldgroup--docs) • [Design docs](https://www.payfit.design/24f360409/p/1151cf-form-layout)
23
+ */
24
+ declare const FieldGroup: import('react').ForwardRefExoticComponent<object & {
25
+ children?: import('react').ReactNode | undefined;
26
+ } & import('react').RefAttributes<HTMLDivElement>>;
27
+ export { FieldGroup };
@@ -0,0 +1,18 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { forwardRef as p } from "react";
3
+ const u = p(
4
+ ({ children: r, ...o }, d) => /* @__PURE__ */ i(
5
+ "div",
6
+ {
7
+ ...o,
8
+ ref: d,
9
+ role: "group",
10
+ className: "uy-grid uy-grid-cols-1 uy-gap-y-250 md:uy-grid-cols-2 md:uy-gap-x-200",
11
+ children: r
12
+ }
13
+ )
14
+ );
15
+ u.displayName = "FieldGroup";
16
+ export {
17
+ u as FieldGroup
18
+ };
@@ -1,11 +1,11 @@
1
- import { jsx as i, jsxs as b, Fragment as g } from "react/jsx-runtime";
2
- import { lazy as u, forwardRef as j, useMemo as x, Suspense as D } from "react";
3
- import { Form as k } from "react-aria-components";
1
+ import { jsx as a, jsxs as b, Fragment as g } from "react/jsx-runtime";
2
+ import { forwardRef as u, useMemo as j, Suspense as k, lazy as x } from "react";
3
+ import { Form as D } from "react-aria-components";
4
4
  import { FormProvider as w } from "react-hook-form";
5
5
  import { UnityFormProvider as O } from "./Form.context.mjs";
6
- const P = u(
6
+ const P = x(
7
7
  () => import("@hookform/devtools").then((t) => ({ default: t.DevTool }))
8
- ), S = j(
8
+ ), S = u(
9
9
  ({
10
10
  form: t,
11
11
  schema: n,
@@ -18,26 +18,26 @@ const P = u(
18
18
  debug: p = !1,
19
19
  ...h
20
20
  }, v) => {
21
- const y = x(() => {
21
+ const y = j(() => {
22
22
  const e = t.formState.errors;
23
23
  if (!Object.keys(e).length) return;
24
24
  const o = {};
25
- return Object.entries(e).forEach(([a, r]) => {
26
- r != null && r.message && typeof r.message == "string" && (o[a] = r.message);
25
+ return Object.entries(e).forEach(([i, r]) => {
26
+ r != null && r.message && typeof r.message == "string" && (o[i] = r.message);
27
27
  }), o;
28
28
  }, [t.formState.errors]), F = (e) => {
29
29
  e.preventDefault(), t.handleSubmit(async (o) => {
30
30
  try {
31
31
  await l(o), m == null || m(o);
32
- } catch (a) {
33
- console.error(a), s == null || s(a);
32
+ } catch (i) {
33
+ console.error(i), s == null || s(i);
34
34
  }
35
35
  })(e);
36
36
  };
37
- return /* @__PURE__ */ i(O, { schema: n, form: t, children: /* @__PURE__ */ b(w, { ...t, children: [
38
- p && /* @__PURE__ */ i(D, { fallback: /* @__PURE__ */ i(g, {}), children: /* @__PURE__ */ i(P, { control: t.control }) }),
39
- /* @__PURE__ */ i(
40
- k,
37
+ return /* @__PURE__ */ a(O, { schema: n, form: t, children: /* @__PURE__ */ b(w, { ...t, children: [
38
+ p && /* @__PURE__ */ a(k, { fallback: /* @__PURE__ */ a(g, {}), children: /* @__PURE__ */ a(P, { control: t.control }) }),
39
+ /* @__PURE__ */ a(
40
+ D,
41
41
  {
42
42
  ...h,
43
43
  ref: v,
@@ -45,6 +45,7 @@ const P = u(
45
45
  className: f,
46
46
  validationErrors: y,
47
47
  onReset: c,
48
+ "data-dd-privacy": "mask",
48
49
  children: d
49
50
  }
50
51
  )
@@ -1,35 +1,37 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { forwardRef as m } from "react";
3
- import { Button as l } from "react-aria-components";
4
- import { Link as e } from "../../link/Link.mjs";
5
- import { Text as u } from "../../text/Text.mjs";
6
- import { useFormField as s } from "../FormField.context.mjs";
7
- const d = m(({ children: o, href: r, onPress: i }, a) => {
8
- const { formContextualLinkId: n } = s();
9
- return r ? /* @__PURE__ */ t(
10
- e,
2
+ import { forwardRef as l } from "react";
3
+ import { Button as m } from "react-aria-components";
4
+ import { Link as d } from "../../link/Link.mjs";
5
+ import { Text as e } from "../../text/Text.mjs";
6
+ import { useFormField as u } from "../FormField.context.mjs";
7
+ const p = l(({ children: o, href: a, onPress: n }, r) => {
8
+ const { formContextualLinkId: i } = u();
9
+ return a ? /* @__PURE__ */ t(
10
+ d,
11
11
  {
12
- id: n,
12
+ id: i,
13
13
  color: "secondary",
14
14
  variant: "standalone",
15
15
  "data-unity-slot": "contextual-link",
16
- href: r,
17
- ref: a,
18
- children: /* @__PURE__ */ t(u, { variant: "actionSmall", children: o })
16
+ href: a,
17
+ ref: r,
18
+ "data-dd-privacy": "allow",
19
+ children: /* @__PURE__ */ t(e, { variant: "actionSmall", children: o })
19
20
  }
20
21
  ) : /* @__PURE__ */ t(
21
- l,
22
+ m,
22
23
  {
23
- id: n,
24
- onPress: i,
24
+ id: i,
25
+ onPress: n,
25
26
  "data-unity-slot": "contextual-link",
26
27
  className: "uy-typography-body-small uy-w-fit",
27
- ref: a,
28
+ ref: r,
29
+ "data-dd-privacy": "allow",
28
30
  children: o
29
31
  }
30
32
  );
31
33
  });
32
- d.displayName = "FormContextualLink";
34
+ p.displayName = "FormContextualLink";
33
35
  export {
34
- d as FormContextualLink
36
+ p as FormContextualLink
35
37
  };
@@ -1,5 +1,28 @@
1
1
  import { Slot } from '@radix-ui/react-slot';
2
2
  export type FormControlProps = React.ComponentProps<typeof Slot>;
3
+ /**
4
+ * FormControl is a wrapper component that connects input components to form state within a FormField.
5
+ * It handles accessibility concerns like proper ARIA attributes and focus states.
6
+ *
7
+ * This component is required when building custom form fields - it must wrap the actual input element
8
+ * to connect it properly to the form state.
9
+ * @example
10
+ * ```tsx
11
+ * import { FormControl, FormField, Input } from '@payfit/unity-components'
12
+ *
13
+ * function MyFormField() {
14
+ * return (
15
+ * <FormField name="email">
16
+ * <FormControl>
17
+ * <Input />
18
+ * </FormControl>
19
+ * </FormField>
20
+ * )
21
+ * }
22
+ * ```
23
+ * @remarks
24
+ * [API & Docs](https://unity-components.payfit.io/?path=/docs/forms-formfield-formcontrol--docs)
25
+ */
3
26
  declare function FormControl({ ...props }: FormControlProps): import("react/jsx-runtime").JSX.Element;
4
27
  declare namespace FormControl {
5
28
  var displayName: string;
@@ -1,25 +1,28 @@
1
- import { jsx as s } from "react/jsx-runtime";
2
- import { forwardRef as d } from "react";
3
- import { Text as n } from "../../text/Text.mjs";
4
- import { useFormField as f } from "../FormField.context.mjs";
5
- const l = d(({ children: t, ...o }, m) => {
6
- const {
7
- fieldState: { error: e, isInvalid: a },
8
- formMessageId: i
9
- } = f(), r = e ? String(e.message) : t;
10
- return !a || !r ? null : /* @__PURE__ */ s(
11
- n,
12
- {
13
- ...o,
14
- id: i,
15
- ref: m,
16
- "data-unity-slot": "form-feedback-text",
17
- className: "uy-typography-body-small-strong uy-text-content-form-invalid",
18
- children: r
19
- }
20
- );
21
- });
22
- l.displayName = "FormFeedbackText";
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { forwardRef as s } from "react";
3
+ import { Text as l } from "../../text/Text.mjs";
4
+ import { useFormField as n } from "../FormField.context.mjs";
5
+ const f = s(
6
+ ({ children: t, ...o }, a) => {
7
+ const {
8
+ fieldState: { error: r, isInvalid: d },
9
+ formMessageId: m
10
+ } = n(), e = r ? String(r.message) : t;
11
+ return !d || !e ? null : /* @__PURE__ */ i(
12
+ l,
13
+ {
14
+ ...o,
15
+ id: m,
16
+ ref: a,
17
+ "data-unity-slot": "form-feedback-text",
18
+ className: "uy-typography-body-small-strong uy-text-content-form-invalid",
19
+ "data-dd-privacy": "allow",
20
+ children: e
21
+ }
22
+ );
23
+ }
24
+ );
25
+ f.displayName = "FormFeedbackText";
23
26
  export {
24
- l as FormFeedbackText
27
+ f as FormFeedbackText
25
28
  };
@@ -1,12 +1,12 @@
1
- import { jsx as m } from "react/jsx-runtime";
2
- import { forwardRef as i } from "react";
3
- import { Text as l } from "../../text/Text.mjs";
4
- import { useFormField as p } from "../FormField.context.mjs";
5
- const a = i(
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { forwardRef as l } from "react";
3
+ import { Text as m } from "../../text/Text.mjs";
4
+ import { useFormField as i } from "../FormField.context.mjs";
5
+ const p = l(
6
6
  ({ children: r, ...o }, t) => {
7
- const { formDescriptionId: e } = p();
8
- return /* @__PURE__ */ m(
9
- l,
7
+ const { formDescriptionId: e } = i();
8
+ return /* @__PURE__ */ a(
9
+ m,
10
10
  {
11
11
  ...o,
12
12
  id: e,
@@ -14,12 +14,13 @@ const a = i(
14
14
  variant: "bodySmall",
15
15
  color: "content.neutral.low",
16
16
  ref: t,
17
+ "data-dd-privacy": "allow",
17
18
  children: r
18
19
  }
19
20
  );
20
21
  }
21
22
  );
22
- a.displayName = "HelperText";
23
+ p.displayName = "HelperText";
23
24
  export {
24
- a as FormHelperText
25
+ p as FormHelperText
25
26
  };
@@ -1,23 +1,32 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
2
  import { useId as o } from "react-aria";
3
- import { FormattedMessage as s } from "react-intl";
4
- import { tv as t } from "tailwind-variants";
3
+ import { FormattedMessage as t } from "react-intl";
4
+ import { tv as s } from "tailwind-variants";
5
5
  import { Spinner as i } from "../spinner/Spinner.mjs";
6
- const n = t({
6
+ const n = s({
7
7
  // add the component styles
8
8
  base: "uy-w-full uy-h-screen uy-flex uy-place-items-center uy-justify-center"
9
- }), m = ({ label: r }) => {
10
- const a = o();
11
- return /* @__PURE__ */ l("main", { id: a, className: n(), "aria-busy": "true", children: [
12
- /* @__PURE__ */ e("h1", { className: "uy-sr-only", children: r ?? /* @__PURE__ */ e(
13
- s,
14
- {
15
- id: "unity:component:full-page-loader:label",
16
- defaultMessage: "Content is loading..."
17
- }
18
- ) }),
19
- /* @__PURE__ */ e(i, { label: "", size: "medium", role: "presentation" })
20
- ] });
9
+ }), m = ({ label: a }) => {
10
+ const r = o();
11
+ return /* @__PURE__ */ l(
12
+ "main",
13
+ {
14
+ id: r,
15
+ className: n(),
16
+ "aria-busy": "true",
17
+ "data-dd-privacy": "allow",
18
+ children: [
19
+ /* @__PURE__ */ e("h1", { className: "uy-sr-only", children: a ?? /* @__PURE__ */ e(
20
+ t,
21
+ {
22
+ id: "unity:component:full-page-loader:label",
23
+ defaultMessage: "Content is loading..."
24
+ }
25
+ ) }),
26
+ /* @__PURE__ */ e(i, { label: "", size: "medium", role: "presentation" })
27
+ ]
28
+ }
29
+ );
21
30
  };
22
31
  m.displayName = "FullPageLoader";
23
32
  export {
@@ -100,6 +100,7 @@ function f({
100
100
  return /* @__PURE__ */ e(
101
101
  "span",
102
102
  {
103
+ "data-dd-privacy": "allow",
103
104
  ...t,
104
105
  role: a,
105
106
  "aria-label": t["aria-labelledby"] ? void 0 : n,
@@ -1,12 +1,77 @@
1
1
  import { UnityIcon } from '@payfit/unity-icons';
2
2
  import { ButtonProps as AriaButtonProps } from 'react-aria-components';
3
- export type CircularIconButtonProps = AriaButtonProps & {
3
+ import { VariantProps } from 'tailwind-variants';
4
+ export declare const circularIconButton: import('tailwind-variants').TVReturnType<{
5
+ size: {
6
+ default: string;
7
+ large: string;
8
+ };
9
+ color: {
10
+ 'content.neutral': string;
11
+ 'content.neutral.low': string;
12
+ };
13
+ }, undefined, "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", import('tailwind-variants/dist/config').TVConfig<{
14
+ size: {
15
+ default: string;
16
+ large: string;
17
+ };
18
+ color: {
19
+ 'content.neutral': string;
20
+ 'content.neutral.low': string;
21
+ };
22
+ }, {
23
+ size: {
24
+ default: string;
25
+ large: string;
26
+ };
27
+ color: {
28
+ 'content.neutral': string;
29
+ 'content.neutral.low': string;
30
+ };
31
+ }>, {
32
+ size: {
33
+ default: string;
34
+ large: string;
35
+ };
36
+ color: {
37
+ 'content.neutral': string;
38
+ 'content.neutral.low': string;
39
+ };
40
+ }, undefined, import('tailwind-variants').TVReturnType<{
41
+ size: {
42
+ default: string;
43
+ large: string;
44
+ };
45
+ color: {
46
+ 'content.neutral': string;
47
+ 'content.neutral.low': string;
48
+ };
49
+ }, undefined, "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", import('tailwind-variants/dist/config').TVConfig<{
50
+ size: {
51
+ default: string;
52
+ large: string;
53
+ };
54
+ color: {
55
+ 'content.neutral': string;
56
+ 'content.neutral.low': string;
57
+ };
58
+ }, {
59
+ size: {
60
+ default: string;
61
+ large: string;
62
+ };
63
+ color: {
64
+ 'content.neutral': string;
65
+ 'content.neutral.low': string;
66
+ };
67
+ }>, unknown, unknown, undefined>>;
68
+ export interface CircularIconButtonProps extends AriaButtonProps, VariantProps<typeof circularIconButton> {
4
69
  icon: UnityIcon;
5
70
  title: string;
71
+ asElement?: 'button' | 'default';
6
72
  isLoading?: boolean;
7
73
  isDisabled?: boolean;
8
- };
9
- export declare const circularIconButton: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "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", import('tailwind-variants/dist/config').TVConfig<unknown, {} | {}>, {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "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", import('tailwind-variants/dist/config').TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
74
+ }
10
75
  export declare function CircularIconButton(props: CircularIconButtonProps): import("react/jsx-runtime").JSX.Element;
11
76
  export declare namespace CircularIconButton {
12
77
  var displayName: string;