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

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 (181) 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 +56 -0
  6. package/dist/components/Badge/Badge.js.map +1 -0
  7. package/dist/components/Breadcrumbs/Breadcrumbs.js +65 -0
  8. package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
  9. package/dist/components/Button/Button.js +28 -0
  10. package/dist/components/Button/Button.js.map +1 -0
  11. package/dist/components/ButtonGroup/ButtonGroup.js +27 -0
  12. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -0
  13. package/dist/components/Callout/Callout.js +31 -0
  14. package/dist/components/Callout/Callout.js.map +1 -0
  15. package/dist/components/Card/Card.js +27 -0
  16. package/dist/components/Card/Card.js.map +1 -0
  17. package/dist/components/CodeBlock/CodeBlock.js +191 -0
  18. package/dist/components/CodeBlock/CodeBlock.js.map +1 -0
  19. package/dist/components/Divider/Divider.js +29 -0
  20. package/dist/components/Divider/Divider.js.map +1 -0
  21. package/dist/components/Drawer/Drawer.d.ts +3 -0
  22. package/dist/components/Drawer/Drawer.d.ts.map +1 -1
  23. package/dist/components/Drawer/Drawer.js +96 -0
  24. package/dist/components/Drawer/Drawer.js.map +1 -0
  25. package/dist/components/Element/Element.d.ts +6 -2
  26. package/dist/components/Element/Element.d.ts.map +1 -1
  27. package/dist/components/Element/Element.js +152 -0
  28. package/dist/components/Element/Element.js.map +1 -0
  29. package/dist/components/Element/Tags.js +31 -0
  30. package/dist/components/Element/Tags.js.map +1 -0
  31. package/dist/components/Element/constants.js +8 -0
  32. package/dist/components/Element/constants.js.map +1 -0
  33. package/dist/components/Form/Checkbox/Checkbox.d.ts.map +1 -1
  34. package/dist/components/Form/Checkbox/Checkbox.js +78 -0
  35. package/dist/components/Form/Checkbox/Checkbox.js.map +1 -0
  36. package/dist/components/Form/Checkbox/CheckboxAndSwitchGroup.d.ts.map +1 -1
  37. package/dist/components/Form/Checkbox/CheckboxAndSwitchGroup.js +177 -0
  38. package/dist/components/Form/Checkbox/CheckboxAndSwitchGroup.js.map +1 -0
  39. package/dist/components/Form/Checkbox/Switch.d.ts.map +1 -1
  40. package/dist/components/Form/Checkbox/Switch.js +78 -0
  41. package/dist/components/Form/Checkbox/Switch.js.map +1 -0
  42. package/dist/components/Form/FileUpload/FileUpload.d.ts.map +1 -1
  43. package/dist/components/Form/FileUpload/FileUpload.js +142 -0
  44. package/dist/components/Form/FileUpload/FileUpload.js.map +1 -0
  45. package/dist/components/Form/Form/Form.js +37 -0
  46. package/dist/components/Form/Form/Form.js.map +1 -0
  47. package/dist/components/Form/Form/FormGenerator.js +64 -0
  48. package/dist/components/Form/Form/FormGenerator.js.map +1 -0
  49. package/dist/components/Form/FormItem/FormItem.d.ts +16 -0
  50. package/dist/components/Form/FormItem/FormItem.d.ts.map +1 -1
  51. package/dist/components/Form/FormItem/FormItem.js +127 -0
  52. package/dist/components/Form/FormItem/FormItem.js.map +1 -0
  53. package/dist/components/Form/FormItemGroup/FormItemGroup.js +42 -0
  54. package/dist/components/Form/FormItemGroup/FormItemGroup.js.map +1 -0
  55. package/dist/components/Form/InputField/InputField.d.ts.map +1 -1
  56. package/dist/components/Form/InputField/InputField.js +156 -0
  57. package/dist/components/Form/InputField/InputField.js.map +1 -0
  58. package/dist/components/Form/InputLabel/InputLabel.js +30 -0
  59. package/dist/components/Form/InputLabel/InputLabel.js.map +1 -0
  60. package/dist/components/Form/ListBox/ListBox.d.ts.map +1 -1
  61. package/dist/components/Form/ListBox/ListBox.js +284 -0
  62. package/dist/components/Form/ListBox/ListBox.js.map +1 -0
  63. package/dist/components/Form/ListBox/constants.d.ts +1 -1
  64. package/dist/components/Form/ListBox/constants.d.ts.map +1 -1
  65. package/dist/components/Form/ListBox/listBoxUtils.js +49 -0
  66. package/dist/components/Form/ListBox/listBoxUtils.js.map +1 -0
  67. package/dist/components/Form/PinInputField/PinInputField.d.ts +6 -1
  68. package/dist/components/Form/PinInputField/PinInputField.d.ts.map +1 -1
  69. package/dist/components/Form/PinInputField/PinInputField.js +165 -0
  70. package/dist/components/Form/PinInputField/PinInputField.js.map +1 -0
  71. package/dist/components/Form/RadioButton/RadioButton.d.ts.map +1 -1
  72. package/dist/components/Form/RadioButton/RadioButton.js +82 -0
  73. package/dist/components/Form/RadioButton/RadioButton.js.map +1 -0
  74. package/dist/components/Form/RadioButton/RadioGroup.d.ts.map +1 -1
  75. package/dist/components/Form/RadioButton/RadioGroup.js +97 -0
  76. package/dist/components/Form/RadioButton/RadioGroup.js.map +1 -0
  77. package/dist/components/Form/RadioButton/RadioTabGroup.d.ts.map +1 -1
  78. package/dist/components/Form/RadioButton/RadioTabGroup.js +182 -0
  79. package/dist/components/Form/RadioButton/RadioTabGroup.js.map +1 -0
  80. package/dist/components/Form/Range/Range.js +376 -0
  81. package/dist/components/Form/Range/Range.js.map +1 -0
  82. package/dist/components/Form/Select/Select.d.ts.map +1 -1
  83. package/dist/components/Form/Select/Select.js +83 -0
  84. package/dist/components/Form/Select/Select.js.map +1 -0
  85. package/dist/components/Form/TextArea/TextArea.d.ts.map +1 -1
  86. package/dist/components/Form/TextArea/TextArea.js +111 -0
  87. package/dist/components/Form/TextArea/TextArea.js.map +1 -0
  88. package/dist/components/Meter/Meter.js +110 -0
  89. package/dist/components/Meter/Meter.js.map +1 -0
  90. package/dist/components/Modal/Modal.d.ts.map +1 -1
  91. package/dist/components/Modal/Modal.js +75 -0
  92. package/dist/components/Modal/Modal.js.map +1 -0
  93. package/dist/components/Notification/NotificationItem/NotificationItem.d.ts.map +1 -1
  94. package/dist/components/Notification/NotificationItem/NotificationItem.js +70 -0
  95. package/dist/components/Notification/NotificationItem/NotificationItem.js.map +1 -0
  96. package/dist/components/Notification/NotificationsProvider/NotificationsProvider.js +88 -0
  97. package/dist/components/Notification/NotificationsProvider/NotificationsProvider.js.map +1 -0
  98. package/dist/components/Notification/NotificationsWrapper/NotificationsWrapper.d.ts.map +1 -1
  99. package/dist/components/Notification/NotificationsWrapper/NotificationsWrapper.js +35 -0
  100. package/dist/components/Notification/NotificationsWrapper/NotificationsWrapper.js.map +1 -0
  101. package/dist/components/OptionCard/OptionCard.js +150 -0
  102. package/dist/components/OptionCard/OptionCard.js.map +1 -0
  103. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  104. package/dist/components/Pagination/Pagination.js +206 -0
  105. package/dist/components/Pagination/Pagination.js.map +1 -0
  106. package/dist/components/Pagination/usePagination.js +35 -0
  107. package/dist/components/Pagination/usePagination.js.map +1 -0
  108. package/dist/components/Portion/Portion.js +34 -0
  109. package/dist/components/Portion/Portion.js.map +1 -0
  110. package/dist/components/ProgressBar/ProgressBar.js +63 -0
  111. package/dist/components/ProgressBar/ProgressBar.js.map +1 -0
  112. package/dist/components/Row/Row.js +40 -0
  113. package/dist/components/Row/Row.js.map +1 -0
  114. package/dist/components/Sidebar/ContentWrapper/ContentWrapper.js +23 -0
  115. package/dist/components/Sidebar/ContentWrapper/ContentWrapper.js.map +1 -0
  116. package/dist/components/Sidebar/SidebarFooter/SidebarFooter.js +25 -0
  117. package/dist/components/Sidebar/SidebarFooter/SidebarFooter.js.map +1 -0
  118. package/dist/components/Sidebar/SidebarHeader/SidebarHeader.js +25 -0
  119. package/dist/components/Sidebar/SidebarHeader/SidebarHeader.js.map +1 -0
  120. package/dist/components/Sidebar/SidebarItem/SidebarItem.js +30 -0
  121. package/dist/components/Sidebar/SidebarItem/SidebarItem.js.map +1 -0
  122. package/dist/components/Sidebar/SidebarItemsGroup/SidebarItemsGroup.js +29 -0
  123. package/dist/components/Sidebar/SidebarItemsGroup/SidebarItemsGroup.js.map +1 -0
  124. package/dist/components/Sidebar/SidebarWrapper/SidebarWrapper.d.ts.map +1 -1
  125. package/dist/components/Sidebar/SidebarWrapper/SidebarWrapper.js +35 -0
  126. package/dist/components/Sidebar/SidebarWrapper/SidebarWrapper.js.map +1 -0
  127. package/dist/components/Skeleton/Skeleton.js +84 -0
  128. package/dist/components/Skeleton/Skeleton.js.map +1 -0
  129. package/dist/components/Spinner/Spinner.js +33 -0
  130. package/dist/components/Spinner/Spinner.js.map +1 -0
  131. package/dist/components/Table/Table.js +53 -0
  132. package/dist/components/Table/Table.js.map +1 -0
  133. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  134. package/dist/components/Tabs/Tabs.js +104 -0
  135. package/dist/components/Tabs/Tabs.js.map +1 -0
  136. package/dist/components/ThemeProvider/ThemeProvider.d.ts +6 -0
  137. package/dist/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  138. package/dist/components/ThemeProvider/ThemeProvider.js +52 -0
  139. package/dist/components/ThemeProvider/ThemeProvider.js.map +1 -0
  140. package/dist/components/Toast/ToastItem/ToastItem.js +47 -0
  141. package/dist/components/Toast/ToastItem/ToastItem.js.map +1 -0
  142. package/dist/components/Toast/ToastsProvider/ToastsProvider.js +45 -0
  143. package/dist/components/Toast/ToastsProvider/ToastsProvider.js.map +1 -0
  144. package/dist/components/Toast/ToastsWrapper/ToastsWrapper.d.ts.map +1 -1
  145. package/dist/components/Toast/ToastsWrapper/ToastsWrapper.js +28 -0
  146. package/dist/components/Toast/ToastsWrapper/ToastsWrapper.js.map +1 -0
  147. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  148. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  149. package/dist/components/Tooltip/Tooltip.js +62 -0
  150. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  151. package/dist/components/Typography/Heading.js +30 -0
  152. package/dist/components/Typography/Heading.js.map +1 -0
  153. package/dist/components/Typography/Text.js +15 -0
  154. package/dist/components/Typography/Text.js.map +1 -0
  155. package/dist/components/index.js +124 -75
  156. package/dist/components/index.js.map +1 -1
  157. package/dist/fictoan-schema.json +2070 -0
  158. package/dist/hooks/UseClickOutside.js +17 -0
  159. package/dist/hooks/UseClickOutside.js.map +1 -0
  160. package/dist/hooks/UseViewTransition.d.ts +2 -0
  161. package/dist/hooks/UseViewTransition.d.ts.map +1 -0
  162. package/dist/hooks/UseViewTransition.js +17 -0
  163. package/dist/hooks/UseViewTransition.js.map +1 -0
  164. package/dist/index.css +6 -10661
  165. package/dist/index.d.ts +1 -0
  166. package/dist/index.d.ts.map +1 -1
  167. package/dist/index.js +142 -151
  168. package/dist/index.js.map +1 -1
  169. package/dist/scripts/generateSchema.d.ts +2 -0
  170. package/dist/scripts/generateSchema.d.ts.map +1 -0
  171. package/dist/scripts/schema-meta.d.ts +12 -0
  172. package/dist/scripts/schema-meta.d.ts.map +1 -0
  173. package/dist/styles/colours.js +55 -0
  174. package/dist/styles/colours.js.map +1 -0
  175. package/dist/utils/classNames.js +6 -0
  176. package/dist/utils/classNames.js.map +1 -0
  177. package/dist/utils/propSeparation.js +77 -0
  178. package/dist/utils/propSeparation.js.map +1 -0
  179. package/package.json +12 -18
  180. package/dist/Accordion-CeGNgNW8.js +0 -4254
  181. package/dist/Accordion-CeGNgNW8.js.map +0 -1
