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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/dist/cjs/components/anchor/Anchor.d.ts +1 -1
  2. package/dist/cjs/components/app-layout/AppLayout.d.ts +6 -1
  3. package/dist/cjs/components/app-layout/AppLayout.js +1 -1
  4. package/dist/cjs/components/app-menu/AppMenu.d.ts +9 -0
  5. package/dist/cjs/components/app-menu/AppMenu.js +1 -0
  6. package/dist/cjs/components/app-menu/parts/AppMenu.context.d.ts +9 -0
  7. package/dist/cjs/components/app-menu/parts/AppMenu.context.js +1 -0
  8. package/dist/cjs/components/app-menu/parts/AppMenuFooter.d.ts +31 -0
  9. package/dist/cjs/components/app-menu/parts/AppMenuFooter.js +1 -0
  10. package/dist/cjs/components/app-menu/parts/AppMenuHeader.d.ts +9 -0
  11. package/dist/cjs/components/app-menu/parts/AppMenuHeader.js +1 -0
  12. package/dist/cjs/components/app-menu/parts/AppMenuNavContent.d.ts +5 -0
  13. package/dist/cjs/components/app-menu/parts/AppMenuNavContent.js +1 -0
  14. package/dist/cjs/components/avatar/Avatar.context.d.ts +1 -1
  15. package/dist/cjs/components/avatar/parts/AvatarFallback.d.ts +1 -1
  16. package/dist/cjs/components/avatar/parts/AvatarFallback.js +1 -1
  17. package/dist/cjs/components/avatar/parts/AvatarPair.d.ts +20 -0
  18. package/dist/cjs/components/avatar/utils.d.ts +1 -0
  19. package/dist/cjs/components/avatar/utils.js +1 -0
  20. package/dist/cjs/components/breadcrumbs/Breadcrumbs.context.d.ts +1 -1
  21. package/dist/cjs/components/button/Button.d.ts +2 -1
  22. package/dist/cjs/components/checkbox/Checkbox.d.ts +225 -0
  23. package/dist/cjs/components/checkbox/Checkbox.js +1 -0
  24. package/dist/cjs/components/checkbox/parts/CheckboxIndicator.d.ts +13 -0
  25. package/dist/cjs/components/checkbox/parts/CheckboxIndicator.js +1 -0
  26. package/dist/cjs/components/checkbox-field/CheckboxField.d.ts +74 -0
  27. package/dist/cjs/components/checkbox-field/CheckboxField.js +1 -0
  28. package/dist/cjs/components/checkbox-group/CheckboxGroup.d.ts +65 -0
  29. package/dist/cjs/components/checkbox-group/CheckboxGroup.js +1 -0
  30. package/dist/cjs/components/checkbox-group-field/CheckboxGroupField.d.ts +79 -0
  31. package/dist/cjs/components/checkbox-group-field/CheckboxGroupField.js +1 -0
  32. package/dist/cjs/components/date-picker/DatePicker.d.ts +67 -0
  33. package/dist/cjs/components/date-picker/DatePicker.js +1 -0
  34. package/dist/cjs/components/date-picker/hooks/useMonthsList.d.ts +4 -0
  35. package/dist/cjs/components/date-picker/hooks/useMonthsList.js +1 -0
  36. package/dist/cjs/components/date-picker/hooks/useYearsList.d.ts +10 -0
  37. package/dist/cjs/components/date-picker/hooks/useYearsList.js +1 -0
  38. package/dist/cjs/components/date-picker/parts/DateCalendar.d.ts +9 -0
  39. package/dist/cjs/components/date-picker/parts/DateCalendar.js +1 -0
  40. package/dist/cjs/components/date-picker/parts/DateInput.d.ts +155 -0
  41. package/dist/cjs/components/date-picker/parts/DateInput.js +1 -0
  42. package/dist/cjs/components/date-picker/parts/DateSegmentSelect.d.ts +15 -0
  43. package/dist/cjs/components/date-picker/parts/DateSegmentSelect.js +1 -0
  44. package/dist/cjs/components/date-picker/utils.d.ts +12 -0
  45. package/dist/cjs/components/date-picker-field/DatePickerField.d.ts +83 -0
  46. package/dist/cjs/components/date-picker-field/DatePickerField.js +1 -0
  47. package/dist/cjs/components/dialog/Dialog.d.ts +1 -1
  48. package/dist/cjs/components/dialog/parts/DialogActions/DialogButton.d.ts +1 -1
  49. package/dist/cjs/components/dialog/parts/DialogActions.d.ts +1 -1
  50. package/dist/cjs/components/dialog/parts/DialogTitle.d.ts +1 -1
  51. package/dist/cjs/components/form/Form.context.d.ts +1 -1
  52. package/dist/cjs/components/form/Form.context.js +1 -1
  53. package/dist/cjs/components/form/Form.js +1 -1
  54. package/dist/cjs/components/form-field/FormField.context.d.ts +32 -14
  55. package/dist/cjs/components/form-field/FormField.context.js +1 -0
  56. package/dist/cjs/components/form-field/FormField.d.ts +40 -16
  57. package/dist/cjs/components/form-field/FormField.js +1 -0
  58. package/dist/cjs/components/form-field/parts/FormContextualLink.js +1 -0
  59. package/dist/cjs/components/form-field/parts/FormControl.d.ts +7 -0
  60. package/dist/cjs/components/form-field/parts/FormControl.js +1 -0
  61. package/dist/cjs/components/form-field/parts/FormFeedbackText.js +1 -0
  62. package/dist/cjs/components/form-field/parts/FormHelperText.d.ts +1 -1
  63. package/dist/cjs/components/form-field/parts/FormHelperText.js +1 -0
  64. package/dist/cjs/components/form-field/parts/FormLabel.d.ts +3 -3
  65. package/dist/cjs/components/form-field/parts/FormLabel.js +1 -0
  66. package/dist/cjs/components/form-field/utils/isFieldRequired.d.ts +8 -0
  67. package/dist/cjs/components/form-field/utils/isFieldRequired.js +1 -0
  68. package/dist/cjs/components/full-page-loader/FullPageLoader.d.ts +13 -0
  69. package/dist/cjs/components/full-page-loader/FullPageLoader.js +1 -0
  70. package/dist/cjs/components/icon/Icon.d.ts +1 -1
  71. package/dist/cjs/components/icon-button/CircularIconButton.d.ts +1 -1
  72. package/dist/cjs/components/icon-button/IconButton.d.ts +1 -1
  73. package/dist/cjs/components/index.d.ts +4 -0
  74. package/dist/cjs/components/input/Input.d.ts +48 -0
  75. package/dist/cjs/components/input/Input.js +1 -0
  76. package/dist/cjs/components/label/Label.d.ts +17 -0
  77. package/dist/cjs/components/label/Label.js +1 -0
  78. package/dist/cjs/components/link/Link.d.ts +10 -0
  79. package/dist/cjs/components/link/Link.js +1 -1
  80. package/dist/cjs/components/menu/Menu.d.ts +1 -1
  81. package/dist/cjs/components/menu/parts/MenuContent.d.ts +1 -1
  82. package/dist/cjs/components/menu/parts/MenuHeader.d.ts +1 -1
  83. package/dist/cjs/components/menu/parts/MenuItem.d.ts +2 -2
  84. package/dist/cjs/components/menu/parts/MenuSeparator.d.ts +1 -1
  85. package/dist/cjs/components/menu/parts/MenuTrigger.d.ts +1 -1
  86. package/dist/cjs/components/nav/Nav.d.ts +1 -1
  87. package/dist/cjs/components/nav/parts/NavGroup.d.ts +1 -1
  88. package/dist/cjs/components/nav/parts/NavItem.d.ts +1 -1
  89. package/dist/cjs/components/select/Select.d.ts +52 -0
  90. package/dist/cjs/components/select/Select.js +1 -0
  91. package/dist/cjs/components/select/parts/SearchInput.d.ts +2 -0
  92. package/dist/cjs/components/select/parts/SearchInput.js +1 -0
  93. package/dist/cjs/components/select/parts/SelectButton.d.ts +8 -0
  94. package/dist/cjs/components/select/parts/SelectButton.js +1 -0
  95. package/dist/cjs/components/select/parts/SelectOption.context.d.ts +8 -0
  96. package/dist/cjs/components/select/parts/SelectOption.context.js +1 -0
  97. package/dist/cjs/components/select/parts/SelectOption.d.ts +6 -0
  98. package/dist/cjs/components/select/parts/SelectOption.js +1 -0
  99. package/dist/cjs/components/select/parts/SelectOptionGroup.d.ts +12 -0
  100. package/dist/cjs/components/select/parts/SelectOptionGroup.js +1 -0
  101. package/dist/cjs/components/select/parts/SelectOptionHelper.d.ts +4 -0
  102. package/dist/cjs/components/select/parts/SelectOptionHelper.js +1 -0
  103. package/dist/cjs/components/select-field/SelectField.d.ts +50 -0
  104. package/dist/cjs/components/select-field/SelectField.js +1 -0
  105. package/dist/cjs/components/spinner/Spinner.d.ts +2 -2
  106. package/dist/cjs/components/spinner/Spinner.js +1 -1
  107. package/dist/cjs/components/spinner/dynamic-content.d.ts +1 -1
  108. package/dist/cjs/components/stepper/Stepper.context.d.ts +1 -1
  109. package/dist/cjs/components/tabs/Tabs.context.d.ts +1 -1
  110. package/dist/cjs/components/tabs/parts/NavigationButton.d.ts +1 -1
  111. package/dist/cjs/components/tabs/parts/Tab.d.ts +3 -1
  112. package/dist/cjs/components/text/Text.d.ts +1 -1
  113. package/dist/cjs/components/text-area/TextArea.d.ts +220 -0
  114. package/dist/cjs/components/text-area/TextArea.js +1 -0
  115. package/dist/cjs/components/text-field/TextField.d.ts +63 -0
  116. package/dist/cjs/components/text-field/TextField.js +1 -0
  117. package/dist/cjs/components/toast/Toast.context.d.ts +1 -1
  118. package/dist/cjs/components/toast/ToastManager.d.ts +1 -1
  119. package/dist/cjs/components/toast/UnityToast.d.ts +1 -1
  120. package/dist/cjs/components/toast/parts/ToastAction.d.ts +1 -1
  121. package/dist/cjs/components/toast/parts/ToastContent.d.ts +1 -1
  122. package/dist/cjs/components/toast/parts/ToastTitle.d.ts +1 -1
  123. package/dist/cjs/components/tooltip/Tooltip.d.ts +1 -1
  124. package/dist/cjs/docs/blocks/Cards.d.ts +7 -7
  125. package/dist/cjs/hooks/use-form.d.ts +5 -5
  126. package/dist/cjs/hooks/use-form.js +1 -0
  127. package/dist/cjs/hooks/use-resizable.d.ts +13 -0
  128. package/dist/cjs/hooks/use-resizable.js +1 -0
  129. package/dist/cjs/index.d.ts +30 -0
  130. package/dist/cjs/index.js +1 -1
  131. package/dist/cjs/providers/router/RouterProvider.d.ts +1 -1
  132. package/dist/cjs/providers/router/integrations/UnityReactRouterV5Provider.d.ts +1 -1
  133. package/dist/esm/components/anchor/Anchor.d.mts +1 -1
  134. package/dist/esm/components/app-layout/AppLayout.d.mts +6 -1
  135. package/dist/esm/components/app-layout/AppLayout.mjs +35 -23
  136. package/dist/esm/components/app-menu/AppMenu.d.mts +9 -0
  137. package/dist/esm/components/app-menu/AppMenu.mjs +14 -0
  138. package/dist/esm/components/app-menu/parts/AppMenu.context.d.mts +9 -0
  139. package/dist/esm/components/app-menu/parts/AppMenu.context.mjs +25 -0
  140. package/dist/esm/components/app-menu/parts/AppMenuFooter.d.mts +31 -0
  141. package/dist/esm/components/app-menu/parts/AppMenuFooter.mjs +224 -0
  142. package/dist/esm/components/app-menu/parts/AppMenuHeader.d.mts +9 -0
  143. package/dist/esm/components/app-menu/parts/AppMenuHeader.mjs +41 -0
  144. package/dist/esm/components/app-menu/parts/AppMenuNavContent.d.mts +5 -0
  145. package/dist/esm/components/app-menu/parts/AppMenuNavContent.mjs +23 -0
  146. package/dist/esm/components/avatar/Avatar.context.d.mts +1 -1
  147. package/dist/esm/components/avatar/parts/AvatarFallback.d.mts +1 -1
  148. package/dist/esm/components/avatar/parts/AvatarFallback.mjs +9 -8
  149. package/dist/esm/components/avatar/parts/AvatarPair.d.mts +20 -0
  150. package/dist/esm/components/avatar/utils.d.mts +1 -0
  151. package/dist/esm/components/avatar/utils.mjs +4 -0
  152. package/dist/esm/components/breadcrumbs/Breadcrumbs.context.d.mts +1 -1
  153. package/dist/esm/components/button/Button.d.mts +2 -1
  154. package/dist/esm/components/checkbox/Checkbox.d.mts +225 -0
  155. package/dist/esm/components/checkbox/Checkbox.mjs +146 -0
  156. package/dist/esm/components/checkbox/parts/CheckboxIndicator.d.mts +13 -0
  157. package/dist/esm/components/checkbox/parts/CheckboxIndicator.mjs +146 -0
  158. package/dist/esm/components/checkbox-field/CheckboxField.d.mts +74 -0
  159. package/dist/esm/components/checkbox-field/CheckboxField.mjs +61 -0
  160. package/dist/esm/components/checkbox-group/CheckboxGroup.d.mts +65 -0
  161. package/dist/esm/components/checkbox-group/CheckboxGroup.mjs +66 -0
  162. package/dist/esm/components/checkbox-group-field/CheckboxGroupField.d.mts +79 -0
  163. package/dist/esm/components/checkbox-group-field/CheckboxGroupField.mjs +54 -0
  164. package/dist/esm/components/date-picker/DatePicker.d.mts +67 -0
  165. package/dist/esm/components/date-picker/DatePicker.mjs +163 -0
  166. package/dist/esm/components/date-picker/hooks/useMonthsList.d.mts +4 -0
  167. package/dist/esm/components/date-picker/hooks/useMonthsList.mjs +26 -0
  168. package/dist/esm/components/date-picker/hooks/useYearsList.d.mts +10 -0
  169. package/dist/esm/components/date-picker/hooks/useYearsList.mjs +33 -0
  170. package/dist/esm/components/date-picker/parts/DateCalendar.d.mts +9 -0
  171. package/dist/esm/components/date-picker/parts/DateCalendar.mjs +172 -0
  172. package/dist/esm/components/date-picker/parts/DateInput.d.mts +155 -0
  173. package/dist/esm/components/date-picker/parts/DateInput.mjs +124 -0
  174. package/dist/esm/components/date-picker/parts/DateSegmentSelect.d.mts +15 -0
  175. package/dist/esm/components/date-picker/parts/DateSegmentSelect.mjs +69 -0
  176. package/dist/esm/components/date-picker/utils.d.mts +12 -0
  177. package/dist/esm/components/date-picker-field/DatePickerField.d.mts +83 -0
  178. package/dist/esm/components/date-picker-field/DatePickerField.mjs +73 -0
  179. package/dist/esm/components/dialog/Dialog.d.mts +1 -1
  180. package/dist/esm/components/dialog/parts/DialogActions/DialogButton.d.mts +1 -1
  181. package/dist/esm/components/dialog/parts/DialogActions.d.mts +1 -1
  182. package/dist/esm/components/dialog/parts/DialogTitle.d.mts +1 -1
  183. package/dist/esm/components/form/Form.context.d.mts +1 -1
  184. package/dist/esm/components/form/Form.context.mjs +21 -14
  185. package/dist/esm/components/form/Form.mjs +1 -1
  186. package/dist/esm/components/form-field/FormField.context.d.mts +32 -14
  187. package/dist/esm/components/form-field/FormField.context.mjs +81 -0
  188. package/dist/esm/components/form-field/FormField.d.mts +40 -16
  189. package/dist/esm/components/form-field/FormField.mjs +60 -0
  190. package/dist/esm/components/form-field/parts/FormContextualLink.mjs +35 -0
  191. package/dist/esm/components/form-field/parts/FormControl.d.mts +7 -0
  192. package/dist/esm/components/form-field/parts/FormControl.mjs +50 -0
  193. package/dist/esm/components/form-field/parts/FormFeedbackText.mjs +25 -0
  194. package/dist/esm/components/form-field/parts/FormHelperText.d.mts +1 -1
  195. package/dist/esm/components/form-field/parts/FormHelperText.mjs +25 -0
  196. package/dist/esm/components/form-field/parts/FormLabel.d.mts +3 -3
  197. package/dist/esm/components/form-field/parts/FormLabel.mjs +30 -0
  198. package/dist/esm/components/form-field/utils/isFieldRequired.d.mts +8 -0
  199. package/dist/esm/components/form-field/utils/isFieldRequired.mjs +23 -0
  200. package/dist/esm/components/full-page-loader/FullPageLoader.d.mts +13 -0
  201. package/dist/esm/components/full-page-loader/FullPageLoader.mjs +26 -0
  202. package/dist/esm/components/icon/Icon.d.mts +1 -1
  203. package/dist/esm/components/icon-button/CircularIconButton.d.mts +1 -1
  204. package/dist/esm/components/icon-button/IconButton.d.mts +1 -1
  205. package/dist/esm/components/index.d.mts +4 -0
  206. package/dist/esm/components/input/Input.d.mts +48 -0
  207. package/dist/esm/components/input/Input.mjs +148 -0
  208. package/dist/esm/components/label/Label.d.mts +17 -0
  209. package/dist/esm/components/label/Label.mjs +56 -0
  210. package/dist/esm/components/link/Link.d.mts +10 -0
  211. package/dist/esm/components/link/Link.mjs +26 -24
  212. package/dist/esm/components/menu/Menu.d.mts +1 -1
  213. package/dist/esm/components/menu/parts/MenuContent.d.mts +1 -1
  214. package/dist/esm/components/menu/parts/MenuHeader.d.mts +1 -1
  215. package/dist/esm/components/menu/parts/MenuItem.d.mts +2 -2
  216. package/dist/esm/components/menu/parts/MenuSeparator.d.mts +1 -1
  217. package/dist/esm/components/menu/parts/MenuTrigger.d.mts +1 -1
  218. package/dist/esm/components/nav/Nav.d.mts +1 -1
  219. package/dist/esm/components/nav/parts/NavGroup.d.mts +1 -1
  220. package/dist/esm/components/nav/parts/NavItem.d.mts +1 -1
  221. package/dist/esm/components/select/Select.d.mts +52 -0
  222. package/dist/esm/components/select/Select.mjs +63 -0
  223. package/dist/esm/components/select/parts/SearchInput.d.mts +2 -0
  224. package/dist/esm/components/select/parts/SearchInput.mjs +39 -0
  225. package/dist/esm/components/select/parts/SelectButton.d.mts +8 -0
  226. package/dist/esm/components/select/parts/SelectButton.mjs +87 -0
  227. package/dist/esm/components/select/parts/SelectOption.context.d.mts +8 -0
  228. package/dist/esm/components/select/parts/SelectOption.context.mjs +24 -0
  229. package/dist/esm/components/select/parts/SelectOption.d.mts +6 -0
  230. package/dist/esm/components/select/parts/SelectOption.mjs +63 -0
  231. package/dist/esm/components/select/parts/SelectOptionGroup.d.mts +12 -0
  232. package/dist/esm/components/select/parts/SelectOptionGroup.mjs +26 -0
  233. package/dist/esm/components/select/parts/SelectOptionHelper.d.mts +4 -0
  234. package/dist/esm/components/select/parts/SelectOptionHelper.mjs +20 -0
  235. package/dist/esm/components/select-field/SelectField.d.mts +50 -0
  236. package/dist/esm/components/select-field/SelectField.mjs +65 -0
  237. package/dist/esm/components/spinner/Spinner.d.mts +2 -2
  238. package/dist/esm/components/spinner/Spinner.mjs +34 -27
  239. package/dist/esm/components/spinner/dynamic-content.d.mts +1 -1
  240. package/dist/esm/components/stepper/Stepper.context.d.mts +1 -1
  241. package/dist/esm/components/tabs/Tabs.context.d.mts +1 -1
  242. package/dist/esm/components/tabs/parts/NavigationButton.d.mts +1 -1
  243. package/dist/esm/components/tabs/parts/Tab.d.mts +3 -1
  244. package/dist/esm/components/text/Text.d.mts +1 -1
  245. package/dist/esm/components/text-area/TextArea.d.mts +220 -0
  246. package/dist/esm/components/text-area/TextArea.mjs +163 -0
  247. package/dist/esm/components/text-field/TextField.d.mts +63 -0
  248. package/dist/esm/components/text-field/TextField.mjs +78 -0
  249. package/dist/esm/components/toast/Toast.context.d.mts +1 -1
  250. package/dist/esm/components/toast/ToastManager.d.mts +1 -1
  251. package/dist/esm/components/toast/UnityToast.d.mts +1 -1
  252. package/dist/esm/components/toast/parts/ToastAction.d.mts +1 -1
  253. package/dist/esm/components/toast/parts/ToastContent.d.mts +1 -1
  254. package/dist/esm/components/toast/parts/ToastTitle.d.mts +1 -1
  255. package/dist/esm/components/tooltip/Tooltip.d.mts +1 -1
  256. package/dist/esm/docs/blocks/Cards.d.mts +7 -7
  257. package/dist/esm/hooks/use-form.d.mts +5 -5
  258. package/dist/esm/hooks/use-form.mjs +32 -0
  259. package/dist/esm/hooks/use-resizable.d.mts +13 -0
  260. package/dist/esm/hooks/use-resizable.mjs +51 -0
  261. package/dist/esm/index.d.mts +30 -0
  262. package/dist/esm/index.mjs +175 -109
  263. package/dist/esm/providers/router/RouterProvider.d.mts +1 -1
  264. package/dist/esm/providers/router/integrations/UnityReactRouterV5Provider.d.mts +1 -1
  265. package/i18n/en-GB.json +14 -3
  266. package/i18n/es-ES.json +14 -3
  267. package/i18n/fr-FR.json +14 -3
  268. package/package.json +21 -18
  269. package/dist/cjs/components/form-field/parts/FormInput.d.ts +0 -15
  270. package/dist/cjs/components/spinner/Spinner.module.css.js +0 -1
  271. package/dist/esm/components/form-field/parts/FormInput.d.mts +0 -15
  272. package/dist/esm/components/spinner/Spinner.module.css.mjs +0 -10
  273. package/dist/style.css +0 -1
