fictoan-react 2.0.0-beta.17 → 2.0.0-beta.19

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 (203) hide show
  1. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  2. package/dist/components/Accordion/Accordion.js +27 -0
  3. package/dist/components/Accordion/Accordion.js.map +1 -0
  4. package/dist/components/Badge/Badge.d.ts.map +1 -1
  5. package/dist/components/Badge/Badge.js +55 -0
  6. package/dist/components/Badge/Badge.js.map +1 -0
  7. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  8. package/dist/components/Breadcrumbs/Breadcrumbs.js +64 -0
  9. package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
  10. package/dist/components/Button/Button.js +28 -0
  11. package/dist/components/Button/Button.js.map +1 -0
  12. package/dist/components/ButtonGroup/ButtonGroup.js +27 -0
  13. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -0
  14. package/dist/components/Callout/Callout.d.ts.map +1 -1
  15. package/dist/components/Callout/Callout.js +37 -0
  16. package/dist/components/Callout/Callout.js.map +1 -0
  17. package/dist/components/Card/Card.js +27 -0
  18. package/dist/components/Card/Card.js.map +1 -0
  19. package/dist/components/CodeBlock/CodeBlock.js +191 -0
  20. package/dist/components/CodeBlock/CodeBlock.js.map +1 -0
  21. package/dist/components/Divider/Divider.js +29 -0
  22. package/dist/components/Divider/Divider.js.map +1 -0
  23. package/dist/components/Drawer/Drawer.d.ts +3 -0
  24. package/dist/components/Drawer/Drawer.d.ts.map +1 -1
  25. package/dist/components/Drawer/Drawer.js +96 -0
  26. package/dist/components/Drawer/Drawer.js.map +1 -0
  27. package/dist/components/Element/Element.d.ts +6 -2
  28. package/dist/components/Element/Element.d.ts.map +1 -1
  29. package/dist/components/Element/Element.js +154 -0
  30. package/dist/components/Element/Element.js.map +1 -0
  31. package/dist/components/Element/Tags.js +31 -0
  32. package/dist/components/Element/Tags.js.map +1 -0
  33. package/dist/components/Element/constants.d.ts +21 -21
  34. package/dist/components/Element/constants.d.ts.map +1 -1
  35. package/dist/components/Element/constants.js +8 -0
  36. package/dist/components/Element/constants.js.map +1 -0
  37. package/dist/components/Form/Checkbox/Checkbox.d.ts.map +1 -1
  38. package/dist/components/Form/Checkbox/Checkbox.js +78 -0
  39. package/dist/components/Form/Checkbox/Checkbox.js.map +1 -0
  40. package/dist/components/Form/Checkbox/CheckboxAndSwitchGroup.d.ts.map +1 -1
  41. package/dist/components/Form/Checkbox/CheckboxAndSwitchGroup.js +177 -0
  42. package/dist/components/Form/Checkbox/CheckboxAndSwitchGroup.js.map +1 -0
  43. package/dist/components/Form/Checkbox/Switch.d.ts.map +1 -1
  44. package/dist/components/Form/Checkbox/Switch.js +79 -0
  45. package/dist/components/Form/Checkbox/Switch.js.map +1 -0
  46. package/dist/components/Form/FileUpload/FileUpload.d.ts.map +1 -1
  47. package/dist/components/Form/FileUpload/FileUpload.js +142 -0
  48. package/dist/components/Form/FileUpload/FileUpload.js.map +1 -0
  49. package/dist/components/Form/Form/Form.js +37 -0
  50. package/dist/components/Form/Form/Form.js.map +1 -0
  51. package/dist/components/Form/Form/FormGenerator.js +64 -0
  52. package/dist/components/Form/Form/FormGenerator.js.map +1 -0
  53. package/dist/components/Form/FormItem/FormItem.d.ts +16 -0
  54. package/dist/components/Form/FormItem/FormItem.d.ts.map +1 -1
  55. package/dist/components/Form/FormItem/FormItem.js +127 -0
  56. package/dist/components/Form/FormItem/FormItem.js.map +1 -0
  57. package/dist/components/Form/FormItemGroup/FormItemGroup.d.ts.map +1 -1
  58. package/dist/components/Form/FormItemGroup/FormItemGroup.js +42 -0
  59. package/dist/components/Form/FormItemGroup/FormItemGroup.js.map +1 -0
  60. package/dist/components/Form/InputField/InputField.d.ts.map +1 -1
  61. package/dist/components/Form/InputField/InputField.js +156 -0
  62. package/dist/components/Form/InputField/InputField.js.map +1 -0
  63. package/dist/components/Form/InputLabel/InputLabel.js +30 -0
  64. package/dist/components/Form/InputLabel/InputLabel.js.map +1 -0
  65. package/dist/components/Form/ListBox/ListBox.d.ts +1 -1
  66. package/dist/components/Form/ListBox/ListBox.d.ts.map +1 -1
  67. package/dist/components/Form/ListBox/ListBox.js +287 -0
  68. package/dist/components/Form/ListBox/ListBox.js.map +1 -0
  69. package/dist/components/Form/ListBox/constants.d.ts +1 -1
  70. package/dist/components/Form/ListBox/constants.d.ts.map +1 -1
  71. package/dist/components/Form/ListBox/listBoxUtils.js +49 -0
  72. package/dist/components/Form/ListBox/listBoxUtils.js.map +1 -0
  73. package/dist/components/Form/PinInputField/PinInputField.d.ts +6 -1
  74. package/dist/components/Form/PinInputField/PinInputField.d.ts.map +1 -1
  75. package/dist/components/Form/PinInputField/PinInputField.js +165 -0
  76. package/dist/components/Form/PinInputField/PinInputField.js.map +1 -0
  77. package/dist/components/Form/RadioButton/RadioButton.d.ts.map +1 -1
  78. package/dist/components/Form/RadioButton/RadioButton.js +82 -0
  79. package/dist/components/Form/RadioButton/RadioButton.js.map +1 -0
  80. package/dist/components/Form/RadioButton/RadioGroup.d.ts.map +1 -1
  81. package/dist/components/Form/RadioButton/RadioGroup.js +97 -0
  82. package/dist/components/Form/RadioButton/RadioGroup.js.map +1 -0
  83. package/dist/components/Form/RadioButton/RadioTabGroup.d.ts +1 -1
  84. package/dist/components/Form/RadioButton/RadioTabGroup.d.ts.map +1 -1
  85. package/dist/components/Form/RadioButton/RadioTabGroup.js +182 -0
  86. package/dist/components/Form/RadioButton/RadioTabGroup.js.map +1 -0
  87. package/dist/components/Form/Range/Range.js +376 -0
  88. package/dist/components/Form/Range/Range.js.map +1 -0
  89. package/dist/components/Form/Select/Select.d.ts +1 -1
  90. package/dist/components/Form/Select/Select.d.ts.map +1 -1
  91. package/dist/components/Form/Select/Select.js +83 -0
  92. package/dist/components/Form/Select/Select.js.map +1 -0
  93. package/dist/components/Form/TextArea/TextArea.d.ts.map +1 -1
  94. package/dist/components/Form/TextArea/TextArea.js +111 -0
  95. package/dist/components/Form/TextArea/TextArea.js.map +1 -0
  96. package/dist/components/Meter/Meter.d.ts.map +1 -1
  97. package/dist/components/Meter/Meter.js +105 -0
  98. package/dist/components/Meter/Meter.js.map +1 -0
  99. package/dist/components/Modal/Modal.d.ts.map +1 -1
  100. package/dist/components/Modal/Modal.js +76 -0
  101. package/dist/components/Modal/Modal.js.map +1 -0
  102. package/dist/components/Notification/NotificationItem/NotificationItem.d.ts.map +1 -1
  103. package/dist/components/Notification/NotificationItem/NotificationItem.js +70 -0
  104. package/dist/components/Notification/NotificationItem/NotificationItem.js.map +1 -0
  105. package/dist/components/Notification/NotificationsProvider/NotificationsProvider.d.ts.map +1 -1
  106. package/dist/components/Notification/NotificationsProvider/NotificationsProvider.js +88 -0
  107. package/dist/components/Notification/NotificationsProvider/NotificationsProvider.js.map +1 -0
  108. package/dist/components/Notification/NotificationsWrapper/NotificationsWrapper.d.ts.map +1 -1
  109. package/dist/components/Notification/NotificationsWrapper/NotificationsWrapper.js +35 -0
  110. package/dist/components/Notification/NotificationsWrapper/NotificationsWrapper.js.map +1 -0
  111. package/dist/components/OptionCard/OptionCard.js +150 -0
  112. package/dist/components/OptionCard/OptionCard.js.map +1 -0
  113. package/dist/components/Pagination/Pagination.d.ts +1 -1
  114. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  115. package/dist/components/Pagination/Pagination.js +207 -0
  116. package/dist/components/Pagination/Pagination.js.map +1 -0
  117. package/dist/components/Pagination/usePagination.js +35 -0
  118. package/dist/components/Pagination/usePagination.js.map +1 -0
  119. package/dist/components/Portion/Portion.d.ts +1 -0
  120. package/dist/components/Portion/Portion.d.ts.map +1 -1
  121. package/dist/components/Portion/Portion.js +35 -0
  122. package/dist/components/Portion/Portion.js.map +1 -0
  123. package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -1
  124. package/dist/components/ProgressBar/ProgressBar.js +60 -0
  125. package/dist/components/ProgressBar/ProgressBar.js.map +1 -0
  126. package/dist/components/Row/Row.d.ts +1 -0
  127. package/dist/components/Row/Row.d.ts.map +1 -1
  128. package/dist/components/Row/Row.js +40 -0
  129. package/dist/components/Row/Row.js.map +1 -0
  130. package/dist/components/Sidebar/ContentWrapper/ContentWrapper.js +23 -0
  131. package/dist/components/Sidebar/ContentWrapper/ContentWrapper.js.map +1 -0
  132. package/dist/components/Sidebar/SidebarFooter/SidebarFooter.js +25 -0
  133. package/dist/components/Sidebar/SidebarFooter/SidebarFooter.js.map +1 -0
  134. package/dist/components/Sidebar/SidebarHeader/SidebarHeader.js +25 -0
  135. package/dist/components/Sidebar/SidebarHeader/SidebarHeader.js.map +1 -0
  136. package/dist/components/Sidebar/SidebarItem/SidebarItem.js +30 -0
  137. package/dist/components/Sidebar/SidebarItem/SidebarItem.js.map +1 -0
  138. package/dist/components/Sidebar/SidebarItemsGroup/SidebarItemsGroup.js +29 -0
  139. package/dist/components/Sidebar/SidebarItemsGroup/SidebarItemsGroup.js.map +1 -0
  140. package/dist/components/Sidebar/SidebarWrapper/SidebarWrapper.d.ts.map +1 -1
  141. package/dist/components/Sidebar/SidebarWrapper/SidebarWrapper.js +35 -0
  142. package/dist/components/Sidebar/SidebarWrapper/SidebarWrapper.js.map +1 -0
  143. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  144. package/dist/components/Skeleton/Skeleton.js +82 -0
  145. package/dist/components/Skeleton/Skeleton.js.map +1 -0
  146. package/dist/components/Spinner/Spinner.js +33 -0
  147. package/dist/components/Spinner/Spinner.js.map +1 -0
  148. package/dist/components/Table/Table.d.ts +0 -1
  149. package/dist/components/Table/Table.d.ts.map +1 -1
  150. package/dist/components/Table/Table.js +40 -0
  151. package/dist/components/Table/Table.js.map +1 -0
  152. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  153. package/dist/components/Tabs/Tabs.js +106 -0
  154. package/dist/components/Tabs/Tabs.js.map +1 -0
  155. package/dist/components/ThemeProvider/ThemeProvider.d.ts +6 -0
  156. package/dist/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  157. package/dist/components/ThemeProvider/ThemeProvider.js +52 -0
  158. package/dist/components/ThemeProvider/ThemeProvider.js.map +1 -0
  159. package/dist/components/Toast/ToastItem/ToastItem.js +47 -0
  160. package/dist/components/Toast/ToastItem/ToastItem.js.map +1 -0
  161. package/dist/components/Toast/ToastsProvider/ToastsProvider.d.ts.map +1 -1
  162. package/dist/components/Toast/ToastsProvider/ToastsProvider.js +45 -0
  163. package/dist/components/Toast/ToastsProvider/ToastsProvider.js.map +1 -0
  164. package/dist/components/Toast/ToastsWrapper/ToastsWrapper.d.ts.map +1 -1
  165. package/dist/components/Toast/ToastsWrapper/ToastsWrapper.js +28 -0
  166. package/dist/components/Toast/ToastsWrapper/ToastsWrapper.js.map +1 -0
  167. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  168. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  169. package/dist/components/Tooltip/Tooltip.js +62 -0
  170. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  171. package/dist/components/Typography/Heading.js +30 -0
  172. package/dist/components/Typography/Heading.js.map +1 -0
  173. package/dist/components/Typography/Text.js +15 -0
  174. package/dist/components/Typography/Text.js.map +1 -0
  175. package/dist/components/index.js +124 -75
  176. package/dist/components/index.js.map +1 -1
  177. package/dist/fictoan-schema.json +2066 -0
  178. package/dist/hooks/UseClickOutside.js +17 -0
  179. package/dist/hooks/UseClickOutside.js.map +1 -0
  180. package/dist/hooks/UseViewTransition.d.ts +2 -0
  181. package/dist/hooks/UseViewTransition.d.ts.map +1 -0
  182. package/dist/hooks/UseViewTransition.js +17 -0
  183. package/dist/hooks/UseViewTransition.js.map +1 -0
  184. package/dist/index.css +6 -10661
  185. package/dist/index.d.ts +3 -1
  186. package/dist/index.d.ts.map +1 -1
  187. package/dist/index.js +145 -152
  188. package/dist/index.js.map +1 -1
  189. package/dist/scripts/generateSchema.d.ts +2 -0
  190. package/dist/scripts/generateSchema.d.ts.map +1 -0
  191. package/dist/scripts/schema-meta.d.ts +12 -0
  192. package/dist/scripts/schema-meta.d.ts.map +1 -0
  193. package/dist/styles/colours.js +55 -0
  194. package/dist/styles/colours.js.map +1 -0
  195. package/dist/utils/classNames.d.ts +1 -1
  196. package/dist/utils/classNames.d.ts.map +1 -1
  197. package/dist/utils/classNames.js +6 -0
  198. package/dist/utils/classNames.js.map +1 -0
  199. package/dist/utils/propSeparation.js +77 -0
  200. package/dist/utils/propSeparation.js.map +1 -0
  201. package/package.json +24 -19
  202. package/dist/Accordion-CeGNgNW8.js +0 -4254
  203. package/dist/Accordion-CeGNgNW8.js.map +0 -1
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import { jsx as l } from "react/jsx-runtime";
3
+ import m from "react";
4
+ /* empty css */
5
+ import { Element as s } from "../Element/Element.js";
6
+ const p = m.forwardRef(
7
+ ({ kind: r, height: a, label: o, ...t }, i) => {
8
+ let e = [];
9
+ return r && e.push(r), /* @__PURE__ */ l(
10
+ s,
11
+ {
12
+ as: "hr",
13
+ "data-hrule": !0,
14
+ ref: i,
15
+ classNames: e,
16
+ role: "separator",
17
+ "aria-orientation": "horizontal",
18
+ "aria-label": o,
19
+ ...t,
20
+ style: a ? { height: a } : void 0
21
+ }
22
+ );
23
+ }
24
+ );
25
+ p.displayName = "Divider";
26
+ export {
27
+ p as Divider
28
+ };
29
+ //# sourceMappingURL=Divider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divider.js","sources":["../../../src/components/Divider/Divider.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React from \"react\";\n\n// LOCAL COMPONENTS ====================================================================================================\nimport { CommonAndHTMLProps } from \"../Element/constants\";\nimport { Element } from \"$element\";\n\n// STYLES ==============================================================================================================\nimport \"./divider.css\";\n\n// prettier-ignore\nexport interface DividerCustomProps {\n kind ? : \"primary\" | \"secondary\" | \"tertiary\";\n height ? : string;\n label ? : string;\n}\n\nexport type DividerElementType = HTMLHRElement;\nexport type DividerProps = Omit<CommonAndHTMLProps<DividerElementType>, keyof DividerCustomProps> & DividerCustomProps;\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\nexport const Divider = React.forwardRef(\n (\n {kind, height, label, ...props} : DividerProps, ref : React.Ref<DividerElementType>) => {\n let classNames = [];\n\n if (kind) {\n classNames.push(kind);\n }\n\n return (\n <Element<DividerElementType>\n as=\"hr\"\n data-hrule\n ref={ref}\n classNames={classNames}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n aria-label={label}\n {...props}\n style={height ? {height : height} : undefined}\n />\n );\n },\n);\nDivider.displayName = \"Divider\";\n"],"names":["Divider","React","kind","height","label","props","ref","classNames","jsx","Element"],"mappings":";;;;AAqBO,MAAMA,IAAUC,EAAM;AAAA,EACzB,CACI,EAAC,MAAAC,GAAM,QAAAC,GAAQ,OAAAC,GAAO,GAAGC,EAAA,GAAuBC,MAAwC;AACxF,QAAIC,IAAa,CAAA;AAEjB,WAAIL,KACAK,EAAW,KAAKL,CAAI,GAIpB,gBAAAM;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,IAAG;AAAA,QACH,cAAU;AAAA,QACV,KAAAH;AAAA,QACA,YAAAC;AAAA,QACA,MAAK;AAAA,QACL,oBAAiB;AAAA,QACjB,cAAYH;AAAA,QACX,GAAGC;AAAA,QACJ,OAAOF,IAAS,EAAC,QAAAA,MAAmB;AAAA,MAAA;AAAA,IAAA;AAAA,EAGhD;AACJ;AACAH,EAAQ,cAAc;"}
@@ -10,6 +10,9 @@ export interface DrawerCustomProps {
10
10
  isDismissible?: boolean;
11
11
  showOverlay?: boolean;
12
12
  blurOverlay?: boolean;
13
+ /** @deprecated Click-outside-to-close is governed by `isDismissible` via the
14
+ * popover API: when dismissible, both ESC and backdrop click close the
15
+ * drawer. Splitting the two is no longer supported. */
13
16
  closeOnClickOutside?: boolean;
14
17
  label?: string;
15
18
  description?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAQxE,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAsB,MAAM,CAAC;IAC/B,MAAoB,CAAC,EAAG,OAAO,CAAC;IAChC,OAAoB,CAAC,EAAG,MAAM,IAAI,CAAC;IACnC,QAAoB,CAAC,EAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5D,IAAoB,CAAC,EAAG,YAAY,CAAC;IACrC,aAAoB,CAAC,EAAG,OAAO,CAAC;IAChC,WAAoB,CAAC,EAAG,OAAO,CAAC;IAChC,WAAoB,CAAC,EAAG,OAAO,CAAC;IAChC,mBAAoB,CAAC,EAAG,OAAO,CAAC;IAChC,KAAoB,CAAC,EAAG,MAAM,CAAC;IAC/B,WAAoB,CAAC,EAAG,MAAM,CAAC;IAC/B,MAAoB,CAAC,EAAG,MAAM,CAAC;CAClC;AAED,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAC/C,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,MAAM,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;AAGnH,eAAO,MAAM,MAAM,8JAuKlB,CAAC"}
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKxE,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAsB,MAAM,CAAC;IAC/B,MAAoB,CAAC,EAAG,OAAO,CAAC;IAChC,OAAoB,CAAC,EAAG,MAAM,IAAI,CAAC;IACnC,QAAoB,CAAC,EAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5D,IAAoB,CAAC,EAAG,YAAY,CAAC;IACrC,aAAoB,CAAC,EAAG,OAAO,CAAC;IAChC,WAAoB,CAAC,EAAG,OAAO,CAAC;IAChC,WAAoB,CAAC,EAAG,OAAO,CAAC;IAChC;;4DAEwD;IACxD,mBAAoB,CAAC,EAAG,OAAO,CAAC;IAChC,KAAoB,CAAC,EAAG,MAAM,CAAC;IAC/B,WAAoB,CAAC,EAAG,MAAM,CAAC;IAC/B,MAAoB,CAAC,EAAG,MAAM,CAAC;CAClC;AAED,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAC/C,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,MAAM,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;AAGnH,eAAO,MAAM,MAAM,8JAmHlB,CAAC"}
@@ -0,0 +1,96 @@
1
+ "use client";
2
+ import { jsxs as n, jsx as m } from "react/jsx-runtime";
3
+ import L, { useRef as P, useEffect as u } from "react";
4
+ import { Div as $ } from "../Element/Tags.js";
5
+ /* empty css */
6
+ import { Element as C } from "../Element/Element.js";
7
+ const S = L.forwardRef(
8
+ ({
9
+ id: f,
10
+ children: v,
11
+ isOpen: r = !1,
12
+ onClose: t,
13
+ position: w = "right",
14
+ size: p = "medium",
15
+ padding: g = "micro",
16
+ bgColor: h,
17
+ bgColour: b,
18
+ isDismissible: d = !0,
19
+ showOverlay: y = !0,
20
+ blurOverlay: E = !1,
21
+ closeOnClickOutside: T,
22
+ zIndex: l,
23
+ label: N,
24
+ description: a,
25
+ classNames: R = [],
26
+ ...k
27
+ }, x) => {
28
+ const s = `${f}`, c = a ? `${s}-description` : void 0, D = P(null), o = x || D, j = [
29
+ "drawer",
30
+ w,
31
+ p,
32
+ ...y ? ["with-overlay"] : [],
33
+ ...E ? ["blur-overlay"] : [],
34
+ ...R
35
+ ];
36
+ return u(() => {
37
+ const e = o.current;
38
+ e && (r && !e.matches(":popover-open") ? (e.showPopover(), e.focus()) : !r && e.matches(":popover-open") && e.hidePopover());
39
+ }, [r, o]), u(() => {
40
+ const e = o.current;
41
+ if (!e) return;
42
+ const i = (I) => {
43
+ I.newState === "closed" && r && t && t();
44
+ };
45
+ return e.addEventListener("toggle", i), () => e.removeEventListener("toggle", i);
46
+ }, [r, t, o]), /* @__PURE__ */ n(
47
+ C,
48
+ {
49
+ as: "div",
50
+ id: s,
51
+ "data-drawer": !0,
52
+ ref: o,
53
+ classNames: j,
54
+ popover: d ? "auto" : "manual",
55
+ role: "dialog",
56
+ "aria-modal": "true",
57
+ "aria-label": N || "Drawer",
58
+ "aria-describedby": c,
59
+ tabIndex: -1,
60
+ style: l !== void 0 ? { zIndex: l } : void 0,
61
+ ...k,
62
+ children: [
63
+ d && t && /* @__PURE__ */ m(
64
+ "button",
65
+ {
66
+ type: "button",
67
+ className: "drawer-dismiss-button",
68
+ onClick: t,
69
+ "aria-label": "Close drawer",
70
+ children: "×"
71
+ }
72
+ ),
73
+ /* @__PURE__ */ n(
74
+ $,
75
+ {
76
+ className: "drawer-content",
77
+ role: "document",
78
+ padding: g,
79
+ bgColor: h,
80
+ bgColour: b,
81
+ children: [
82
+ a && /* @__PURE__ */ m("div", { id: c, className: "sr-only", children: a }),
83
+ v
84
+ ]
85
+ }
86
+ )
87
+ ]
88
+ }
89
+ );
90
+ }
91
+ );
92
+ S.displayName = "Drawer";
93
+ export {
94
+ S as Drawer
95
+ };
96
+ //# sourceMappingURL=Drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.js","sources":["../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React, { useEffect, useRef } from \"react\";\n\n// LOCAL COMPONENTS ====================================================================================================\nimport { CommonAndHTMLProps, SpacingTypes } from \"../Element/constants\";\nimport { Div } from \"$tags\";\nimport { Element } from \"$element\";\n\n// STYLES ==============================================================================================================\nimport \"./drawer.css\";\n\nexport interface DrawerCustomProps {\n id : string;\n isOpen ? : boolean;\n onClose ? : () => void;\n position ? : \"top\" | \"right\" | \"bottom\" | \"left\";\n size ? : SpacingTypes;\n isDismissible ? : boolean;\n showOverlay ? : boolean;\n blurOverlay ? : boolean;\n /** @deprecated Click-outside-to-close is governed by `isDismissible` via the\n * popover API: when dismissible, both ESC and backdrop click close the\n * drawer. Splitting the two is no longer supported. */\n closeOnClickOutside ? : boolean;\n label ? : string;\n description ? : string;\n zIndex ? : number;\n}\n\nexport type DrawerElementType = HTMLDivElement;\nexport type DrawerProps = Omit<CommonAndHTMLProps<DrawerElementType>, keyof DrawerCustomProps> & DrawerCustomProps;\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\nexport const Drawer = React.forwardRef(\n (\n {\n id,\n children,\n isOpen = false,\n onClose,\n position = \"right\",\n size = \"medium\",\n padding = \"micro\",\n bgColor,\n bgColour,\n isDismissible = true,\n showOverlay = true,\n blurOverlay = false,\n closeOnClickOutside : _closeOnClickOutside,\n zIndex,\n label,\n description,\n classNames = [],\n ...props\n } : DrawerProps,\n ref : React.Ref<DrawerElementType>,\n ) => {\n const drawerId = `${id}`;\n const descriptionId = description ? `${drawerId}-description` : undefined;\n const drawerRef = useRef<HTMLDivElement>(null);\n const effectiveRef = (ref as React.MutableRefObject<HTMLDivElement | null>) || drawerRef;\n\n const drawerClasses : string[] = [\n \"drawer\",\n position,\n size,\n ...(showOverlay ? [ \"with-overlay\" ] : []),\n ...(blurOverlay ? [ \"blur-overlay\" ] : []),\n ...classNames,\n ];\n\n // Sync isOpen prop to popover state. The popover API handles backdrop\n // click and ESC dismissal natively; we only call showPopover/hidePopover.\n useEffect(() => {\n const drawer = effectiveRef.current;\n if (!drawer) return;\n\n if (isOpen && !drawer.matches(\":popover-open\")) {\n drawer.showPopover();\n // Focus the dismiss button or the drawer itself for keyboard users.\n drawer.focus();\n } else if (!isOpen && drawer.matches(\":popover-open\")) {\n drawer.hidePopover();\n }\n }, [ isOpen, effectiveRef ]);\n\n // When the popover closes externally (ESC, backdrop click), keep React\n // state in sync by firing onClose.\n useEffect(() => {\n const drawer = effectiveRef.current;\n if (!drawer) return;\n\n const handleToggle = (e : Event) => {\n const toggleEvent = e as ToggleEvent;\n if (toggleEvent.newState === \"closed\" && isOpen && onClose) {\n onClose();\n }\n };\n\n drawer.addEventListener(\"toggle\", handleToggle);\n return () => drawer.removeEventListener(\"toggle\", handleToggle);\n }, [ isOpen, onClose, effectiveRef ]);\n\n return (\n <Element<DrawerElementType>\n as=\"div\"\n id={drawerId}\n data-drawer\n ref={effectiveRef}\n classNames={drawerClasses}\n popover={isDismissible ? \"auto\" : \"manual\"}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={label || \"Drawer\"}\n aria-describedby={descriptionId}\n tabIndex={-1}\n style={zIndex !== undefined ? { zIndex } : undefined}\n {...props}\n >\n {isDismissible && onClose && (\n <button\n type=\"button\"\n className=\"drawer-dismiss-button\"\n onClick={onClose}\n aria-label=\"Close drawer\"\n >\n &times;\n </button>\n )}\n\n <Div\n className=\"drawer-content\"\n role=\"document\"\n padding={padding}\n bgColor={bgColor}\n bgColour={bgColour}\n >\n {description && (\n <div id={descriptionId} className=\"sr-only\">\n {description}\n </div>\n )}\n\n {children}\n </Div>\n </Element>\n );\n },\n);\nDrawer.displayName = \"Drawer\";\n"],"names":["Drawer","React","id","children","isOpen","onClose","position","size","padding","bgColor","bgColour","isDismissible","showOverlay","blurOverlay","_closeOnClickOutside","zIndex","label","description","classNames","props","ref","drawerId","descriptionId","drawerRef","useRef","effectiveRef","drawerClasses","useEffect","drawer","handleToggle","e","jsxs","Element","jsx","Div"],"mappings":";;;;;AAiCO,MAAMA,IAASC,EAAM;AAAA,EACxB,CACI;AAAA,IACI,IAAAC;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC,IAAS;AAAA,IACT,SAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,MAAAC,IAAO;AAAA,IACP,SAAAC,IAAU;AAAA,IACV,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC,IAAgB;AAAA,IAChB,aAAAC,IAAc;AAAA,IACd,aAAAC,IAAc;AAAA,IACd,qBAAsBC;AAAA,IACtB,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC,IAAa,CAAA;AAAA,IACb,GAAGC;AAAA,EAAA,GAEPC,MACC;AACD,UAAMC,IAAgB,GAAGnB,CAAE,IACrBoB,IAAgBL,IAAc,GAAGI,CAAQ,iBAAiB,QAC1DE,IAAgBC,EAAuB,IAAI,GAC3CC,IAAiBL,KAAyDG,GAE1EG,IAA2B;AAAA,MAC7B;AAAA,MACApB;AAAA,MACAC;AAAA,MACA,GAAIK,IAAc,CAAE,cAAe,IAAI,CAAA;AAAA,MACvC,GAAIC,IAAc,CAAE,cAAe,IAAI,CAAA;AAAA,MACvC,GAAGK;AAAA,IAAA;AAKP,WAAAS,EAAU,MAAM;AACZ,YAAMC,IAASH,EAAa;AAC5B,MAAKG,MAEDxB,KAAU,CAACwB,EAAO,QAAQ,eAAe,KACzCA,EAAO,YAAA,GAEPA,EAAO,MAAA,KACA,CAACxB,KAAUwB,EAAO,QAAQ,eAAe,KAChDA,EAAO,YAAA;AAAA,IAEf,GAAG,CAAExB,GAAQqB,CAAa,CAAC,GAI3BE,EAAU,MAAM;AACZ,YAAMC,IAASH,EAAa;AAC5B,UAAI,CAACG,EAAQ;AAEb,YAAMC,IAAe,CAACC,MAAc;AAEhC,QADoBA,EACJ,aAAa,YAAY1B,KAAUC,KAC/CA,EAAA;AAAA,MAER;AAEA,aAAAuB,EAAO,iBAAiB,UAAUC,CAAY,GACvC,MAAMD,EAAO,oBAAoB,UAAUC,CAAY;AAAA,IAClE,GAAG,CAAEzB,GAAQC,GAASoB,CAAa,CAAC,GAGhC,gBAAAM;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,IAAG;AAAA,QACH,IAAIX;AAAA,QACJ,eAAW;AAAA,QACX,KAAKI;AAAA,QACL,YAAYC;AAAA,QACZ,SAASf,IAAgB,SAAS;AAAA,QAClC,MAAK;AAAA,QACL,cAAW;AAAA,QACX,cAAYK,KAAS;AAAA,QACrB,oBAAkBM;AAAA,QAClB,UAAU;AAAA,QACV,OAAOP,MAAW,SAAY,EAAE,QAAAA,MAAW;AAAA,QAC1C,GAAGI;AAAA,QAEH,UAAA;AAAA,UAAAR,KAAiBN,KACd,gBAAA4B;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,WAAU;AAAA,cACV,SAAS5B;AAAA,cACT,cAAW;AAAA,cACd,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAKL,gBAAA0B;AAAA,YAACG;AAAA,YAAA;AAAA,cACG,WAAU;AAAA,cACV,MAAK;AAAA,cACL,SAAA1B;AAAA,cACA,SAAAC;AAAA,cACA,UAAAC;AAAA,cAEC,UAAA;AAAA,gBAAAO,uBACI,OAAA,EAAI,IAAIK,GAAe,WAAU,WAC7B,UAAAL,GACL;AAAA,gBAGHd;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACL;AAAA,MAAA;AAAA,IAAA;AAAA,EAGZ;AACJ;AACAH,EAAO,cAAc;"}
@@ -1,7 +1,11 @@
1
1
  import React from "react";
2
2
  import { ElementProps } from './constants';
3
3
 
4
- export declare const Element: <K extends {}>(props: ElementProps<K> & {
5
- ref?: React.LegacyRef<HTMLElement>;
4
+ export declare const Element: <K extends HTMLElement = HTMLElement>(props: ElementProps<K> & {
5
+ role?: string;
6
+ ariaLabel?: string;
7
+ tabIndex?: number;
8
+ onKeyDown?: React.KeyboardEventHandler<K>;
9
+ ref?: React.Ref<K>;
6
10
  }) => React.ReactElement;
7
11
  //# sourceMappingURL=Element.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Element.d.ts","sourceRoot":"","sources":["../../../src/components/Element/Element.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,OAAO,EA0Jf,CAAC,CAAC,SAAS,EAAE,EAAE,KAAK,EAAG,YAAY,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;CAAE,KAAK,KAAK,CAAC,YAAY,CAAC"}
1
+ {"version":3,"file":"Element.d.ts","sourceRoot":"","sources":["../../../src/components/Element/Element.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB3C,eAAO,MAAM,OAAO,EA4Kf,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EACrC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG;IACrB,IAAU,CAAC,EAAG,MAAM,CAAC;IACrB,SAAU,CAAC,EAAG,MAAM,CAAC;IACrB,QAAU,CAAC,EAAG,MAAM,CAAC;IACrB,SAAU,CAAC,EAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAC5C,GAAU,CAAC,EAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC9B,KACA,KAAK,CAAC,YAAY,CAAC"}
@@ -0,0 +1,154 @@
1
+ "use client";
2
+ import { jsx as ut } from "react/jsx-runtime";
3
+ import Ct from "react";
4
+ import { createClassName as Ot } from "../../utils/classNames.js";
5
+ const Tt = /* @__PURE__ */ new Set([
6
+ "none",
7
+ "nano",
8
+ "micro",
9
+ "tiny",
10
+ "small",
11
+ "medium",
12
+ "large",
13
+ "huge"
14
+ ]), wt = (o) => Tt.has(o), kt = Ct.forwardRef(
15
+ ({
16
+ as: o = "div",
17
+ role: k,
18
+ ariaLabel: x,
19
+ tabIndex: z,
20
+ onKeyDown: N,
21
+ ...L
22
+ }, R) => {
23
+ const {
24
+ classNames: S = [],
25
+ bgColor: e,
26
+ bgColour: n,
27
+ bgOpacity: l,
28
+ borderColor: r,
29
+ borderColour: d,
30
+ borderOpacity: s,
31
+ className: v,
32
+ columns: a,
33
+ fillColor: g,
34
+ fillColour: p,
35
+ gap: B,
36
+ hideOnDesktop: P,
37
+ hideOnMobile: E,
38
+ hideOnTabletLandscape: F,
39
+ hideOnTabletPortrait: I,
40
+ horizontalMargin: M,
41
+ horizontalPadding: A,
42
+ horizontallyCenterThis: j,
43
+ horizontallyCentreThis: D,
44
+ inheritFormSpacing: G,
45
+ isClickable: H,
46
+ isFullHeight: K,
47
+ isFullWidth: V,
48
+ layoutAsFlexbox: W,
49
+ layoutAsGrid: _,
50
+ listVertically: q,
51
+ listHorizontally: J,
52
+ marginLeft: Q,
53
+ marginBottom: U,
54
+ margin: X,
55
+ marginRight: Y,
56
+ marginTop: Z,
57
+ opacity: m,
58
+ paddingBottom: tt,
59
+ paddingLeft: it,
60
+ padding: ot,
61
+ paddingRight: at,
62
+ paddingTop: et,
63
+ pushItemsToEnds: nt,
64
+ shadow: h,
65
+ shape: c,
66
+ showOnlyOnDesktop: lt,
67
+ showOnlyOnMobile: rt,
68
+ showOnlyOnTabletLandscape: dt,
69
+ showOnlyOnTabletPortrait: st,
70
+ size: y,
71
+ strokeColor: b,
72
+ strokeColour: $,
73
+ textColor: f,
74
+ textColour: u,
75
+ verticalMargin: gt,
76
+ verticalPadding: pt,
77
+ verticallyCenterItems: mt,
78
+ verticallyCentreItems: ht,
79
+ weight: C,
80
+ style: ct,
81
+ ...yt
82
+ } = L, O = [], T = {}, i = (t, bt, $t) => {
83
+ t && (wt(t) ? O.push(bt(t)) : $t.forEach((ft) => {
84
+ T[ft] = t;
85
+ }));
86
+ };
87
+ i(B, (t) => `gap-${t}`, ["gap"]), i(X, (t) => `margin-all-${t}`, ["margin"]), i(Z, (t) => `margin-top-${t}`, ["marginTop"]), i(Y, (t) => `margin-right-${t}`, ["marginRight"]), i(U, (t) => `margin-bottom-${t}`, ["marginBottom"]), i(Q, (t) => `margin-left-${t}`, ["marginLeft"]), i(M, (t) => `margin-right-${t} margin-left-${t}`, ["marginLeft", "marginRight"]), i(gt, (t) => `margin-top-${t} margin-bottom-${t}`, ["marginTop", "marginBottom"]), i(ot, (t) => `padding-all-${t}`, ["padding"]), i(et, (t) => `padding-top-${t}`, ["paddingTop"]), i(at, (t) => `padding-right-${t}`, ["paddingRight"]), i(tt, (t) => `padding-bottom-${t}`, ["paddingBottom"]), i(it, (t) => `padding-left-${t}`, ["paddingLeft"]), i(A, (t) => `padding-right-${t} padding-left-${t}`, ["paddingLeft", "paddingRight"]), i(pt, (t) => `padding-top-${t} padding-bottom-${t}`, ["paddingTop", "paddingBottom"]);
88
+ const w = {
89
+ ...ct,
90
+ ...l && { "--bg-opacity": Number(l) / 100 },
91
+ ...s && { "--border-opacity": Number(s) / 100 },
92
+ ...a && { gridTemplateColumns: `repeat(${a}, 1fr)` },
93
+ ...T
94
+ };
95
+ return /* @__PURE__ */ ut(
96
+ o,
97
+ {
98
+ ref: R,
99
+ role: k,
100
+ "aria-label": x,
101
+ tabIndex: z,
102
+ onKeyDown: N,
103
+ ...yt,
104
+ "data-form-spaced": G || void 0,
105
+ style: Object.keys(w).length > 0 ? w : void 0,
106
+ className: Ot(
107
+ [
108
+ v,
109
+ e && `bg-${e}`,
110
+ n && `bg-${n}`,
111
+ r && `border-${r}`,
112
+ d && `border-${d}`,
113
+ g && `fill-${g}`,
114
+ p && `fill-${p}`,
115
+ P && "hide-on-desktop",
116
+ E && "hide-on-mobile",
117
+ F && "hide-on-tablet-landscape",
118
+ I && "hide-on-tablet-portrait",
119
+ j && "horizontally-centre-this",
120
+ D && "horizontally-centre-this",
121
+ H && "is-clickable",
122
+ K && "full-height",
123
+ V && "full-width",
124
+ W && "layout-flexbox",
125
+ (_ || a) && "layout-grid",
126
+ q && "list-vertically",
127
+ J && "list-horizontally",
128
+ m && `opacity-${m}`,
129
+ nt && "push-to-ends",
130
+ h && `shadow-${h}`,
131
+ c && `shape-${c}`,
132
+ lt && "show-only-on-desktop",
133
+ rt && "show-only-on-mobile",
134
+ dt && "show-only-on-tablet-landscape",
135
+ st && "show-only-on-tablet-portrait",
136
+ y && `size-${y}`,
137
+ b && `stroke-${b}`,
138
+ $ && `stroke-${$}`,
139
+ f && `text-${f}`,
140
+ u && `text-${u}`,
141
+ mt && "vertically-centre-items",
142
+ ht && "vertically-centre-items",
143
+ C && `weight-${C}`
144
+ ].concat(O, S)
145
+ )
146
+ }
147
+ );
148
+ }
149
+ );
150
+ kt.displayName = "Element";
151
+ export {
152
+ kt as Element
153
+ };
154
+ //# sourceMappingURL=Element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Element.js","sources":["../../../src/components/Element/Element.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React from \"react\";\n\n// UTILS ===============================================================================================================\nimport { createClassName } from \"$utils/classNames\";\n\n// OTHER ===============================================================================================================\nimport { ElementProps } from \"./constants\";\n\n// Spacing props accept a scale token OR an arbitrary CSS length. Tokens map to a\n// utility class (stays in @layer fictoan, overridable); anything else is treated\n// as a raw length and applied via inline style.\nconst SPACING_TOKENS = new Set<string>([\n \"none\", \"nano\", \"micro\", \"tiny\", \"small\", \"medium\", \"large\", \"huge\",\n]);\nconst isSpacingToken = (value: string): boolean => SPACING_TOKENS.has(value);\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Internally typed against HTMLElement (the underlying forwardRef call can\n// only carry one ref type). The exported cast below re-types `Element` as a\n// generic component so `<Element<HTMLButtonElement>>` actually flows a button-\n// typed ref through to consumers — `forwardRef` strips the generic K from the\n// outer signature without this cast.\nexport const Element = React.forwardRef(\n <K extends HTMLElement>(\n {\n as : Component = \"div\",\n role,\n ariaLabel,\n tabIndex,\n onKeyDown,\n ...props\n }: ElementProps<K> & {\n role ? : string;\n ariaLabel ? : string;\n tabIndex ? : number;\n onKeyDown ? : (event: React.KeyboardEvent) => void;\n }, ref: React.Ref<HTMLElement>\n ) => {\n const {\n classNames = [],\n bgColor,\n bgColour,\n bgOpacity,\n borderColor,\n borderColour,\n borderOpacity,\n className,\n columns,\n fillColor,\n fillColour,\n gap,\n hideOnDesktop,\n hideOnMobile,\n hideOnTabletLandscape,\n hideOnTabletPortrait,\n horizontalMargin,\n horizontalPadding,\n horizontallyCenterThis,\n horizontallyCentreThis,\n inheritFormSpacing,\n isClickable,\n isFullHeight,\n isFullWidth,\n layoutAsFlexbox,\n layoutAsGrid,\n listVertically,\n listHorizontally,\n marginLeft,\n marginBottom,\n margin,\n marginRight,\n marginTop,\n opacity,\n paddingBottom,\n paddingLeft,\n padding,\n paddingRight,\n paddingTop,\n pushItemsToEnds,\n shadow,\n shape,\n showOnlyOnDesktop,\n showOnlyOnMobile,\n showOnlyOnTabletLandscape,\n showOnlyOnTabletPortrait,\n size,\n strokeColor,\n strokeColour,\n textColor,\n textColour,\n verticalMargin,\n verticalPadding,\n verticallyCenterItems,\n verticallyCentreItems,\n weight,\n style,\n ...minimalProps\n } = props;\n\n // Spacing props: a scale token emits a utility class; any other string is\n // treated as a raw CSS length and applied via inline style.\n const spacingClasses: string[] = [];\n const spacingStyle: Record<string, string> = {};\n const applySpacing = (\n value : string | undefined,\n tokenClass : (token: string) => string,\n cssProps : string[],\n ) => {\n if (!value) return;\n if (isSpacingToken(value)) {\n spacingClasses.push(tokenClass(value));\n } else {\n cssProps.forEach((prop) => { spacingStyle[prop] = value; });\n }\n };\n\n applySpacing(gap, (t) => `gap-${t}`, [\"gap\"]);\n applySpacing(margin, (t) => `margin-all-${t}`, [\"margin\"]);\n applySpacing(marginTop, (t) => `margin-top-${t}`, [\"marginTop\"]);\n applySpacing(marginRight, (t) => `margin-right-${t}`, [\"marginRight\"]);\n applySpacing(marginBottom, (t) => `margin-bottom-${t}`, [\"marginBottom\"]);\n applySpacing(marginLeft, (t) => `margin-left-${t}`, [\"marginLeft\"]);\n applySpacing(horizontalMargin, (t) => `margin-right-${t} margin-left-${t}`, [\"marginLeft\", \"marginRight\"]);\n applySpacing(verticalMargin, (t) => `margin-top-${t} margin-bottom-${t}`, [\"marginTop\", \"marginBottom\"]);\n applySpacing(padding, (t) => `padding-all-${t}`, [\"padding\"]);\n applySpacing(paddingTop, (t) => `padding-top-${t}`, [\"paddingTop\"]);\n applySpacing(paddingRight, (t) => `padding-right-${t}`, [\"paddingRight\"]);\n applySpacing(paddingBottom, (t) => `padding-bottom-${t}`, [\"paddingBottom\"]);\n applySpacing(paddingLeft, (t) => `padding-left-${t}`, [\"paddingLeft\"]);\n applySpacing(horizontalPadding, (t) => `padding-right-${t} padding-left-${t}`, [\"paddingLeft\", \"paddingRight\"]);\n applySpacing(verticalPadding, (t) => `padding-top-${t} padding-bottom-${t}`, [\"paddingTop\", \"paddingBottom\"]);\n\n // Build style object: user style + opacity custom properties + arbitrary spacing\n const computedStyle = {\n ...style,\n ...(bgOpacity && { \"--bg-opacity\": Number(bgOpacity) / 100 }),\n ...(borderOpacity && { \"--border-opacity\": Number(borderOpacity) / 100 }),\n ...(columns && { gridTemplateColumns: `repeat(${columns}, 1fr)` }),\n ...spacingStyle,\n } as React.CSSProperties;\n\n return (\n <Component\n ref={ref}\n role={role}\n aria-label={ariaLabel}\n tabIndex={tabIndex}\n onKeyDown={onKeyDown}\n {...minimalProps}\n data-form-spaced={inheritFormSpacing || undefined}\n style={Object.keys(computedStyle).length > 0 ? computedStyle : undefined}\n className={createClassName(\n [\n className,\n bgColor && `bg-${bgColor}`,\n bgColour && `bg-${bgColour}`,\n borderColor && `border-${borderColor}`,\n borderColour && `border-${borderColour}`,\n fillColor && `fill-${fillColor}`,\n fillColour && `fill-${fillColour}`,\n hideOnDesktop && \"hide-on-desktop\",\n hideOnMobile && \"hide-on-mobile\",\n hideOnTabletLandscape && \"hide-on-tablet-landscape\",\n hideOnTabletPortrait && \"hide-on-tablet-portrait\",\n horizontallyCenterThis && \"horizontally-centre-this\",\n horizontallyCentreThis && \"horizontally-centre-this\",\n isClickable && \"is-clickable\",\n isFullHeight && \"full-height\",\n isFullWidth && \"full-width\",\n layoutAsFlexbox && \"layout-flexbox\",\n (layoutAsGrid || columns) && \"layout-grid\",\n listVertically && \"list-vertically\",\n listHorizontally && \"list-horizontally\",\n opacity && `opacity-${opacity}`,\n pushItemsToEnds && \"push-to-ends\",\n shadow && `shadow-${shadow}`,\n shape && `shape-${shape}`,\n showOnlyOnDesktop && \"show-only-on-desktop\",\n showOnlyOnMobile && \"show-only-on-mobile\",\n showOnlyOnTabletLandscape && \"show-only-on-tablet-landscape\",\n showOnlyOnTabletPortrait && \"show-only-on-tablet-portrait\",\n size && `size-${size}`,\n strokeColor && `stroke-${strokeColor}`,\n strokeColour && `stroke-${strokeColour}`,\n textColor && `text-${textColor}`,\n textColour && `text-${textColour}`,\n verticallyCenterItems && \"vertically-centre-items\",\n verticallyCentreItems && \"vertically-centre-items\",\n weight && `weight-${weight}`,\n ].concat(spacingClasses, classNames),\n )}\n />\n );\n },\n) as <K extends HTMLElement = HTMLElement>(\n props: ElementProps<K> & {\n role ? : string;\n ariaLabel ? : string;\n tabIndex ? : number;\n onKeyDown ? : React.KeyboardEventHandler<K>;\n ref ? : React.Ref<K>;\n },\n) => React.ReactElement;\n(Element as any).displayName = \"Element\";\n"],"names":["SPACING_TOKENS","isSpacingToken","value","Element","React","Component","role","ariaLabel","tabIndex","onKeyDown","props","ref","classNames","bgColor","bgColour","bgOpacity","borderColor","borderColour","borderOpacity","className","columns","fillColor","fillColour","gap","hideOnDesktop","hideOnMobile","hideOnTabletLandscape","hideOnTabletPortrait","horizontalMargin","horizontalPadding","horizontallyCenterThis","horizontallyCentreThis","inheritFormSpacing","isClickable","isFullHeight","isFullWidth","layoutAsFlexbox","layoutAsGrid","listVertically","listHorizontally","marginLeft","marginBottom","margin","marginRight","marginTop","opacity","paddingBottom","paddingLeft","padding","paddingRight","paddingTop","pushItemsToEnds","shadow","shape","showOnlyOnDesktop","showOnlyOnMobile","showOnlyOnTabletLandscape","showOnlyOnTabletPortrait","size","strokeColor","strokeColour","textColor","textColour","verticalMargin","verticalPadding","verticallyCenterItems","verticallyCentreItems","weight","style","minimalProps","spacingClasses","spacingStyle","applySpacing","tokenClass","cssProps","prop","computedStyle","jsx","createClassName"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { jsx as a } from "react/jsx-runtime";
3
+ import i from "react";
4
+ import { Element as f } from "./Element.js";
5
+ const e = (o, r) => i.forwardRef(
6
+ (t, s) => {
7
+ const n = { ...r, ...t };
8
+ if (o === "a" && "external" in n) {
9
+ const { external: c } = n;
10
+ c && (n.target = "_blank", n.rel = "noopener noreferrer");
11
+ }
12
+ return /* @__PURE__ */ a(f, { as: o, ref: s, ...n });
13
+ }
14
+ ), d = e("article"), v = e("aside"), x = e("body"), y = e("div"), b = e("footer"), h = e("header"), k = e("main"), u = e("nav"), A = e("section"), E = e("span"), H = e("a", {
15
+ rel: "noopener noreferrer"
16
+ // Default props for Hyperlink
17
+ });
18
+ export {
19
+ d as Article,
20
+ v as Aside,
21
+ x as Body,
22
+ y as Div,
23
+ b as Footer,
24
+ h as Header,
25
+ H as Hyperlink,
26
+ k as Main,
27
+ u as Nav,
28
+ A as Section,
29
+ E as Span
30
+ };
31
+ //# sourceMappingURL=Tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tags.js","sources":["../../../src/components/Element/Tags.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React from \"react\";\n\n// OTHER ===============================================================================================================\nimport { Element } from \"./Element\";\nimport { ElementProps } from \"./constants\";\n\ninterface HyperlinkCustomProps {\n href : string;\n target ? : \"_blank\" | \"_self\" | \"_parent\" | \"_top\";\n rel ? : string;\n isExternal ? : boolean;\n}\n\n// Helper type for components that might have custom props\ntype CustomProps<T extends React.ElementType, P = {}> = ElementProps<{}> &\n React.HTMLAttributes<HTMLElement> & P;\n\nconst createComponentWithElement = <T extends React.ElementType, P = {}>(\n tagName : T,\n defaultProps? : Partial<P>,\n) => {\n return React.forwardRef<HTMLElement, CustomProps<T, P>>(\n (props, ref) => {\n // Merge default props with provided props\n const finalProps = {...defaultProps, ...props};\n\n // Handle external links for Hyperlink component\n if (tagName === \"a\" && \"external\" in finalProps) {\n const {external, ...restProps} = finalProps;\n if (external) {\n finalProps.target = \"_blank\";\n finalProps.rel = \"noopener noreferrer\";\n }\n }\n\n return <Element as={tagName} ref={ref} {...finalProps} />;\n },\n );\n};\n\nexport const Article = createComponentWithElement(\"article\");\nexport const Aside = createComponentWithElement(\"aside\");\nexport const Body = createComponentWithElement(\"body\");\nexport const Div = createComponentWithElement(\"div\");\nexport const Footer = createComponentWithElement(\"footer\");\nexport const Header = createComponentWithElement(\"header\");\nexport const Main = createComponentWithElement(\"main\");\nexport const Nav = createComponentWithElement(\"nav\");\nexport const Section = createComponentWithElement(\"section\");\nexport const Span = createComponentWithElement(\"span\");\nexport const Hyperlink = createComponentWithElement<\"a\", HyperlinkCustomProps>(\"a\", {\n rel : \"noopener noreferrer\", // Default props for Hyperlink\n});\n"],"names":["createComponentWithElement","tagName","defaultProps","React","props","ref","finalProps","external","Element","Article","Aside","Body","Div","Footer","Header","Main","Nav","Section","Span","Hyperlink"],"mappings":";;;AAkBA,MAAMA,IAA6B,CAC/BC,GACAC,MAEOC,EAAM;AAAA,EACT,CAACC,GAAOC,MAAQ;AAEZ,UAAMC,IAAa,EAAC,GAAGJ,GAAc,GAAGE,EAAA;AAGxC,QAAIH,MAAY,OAAO,cAAcK,GAAY;AAC7C,YAAM,EAAC,UAAAC,EAAsB,IAAID;AACjC,MAAIC,MACAD,EAAW,SAAS,UACpBA,EAAW,MAAM;AAAA,IAEzB;AAEA,6BAAQE,GAAA,EAAQ,IAAIP,GAAS,KAAAI,GAAW,GAAGC,GAAY;AAAA,EAC3D;AAAA,GAIKG,IAAUT,EAA2B,SAAS,GAC9CU,IAAQV,EAA2B,OAAO,GAC1CW,IAAOX,EAA2B,MAAM,GACxCY,IAAMZ,EAA2B,KAAK,GACtCa,IAASb,EAA2B,QAAQ,GAC5Cc,IAASd,EAA2B,QAAQ,GAC5Ce,IAAOf,EAA2B,MAAM,GACxCgB,IAAMhB,EAA2B,KAAK,GACtCiB,IAAUjB,EAA2B,SAAS,GAC9CkB,IAAOlB,EAA2B,MAAM,GACxCmB,IAAYnB,EAAsD,KAAK;AAAA,EAChF,KAAM;AAAA;AACV,CAAC;"}
@@ -1,4 +1,4 @@
1
- import { ElementType, FormEvent, HTMLProps } from 'react';
1
+ import { ElementType, HTMLProps } from 'react';
2
2
  import { OklchColourName } from '../../styles/colours';
3
3
 
4
4
  export declare const BasicColours: readonly ["transparent", "black", "white"];
@@ -10,6 +10,7 @@ type OpacityLevel = 0 | 5 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90;
10
10
  type CustomColours = "hue" | "tint" | "shade" | "analogue" | "accent";
11
11
  export type EmphasisTypes = "primary" | "secondary" | "tertiary" | "custom";
12
12
  export type SpacingTypes = "none" | "nano" | "micro" | "tiny" | "small" | "medium" | "large" | "huge";
13
+ export type SpacingOrLength = SpacingTypes | (string & {});
13
14
  export type ShadowTypes = "none" | "mild" | "hard" | "soft";
14
15
  export type ShapeTypes = "rounded" | "curved";
15
16
  export type OpacityTypes = "0" | "5" | "10" | "20" | "30" | "40" | "50" | "60" | "70" | "80" | "90";
@@ -33,25 +34,25 @@ export interface CommonProps {
33
34
  shape?: ShapeTypes;
34
35
  opacity?: OpacityTypes;
35
36
  layoutAsFlexbox?: boolean;
36
- stackVertically?: boolean;
37
- stackHorizontally?: boolean;
37
+ listVertically?: boolean;
38
+ listHorizontally?: boolean;
38
39
  layoutAsGrid?: boolean;
39
- columns?: string;
40
- gap?: SpacingTypes;
41
- margin?: SpacingTypes;
42
- horizontalMargin?: SpacingTypes;
43
- verticalMargin?: SpacingTypes;
44
- marginTop?: SpacingTypes;
45
- marginRight?: SpacingTypes;
46
- marginBottom?: SpacingTypes;
47
- marginLeft?: SpacingTypes;
48
- padding?: SpacingTypes;
49
- horizontalPadding?: SpacingTypes;
50
- verticalPadding?: SpacingTypes;
51
- paddingTop?: SpacingTypes;
52
- paddingRight?: SpacingTypes;
53
- paddingBottom?: SpacingTypes;
54
- paddingLeft?: SpacingTypes;
40
+ columns?: number;
41
+ gap?: SpacingOrLength;
42
+ margin?: SpacingOrLength;
43
+ horizontalMargin?: SpacingOrLength;
44
+ verticalMargin?: SpacingOrLength;
45
+ marginTop?: SpacingOrLength;
46
+ marginRight?: SpacingOrLength;
47
+ marginBottom?: SpacingOrLength;
48
+ marginLeft?: SpacingOrLength;
49
+ padding?: SpacingOrLength;
50
+ horizontalPadding?: SpacingOrLength;
51
+ verticalPadding?: SpacingOrLength;
52
+ paddingTop?: SpacingOrLength;
53
+ paddingRight?: SpacingOrLength;
54
+ paddingBottom?: SpacingOrLength;
55
+ paddingLeft?: SpacingOrLength;
55
56
  horizontallyCentreThis?: boolean;
56
57
  horizontallyCenterThis?: boolean;
57
58
  verticallyCentreItems?: boolean;
@@ -74,12 +75,11 @@ export interface CommonProps {
74
75
  }
75
76
  export interface CommonAndHTMLProps<T extends {}> extends CommonProps, Omit<HTMLProps<T>, "as" | "size" | "ref" | "shape"> {
76
77
  }
77
- export type FlexibleEventHandler<T, V = any> = ((event: T) => void) | ((value: V) => void);
78
+ export type FlexibleEventHandler<T, V = unknown> = ((event: T) => void) | ((value: V) => void);
78
79
  export interface ElementProps<T extends {}> extends CommonProps, Omit<HTMLProps<T>, "as" | "ref" | "shape"> {
79
80
  as?: ElementType;
80
81
  className?: string;
81
82
  ariaLabel?: string;
82
- onChange?: FlexibleEventHandler<FormEvent<T>, any>;
83
83
  }
84
84
  export {};
85
85
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/components/Element/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/components/Element/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import { oklchColourDefinitions as o } from "../../styles/colours.js";
3
+ const t = ["transparent", "black", "white"], s = [...Object.keys(o), ...t];
4
+ export {
5
+ t as BasicColours,
6
+ s as FictoanColours
7
+ };
8
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../src/components/Element/constants.ts"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport { ElementType, HTMLProps } from \"react\";\n\n// STYLES ==============================================================================================================\nimport { oklchColourDefinitions, type OklchColourName } from \"../../styles/colours\";\n\n// Basic colours without hue/chroma (not part of OKLCH definitions)\nexport const BasicColours = [ \"transparent\", \"black\", \"white\" ] as const;\ntype BasicColoursType = typeof BasicColours[number];\n\n// Combined list of all available colours\nexport const FictoanColours = [ ...Object.keys(oklchColourDefinitions), ...BasicColours ] as const;\n\ntype Luminance = \"dark\" | \"light\";\ntype ShadeLevel = 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90;\ntype OpacityLevel = 0 | 5 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90;\ntype CustomColours = \"hue\" | \"tint\" | \"shade\" | \"analogue\" | \"accent\";\n\n// prettier-ignore\nexport type EmphasisTypes = \"primary\" | \"secondary\" | \"tertiary\" | \"custom\";\nexport type SpacingTypes = \"none\" | \"nano\" | \"micro\" | \"tiny\" | \"small\" | \"medium\" | \"large\" | \"huge\";\n// A spacing prop accepts a scale token (preferred — emits a utility class) OR any CSS\n// length string (e.g. \"4px\", \"20vw\", \"calc(100% - 8px)\") which is applied via inline style.\n// The `& {}` keeps autocomplete suggesting the tokens while still allowing any string.\nexport type SpacingOrLength = SpacingTypes | (string & {});\nexport type ShadowTypes = \"none\" | \"mild\" | \"hard\" | \"soft\";\nexport type ShapeTypes = \"rounded\" | \"curved\";\nexport type OpacityTypes = \"0\" | \"5\" | \"10\" | \"20\" | \"30\" | \"40\" | \"50\" | \"60\" | \"70\" | \"80\" | \"90\";\nexport type WeightTypes = \"100\" | \"200\" | \"300\" | \"400\" | \"500\" | \"600\" | \"700\" | \"800\" | \"900\";\nexport type ButtonVariantTypes = \"success\" | \"warning\" | \"danger\";\n\nexport type ColourPropTypes =\n | `${OklchColourName}-${Luminance}${ShadeLevel}`\n | `${OklchColourName}-${Luminance}${ShadeLevel}-opacity${OpacityLevel}`\n | `${OklchColourName}-opacity${OpacityLevel}`\n | `${BasicColoursType}-opacity${OpacityLevel}`\n | OklchColourName\n | BasicColoursType\n | CustomColours\n | \"\";\n\nexport interface CommonProps {\n bgColor ? : ColourPropTypes;\n bgColour ? : ColourPropTypes;\n bgOpacity ? : OpacityTypes;\n textColor ? : ColourPropTypes;\n textColour ? : ColourPropTypes;\n borderColor ? : ColourPropTypes;\n borderColour ? : ColourPropTypes;\n borderOpacity ? : OpacityTypes;\n fillColor ? : ColourPropTypes;\n fillColour ? : ColourPropTypes;\n strokeColor ? : ColourPropTypes;\n strokeColour ? : ColourPropTypes;\n shadow ? : ShadowTypes;\n shape ? : ShapeTypes;\n opacity ? : OpacityTypes;\n // Flexbox -----------------------------------------------------------------\n layoutAsFlexbox ? : boolean;\n listVertically ? : boolean;\n listHorizontally ? : boolean;\n // Grid --------------------------------------------------------------------\n layoutAsGrid ? : boolean;\n columns ? : number;\n // Common ------------------------------------------------------------------\n gap ? : SpacingOrLength;\n // Margin ------------------------------------------------------------------\n margin ? : SpacingOrLength;\n horizontalMargin ? : SpacingOrLength;\n verticalMargin ? : SpacingOrLength;\n marginTop ? : SpacingOrLength;\n marginRight ? : SpacingOrLength;\n marginBottom ? : SpacingOrLength;\n marginLeft ? : SpacingOrLength;\n // Padding -----------------------------------------------------------------\n padding ? : SpacingOrLength;\n horizontalPadding ? : SpacingOrLength;\n verticalPadding ? : SpacingOrLength;\n paddingTop ? : SpacingOrLength;\n paddingRight ? : SpacingOrLength;\n paddingBottom ? : SpacingOrLength;\n paddingLeft ? : SpacingOrLength;\n horizontallyCentreThis ? : boolean;\n horizontallyCenterThis ? : boolean;\n verticallyCentreItems ? : boolean;\n verticallyCenterItems ? : boolean;\n pushItemsToEnds ? : boolean;\n isClickable ? : boolean;\n isFullWidth ? : boolean;\n isFullHeight ? : boolean;\n inheritFormSpacing ? : boolean;\n hideOnMobile ? : boolean;\n showOnlyOnMobile ? : boolean;\n hideOnTabletPortrait ? : boolean;\n showOnlyOnTabletPortrait ? : boolean;\n hideOnTabletLandscape ? : boolean;\n showOnlyOnTabletLandscape ? : boolean;\n hideOnDesktop ? : boolean;\n showOnlyOnDesktop ? : boolean;\n weight ? : WeightTypes;\n classNames ? : string[];\n}\n\nexport interface CommonAndHTMLProps<T extends {}>\n extends CommonProps, Omit<HTMLProps<T>, \"as\" | \"size\" | \"ref\" | \"shape\"> {}\n\n// Fictoan has two different types of event handlers, one for standard events and one for direct values\n// This generic event handler type is a union of the two\nexport type FlexibleEventHandler<T, V = unknown> =\n | ((event : T) => void)\n | ((value : V) => void);\n\nexport interface ElementProps<T extends {}> extends CommonProps, Omit<HTMLProps<T>, \"as\" | \"ref\" | \"shape\"> {\n as ? : ElementType;\n className ? : string;\n ariaLabel ? : string;\n}\n"],"names":["BasicColours","FictoanColours","oklchColourDefinitions"],"mappings":";AAOO,MAAMA,IAAe,CAAE,eAAe,SAAS,OAAQ,GAIjDC,IAAiB,CAAE,GAAG,OAAO,KAAKC,CAAsB,GAAG,GAAGF,CAAa;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOpE,OAAO,gBAAgB,CAAC;AAIxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AACnD,MAAM,MAAM,aAAa,GAAG,qBAAqB,GAAG,WAAW,GAAG;IAC9D,EAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,IAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,OAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,cAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,CAAC,OAAO,EAAG,OAAO,KAAK,IAAI,CAAC;IAC/C,IAAe,CAAC,EAAG,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAC1D,QAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,SAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,UAAe,CAAC,EAAG,OAAO,CAAC;CAC9B,CAAC;AAKF,eAAO,MAAM,QAAQ;SAhBE,MAAM;WACN,MAAM;cACN,OAAO;qBACP,OAAO;eACP,OAAO;eACP,OAAO;eACP,CAAC,OAAO,EAAG,OAAO,KAAK,IAAI;WAC3B,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;eACtC,MAAM;gBACN,MAAM;iBACN,OAAO;0CAoE7B,CAAC"}
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOpE,OAAO,gBAAgB,CAAC;AAIxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AACnD,MAAM,MAAM,aAAa,GAAG,qBAAqB,GAAG,WAAW,GAAG;IAC9D,EAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,IAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,OAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,cAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,CAAC,OAAO,EAAG,OAAO,KAAK,IAAI,CAAC;IAC/C,IAAe,CAAC,EAAG,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAC1D,QAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,SAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,UAAe,CAAC,EAAG,OAAO,CAAC;CAC9B,CAAC;AAKF,eAAO,MAAM,QAAQ;SAhBE,MAAM;WACN,MAAM;cACN,OAAO;qBACP,OAAO;eACP,OAAO;eACP,OAAO;eACP,CAAC,OAAO,EAAG,OAAO,KAAK,IAAI;WAC3B,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;eACtC,MAAM;gBACN,MAAM;iBACN,OAAO;0CA4E7B,CAAC"}
@@ -0,0 +1,78 @@
1
+ "use client";
2
+ import { jsxs as B, jsx as d } from "react/jsx-runtime";
3
+ import p, { useMemo as R } from "react";
4
+ import { separateWrapperProps as $ } from "../../../utils/propSeparation.js";
5
+ /* empty css */
6
+ import { deriveAriaIds as A, FormItem as E } from "../FormItem/FormItem.js";
7
+ import { Element as n } from "../../Element/Element.js";
8
+ const F = p.forwardRef(
9
+ ({
10
+ id: o,
11
+ name: m,
12
+ label: f,
13
+ hideLabel: l,
14
+ helpText: s,
15
+ errorText: r,
16
+ onChange: a,
17
+ checked: b,
18
+ defaultChecked: h,
19
+ disabled: k,
20
+ required: c,
21
+ size: i = "medium",
22
+ labelFirst: t,
23
+ ...u
24
+ }, v) => {
25
+ const x = R(() => m || o, [m, o]), I = (w) => {
26
+ a == null || a(w.target.checked);
27
+ }, { wrapperProps: y, inputProps: N } = $(u), P = p.useId(), e = o || `checkbox-${P.replace(/:/g, "")}`, { describedBy: j } = A(e, s, r);
28
+ return /* @__PURE__ */ B(
29
+ E,
30
+ {
31
+ label: f,
32
+ hideLabel: l,
33
+ htmlFor: e,
34
+ helpText: s,
35
+ errorText: r,
36
+ required: c,
37
+ size: i,
38
+ labelFirst: t,
39
+ ...y,
40
+ children: [
41
+ /* @__PURE__ */ d(
42
+ n,
43
+ {
44
+ as: "input",
45
+ type: "checkbox",
46
+ ref: v,
47
+ id: e,
48
+ name: x,
49
+ checked: b,
50
+ defaultChecked: h,
51
+ disabled: k,
52
+ required: c,
53
+ "aria-invalid": !!r || void 0,
54
+ "aria-required": c,
55
+ "aria-describedby": j,
56
+ onChange: I,
57
+ ...N
58
+ }
59
+ ),
60
+ /* @__PURE__ */ d(
61
+ n,
62
+ {
63
+ as: t ? "label" : "div",
64
+ htmlFor: t ? e : void 0,
65
+ "data-checkbox": !0,
66
+ className: `size-${i}`
67
+ }
68
+ )
69
+ ]
70
+ }
71
+ );
72
+ }
73
+ );
74
+ F.displayName = "Checkbox";
75
+ export {
76
+ F as Checkbox
77
+ };
78
+ //# sourceMappingURL=Checkbox.js.map