@@ -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;AAQ3C,eAAO,MAAM,OAAO,EAwJf,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,152 @@
1
+ "use client";
2
+ import { jsx as pt } from "react/jsx-runtime";
3
+ import ht from "react";
4
+ import { createClassName as mt } from "../../utils/classNames.js";
5
+ const ct = ht.forwardRef(
6
+ ({
7
+ as: R = "div",
8
+ role: E,
9
+ ariaLabel: I,
10
+ tabIndex: j,
11
+ onKeyDown: A,
12
+ ...B
13
+ }, D) => {
14
+ const {
15
+ classNames: H = [],
16
+ bgColor: i,
17
+ bgColour: l,
18
+ bgOpacity: r,
19
+ borderColor: n,
20
+ borderColour: s,
21
+ borderOpacity: d,
22
+ className: S,
23
+ columns: bt,
24
+ fillColor: g,
25
+ fillColour: p,
26
+ gap: h,
27
+ hideOnDesktop: G,
28
+ hideOnMobile: V,
29
+ hideOnTabletLandscape: W,
30
+ hideOnTabletPortrait: q,
31
+ horizontalMargin: t,
32
+ horizontalPadding: o,
33
+ horizontallyCenterThis: J,
34
+ horizontallyCentreThis: K,
35
+ inheritFormSpacing: Q,
36
+ isClickable: U,
37
+ isFullHeight: X,
38
+ isFullWidth: Y,
39
+ layoutAsFlexbox: Z,
40
+ layoutAsGrid: _,
41
+ stackVertically: tt,
42
+ stackHorizontally: ot,
43
+ marginLeft: m,
44
+ marginBottom: c,
45
+ margin: b,
46
+ marginRight: y,
47
+ marginTop: $,
48
+ opacity: u,
49
+ paddingBottom: f,
50
+ paddingLeft: C,
51
+ padding: k,
52
+ paddingRight: O,
53
+ paddingTop: w,
54
+ pushItemsToEnds: et,
55
+ shadow: v,
56
+ shape: x,
57
+ showOnlyOnDesktop: at,
58
+ showOnlyOnMobile: it,
59
+ showOnlyOnTabletLandscape: lt,
60
+ showOnlyOnTabletPortrait: rt,
61
+ size: z,
62
+ strokeColor: T,
63
+ strokeColour: N,
64
+ textColor: P,
65
+ textColour: F,
66
+ verticalMargin: e,
67
+ verticalPadding: a,
68
+ verticallyCenterItems: nt,
69
+ verticallyCentreItems: st,
70
+ weight: L,
71
+ style: dt,
72
+ ...gt
73
+ } = B, M = {
74
+ ...dt,
75
+ ...r && { "--bg-opacity": Number(r) / 100 },
76
+ ...d && { "--border-opacity": Number(d) / 100 }
77
+ };
78
+ return /* @__PURE__ */ pt(
79
+ R,
80
+ {
81
+ ref: D,
82
+ role: E,
83
+ "aria-label": I,
84
+ tabIndex: j,
85
+ onKeyDown: A,
86
+ ...gt,
87
+ "data-form-spaced": Q || void 0,
88
+ style: Object.keys(M).length > 0 ? M : void 0,
89
+ className: mt(
90
+ [
91
+ S,
92
+ i && `bg-${i}`,
93
+ l && `bg-${l}`,
94
+ n && `border-${n}`,
95
+ s && `border-${s}`,
96
+ g && `fill-${g}`,
97
+ p && `fill-${p}`,
98
+ G && "hide-on-desktop",
99
+ V && "hide-on-mobile",
100
+ W && "hide-on-tablet-landscape",
101
+ q && "hide-on-tablet-portrait",
102
+ t && `margin-right-${t} margin-left-${t}`,
103
+ o && `padding-right-${o} padding-left-${o}`,
104
+ J && "horizontally-centre-this",
105
+ K && "horizontally-centre-this",
106
+ U && "is-clickable",
107
+ X && "full-height",
108
+ Y && "full-width",
109
+ Z && "layout-flexbox",
110
+ _ && "layout-grid",
111
+ tt && "stack-vertically",
112
+ ot && "stack-horizontally",
113
+ h && `gap-${h}`,
114
+ m && `margin-left-${m}`,
115
+ c && `margin-bottom-${c}`,
116
+ b && `margin-all-${b}`,
117
+ y && `margin-right-${y}`,
118
+ $ && `margin-top-${$}`,
119
+ u && `opacity-${u}`,
120
+ f && `padding-bottom-${f}`,
121
+ C && `padding-left-${C}`,
122
+ k && `padding-all-${k}`,
123
+ O && `padding-right-${O}`,
124
+ w && `padding-top-${w}`,
125
+ et && "push-to-ends",
126
+ v && `shadow-${v}`,
127
+ x && `shape-${x}`,
128
+ at && "show-only-on-desktop",
129
+ it && "show-only-on-mobile",
130
+ lt && "show-only-on-tablet-landscape",
131
+ rt && "show-only-on-tablet-portrait",
132
+ z && `size-${z}`,
133
+ T && `stroke-${T}`,
134
+ N && `stroke-${N}`,
135
+ P && `text-${P}`,
136
+ F && `text-${F}`,
137
+ e && `margin-top-${e} margin-bottom-${e}`,
138
+ a && `padding-top-${a} padding-bottom-${a}`,
139
+ nt && "vertically-centre-items",
140
+ st && "vertically-centre-items",
141
+ L && `weight-${L}`
142
+ ].concat(H)
143
+ )
144
+ }
145
+ );
146
+ }
147
+ );
148
+ ct.displayName = "Element";
149
+ export {
150
+ ct as Element
151
+ };
152
+ //# 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// 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 stackVertically,\n stackHorizontally,\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 // Build style object with opacity CSS custom properties\n const computedStyle = {\n ...style,\n ...(bgOpacity && { \"--bg-opacity\": Number(bgOpacity) / 100 }),\n ...(borderOpacity && { \"--border-opacity\": Number(borderOpacity) / 100 }),\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 horizontalMargin && `margin-right-${horizontalMargin} margin-left-${horizontalMargin}`,\n horizontalPadding && `padding-right-${horizontalPadding} padding-left-${horizontalPadding}`,\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 && \"layout-grid\",\n stackVertically && \"stack-vertically\",\n stackHorizontally && \"stack-horizontally\",\n gap && `gap-${gap}`,\n marginLeft && `margin-left-${marginLeft}`,\n marginBottom && `margin-bottom-${marginBottom}`,\n margin && `margin-all-${margin}`,\n marginRight && `margin-right-${marginRight}`,\n marginTop && `margin-top-${marginTop}`,\n opacity && `opacity-${opacity}`,\n paddingBottom && `padding-bottom-${paddingBottom}`,\n paddingLeft && `padding-left-${paddingLeft}`,\n padding && `padding-all-${padding}`,\n paddingRight && `padding-right-${paddingRight}`,\n paddingTop && `padding-top-${paddingTop}`,\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 verticalMargin && `margin-top-${verticalMargin} margin-bottom-${verticalMargin}`,\n verticalPadding && `padding-top-${verticalPadding} padding-bottom-${verticalPadding}`,\n verticallyCenterItems && \"vertically-centre-items\",\n verticallyCentreItems && \"vertically-centre-items\",\n weight && `weight-${weight}`,\n ].concat(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":["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","stackVertically","stackHorizontally","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","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;"}
@@ -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, FormEvent, 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\";\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 stackVertically ? : boolean;\n stackHorizontally ? : boolean;\n // Grid --------------------------------------------------------------------\n layoutAsGrid ? : boolean;\n columns ? : string;\n // Common ------------------------------------------------------------------\n gap ? : SpacingTypes;\n // Margin ------------------------------------------------------------------\n margin ? : SpacingTypes;\n horizontalMargin ? : SpacingTypes;\n verticalMargin ? : SpacingTypes;\n marginTop ? : SpacingTypes;\n marginRight ? : SpacingTypes;\n marginBottom ? : SpacingTypes;\n marginLeft ? : SpacingTypes;\n // Padding -----------------------------------------------------------------\n padding ? : SpacingTypes;\n horizontalPadding ? : SpacingTypes;\n verticalPadding ? : SpacingTypes;\n paddingTop ? : SpacingTypes;\n paddingRight ? : SpacingTypes;\n paddingBottom ? : SpacingTypes;\n paddingLeft ? : SpacingTypes;\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 = any> =\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 onChange ? : FlexibleEventHandler<FormEvent<T>, any>;\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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Form/Checkbox/Checkbox.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React, { useMemo } from \"react\";\n\n// LOCAL COMPONENTS ====================================================================================================\nimport { CommonProps, SpacingTypes } from \"../../Element/constants\";\nimport { Element } from \"$element\";\n\n// UTILS ===============================================================================================================\nimport { separateWrapperProps } from \"$utils/propSeparation\";\n\n// STYLES ==============================================================================================================\nimport \"./checkbox.css\";\n\n// OTHER ===============================================================================================================\nimport { FormItem, deriveAriaIds } from \"../FormItem/FormItem\";\nimport { InputLabelCustomProps } from \"../InputLabel/InputLabel\";\n\nexport type CheckboxElementType = HTMLInputElement;\nexport type CheckboxProps = InputLabelCustomProps & CommonProps & {\n id ? : string;\n name ? : string;\n checked ? : boolean;\n defaultChecked ? : boolean;\n disabled ? : boolean;\n required ? : boolean;\n onChange ? : (checked : boolean) => void;\n size ? : Exclude<SpacingTypes, \"nano\" | \"huge\">;\n helpText ? : string;\n errorText ? : string;\n labelFirst ? : boolean;\n};\n\n// TODO: Fix required indicator that clashes with tick because both use the same `label::after` setup.\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\nexport const Checkbox = React.forwardRef(\n (\n {\n id,\n name,\n label,\n hideLabel,\n helpText,\n errorText,\n onChange,\n checked,\n defaultChecked,\n disabled,\n required,\n size = \"medium\",\n labelFirst,\n ...props\n } : CheckboxProps,\n ref : React.Ref<CheckboxElementType>,\n ) => {\n const derivedName = useMemo(() => name || id, [ name, id ]);\n\n const handleChange = (e : React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e.target.checked);\n };\n\n // Separate wrapper-level props (margin, padding, etc.) from input-specific props\n const { wrapperProps, inputProps } = separateWrapperProps(props);\n\n const reactId = React.useId();\n const finalId = id || `checkbox-${reactId.replace(/:/g, \"\")}`;\n const { describedBy } = deriveAriaIds(finalId, helpText, errorText);\n\n return (\n <FormItem\n label={label}\n hideLabel={hideLabel}\n htmlFor={finalId}\n helpText={helpText}\n errorText={errorText}\n required={required}\n size={size}\n labelFirst={labelFirst}\n {...wrapperProps}\n >\n <Element<CheckboxElementType>\n as=\"input\"\n type=\"checkbox\"\n ref={ref}\n id={finalId}\n name={derivedName}\n checked={checked}\n defaultChecked={defaultChecked}\n disabled={disabled}\n required={required}\n aria-invalid={Boolean(errorText) || undefined}\n aria-required={required}\n aria-describedby={describedBy}\n onChange={handleChange}\n {...inputProps}\n />\n <Element\n as={labelFirst ? \"label\" : \"div\"}\n htmlFor={labelFirst ? finalId : undefined}\n data-checkbox\n className={`size-${size}`}\n />\n </FormItem>\n );\n },\n);\nCheckbox.displayName = \"Checkbox\";\n"],"names":["Checkbox","React","id","name","label","hideLabel","helpText","errorText","onChange","checked","defaultChecked","disabled","required","size","labelFirst","props","ref","derivedName","useMemo","handleChange","e","wrapperProps","inputProps","separateWrapperProps","reactId","finalId","describedBy","deriveAriaIds","jsxs","FormItem","jsx","Element"],"mappings":";;;;;;AAmCO,MAAMA,IAAWC,EAAM;AAAA,EAC1B,CACI;AAAA,IACI,IAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,YAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAEPC,MACC;AACD,UAAMC,IAAcC,EAAQ,MAAMf,KAAQD,GAAI,CAAEC,GAAMD,CAAG,CAAC,GAEpDiB,IAAe,CAACC,MAA4C;AAC9D,MAAAZ,KAAA,QAAAA,EAAWY,EAAE,OAAO;AAAA,IACxB,GAGM,EAAE,cAAAC,GAAc,YAAAC,MAAeC,EAAqBR,CAAK,GAEzDS,IAAUvB,EAAM,MAAA,GAChBwB,IAAUvB,KAAM,YAAYsB,EAAQ,QAAQ,MAAM,EAAE,CAAC,IACrD,EAAE,aAAAE,EAAA,IAAgBC,EAAcF,GAASnB,GAAUC,CAAS;AAElE,WACI,gBAAAqB;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,OAAAzB;AAAA,QACA,WAAAC;AAAA,QACA,SAASoB;AAAA,QACT,UAAAnB;AAAA,QACA,WAAAC;AAAA,QACA,UAAAK;AAAA,QACA,MAAAC;AAAA,QACA,YAAAC;AAAA,QACC,GAAGO;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAS;AAAA,YAACC;AAAA,YAAA;AAAA,cACG,IAAG;AAAA,cACH,MAAK;AAAA,cACL,KAAAf;AAAA,cACA,IAAIS;AAAA,cACJ,MAAMR;AAAA,cACN,SAAAR;AAAA,cACA,gBAAAC;AAAA,cACA,UAAAC;AAAA,cACA,UAAAC;AAAA,cACA,gBAAc,EAAQL,KAAc;AAAA,cACpC,iBAAeK;AAAA,cACf,oBAAkBc;AAAA,cAClB,UAAUP;AAAA,cACT,GAAGG;AAAA,YAAA;AAAA,UAAA;AAAA,UAER,gBAAAQ;AAAA,YAACC;AAAA,YAAA;AAAA,cACG,IAAIjB,IAAa,UAAU;AAAA,cAC3B,SAASA,IAAaW,IAAU;AAAA,cAChC,iBAAa;AAAA,cACb,WAAW,QAAQZ,CAAI;AAAA,YAAA;AAAA,UAAA;AAAA,QAC3B;AAAA,MAAA;AAAA,IAAA;AAAA,EAGZ;AACJ;AACAb,EAAS,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxAndSwitchGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/Checkbox/CheckboxAndSwitchGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAIvC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,iCAAiC,CAAC;AAKzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,UAAU,oBAAoB;IAC1B,EAAE,EAAW,MAAM,CAAC;IACpB,KAAK,EAAQ,MAAM,CAAC;IACpB,KAAK,EAAQ,MAAM,CAAC;IACpB,QAAS,CAAC,EAAG,OAAO,CAAC;CACxB;AAGD,UAAU,gBAAgB;IACtB,EAAc,CAAC,EAAG,MAAM,CAAC;IACzB,IAAI,EAAc,MAAM,CAAC;IACzB,OAAO,EAAW,oBAAoB,EAAE,CAAC;IACzC,KAAc,CAAC,EAAG,MAAM,EAAE,CAAC;IAC3B,YAAc,CAAC,EAAG,MAAM,EAAE,CAAC;IAC3B,QAAc,CAAC,EAAG,CAAC,MAAM,EAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,KAAc,CAAC,EAAG,YAAY,GAAG,UAAU,CAAC;IAC5C,aAAc,CAAC,EAAG,OAAO,CAAC;IAC1B,aAAc,CAAC,EAAG,OAAO,CAAC;IAC1B,IAAc,CAAC,EAAG,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACzD,OAAc,CAAC,EAAG,MAAM,CAAC;IACzB,UAAc,CAAC,EAAG,OAAO,CAAC;CAC7B;AAGD,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG,gBAAgB,GAAG;IACrE,QAAU,CAAC,EAAG,MAAM,CAAC;IACrB,SAAU,CAAC,EAAG,MAAM,CAAC;IACrB,QAAU,CAAC,EAAG,OAAO,CAAC;IACtB,QAAU,CAAC,EAAG,OAAO,CAAC;CACzB,CAAC;AAGF,eAAO,MAAM,aAAa;eAPR,MAAM;gBACN,MAAM;eACN,OAAO;eACP,OAAO;wCAqHxB,CAAC;AAIF,eAAO,MAAM,WAAW;eA5HN,MAAM;gBACN,MAAM;eACN,OAAO;eACP,OAAO;wCA0OxB,CAAC"}
1
+ {"version":3,"file":"CheckboxAndSwitchGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/Checkbox/CheckboxAndSwitchGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAIvC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,iCAAiC,CAAC;AAKzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,UAAU,oBAAoB;IAC1B,EAAE,EAAW,MAAM,CAAC;IACpB,KAAK,EAAQ,MAAM,CAAC;IACpB,KAAK,EAAQ,MAAM,CAAC;IACpB,QAAS,CAAC,EAAG,OAAO,CAAC;CACxB;AAGD,UAAU,gBAAgB;IACtB,EAAc,CAAC,EAAG,MAAM,CAAC;IACzB,IAAI,EAAc,MAAM,CAAC;IACzB,OAAO,EAAW,oBAAoB,EAAE,CAAC;IACzC,KAAc,CAAC,EAAG,MAAM,EAAE,CAAC;IAC3B,YAAc,CAAC,EAAG,MAAM,EAAE,CAAC;IAC3B,QAAc,CAAC,EAAG,CAAC,MAAM,EAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,KAAc,CAAC,EAAG,YAAY,GAAG,UAAU,CAAC;IAC5C,aAAc,CAAC,EAAG,OAAO,CAAC;IAC1B,aAAc,CAAC,EAAG,OAAO,CAAC;IAC1B,IAAc,CAAC,EAAG,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACzD,OAAc,CAAC,EAAG,MAAM,CAAC;IACzB,UAAc,CAAC,EAAG,OAAO,CAAC;CAC7B;AAGD,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG,gBAAgB,GAAG;IACrE,QAAU,CAAC,EAAG,MAAM,CAAC;IACrB,SAAU,CAAC,EAAG,MAAM,CAAC;IACrB,QAAU,CAAC,EAAG,OAAO,CAAC;IACtB,QAAU,CAAC,EAAG,OAAO,CAAC;CACzB,CAAC;AAGF,eAAO,MAAM,aAAa;eAPR,MAAM;gBACN,MAAM;eACN,OAAO;eACP,OAAO;wCA6HxB,CAAC;AAIF,eAAO,MAAM,WAAW;eApIN,MAAM;gBACN,MAAM;eACN,OAAO;eACP,OAAO;wCA0PxB,CAAC"}