@@ -9,7 +9,7 @@ interface AnchorProps {
9
9
  * The Anchor component is a primitive used to anchor a small component to a larger one in any of the large component's corners.
10
10
  */
11
11
  declare const Anchor: {
12
- ({ children, position, offset, }: AnchorProps): JSX.Element;
12
+ ({ children, position, offset, }: AnchorProps): import("react/jsx-runtime").JSX.Element;
13
13
  displayName: string;
14
14
  };
15
15
  export { Anchor };
@@ -14,9 +14,14 @@ export type AppLayoutProps = PropsWithChildren<{
14
14
  * @default undefined
15
15
  */
16
16
  footer?: ReactNode;
17
+ /**
18
+ * Removes the padding top and right for the content
19
+ * @default: false
20
+ */
21
+ withoutContentPadding?: boolean;
17
22
  }>;
18
23
  /**
19
24
  * The `AppLayout` component creates a responsive base structure with a fixed menu sidebar.
20
25
  * Use this when you need a complex layout with a persistent navigation menu.
21
26
  */
22
- export declare function AppLayout({ children, menu: MenuElement, header: HeaderElement, footer: FooterElement, }: AppLayoutProps): JSX.Element;
27
+ export declare function AppLayout({ children, menu: MenuElement, header: HeaderElement, footer: FooterElement, withoutContentPadding, }: AppLayoutProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),h=require("react"),m=require("tailwind-variants"),x=require("usehooks-ts"),v=m.tv({slots:{body:"uy-h-screen uy-relative uy-overflow-hidden",header:"uy-fixed uy-top-0 uy-left-0 uy-right-0 uy-z-30",layoutWrapper:["uy-flex uy-flex-col uy-w-full uy-mt-[--uy-app-layout-header-sticky-offset] uy-h-[--uy-app-layout-menu-height]","md:uy-flex-row"],menu:["uy-w-full","md:uy-max-w-app-menu"],contentWrapper:["uy-flex uy-flex-col","uy-flex-grow uy-overflow-y-auto uy-relative","md:uy-pl-100"],content:["uy-flex-1","md:uy-pr-300 md:uy-pt-250"],footer:["uy-hidden","md:uy-block"]}});function b({children:a,menu:s,header:u,footer:t}){const r=h.useRef(null),{height:o=0}=x.useResizeObserver({ref:r,box:"border-box"}),{body:l,header:y,menu:i,layoutWrapper:n,contentWrapper:c,content:d,footer:p}=v(),f={"--uy-app-layout-menu-height":`calc(100dvh - ${o}px)`,"--uy-app-layout-header-sticky-offset":`${o}px`};return e.jsxs("div",{className:l(),style:f,children:[u&&e.jsx("div",{ref:r,className:y(),role:"alert","aria-live":"assertive",children:u}),e.jsxs("div",{className:n(),children:[e.jsx("div",{className:i(),children:s}),e.jsxs("div",{className:c(),children:[e.jsx("main",{className:d(),children:a}),t&&e.jsx("footer",{className:p(),children:t})]})]})]})}exports.AppLayout=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),m=require("react"),x=require("tailwind-variants"),v=require("usehooks-ts"),b=x.tv({slots:{body:"uy-h-screen uy-relative uy-overflow-hidden",header:"uy-fixed uy-top-0 uy-left-0 uy-right-0 uy-z-30",layoutWrapper:["uy-flex uy-flex-col uy-w-full uy-mt-[--uy-app-layout-header-sticky-offset] uy-h-[--uy-app-layout-menu-height]","md:uy-flex-row"],menu:["uy-w-full","md:uy-max-w-app-menu"],contentWrapper:["uy-flex uy-flex-col","uy-flex-grow uy-overflow-y-auto uy-relative"],content:["uy-flex-1"],footer:["uy-hidden","md:uy-block"]},variants:{withoutContentPadding:{false:{content:["md:uy-pr-300","md:uy-pt-250"],contentWrapper:["md:uy-pl-100"]},true:{content:[],contentWrapper:[]}}}});function g({children:a,menu:s,header:t,footer:u,withoutContentPadding:l=!1}){const r=m.useRef(null),{height:o=0}=v.useResizeObserver({ref:r,box:"border-box"}),{body:n,header:y,menu:i,layoutWrapper:c,contentWrapper:d,content:p,footer:f}=b({withoutContentPadding:l}),h={"--uy-app-layout-menu-height":`calc(100dvh - ${o}px)`,"--uy-app-layout-header-sticky-offset":`${o}px`};return e.jsxs("div",{className:n(),style:h,children:[t&&e.jsx("div",{ref:r,className:y(),role:"alert","aria-live":"assertive",children:t}),e.jsxs("div",{className:c(),children:[e.jsx("div",{className:i(),children:s}),e.jsxs("div",{className:d(),children:[e.jsx("div",{className:p(),children:a}),u&&e.jsx("footer",{className:f(),children:u})]})]})]})}exports.AppLayout=g;
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ export interface AppMenuProps {
3
+ children: ReactNode;
4
+ }
5
+ declare const AppMenu: {
6
+ ({ children }: AppMenuProps): import("react/jsx-runtime").JSX.Element;
7
+ displayName: string;
8
+ };
9
+ export { AppMenu };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("./parts/AppMenu.context.js"),u=({children:p})=>e.jsx(t.AppMenuContextProvider,{children:e.jsx("div",{className:"uy-relative uy-z-[1] uy-flex uy-flex-col uy-p-150 uy-gap-y-300 md:uy-max-w-app-menu md:uy-h-full","data-dd-privacy":"allow",children:p})});u.displayName="AppMenu";exports.AppMenu=u;
@@ -0,0 +1,9 @@
1
+ import { PropsWithChildren } from 'react';
2
+ type AppMenuContextValue = {
3
+ isMobileMenuOpen: boolean;
4
+ toggleMobileMenu: () => void;
5
+ };
6
+ export declare const AppMenuContext: import('react').Context<AppMenuContextValue>;
7
+ export declare function AppMenuContextProvider({ children, }: PropsWithChildren<object>): import("react/jsx-runtime").JSX.Element;
8
+ export declare function useAppMenuContext(): AppMenuContextValue;
9
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),e=require("react"),t=e.createContext({isMobileMenuOpen:!1,toggleMobileMenu:()=>null});function M({children:n}){const[o,u]=e.useState(!1),s={toggleMobileMenu:()=>{u(i=>!i)},isMobileMenuOpen:o};return r.jsx(t.Provider,{value:s,children:n})}function l(){return e.useContext(t)}exports.AppMenuContext=t;exports.AppMenuContextProvider=M;exports.useAppMenuContext=l;
@@ -0,0 +1,31 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ import { AvatarPairProps } from '../../avatar/parts/AvatarPair.js';
3
+ type CommonProps = {
4
+ avatar?: string;
5
+ avatarPair?: ReactElement<AvatarPairProps>;
6
+ title?: string;
7
+ description?: ReactNode;
8
+ badgeLabel?: string;
9
+ /**
10
+ * Use this to provide a custom context to the screen reader. Press this button to open the profile menu.
11
+ */
12
+ menuTriggerDescription?: string;
13
+ uploadAvatarCallback?: () => void;
14
+ /**
15
+ * Use this to provide a custom context to the screen reader. Default is "Press enter to change profile picture"
16
+ */
17
+ uploadAvatarDescription?: string;
18
+ /**
19
+ * Use this to provide a custom context to the screen reader. Default is Change profile picture
20
+ */
21
+ uploadAvatarLabel?: string;
22
+ };
23
+ export type AppMenuFooterProps = CommonProps & {
24
+ children?: ReactNode;
25
+ computeSlot?: ReactNode;
26
+ };
27
+ export type AppMenuFooterHeaderProps = CommonProps & {
28
+ asMenuHeader?: boolean;
29
+ };
30
+ export declare const AppMenuFooter: ({ avatar, avatarPair, badgeLabel, children, computeSlot, description, title, menuTriggerDescription, uploadAvatarCallback, uploadAvatarLabel, uploadAvatarDescription, }: AppMenuFooterProps) => import("react/jsx-runtime").JSX.Element;
31
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),f=require("react"),b=require("react-intl"),m=require("tailwind-merge"),g=require("../../actionable/Actionable.js"),j=require("../../avatar/Avatar.js"),M=require("../../avatar/parts/AvatarFallback.js"),q=require("../../avatar/parts/AvatarImage.js"),N=require("../../badge/Badge.js"),x=require("../../icon/Icon.js"),w=require("../../menu/Menu.js"),A=require("../../menu/parts/MenuContent.js"),P=require("../../menu/parts/MenuHeader.js"),I=require("../../menu/parts/MenuTrigger.js"),F=require("./AppMenu.context.js"),v=t=>e.jsxs(j.Avatar,{"aria-label":`${t.title} avatar`,size:"md",variant:"square","aria-labelledby":"profile-button-label",children:[e.jsx(q.AvatarImage,{src:t.avatar,alt:t.title??""}),e.jsx(M.AvatarFallback,{variant:"initials",delayMs:100,children:t.title}),t.avatarPair&&f.isValidElement(t.avatarPair)&&f.cloneElement(t.avatarPair,{isHidden:!t.isPairAvatarVisible})]}),H=({avatar:t,avatarPair:i,title:u,uploadAvatarCallback:a,uploadAvatarLabel:l,uploadAvatarDescription:s})=>{const[r,o]=f.useState(!0),c=b.useIntl(),n=()=>{i&&o(d=>!d)},y=m.twMerge("uy-group uy-relative uy-leading-[0] uy-rounded-75 focus-visible:uy-outline-none focus-visible:uy-ring-2 focus-visible:uy-ring-utility-focus-ring focus-visible:uy-ring-offset-2");return e.jsxs(g.Actionable,{"aria-describedby":"profile-picture-change-desc","aria-label":l||c.formatMessage({id:"unity:component:app-menu:footer:profile-button:avatar:change",defaultMessage:"Change profile picture"}),className:y,onHoverStart:n,onHoverEnd:n,onFocus:n,onBlur:n,onPress:()=>{a==null||a()},children:[e.jsx(v,{avatar:t,avatarPair:i,title:u,isPairAvatarVisible:r}),e.jsxs("div",{className:"uy-flex uy-pointer-events-none uy-opacity-0 group-hover:uy-opacity-70 group-hover:uy-pointer-events-auto group-focus-visible:uy-opacity-70 group-focus-visible:uy-pointer-events-auto uy-bg-utility-backdrop uy-rounded-circle uy-absolute uy-top-0 uy-left-0 uy-w-full uy-h-full uy-transition-all uy-duration-200 uy-items-center uy-justify-center",children:[e.jsx(x.Icon,{alt:"Camera",color:"content.inverted",size:24,src:"CameraOutlined"}),e.jsx("span",{className:"uy-sr-only",id:"profile-picture-change-desc",children:s||e.jsx(b.FormattedMessage,{id:"unity:component:app-menu:footer:profile-button:avatar:change-description",defaultMessage:"Press enter to change profile picture"})})]})]})},p=({asMenuHeader:t=!1,avatar:i,avatarPair:u,badgeLabel:a,description:l,menuTriggerDescription:s,title:r,uploadAvatarCallback:o,uploadAvatarLabel:c,uploadAvatarDescription:n})=>e.jsxs("div",{className:"uy-min-w-[240px] uy-w-full uy-flex uy-items-center",children:[e.jsx("div",{className:"uy-mr-150 uy-flex uy-items-center",children:o?e.jsx(H,{avatar:i,avatarPair:u,title:r,uploadAvatarLabel:c,uploadAvatarDescription:n,uploadAvatarCallback:o}):e.jsx(v,{avatar:i,avatarPair:u,title:r,isPairAvatarVisible:!0})}),e.jsxs("div",{className:"uy-flex uy-flex-col uy-text-left uy-leading-125 uy-min-w-[50%] uy-flex-grow",children:[e.jsx("span",{id:"profile-button-label",className:"uy-typography-body-strong uy-text-content-neutral uy-text-wrap",children:r}),e.jsx("span",{className:"uy-typography-body-small uy-text-content-neutral-low",children:l}),!t&&e.jsx("span",{id:"profile-button-description",className:"uy-sr-only",children:s||e.jsx(b.FormattedMessage,{id:"unity:component:app-menu:footer:profile-button:description",defaultMessage:"Press this button to open the profile menu."})})]}),e.jsx("div",{className:"uy-p-100",children:t?e.jsx(N.Badge,{className:"uy-capitalize",variant:"neutral",children:a}):e.jsx(x.Icon,{src:"CaretUpDownOutlined",alt:"open",size:20,color:"inherit"})})]}),V=({avatar:t,avatarPair:i,badgeLabel:u,children:a,computeSlot:l,description:s,title:r,menuTriggerDescription:o,uploadAvatarCallback:c,uploadAvatarLabel:n,uploadAvatarDescription:y})=>{const{isMobileMenuOpen:d}=F.useAppMenuContext(),h=m.twMerge("uy-fixed uy-bottom-0 uy-left-0 uy-right-0 uy-z-10 uy-bg-canvas","uy-p-150","md:uy-static md:uy-mt-auto md:uy-p-0 md:uy-bg-[transparent]","data-[mobile-open=false]:uy-hidden md:data-[mobile-open=false]:uy-block data-[mobile-open=true]:uy-block");return e.jsxs("aside",{className:h,"data-mobile-open":d,id:"app-menu-profile-button",children:[l,e.jsxs(w.Menu,{children:[e.jsx(I.MenuTrigger,{asChild:!0,children:e.jsx(g.Actionable,{className:"uy-rounded-75 uy-px-150 uy-py-100 uy-w-full enabled:hover:uy-bg-surface-neutral-hover enabled:active:uy-bg-surface-neutral-active enabled:data-[pressed]:uy-bg-surface-neutral-active enabled:focus-visible:uy-outline-none enabled:focus-visible:uy-ring-2 enabled:focus-visible:uy-ring-utility-focus-ring enabled:focus-visible:uy-ring-offset-2","aria-labelledby":"profile-button-label","aria-describedby":"profile-button-description",children:e.jsx(p,{avatar:t,avatarPair:i,badgeLabel:u,description:s,menuTriggerDescription:o,title:r,uploadAvatarCallback:c,uploadAvatarLabel:n,uploadAvatarDescription:y})})}),e.jsxs(A.MenuContent,{width:312,placement:"top left",children:[e.jsx(P.MenuHeader,{className:"uy-rounded-75",children:e.jsx(p,{asMenuHeader:!0,avatar:t,avatarPair:i,badgeLabel:u,description:s,menuTriggerDescription:o,title:r,uploadAvatarCallback:c,uploadAvatarLabel:n,uploadAvatarDescription:y})}),a]})]})]})};exports.AppMenuFooter=V;
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ export interface AppMenuHeader {
3
+ environment: 'production' | 'working' | 'testing' | 'development' | 'local';
4
+ linkHref: string;
5
+ linkLabel: string;
6
+ notificationsComponent?: ReactNode;
7
+ searchComponent?: ReactNode;
8
+ }
9
+ export declare const AppMenuHeader: ({ environment, linkHref, linkLabel, notificationsComponent, searchComponent, }: AppMenuHeader) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("react-intl"),c=require("react-router-dom"),d=require("../../icon-button/IconButton.js"),p=require("../../payfit-brand/PayFitBrand.js"),y=require("../../payfit-brand/PayFitPreprod.js"),m=require("./AppMenu.context.js"),x=({environment:t,linkHref:r,linkLabel:o,notificationsComponent:u,searchComponent:i})=>{const{isMobileMenuOpen:n,toggleMobileMenu:a}=m.useAppMenuContext(),s=l.useIntl();return e.jsxs("header",{className:"uy-flex uy-flex-col uy-gap-y-200 uy-pl-25 uy-pr-25",children:[e.jsx("div",{className:"uy-block md:uy-hidden",children:e.jsx(d.IconButton,{variant:"ghost",color:"neutral",icon:n?"CloseOutlined":"ListOutlined",label:s.formatMessage({id:n?"unity:component:app-menu:header:menu-close":"unity:component:app-menu:header:menu-open",defaultMessage:n?"Close navigation":"Open navigation"}),onClick:a,"aria-expanded":n,"aria-controls":"app-menu-nav-container app-menu-profile-button"})}),e.jsxs("div",{className:"uy-hidden uy-justify-between uy-items-center md:uy-flex",children:[e.jsx(c.Link,{to:r,children:t==="production"?e.jsx(p.PayFitBrand,{label:o,width:104}):e.jsx(y.PayFitBrandPreprod,{label:o,env:t})}),u]}),e.jsx("div",{className:"uy-hidden md:uy-flex",children:i})]})};exports.AppMenuHeader=x;
@@ -0,0 +1,5 @@
1
+ import { ReactNode } from 'react';
2
+ export type AppMenuNavContentProps = {
3
+ children: ReactNode;
4
+ };
5
+ export declare const AppMenuNavContent: ({ children }: AppMenuNavContentProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),o=require("tailwind-merge"),y=require("./AppMenu.context.js"),a=({children:e})=>{const{isMobileMenuOpen:u}=y.useAppMenuContext(),t=o.twMerge("uy-flex-col uy-overflow-y-auto uy-overflow-x-hidden uy-gap-y-100 uy-pl-200 uy-pr-200 uy-pb-200 uy-scroll-py-100 md:uy-flex","uy-bg-canvas md:uy-bg-[transparent]","uy-absolute uy-top-800 uy-left-0 uy-right-0 uy-z-10 uy-h-svh md:uy-static md:uy-w-auto md:uy-pl-50 md:uy-pr-50 md:uy-pb-50","data-[mobile-open=false]:uy-hidden md:data-[mobile-open=false]:uy-flex data-[mobile-open=true]:uy-flex");return n.jsx("div",{className:t,"data-mobile-open":u,id:"app-menu-nav-container",children:e})};exports.AppMenuNavContent=a;
@@ -6,6 +6,6 @@ type AvatarContextValue = {
6
6
  export declare const AvatarContext: import('react').Context<AvatarContextValue>;
7
7
  export declare function AvatarProvider({ variant, size, hasPair, children, }: AvatarContextValue & {
8
8
  children: React.ReactNode;
9
- }): JSX.Element;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
10
  export declare function useAvatarContext(): AvatarContextValue;
11
11
  export {};
@@ -149,7 +149,7 @@ type AvatarFallbackInitialsProps = AvatarFallbackBaseProps & {
149
149
  /** The fallback's variant. It can be one of: `initials`, `placeholder` */
150
150
  variant: 'initials';
151
151
  /** The initials to display as fallback content. Only available when variant is set to `initials` */
152
- children: React.ReactNode;
152
+ children: string | null | undefined;
153
153
  color?: never;
154
154
  };
155
155
  type AvatarFallbackPlaceholderProps = AvatarFallbackBaseProps & {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),v=require("react"),m=require("@radix-ui/react-avatar"),h=require("tailwind-merge"),s=require("tailwind-variants"),w=require("../Avatar.context.js"),u=require("../Avatar.variants.js");function i(e){if(e&&typeof e=="object"&&"default"in e)return e;const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const x=i(v),c=i(m),j=s.tv({extend:u.avatarBase,slots:{base:"uy-absolute uy-overflow-hidden",background:"",foreground:""},variants:{color:{blue:{background:"uy-bg-blue-L7",foreground:"uy-fill-blue-L5"},sunglow:{background:"uy-bg-sunglow-L3",foreground:"uy-fill-sunglow-L2"},peach:{background:"uy-bg-peach-L3",foreground:"uy-fill-peach-L2"}}}}),k=s.tv({extend:u.avatarBase,base:"uy-absolute uy-flex uy-h-full uy-w-full uy-items-center uy-justify-center uy-text-content-neutral uy-bg-surface-neutral-lowest",variants:{size:{xs:"uy-typography-body-small-strong",sm:"uy-typography-body-small-strong",md:"uy-typography-body-small-strong",lg:"uy-typography-body-strong",xl:"uy-typography-h2"}}}),y=x.forwardRef(({variant:e,color:a,children:t,...r},d)=>{const g=w.useAvatarContext(),{size:o,variant:l}=g;if(e==="placeholder"){const{base:b,background:f,foreground:p}=j({color:a,size:o,variant:l});return n.jsx("svg",{role:"img","aria-hidden":!0,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",className:h.twMerge(b(),f()),...r,children:n.jsx("path",{className:p(),fillRule:"evenodd",d:"M0 8.322c.245.06.49.117.732.17 2.113.455 3.727.487 4.79.12.478-.166.824-.405 1.09-.732.276-.336.567-.888.737-1.82.4-2.19.02-3.485-.47-4.283C6.407 1.012 5.665.432 4.732 0h6.861c.904 1.906 1.173 4.227.674 6.959-.29 1.587-.871 2.97-1.784 4.086-.921 1.126-2.08 1.86-3.328 2.292-2.283.789-4.872.574-7.156.11V8.322Z",clipRule:"evenodd"})})}return n.jsx(c.Fallback,{ref:d,role:"presentation",className:k({size:o,variant:l}),...r,children:t})});y.displayName=c.Fallback.displayName;exports.AvatarFallback=y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),v=require("react"),m=require("@radix-ui/react-avatar"),h=require("tailwind-merge"),s=require("tailwind-variants"),w=require("../Avatar.context.js"),u=require("../Avatar.variants.js"),x=require("../utils.js");function i(e){if(e&&typeof e=="object"&&"default"in e)return e;const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const j=i(v),c=i(m),k=s.tv({extend:u.avatarBase,slots:{base:"uy-absolute uy-overflow-hidden",background:"",foreground:""},variants:{color:{blue:{background:"uy-bg-blue-L7",foreground:"uy-fill-blue-L5"},sunglow:{background:"uy-bg-sunglow-L3",foreground:"uy-fill-sunglow-L2"},peach:{background:"uy-bg-peach-L3",foreground:"uy-fill-peach-L2"}}}}),q=s.tv({extend:u.avatarBase,base:"uy-absolute uy-flex uy-h-full uy-w-full uy-items-center uy-justify-center uy-text-content-neutral uy-bg-surface-neutral-lowest",variants:{size:{xs:"uy-typography-body-small-strong",sm:"uy-typography-body-small-strong",md:"uy-typography-body-small-strong",lg:"uy-typography-body-strong",xl:"uy-typography-h2"}}}),y=j.forwardRef(({variant:e,color:a,children:t,...r},d)=>{const g=w.useAvatarContext(),{size:o,variant:l}=g;if(e==="placeholder"){const{base:b,background:f,foreground:p}=k({color:a,size:o,variant:l});return n.jsx("svg",{role:"img","aria-hidden":!0,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",className:h.twMerge(b(),f()),...r,children:n.jsx("path",{className:p(),fillRule:"evenodd",d:"M0 8.322c.245.06.49.117.732.17 2.113.455 3.727.487 4.79.12.478-.166.824-.405 1.09-.732.276-.336.567-.888.737-1.82.4-2.19.02-3.485-.47-4.283C6.407 1.012 5.665.432 4.732 0h6.861c.904 1.906 1.173 4.227.674 6.959-.29 1.587-.871 2.97-1.784 4.086-.921 1.126-2.08 1.86-3.328 2.292-2.283.789-4.872.574-7.156.11V8.322Z",clipRule:"evenodd"})})}return n.jsx(c.Fallback,{ref:d,role:"presentation",className:q({size:o,variant:l}),...r,children:x.getInitials(t)})});y.displayName=c.Fallback.displayName;exports.AvatarFallback=y;
@@ -1,6 +1,26 @@
1
+ import { PropsWithChildren } from 'react';
1
2
  import { VariantProps } from 'tailwind-variants';
2
3
  import { avatarBase } from '../Avatar.variants.js';
3
4
  import * as React from 'react';
5
+ export type AvatarPairProps = PropsWithChildren<{
6
+ /** Variant of the avatar pair. they match the variants of the Avatar component */
7
+ variant: NonNullable<VariantProps<typeof avatarBase>['variant']>;
8
+ /**
9
+ * Set to true to visually hide the avatar pair
10
+ * @default false
11
+ */
12
+ isHidden?: boolean;
13
+ /** Accessible label for the avatar */
14
+ 'aria-label'?: string;
15
+ /** ID of the element that labels the avatar */
16
+ 'aria-labelledby'?: string;
17
+ /** ID of the element that describes the avatar */
18
+ 'aria-describedby'?: string;
19
+ /** Additional details for the avatar */
20
+ 'aria-details'?: string;
21
+ /** Indicates if the avatar is hidden from assistive technologies */
22
+ 'aria-hidden'?: boolean;
23
+ }>;
4
24
  /**
5
25
  * The `AvatarPair` component displays a paired, smaller avatar in the bottom-right corner of the containing avatar.
6
26
  */
@@ -0,0 +1 @@
1
+ export declare const getInitials: (value: string | null | undefined) => string;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=t=>t?t.length<=2?t:t.replace(/[^a-z0-9 ]+/gi,"").split(" ").map(e=>e.charAt(0).toUpperCase()).filter((e,r,n)=>r===0||n.length>0&&r===n.length-1).join(""):"";exports.getInitials=i;
@@ -7,6 +7,6 @@ interface BreadcrumbsContextValue {
7
7
  isStaticApi: boolean;
8
8
  }
9
9
  export declare const BreadcrumbsContext: import('react').Context<BreadcrumbsContextValue>;
10
- export declare function BreadcrumbsProvider({ children, wrap, isMobile, isStaticApi, }: PropsWithChildren<BreadcrumbsContextValue>): JSX.Element;
10
+ export declare function BreadcrumbsProvider({ children, wrap, isMobile, isStaticApi, }: PropsWithChildren<BreadcrumbsContextValue>): import("react/jsx-runtime").JSX.Element;
11
11
  export declare function useBreadcrumbsContext(): BreadcrumbsContextValue;
12
12
  export {};
@@ -1,4 +1,5 @@
1
1
  import { UnityIcon } from '@payfit/unity-icons';
2
+ import { PropsWithChildren } from 'react';
2
3
  import { ButtonProps as AriaButtonProps } from 'react-aria-components';
3
4
  import { ButtonBase, ButtonFilled, ButtonGhost, ButtonOutlined } from './Button.variants.js';
4
5
  type UnityButtonProps = AriaButtonProps & ButtonBase & {
@@ -37,5 +38,5 @@ export type ButtonProps = (UnityButtonProps & {
37
38
  /**
38
39
  * Buttons allow users to take actions, and make choices, with a single tap.
39
40
  */
40
- declare const Button: import('react').ForwardRefExoticComponent<ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
41
+ declare const Button: import('react').ForwardRefExoticComponent<PropsWithChildren<ButtonProps> & import('react').RefAttributes<HTMLButtonElement>>;
41
42
  export { Button };
@@ -0,0 +1,225 @@
1
+ import { ReactNode } from 'react';
2
+ import { CheckboxProps as AriaCheckboxProps } from 'react-aria-components';
3
+ export declare const checkbox: import('tailwind-variants').TVReturnType<{
4
+ isDisabled: {
5
+ true: {
6
+ base: string;
7
+ };
8
+ };
9
+ isInvalid: {
10
+ true: {};
11
+ };
12
+ isReadOnly: {
13
+ true: {
14
+ base: string;
15
+ };
16
+ };
17
+ }, {
18
+ base: string;
19
+ wrapper: string;
20
+ asterisk: string;
21
+ optionalTag: string;
22
+ descriptionsContainer: string;
23
+ helperText: string;
24
+ feedbackText: string;
25
+ }, undefined, import('tailwind-variants/dist/config').TVConfig<{
26
+ isDisabled: {
27
+ true: {
28
+ base: string;
29
+ };
30
+ };
31
+ isInvalid: {
32
+ true: {};
33
+ };
34
+ isReadOnly: {
35
+ true: {
36
+ base: string;
37
+ };
38
+ };
39
+ }, {
40
+ isDisabled: {
41
+ true: {
42
+ base: string;
43
+ };
44
+ };
45
+ isInvalid: {
46
+ true: {};
47
+ };
48
+ isReadOnly: {
49
+ true: {
50
+ base: string;
51
+ };
52
+ };
53
+ }>, {
54
+ isDisabled: {
55
+ true: {
56
+ base: string;
57
+ };
58
+ };
59
+ isInvalid: {
60
+ true: {};
61
+ };
62
+ isReadOnly: {
63
+ true: {
64
+ base: string;
65
+ };
66
+ };
67
+ }, {
68
+ base: string;
69
+ wrapper: string;
70
+ asterisk: string;
71
+ optionalTag: string;
72
+ descriptionsContainer: string;
73
+ helperText: string;
74
+ feedbackText: string;
75
+ }, import('tailwind-variants').TVReturnType<{
76
+ isDisabled: {
77
+ true: {
78
+ base: string;
79
+ };
80
+ };
81
+ isInvalid: {
82
+ true: {};
83
+ };
84
+ isReadOnly: {
85
+ true: {
86
+ base: string;
87
+ };
88
+ };
89
+ }, {
90
+ base: string;
91
+ wrapper: string;
92
+ asterisk: string;
93
+ optionalTag: string;
94
+ descriptionsContainer: string;
95
+ helperText: string;
96
+ feedbackText: string;
97
+ }, undefined, import('tailwind-variants/dist/config').TVConfig<{
98
+ isDisabled: {
99
+ true: {
100
+ base: string;
101
+ };
102
+ };
103
+ isInvalid: {
104
+ true: {};
105
+ };
106
+ isReadOnly: {
107
+ true: {
108
+ base: string;
109
+ };
110
+ };
111
+ }, {
112
+ isDisabled: {
113
+ true: {
114
+ base: string;
115
+ };
116
+ };
117
+ isInvalid: {
118
+ true: {};
119
+ };
120
+ isReadOnly: {
121
+ true: {
122
+ base: string;
123
+ };
124
+ };
125
+ }>, unknown, unknown, undefined>>;
126
+ export interface CheckboxProps extends Omit<AriaCheckboxProps, 'className'> {
127
+ /**
128
+ * The content to display as the checkbox label.
129
+ * This is required for accessibility.
130
+ */
131
+ children: ReactNode;
132
+ /**
133
+ * Additional text displayed below the checkbox to provide context or guidance.
134
+ * Can contain rich content like links or formatted text.
135
+ */
136
+ helperText?: ReactNode;
137
+ /**
138
+ * Error message displayed when the checkbox is in an invalid state.
139
+ * Only shown when `isInvalid` is true.
140
+ */
141
+ feedbackText?: ReactNode;
142
+ /**
143
+ * Controls how the required state is displayed.
144
+ * - 'required': Shows an asterisk (*) when isRequired is true
145
+ * - 'optional': Shows "(optional)" text when isRequired is false
146
+ * @default 'required'
147
+ */
148
+ requiredVariant?: 'required' | 'optional';
149
+ /**
150
+ * Whether the checkbox is disabled.
151
+ * When true, the checkbox cannot be interacted with and appears dimmed.
152
+ * @default false
153
+ */
154
+ isDisabled?: boolean;
155
+ /**
156
+ * Whether the checkbox is in a read-only state.
157
+ * When true, the checkbox cannot be modified but maintains normal appearance and can be focused.
158
+ * @default false
159
+ */
160
+ isReadOnly?: boolean;
161
+ /**
162
+ * Whether the checkbox is in an invalid state.
163
+ * Use this for form validation feedback.
164
+ * @default false
165
+ */
166
+ isInvalid?: boolean;
167
+ /**
168
+ * Whether the checkbox is required.
169
+ * This affects form validation and the display of required/optional indicators.
170
+ * @default false
171
+ */
172
+ isRequired?: boolean;
173
+ /**
174
+ * Whether the checkbox is selected (controlled).
175
+ * Use this with `onChange` for controlled checkbox state.
176
+ */
177
+ isSelected?: boolean;
178
+ /**
179
+ * The default selected state (uncontrolled).
180
+ * Use this when you don't need to control the checkbox state.
181
+ * @default false
182
+ */
183
+ defaultSelected?: boolean;
184
+ /**
185
+ * Whether the checkbox is in an indeterminate state.
186
+ * Useful for parent checkboxes in a tree structure.
187
+ * @default false
188
+ */
189
+ isIndeterminate?: boolean;
190
+ /**
191
+ * Handler called when the checkbox's selected state changes.
192
+ * @param isSelected The new selected state
193
+ */
194
+ onChange?: (isSelected: boolean) => void;
195
+ /**
196
+ * Handler called when the checkbox receives focus.
197
+ */
198
+ onFocus?: () => void;
199
+ /**
200
+ * Handler called when the checkbox loses focus.
201
+ */
202
+ onBlur?: () => void;
203
+ /**
204
+ * The name of the checkbox when used in a form.
205
+ */
206
+ name?: string;
207
+ /**
208
+ * The value of the checkbox when used in a form.
209
+ */
210
+ value?: string;
211
+ }
212
+ /**
213
+ * The `Checkbox` component is an accessible form control that allows users to select multiple options from a set.
214
+ * It follows WAI-ARIA checkbox patterns and is built on top of React Aria Components.
215
+ * @param {CheckboxProps} props - The props for the `Checkbox` component
216
+ * @example
217
+ * ```tsx
218
+ * import { Checkbox } from '@payfit/unity-components'
219
+ *
220
+ * <Checkbox>Accept terms and conditions</Checkbox>
221
+ * ```
222
+ * @see {@link CheckboxProps} for all available props
223
+ */
224
+ declare const Checkbox: import('react').ForwardRefExoticComponent<CheckboxProps & import('react').RefAttributes<HTMLLabelElement>>;
225
+ export { Checkbox };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),D=require("react-aria"),I=require("react-aria-components"),O=require("tailwind-variants"),u=require("../text/Text.js"),$=require("./parts/CheckboxIndicator.js"),y=O.tv({slots:{base:"uy-group uy-inline-flex uy-flex-col uy-gap-50 uy-py-[1px]",wrapper:"uy-inline-flex uy-items-center uy-gap-[2px] uy-typography-body uy-text-content-form-enabled data-[focus-visible]:uy-outline data-[focus-visible]:uy-outline-[2px] data-[focus-visible]:uy-outline-utility-focus-ring data-[focus-visible]:uy-outline-offset-2 uy-rounded-25",asterisk:"uy-text-content-danger",optionalTag:"uy-typography-body",descriptionsContainer:"uy-ml-300 uy-leading-0 uy-inline-flex uy-flex-col uy-gap-50",helperText:"uy-typography-body-small uy-text-content-neutral-low",feedbackText:"uy-typography-body-small-strong uy-text-content-form-invalid"},variants:{isDisabled:{true:{base:"!uy-text-content-form-disabled"}},isInvalid:{true:{}},isReadOnly:{true:{base:"uy-cursor-not-allowed"}}},defaultVariants:{isDisabled:!1,isInvalid:!1,isReadOnly:!1},compoundVariants:[{isDisabled:!1,isReadOnly:!1,className:{wrapper:"uy-cursor-pointer"}},{isDisabled:!0,isReadOnly:!1,className:{wrapper:"uy-cursor-not-allowed"}},{isDisabled:!1,isReadOnly:!0,className:{wrapper:"uy-cursor-not-allowed"}},{isDisabled:!0,isReadOnly:!0,className:{wrapper:"uy-cursor-not-allowed"}}]}),b=t.forwardRef(({children:p,helperText:s,feedbackText:i,...l},x)=>{const a=D.useId(),{isDisabled:m,isReadOnly:f,isInvalid:n,isRequired:r,requiredVariant:o="required"}=l,{base:g,wrapper:h,asterisk:v,optionalTag:j,descriptionsContainer:N,helperText:w,feedbackText:q}=y({isDisabled:m,isReadOnly:f,isInvalid:n}),d=[l["aria-labelledby"],`${a}-label`].filter(Boolean),c=[l["aria-describedby"],typeof s=="string"?`${a}-helper-text`:void 0,typeof i=="string"?`${a}-feedback-text`:void 0].filter(Boolean),k=d.length>0?d.join(" "):void 0,R=c.length>0?c.join(" "):void 0;return e.jsxs("div",{className:g(),children:[e.jsx(I.Checkbox,{...l,ref:x,className:h(),"aria-labelledby":k,"aria-describedby":R,children:C=>e.jsxs(e.Fragment,{children:[e.jsx($.CheckboxIndicator,{...C,className:"uy-mr-[6px]"}),e.jsx("span",{id:`${a}-label`,className:"uy-leading-100",children:p}),o==="required"&&r&&e.jsxs("span",{className:v(),children:["*",e.jsx("span",{className:"uy-sr-only",children:"required"})]}),o==="optional"&&!r&&e.jsx("span",{className:j(),children:"(optional)"})]})}),(s||i)&&e.jsxs("div",{className:N(),children:[typeof s=="string"?e.jsx(u.Text,{variant:"bodySmall",color:"content.neutral.low",id:`${a}-helper-text`,children:s}):t.isValidElement(s)&&t.cloneElement(s,{"data-id":`${a}-helper-text`,className:w()}),n&&(typeof i=="string"?e.jsx(u.Text,{variant:"bodySmallStrong",color:"content.form.invalid",id:`${a}-feedback-text`,children:i}):t.isValidElement(i)&&t.cloneElement(i,{"data-id":`${a}-feedback-text`,className:q()}))]})]})});b.displayName="Checkbox";exports.Checkbox=b;exports.checkbox=y;
@@ -0,0 +1,13 @@
1
+ export interface CheckboxIndicatorProps {
2
+ isDisabled?: boolean;
3
+ isSelected?: boolean;
4
+ isIndeterminate?: boolean;
5
+ isInvalid?: boolean;
6
+ isReadOnly?: boolean;
7
+ className?: string;
8
+ }
9
+ declare function CheckboxIndicator({ isSelected, isDisabled, isIndeterminate, isInvalid, isReadOnly, className, }: CheckboxIndicatorProps): import("react/jsx-runtime").JSX.Element;
10
+ declare namespace CheckboxIndicator {
11
+ var displayName: string;
12
+ }
13
+ export { CheckboxIndicator };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("tailwind-variants"),c=n.tv({slots:{base:["uy-flex uy-items-center uy-justify-center uy-rounded-50 uy-w-200 uy-h-200 uy-text-content-inverted uy-border uy-transition-all uy-duration-100"],checkmark:["uy-w-[16px] uy-fill-none uy-stroke-[2px] uy-stroke-content-inverted uy-transition-all uy-duration-500"]},variants:{isSelected:{true:{base:"uy-border-border-form-active uy-bg-surface-form-active"}},isDisabled:{true:""},isReadOnly:{true:""},isInvalid:{true:""}},defaultVariants:{isSelected:!1,isDisabled:!1,isInvalid:!1,isReadOnly:!1},compoundVariants:[{isSelected:!1,isDisabled:!1,isInvalid:!1,isReadOnly:!1,className:{base:"uy-border-border-form-enabled uy-bg-surface-form-enabled"}},{isSelected:!1,isDisabled:!0,className:{base:"!uy-bg-surface-form-disabled uy-border-border-form-disabled",checkmark:"uy-text-transparent"}},{isSelected:!0,isDisabled:!0,className:{base:"!uy-bg-surface-form-disabled uy-border-border-form-disabled",checkmark:"uy-text-border-form-disabled"}},{isSelected:!1,isInvalid:!0,className:{base:"uy-border-border-form-error uy-bg-surface-form-enabled",checkmark:"uy-text-transparent"}},{isSelected:!0,isInvalid:!0,className:{base:"!uy-border-border-danger !uy-bg-surface-danger",checkmark:"uy-text-content-inverted"}},{isSelected:!1,isReadOnly:!0,className:{base:"uy-border-border-form-disabled uy-bg-surface-form-disabled",checkmark:"uy-text-transparent"}},{isSelected:!0,isReadOnly:!0,className:{base:"!uy-bg-surface-form-disabled uy-border-border-form-disabled",checkmark:"uy-text-border-form-read-only"}}]});function a({isSelected:r,isDisabled:s,isIndeterminate:t,isInvalid:d,isReadOnly:i,className:o}){const{base:l,checkmark:u}=c({isSelected:r,isDisabled:s,isInvalid:d,isReadOnly:i});return e.jsx("div",{className:l({className:o}),children:e.jsx("svg",{fill:"none",stroke:"currentColor",viewBox:"0 0 16 16","aria-hidden":"true",className:u(),style:{strokeDashoffset:r?44:66},children:t?e.jsx("rect",{x:"3",y:"7",width:"10",height:"2",rx:"0.5",stroke:"none",fill:"currentColor"}):e.jsx("polyline",{points:"3.5,8 6.5,11 12.5,5",stroke:"currentColor",strokeDasharray:"22",strokeLinecap:"butt",strokeLinejoin:"bevel"})})})}a.displayName="CheckboxIndicator";exports.CheckboxIndicator=a;
@@ -0,0 +1,74 @@
1
+ import { ForwardedRef, JSX, ReactNode } from 'react';
2
+ import { FieldPath, FieldValues } from 'react-hook-form';
3
+ import { infer as ZodInfer } from 'zod';
4
+ import { Schema } from '../../hooks/use-form.types.js';
5
+ import { LabelProps } from '../label/Label.js';
6
+ interface FieldProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> extends Pick<LabelProps, 'isRequired' | 'requiredVariant'> {
7
+ /** The name of the field, which should match the form schema. */
8
+ name: TName;
9
+ /** The label for the checkbox. */
10
+ children: ReactNode;
11
+ /** Helper text to display below the checkbox. */
12
+ helperText?: ReactNode;
13
+ /** A contextual link to display below the checkbox. */
14
+ contextualLink?: ReactNode;
15
+ /** The default selected value of the checkbox. */
16
+ defaultSelected?: boolean;
17
+ /** Whether the checkbox is disabled. */
18
+ isDisabled?: boolean;
19
+ /** Whether the checkbox is read-only. */
20
+ isReadOnly?: boolean;
21
+ /** Whether the checkbox is invalid. */
22
+ isInvalid?: boolean;
23
+ /** Whether the checkbox is loading. */
24
+ isLoading?: boolean;
25
+ }
26
+ export type CheckboxFieldProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = FieldProps<TFieldValues, TName>;
27
+ type CheckboxFieldComponent = (<TSchema extends Schema>(props: CheckboxFieldProps<ZodInfer<TSchema>> & {
28
+ ref?: ForwardedRef<HTMLLabelElement>;
29
+ }) => JSX.Element) & {
30
+ displayName?: string;
31
+ };
32
+ /**
33
+ * The `CheckboxField` component enhances the base Checkbox with form integration capabilities,
34
+ * making it easy to handle boolean values in forms with proper validation and feedback.
35
+ *
36
+ * It provides form validation, helper text, and error feedback while maintaining the same
37
+ * API as the base Checkbox component. The component automatically integrates with Unity's
38
+ * form context and handles value updates through the form's state management.
39
+ * @param {CheckboxFieldProps} props - Props for the CheckboxField component
40
+ * @see {@link CheckboxFieldProps} for all available props
41
+ * @example
42
+ * ```tsx
43
+ * import { useUnityForm, CheckboxField } from '@payfit/unity-components'
44
+ * import * as z from 'zod'
45
+ *
46
+ * function Example() {
47
+ * const schema = z.object({
48
+ * acceptTerms: z.boolean().refine(Boolean, {
49
+ * message: 'You must accept the terms',
50
+ * }),
51
+ * })
52
+ *
53
+ * const { Form } = useUnityForm(schema)
54
+ *
55
+ * return (
56
+ * <Form action={handleSubmit}>
57
+ * <CheckboxField<typeof schema>
58
+ * name="acceptTerms"
59
+ * helperText="Please read our terms carefully"
60
+ * >
61
+ * Accept terms and conditions
62
+ * </CheckboxField>
63
+ * </Form>
64
+ * )
65
+ * }
66
+ * ```
67
+ * @remarks
68
+ * [API](/?path=/docs/forms-checkboxfield--docs) • [Demo](/?path=/story/forms-checkboxfield--primary)
69
+ * @note The schema type parameter is needed to ensure type safety with the form's
70
+ schema.
71
+ * If you omit it, the `name` prop will not be type-safe.
72
+ */
73
+ declare const CheckboxField: CheckboxFieldComponent;
74
+ export { CheckboxField };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),f=require("react"),q=require("react-hook-form"),y=require("../checkbox/Checkbox.js"),j=require("../form-field/FormField.js"),p=require("../form-field/parts/FormControl.js"),T=require("../form-field/parts/FormFeedbackText.js");function g({name:o,children:r,defaultSelected:c,helperText:n,contextualLink:i,isRequired:s,isInvalid:l,isLoading:u,isDisabled:x,isReadOnly:d,requiredVariant:F,...a},m){const{control:b,watch:k}=q.useFormContext(),h=k(o),C={isRequired:s,isInvalid:l,isLoading:u,isDisabled:x,isReadOnly:d};return e.jsxs(j.FormField,{control:b,name:o,className:"uy-flex uy-flex-col uy-gap-100",...C,children:[e.jsx(p.FormControl,{children:e.jsx(y.Checkbox,{ref:m,defaultSelected:c,isSelected:h,requiredVariant:F,helperText:n,feedbackText:e.jsx(T.FormFeedbackText,{}),...a,children:r})}),i]})}const t=f.forwardRef(function(r,c){return g(r,c)});t.displayName="CheckboxField";exports.CheckboxField=t;
@@ -0,0 +1,65 @@
1
+ import { ReactNode } from 'react';
2
+ import { CheckboxGroupProps as AriaCheckboxGroupProps } from 'react-aria-components';
3
+ import { VariantProps } from 'tailwind-variants';
4
+ export declare const checkboxGroup: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "uy-flex uy-flex-col uy-gap-50", import('tailwind-variants/dist/config').TVConfig<unknown, {} | {}>, {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "uy-flex uy-flex-col uy-gap-50", import('tailwind-variants/dist/config').TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
5
+ export interface CheckboxGroupProps extends VariantProps<typeof checkboxGroup>, Omit<AriaCheckboxGroupProps, 'className' | 'class'> {
6
+ /** The label for the checkbox group. */
7
+ label: string;
8
+ /** Helper text to display below the checkbox group. */
9
+ helperText?: ReactNode;
10
+ /** Feedback text to display below the checkbox group. */
11
+ feedbackText?: ReactNode;
12
+ /** The default selected values of the checkbox group. */
13
+ defaultValue?: string[];
14
+ /** The current selected values of the checkbox group (controlled). */
15
+ value?: string[];
16
+ /** Whether the checkbox group is disabled. */
17
+ isDisabled?: boolean;
18
+ /** Whether the checkbox group is read-only. */
19
+ isReadOnly?: boolean;
20
+ /** Whether the checkbox group is invalid. */
21
+ isInvalid?: boolean;
22
+ /** Whether the checkbox group is required. */
23
+ isRequired?: boolean;
24
+ /** Whether the checkbox group is loading. */
25
+ isLoading?: boolean;
26
+ /** The variant of the required indicator. */
27
+ requiredVariant?: 'required' | 'optional';
28
+ /** Callback when the selection changes. */
29
+ onChange?: (value: string[]) => void;
30
+ /**
31
+ * Handler called when the checkbox receives focus.
32
+ */
33
+ onFocus?: AriaCheckboxGroupProps['onFocus'];
34
+ /**
35
+ * Handler called when the checkbox loses focus.
36
+ */
37
+ onBlur?: AriaCheckboxGroupProps['onBlur'];
38
+ /**
39
+ * Handler that is called when the element's focus status changes.
40
+ * @param isFocused
41
+ */
42
+ onFocusChange?: (isFocused: boolean) => void;
43
+ children: ReactNode;
44
+ }
45
+ /**
46
+ * The `CheckboxGroup` component is an accessible group of related checkboxes.
47
+ * It provides a way to select multiple options from a list of choices.
48
+ * @param {CheckboxGroupProps} props - The props for the `CheckboxGroup` component
49
+ * @example
50
+ * ```tsx
51
+ * import { CheckboxGroup, Checkbox } from '@payfit/unity-components'
52
+ *
53
+ * <CheckboxGroup
54
+ * label="Notification preferences"
55
+ * helperText="Choose how you want to receive notifications"
56
+ * >
57
+ * <Checkbox value="email">Email notifications</Checkbox>
58
+ * <Checkbox value="sms">SMS notifications</Checkbox>
59
+ * <Checkbox value="push">Push notifications</Checkbox>
60
+ * </CheckboxGroup>
61
+ * ```
62
+ * @see {@link CheckboxProps} for all available props
63
+ */
64
+ declare const CheckboxGroup: import('react').ForwardRefExoticComponent<CheckboxGroupProps & import('react').RefAttributes<HTMLDivElement>>;
65
+ export { CheckboxGroup };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),r=require("react"),g=require("react-aria-components"),j=require("tailwind-variants"),f=require("../label/Label.js"),l=require("../text/Text.js"),a=j.tv({base:"uy-flex uy-flex-col uy-gap-50"}),i=r.forwardRef(({label:t,helperText:n,feedbackText:e,isDisabled:u,isReadOnly:x,isInvalid:s,isRequired:c,isLoading:y,children:m,requiredVariant:p,...d},b)=>{const h={isDisabled:u,isReadOnly:x,isInvalid:s,isRequired:c,isLoading:y};return o.jsxs(g.CheckboxGroup,{...h,...d,ref:b,className:a(),children:[t&&o.jsx(f.Label,{isRequired:c,requiredVariant:p,children:t}),n&&o.jsx(l.Text,{variant:"bodySmall",color:"content.neutral.low",slot:"description",children:n}),o.jsx("div",{className:"uy-mt-100 uy-flex uy-flex-col uy-gap-150 uy-py-25",children:m}),s&&(typeof e=="string"?o.jsx(l.Text,{variant:"bodySmallStrong",color:"content.form.invalid",slot:"errorMessage",children:e}):r.isValidElement(e)&&r.cloneElement(e,{slot:"errorMessage"}))]})});i.displayName="CheckboxGroup";exports.CheckboxGroup=i;exports.checkboxGroup=a;