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
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,OAAO,iBAAiB,CAAC;AAKzB,MAAM,WAAW,oBAAoB;IACjC,MAAS,CAAC,EAAG,OAAO,CAAC;IACrB,OAAO,EAAM,SAAS,CAAC;IACvB,QAAQ,EAAK,SAAS,CAAC;CAC1B;AAED,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AACtD,MAAM,MAAM,cAAc,GACtB,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,EAAE,MAAM,oBAAoB,CAAC,GACxE,oBAAoB,CAAC;AAG3B,eAAO,MAAM,SAAS,4KAyBrB,CAAC"}
1
+ {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,OAAO,iBAAiB,CAAC;AAKzB,MAAM,WAAW,oBAAoB;IACjC,MAAS,CAAC,EAAG,OAAO,CAAC;IACrB,OAAO,EAAM,SAAS,CAAC;IACvB,QAAQ,EAAK,SAAS,CAAC;CAC1B;AAED,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AACtD,MAAM,MAAM,cAAc,GACtB,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,EAAE,MAAM,oBAAoB,CAAC,GACxE,oBAAoB,CAAC;AAG3B,eAAO,MAAM,SAAS,4KAkBrB,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { jsxs as a, jsx as e } from "react/jsx-runtime";
3
+ import c from "react";
4
+ /* empty css */
5
+ import { Element as d } from "../Element/Element.js";
6
+ import { Text as m } from "../Typography/Text.js";
7
+ const p = c.forwardRef(
8
+ ({ summary: r, children: o, isOpen: t = !1, ...n }, i) => /* @__PURE__ */ a(
9
+ d,
10
+ {
11
+ as: "details",
12
+ "data-expandable-content": !0,
13
+ ref: i,
14
+ ...n,
15
+ open: t,
16
+ children: [
17
+ /* @__PURE__ */ e("summary", { children: typeof r == "string" ? /* @__PURE__ */ e(m, { margin: "none", children: r }) : r }),
18
+ o
19
+ ]
20
+ }
21
+ )
22
+ );
23
+ p.displayName = "Accordion";
24
+ export {
25
+ p as Accordion
26
+ };
27
+ //# sourceMappingURL=Accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.js","sources":["../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React, { ReactNode } from \"react\";\n\n// LOCAL COMPONENTS ====================================================================================================\nimport { CommonAndHTMLProps } from \"../Element/constants\";\nimport { Element } from \"$element\";\n\n// STYLES ==============================================================================================================\nimport \"./accordion.css\";\n\n// OTHER ===============================================================================================================\nimport { Text } from \"$components/Typography\";\n\nexport interface AccordionCustomProps {\n isOpen ? : boolean;\n summary : ReactNode;\n children : ReactNode;\n}\n\nexport type AccordionElementType = HTMLDetailsElement;\nexport type AccordionProps =\n Omit<CommonAndHTMLProps<AccordionElementType>, keyof AccordionCustomProps>\n & AccordionCustomProps;\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\nexport const Accordion = React.forwardRef(\n ({summary, children, isOpen = false, ...props} : AccordionProps, ref : React.Ref<AccordionElementType>) => {\n\n return (\n <Element\n as=\"details\"\n data-expandable-content\n ref={ref}\n {...props}\n open={isOpen}\n >\n <summary>\n {typeof summary === \"string\" ? <Text margin=\"none\">{summary}</Text> : summary}\n </summary>\n {children}\n </Element>\n );\n },\n);\nAccordion.displayName = \"Accordion\";\n"],"names":["Accordion","React","summary","children","isOpen","props","ref","jsxs","Element","jsx","Text"],"mappings":";;;;;AAyBO,MAAMA,IAAYC,EAAM;AAAA,EAC3B,CAAC,EAAC,SAAAC,GAAS,UAAAC,GAAU,QAAAC,IAAS,IAAO,GAAGC,EAAA,GAAyBC,MAGzD,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,IAAG;AAAA,MACH,2BAAuB;AAAA,MACvB,KAAAF;AAAA,MACC,GAAGD;AAAA,MACJ,MAAMD;AAAA,MAEN,UAAA;AAAA,QAAA,gBAAAK,EAAC,WAAA,EACI,UAAA,OAAOP,KAAY,WAAW,gBAAAO,EAACC,KAAK,QAAO,QAAQ,UAAAR,EAAA,CAAQ,IAAUA,GAC1E;AAAA,QACCC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIjB;AACAH,EAAU,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/Badge/Badge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpF,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtE,MAAM,WAAW,gBAAgB;IAC7B,IAAgB,CAAC,EAAG,YAAY,CAAC;IACjC,KAAgB,CAAC,EAAG,UAAU,CAAC;IAC/B,UAAgB,CAAC,EAAG,mBAAmB,CAAC;IACxC,aAAgB,CAAC,EAAG,CAAC,KAAK,EAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC1E,eAAgB,CAAC,EAAG,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAC9C,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,MAAM,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;AA2B/G,eAAO,MAAM,KAAK,4JAoDjB,CAAC"}
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/Badge/Badge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpF,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtE,MAAM,WAAW,gBAAgB;IAC7B,IAAgB,CAAC,EAAG,YAAY,CAAC;IACjC,KAAgB,CAAC,EAAG,UAAU,CAAC;IAC/B,UAAgB,CAAC,EAAG,mBAAmB,CAAC;IACxC,aAAgB,CAAC,EAAG,CAAC,KAAK,EAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC1E,eAAgB,CAAC,EAAG,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAC9C,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,MAAM,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;AA2B/G,eAAO,MAAM,KAAK,4JAmDjB,CAAC"}
@@ -0,0 +1,56 @@
1
+ "use client";
2
+ import { jsxs as u, jsx as a } from "react/jsx-runtime";
3
+ import c from "react";
4
+ /* empty css */
5
+ import { Element as v } from "../Element/Element.js";
6
+ const g = {
7
+ cross: /* @__PURE__ */ a("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ a("path", { d: "M18 6L6 18M6 6l12 12" }) }),
8
+ tick: /* @__PURE__ */ a("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ a("path", { d: "M5 12l5 5L20 7" }) }),
9
+ plus: /* @__PURE__ */ a("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ a("path", { d: "M12 5v14M5 12h14" }) }),
10
+ minus: /* @__PURE__ */ a("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ a("path", { d: "M5 12h14" }) })
11
+ }, f = c.forwardRef(
12
+ ({
13
+ children: e,
14
+ size: r = "medium",
15
+ shape: d,
16
+ actionIcon: s,
17
+ onActionClick: t,
18
+ actionAriaLabel: n,
19
+ ...p
20
+ }, l) => {
21
+ let i = [];
22
+ r && i.push(`size-${r}`), d && i.push(`shape-${d}`);
23
+ const m = (h) => {
24
+ h.stopPropagation(), t == null || t(h);
25
+ }, o = !!s;
26
+ return /* @__PURE__ */ u(
27
+ v,
28
+ {
29
+ "data-badge": !0,
30
+ "data-has-action": o || void 0,
31
+ ref: l,
32
+ classNames: i,
33
+ "aria-label": typeof e == "string" ? e : void 0,
34
+ ...p,
35
+ children: [
36
+ e,
37
+ o && /* @__PURE__ */ a(
38
+ "button",
39
+ {
40
+ type: "button",
41
+ className: "badge-action-button",
42
+ onClick: m,
43
+ "aria-label": n,
44
+ children: g[s]
45
+ }
46
+ )
47
+ ]
48
+ }
49
+ );
50
+ }
51
+ );
52
+ f.displayName = "Badge";
53
+ export {
54
+ f as Badge
55
+ };
56
+ //# sourceMappingURL=Badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.js","sources":["../../../src/components/Badge/Badge.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React from \"react\";\n\n// LOCAL COMPONENTS ====================================================================================================\nimport { CommonAndHTMLProps, ShapeTypes, SpacingTypes } from \"../Element/constants\";\nimport { Element } from \"$element\";\n\n// STYLES ==============================================================================================================\nimport \"./badge.css\";\n\nexport type BadgeActionIconType = \"cross\" | \"tick\" | \"plus\" | \"minus\";\n\nexport interface BadgeCustomProps {\n size ? : SpacingTypes;\n shape ? : ShapeTypes;\n actionIcon ? : BadgeActionIconType;\n onActionClick ? : (event : React.MouseEvent<HTMLButtonElement>) => void;\n actionAriaLabel ? : string;\n}\n\nexport type BadgeElementType = HTMLDivElement;\nexport type BadgeProps = Omit<CommonAndHTMLProps<BadgeElementType>, keyof BadgeCustomProps> & BadgeCustomProps;\n\n// ICONS ///////////////////////////////////////////////////////////////////////////////////////////////////////////////\nconst ActionIcons : Record<BadgeActionIconType, React.ReactNode> = {\n cross : (\n <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path d=\"M18 6L6 18M6 6l12 12\" />\n </svg>\n ),\n tick : (\n <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path d=\"M5 12l5 5L20 7\" />\n </svg>\n ),\n plus : (\n <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path d=\"M12 5v14M5 12h14\" />\n </svg>\n ),\n minus : (\n <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path d=\"M5 12h14\" />\n </svg>\n ),\n};\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\nexport const Badge = React.forwardRef(\n ({\n children,\n size = \"medium\",\n shape,\n actionIcon,\n onActionClick,\n actionAriaLabel,\n ...props\n } : BadgeProps, ref : React.Ref<BadgeElementType>) => {\n let classNames = [];\n\n if (size) {\n classNames.push(`size-${size}`);\n }\n\n if (shape) {\n classNames.push(`shape-${shape}`);\n }\n\n const handleActionClick = (e : React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n onActionClick?.(e);\n };\n\n const hasAction = Boolean(actionIcon);\n\n return (\n <Element<BadgeElementType>\n data-badge\n data-has-action={hasAction || undefined}\n ref={ref}\n classNames={classNames}\n aria-label={(typeof children === \"string\" ? children : undefined)}\n {...props}\n >\n {children}\n\n {hasAction && (\n <button\n type=\"button\"\n className=\"badge-action-button\"\n onClick={handleActionClick}\n aria-label={actionAriaLabel}\n >\n {ActionIcons[actionIcon!]}\n </button>\n )}\n </Element>\n );\n },\n);\nBadge.displayName = \"Badge\";\n"],"names":["ActionIcons","jsx","Badge","React","children","size","shape","actionIcon","onActionClick","actionAriaLabel","props","ref","classNames","handleActionClick","e","hasAction","jsxs","Element"],"mappings":";;;;AAwBA,MAAMA,IAA6D;AAAA,EAC/D,OACI,gBAAAC,EAAC,OAAA,EAAI,SAAQ,aAAY,eAAY,QACjC,UAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,uBAAA,CAAuB,EAAA,CACnC;AAAA,EAEJ,MACI,gBAAAA,EAAC,OAAA,EAAI,SAAQ,aAAY,eAAY,QACjC,UAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,iBAAA,CAAiB,EAAA,CAC7B;AAAA,EAEJ,MACI,gBAAAA,EAAC,OAAA,EAAI,SAAQ,aAAY,eAAY,QACjC,UAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,mBAAA,CAAmB,EAAA,CAC/B;AAAA,EAEJ,OACI,gBAAAA,EAAC,OAAA,EAAI,SAAQ,aAAY,eAAY,QACjC,UAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,WAAA,CAAW,EAAA,CACvB;AAER,GAGaC,IAAQC,EAAM;AAAA,EACvB,CAAC;AAAA,IACG,UAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GACSC,MAAsC;AAClD,QAAIC,IAAa,CAAA;AAEjB,IAAIP,KACAO,EAAW,KAAK,QAAQP,CAAI,EAAE,GAG9BC,KACAM,EAAW,KAAK,SAASN,CAAK,EAAE;AAGpC,UAAMO,IAAoB,CAACC,MAA4C;AACnE,MAAAA,EAAE,gBAAA,GACFN,KAAA,QAAAA,EAAgBM;AAAA,IACpB,GAEMC,IAAY,EAAQR;AAE1B,WACI,gBAAAS;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,cAAU;AAAA,QACV,mBAAiBF,KAAa;AAAA,QAC9B,KAAAJ;AAAA,QACA,YAAAC;AAAA,QACA,cAAa,OAAOR,KAAa,WAAWA,IAAW;AAAA,QACtD,GAAGM;AAAA,QAEH,UAAA;AAAA,UAAAN;AAAA,UAEAW,KACG,gBAAAd;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,WAAU;AAAA,cACV,SAASY;AAAA,cACT,cAAYJ;AAAA,cAEX,YAAYF,CAAW;AAAA,YAAA;AAAA,UAAA;AAAA,QAC5B;AAAA,MAAA;AAAA,IAAA;AAAA,EAIhB;AACJ;AACAL,EAAM,cAAc;"}
@@ -0,0 +1,65 @@
1
+ "use client";
2
+ import { jsx as r } from "react/jsx-runtime";
3
+ import t from "react";
4
+ /* empty css */
5
+ import { Element as b } from "../Element/Element.js";
6
+ import { Text as B } from "../Typography/Text.js";
7
+ const p = t.forwardRef(
8
+ ({ children: e, current: a, ...s }, i) => /* @__PURE__ */ r(
9
+ b,
10
+ {
11
+ as: "li",
12
+ "data-breadcrumb-item": !0,
13
+ ref: i,
14
+ ...s,
15
+ "aria-current": a ? "page" : void 0,
16
+ className: a ? "current" : void 0,
17
+ role: "listitem",
18
+ children: /* @__PURE__ */ r("span", { className: "breadcrumb-content", children: e })
19
+ }
20
+ )
21
+ ), N = ({ separator: e }) => /* @__PURE__ */ r(
22
+ B,
23
+ {
24
+ className: "breadcrumb-separator",
25
+ "aria-hidden": "true",
26
+ role: "presentation",
27
+ margin: "none",
28
+ children: e
29
+ }
30
+ ), g = t.forwardRef(
31
+ ({ children: e, separator: a = "/", spacing: s = "micro", ...i }, f) => {
32
+ let d = [];
33
+ s && d.push(`spacing-${s}`);
34
+ const u = t.Children.toArray(e).filter(Boolean), h = u.reduce((n, o, m) => {
35
+ if (!t.isValidElement(o)) return n;
36
+ const l = m === u.length - 1;
37
+ let c;
38
+ if (o.type === p) {
39
+ const y = o;
40
+ c = t.cloneElement(y, {
41
+ current: l
42
+ });
43
+ } else
44
+ c = /* @__PURE__ */ r(p, { current: l, children: o }, `item-${m}`);
45
+ return n.push(c), l || n.push(
46
+ /* @__PURE__ */ r(N, { separator: a }, `sep-${m}`)
47
+ ), n;
48
+ }, []);
49
+ return /* @__PURE__ */ r("nav", { "aria-label": "Breadcrumb", ref: f, ...i, children: /* @__PURE__ */ r(
50
+ b,
51
+ {
52
+ as: "ul",
53
+ "data-breadcrumbs-wrapper": !0,
54
+ role: "list",
55
+ classNames: d,
56
+ children: h
57
+ }
58
+ ) });
59
+ }
60
+ );
61
+ g.displayName = "Breadcrumbs";
62
+ export {
63
+ g as Breadcrumbs
64
+ };
65
+ //# sourceMappingURL=Breadcrumbs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breadcrumbs.js","sources":["../../../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React from \"react\";\n\n// LOCAL COMPONENTS ====================================================================================================\nimport { CommonAndHTMLProps, SpacingTypes } from \"../Element/constants\";\nimport { Element } from \"$element\";\n\n// STYLES ==============================================================================================================\nimport \"./breadcrumbs.css\";\n\n// OTHER ===============================================================================================================\nimport { Text } from \"$components/Typography\";\n\nexport type BreadcrumbsElementType = HTMLDivElement;\n\nexport interface BreadcrumbsProps extends CommonAndHTMLProps<BreadcrumbsElementType> {\n children : React.ReactNode;\n separator ? : string;\n spacing ? : SpacingTypes;\n}\n\nexport type BreadcrumbItemElementType = HTMLLIElement;\n\nexport interface BreadcrumbItemProps extends CommonAndHTMLProps<BreadcrumbItemElementType> {\n children : React.ReactNode;\n current ? : boolean;\n}\n\ninterface SeparatorProps {\n separator : string;\n}\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\nconst BreadcrumbItem = React.forwardRef<HTMLLIElement, BreadcrumbItemProps>(\n ({children, current, ...props}, ref) => {\n return (\n <Element\n as=\"li\"\n data-breadcrumb-item\n ref={ref}\n {...props}\n aria-current={current ? \"page\" : undefined}\n className={current ? \"current\" : undefined}\n role=\"listitem\"\n >\n <span className=\"breadcrumb-content\">\n {children}\n </span>\n </Element>\n );\n },\n);\n\nconst Separator : React.FC<SeparatorProps> = ({separator}) => (\n <Text\n className=\"breadcrumb-separator\"\n aria-hidden=\"true\"\n role=\"presentation\"\n margin=\"none\"\n >\n {separator}\n </Text>\n);\n\nexport const Breadcrumbs = React.forwardRef<HTMLDivElement, BreadcrumbsProps>(\n ({children, separator = \"/\", spacing = \"micro\", ...props}, ref) => {\n let classNames = [];\n\n if (spacing) {\n classNames.push(`spacing-${spacing}`);\n }\n\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n\n const processedChildren = childrenArray.reduce<React.ReactNode[]>((acc, child, index) => {\n if (!React.isValidElement(child)) return acc;\n\n const isLast = index === childrenArray.length - 1;\n\n let breadcrumbItem : React.ReactNode;\n if (child.type === BreadcrumbItem) {\n const typedChild = child as React.ReactElement<BreadcrumbItemProps>;\n breadcrumbItem = React.cloneElement(typedChild, {\n current : isLast,\n });\n } else {\n breadcrumbItem = (\n <BreadcrumbItem key={`item-${index}`} current={isLast}>\n {child}\n </BreadcrumbItem>\n );\n }\n\n acc.push(breadcrumbItem);\n\n if (!isLast) {\n acc.push(\n <Separator key={`sep-${index}`} separator={separator} />,\n );\n }\n\n return acc;\n }, []);\n\n return (\n <nav aria-label=\"Breadcrumb\" ref={ref} {...props}>\n <Element\n as=\"ul\"\n data-breadcrumbs-wrapper\n role=\"list\"\n classNames={classNames}\n >\n {processedChildren}\n </Element>\n </nav>\n );\n },\n);\nBreadcrumbs.displayName = \"Breadcrumbs\";\n"],"names":["BreadcrumbItem","React","children","current","props","ref","jsx","Element","Separator","separator","Text","Breadcrumbs","spacing","classNames","childrenArray","processedChildren","acc","child","index","isLast","breadcrumbItem","typedChild"],"mappings":";;;;;AAiCA,MAAMA,IAAiBC,EAAM;AAAA,EACzB,CAAC,EAAC,UAAAC,GAAU,SAAAC,GAAS,GAAGC,EAAA,GAAQC,MAExB,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,IAAG;AAAA,MACH,wBAAoB;AAAA,MACpB,KAAAF;AAAA,MACC,GAAGD;AAAA,MACJ,gBAAcD,IAAU,SAAS;AAAA,MACjC,WAAWA,IAAU,YAAY;AAAA,MACjC,MAAK;AAAA,MAEL,UAAA,gBAAAG,EAAC,QAAA,EAAK,WAAU,sBACX,UAAAJ,EAAA,CACL;AAAA,IAAA;AAAA,EAAA;AAIhB,GAEMM,IAAuC,CAAC,EAAC,WAAAC,EAAA,MAC3C,gBAAAH;AAAA,EAACI;AAAA,EAAA;AAAA,IACG,WAAU;AAAA,IACV,eAAY;AAAA,IACZ,MAAK;AAAA,IACL,QAAO;AAAA,IAEN,UAAAD;AAAA,EAAA;AACL,GAGSE,IAAcV,EAAM;AAAA,EAC7B,CAAC,EAAC,UAAAC,GAAU,WAAAO,IAAY,KAAK,SAAAG,IAAU,SAAS,GAAGR,EAAA,GAAQC,MAAQ;AAC/D,QAAIQ,IAAa,CAAA;AAEjB,IAAID,KACAC,EAAW,KAAK,WAAWD,CAAO,EAAE;AAGxC,UAAME,IAAgBb,EAAM,SAAS,QAAQC,CAAQ,EAAE,OAAO,OAAO,GAE/Da,IAAoBD,EAAc,OAA0B,CAACE,GAAKC,GAAOC,MAAU;AACrF,UAAI,CAACjB,EAAM,eAAegB,CAAK,EAAG,QAAOD;AAEzC,YAAMG,IAASD,MAAUJ,EAAc,SAAS;AAEhD,UAAIM;AACJ,UAAIH,EAAM,SAASjB,GAAgB;AAC/B,cAAMqB,IAAaJ;AACnB,QAAAG,IAAiBnB,EAAM,aAAaoB,GAAY;AAAA,UAC5C,SAAUF;AAAA,QAAA,CACb;AAAA,MACL;AACI,QAAAC,sBACKpB,GAAA,EAAqC,SAASmB,GAC1C,UAAAF,KADgB,QAAQC,CAAK,EAElC;AAIR,aAAAF,EAAI,KAAKI,CAAc,GAElBD,KACDH,EAAI;AAAA,QACA,gBAAAV,EAACE,GAAA,EAA+B,WAAAC,EAAA,GAAhB,OAAOS,CAAK,EAA0B;AAAA,MAAA,GAIvDF;AAAA,IACX,GAAG,CAAA,CAAE;AAEL,6BACK,OAAA,EAAI,cAAW,cAAa,KAAAX,GAAW,GAAGD,GACvC,UAAA,gBAAAE;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,IAAG;AAAA,QACH,4BAAwB;AAAA,QACxB,MAAK;AAAA,QACL,YAAAM;AAAA,QAEC,UAAAE;AAAA,MAAA;AAAA,IAAA,GAET;AAAA,EAER;AACJ;AACAJ,EAAY,cAAc;"}
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import { jsx as f } from "react/jsx-runtime";
3
+ import l from "react";
4
+ /* empty css */
5
+ import { Element as p } from "../Element/Element.js";
6
+ const b = l.forwardRef(
7
+ ({ size: e = "medium", shape: r, kind: s, variant: u, isLoading: a, label: m, ...i }, o) => {
8
+ let t = [];
9
+ return s && t.push(s), u && t.push(u), e && t.push(`size-${e}`), r && t.push(`shape-${r}`), a && t.push("is-loading"), /* @__PURE__ */ f(
10
+ p,
11
+ {
12
+ as: "button",
13
+ "data-button": !0,
14
+ ref: o,
15
+ classNames: t,
16
+ "aria-label": m,
17
+ "aria-disabled": i.disabled || a,
18
+ "aria-busy": a,
19
+ ...i
20
+ }
21
+ );
22
+ }
23
+ );
24
+ b.displayName = "Button";
25
+ export {
26
+ b as Button
27
+ };
28
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.js","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React from \"react\";\n\n// LOCAL COMPONENTS ====================================================================================================\nimport { CommonAndHTMLProps, EmphasisTypes, ShapeTypes, SpacingTypes, ButtonVariantTypes } from \"../Element/constants\";\nimport { Element } from \"$element\";\n\n// STYLES ==============================================================================================================\nimport \"./Button.css\";\n\n// prettier-ignore\nexport interface ButtonCustomProps {\n kind ? : EmphasisTypes;\n variant ? : ButtonVariantTypes;\n size ? : SpacingTypes;\n shape ? : ShapeTypes;\n isLoading ? : boolean;\n label ? : string;\n}\n\nexport type ButtonElementType = HTMLButtonElement;\nexport type ButtonProps = Omit<CommonAndHTMLProps<ButtonElementType>, keyof ButtonCustomProps> & ButtonCustomProps;\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\nexport const Button = React.forwardRef(\n ({size = \"medium\", shape, kind, variant, isLoading, label, ...props} : ButtonProps, ref : React.Ref<ButtonElementType>) => {\n let classNames = [];\n\n if (kind) {\n classNames.push(kind);\n }\n\n if (variant) {\n classNames.push(variant);\n }\n\n if (size) {\n classNames.push(`size-${size}`);\n }\n\n if (shape) {\n classNames.push(`shape-${shape}`);\n }\n\n if (isLoading) {\n classNames.push(\"is-loading\");\n }\n\n return (\n <Element<ButtonElementType>\n as=\"button\"\n data-button\n ref={ref}\n classNames={classNames}\n aria-label={label}\n aria-disabled={props.disabled || isLoading}\n aria-busy={isLoading}\n {...props}\n />\n );\n },\n);\nButton.displayName = \"Button\";\n"],"names":["Button","React","size","shape","kind","variant","isLoading","label","props","ref","classNames","jsx","Element"],"mappings":";;;;AAwBO,MAAMA,IAASC,EAAM;AAAA,EACxB,CAAC,EAAC,MAAAC,IAAO,UAAU,OAAAC,GAAO,MAAAC,GAAM,SAAAC,GAAS,WAAAC,GAAW,OAAAC,GAAO,GAAGC,EAAA,GAAsBC,MAAuC;AACvH,QAAIC,IAAa,CAAA;AAEjB,WAAIN,KACAM,EAAW,KAAKN,CAAI,GAGpBC,KACAK,EAAW,KAAKL,CAAO,GAGvBH,KACAQ,EAAW,KAAK,QAAQR,CAAI,EAAE,GAG9BC,KACAO,EAAW,KAAK,SAASP,CAAK,EAAE,GAGhCG,KACAI,EAAW,KAAK,YAAY,GAI5B,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,IAAG;AAAA,QACH,eAAW;AAAA,QACX,KAAAH;AAAA,QACA,YAAAC;AAAA,QACA,cAAYH;AAAA,QACZ,iBAAeC,EAAM,YAAYF;AAAA,QACjC,aAAWA;AAAA,QACV,GAAGE;AAAA,MAAA;AAAA,IAAA;AAAA,EAGhB;AACJ;AACAR,EAAO,cAAc;"}
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { jsx as i } from "react/jsx-runtime";
3
+ import m from "react";
4
+ /* empty css */
5
+ import { Element as s } from "../Element/Element.js";
6
+ const f = m.forwardRef(
7
+ ({ isJoint: r = !0, spacing: o, equaliseWidth: u, children: e, ...p }, a) => {
8
+ let t = [];
9
+ return r && t.push("is-joint"), o && !r && t.push(`spacing-${o}`), u && t.push("equal-width"), /* @__PURE__ */ i(
10
+ s,
11
+ {
12
+ as: "div",
13
+ "data-button-group": !0,
14
+ ref: a,
15
+ role: "group",
16
+ classNames: t,
17
+ ...p,
18
+ children: e
19
+ }
20
+ );
21
+ }
22
+ );
23
+ f.displayName = "ButtonGroup";
24
+ export {
25
+ f as ButtonGroup
26
+ };
27
+ //# sourceMappingURL=ButtonGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonGroup.js","sources":["../../../src/components/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React from \"react\";\n\n// LOCAL COMPONENTS ====================================================================================================\nimport { CommonAndHTMLProps, SpacingTypes } from \"../Element/constants\";\nimport { Element } from \"$element\";\n\n// STYLES ==============================================================================================================\nimport \"./button-group.css\";\n\n// prettier-ignore\nexport interface ButtonGroupCustomProps {\n isJoint ? : boolean;\n spacing ? : SpacingTypes;\n equaliseWidth ? : boolean;\n}\n\nexport type ButtonGroupElementType = HTMLDivElement;\nexport type ButtonGroupProps = Omit<CommonAndHTMLProps<ButtonGroupElementType>, keyof ButtonGroupCustomProps> &\n ButtonGroupCustomProps;\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\nexport const ButtonGroup = React.forwardRef(\n (\n {isJoint = true, spacing, equaliseWidth, children, ...props} : ButtonGroupProps,\n ref : React.Ref<ButtonGroupElementType>,\n ) => {\n let classNames : string[] = [];\n\n if (isJoint) {\n classNames.push(\"is-joint\");\n }\n\n if (spacing && !isJoint) {\n classNames.push(`spacing-${spacing}`);\n }\n\n if (equaliseWidth) {\n classNames.push(\"equal-width\");\n }\n\n return (\n <Element<ButtonGroupElementType>\n as=\"div\"\n data-button-group\n ref={ref}\n role=\"group\"\n classNames={classNames}\n {...props}\n >\n {children}\n </Element>\n );\n },\n);\n\nButtonGroup.displayName = \"ButtonGroup\";\n"],"names":["ButtonGroup","React","isJoint","spacing","equaliseWidth","children","props","ref","classNames","jsx","Element"],"mappings":";;;;AAsBO,MAAMA,IAAcC,EAAM;AAAA,EAC7B,CACI,EAAC,SAAAC,IAAU,IAAM,SAAAC,GAAS,eAAAC,GAAe,UAAAC,GAAU,GAAGC,EAAA,GACtDC,MACC;AACD,QAAIC,IAAwB,CAAA;AAE5B,WAAIN,KACAM,EAAW,KAAK,UAAU,GAG1BL,KAAW,CAACD,KACZM,EAAW,KAAK,WAAWL,CAAO,EAAE,GAGpCC,KACAI,EAAW,KAAK,aAAa,GAI7B,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,IAAG;AAAA,QACH,qBAAiB;AAAA,QACjB,KAAAH;AAAA,QACA,MAAK;AAAA,QACL,YAAAC;AAAA,QACC,GAAGF;AAAA,QAEH,UAAAD;AAAA,MAAA;AAAA,IAAA;AAAA,EAGb;AACJ;AAEAL,EAAY,cAAc;"}
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { jsx as l } from "react/jsx-runtime";
3
+ import s from "react";
4
+ /* empty css */
5
+ import { Element as i } from "../Element/Element.js";
6
+ const m = s.forwardRef(
7
+ ({ kind: r, children: a, title: t, ...e }, o) => /* @__PURE__ */ l(
8
+ i,
9
+ {
10
+ as: "div",
11
+ "data-callout": !0,
12
+ ref: o,
13
+ className: r,
14
+ role: {
15
+ info: "status",
16
+ success: "status",
17
+ warning: "alert",
18
+ error: "alert"
19
+ }[r],
20
+ "aria-live": r === "error" || r === "warning" ? "assertive" : "polite",
21
+ "aria-label": t,
22
+ ...e,
23
+ children: a
24
+ }
25
+ )
26
+ );
27
+ m.displayName = "Callout";
28
+ export {
29
+ m as Callout
30
+ };
31
+ //# sourceMappingURL=Callout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Callout.js","sources":["../../../src/components/Callout/Callout.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React, { ReactNode } from \"react\";\n\n// LOCAL COMPONENTS ====================================================================================================\nimport { CommonAndHTMLProps } from \"../Element/constants\";\nimport { Element } from \"$element\";\n\n// STYLES ==============================================================================================================\nimport \"./callout.css\";\n\n// prettier-ignore\nexport interface CalloutCustomProps {\n kind : \"info\" | \"success\" | \"warning\" | \"error\";\n children : ReactNode;\n title ? : string;\n}\n\nexport type CalloutElementType = HTMLDivElement;\nexport type CalloutProps = Omit<CommonAndHTMLProps<CalloutElementType>, keyof CalloutCustomProps> & CalloutCustomProps;\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\nexport const Callout = React.forwardRef(\n ({kind, children, title, ...props} : CalloutProps, ref : React.Ref<CalloutElementType>) => {\n const roleMap = {\n info : \"status\",\n success : \"status\",\n warning : \"alert\",\n error : \"alert\",\n };\n\n return (\n <Element<CalloutElementType>\n as=\"div\"\n data-callout\n ref={ref}\n className={kind}\n role={roleMap[kind]}\n aria-live={kind === \"error\" || kind === \"warning\" ? \"assertive\" : \"polite\"}\n aria-label={title}\n {...props}\n >\n {children}\n </Element>\n );\n },\n);\nCallout.displayName = \"Callout\";\n"],"names":["Callout","React","kind","children","title","props","ref","jsx","Element"],"mappings":";;;;AAqBO,MAAMA,IAAUC,EAAM;AAAA,EACzB,CAAC,EAAC,MAAAC,GAAM,UAAAC,GAAU,OAAAC,GAAO,GAAGC,EAAA,GAAuBC,MAS3C,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,IAAG;AAAA,MACH,gBAAY;AAAA,MACZ,KAAAF;AAAA,MACA,WAAWJ;AAAA,MACX,MAbQ;AAAA,QACZ,MAAU;AAAA,QACV,SAAU;AAAA,QACV,SAAU;AAAA,QACV,OAAU;AAAA,MAAA,EASQA,CAAI;AAAA,MAClB,aAAWA,MAAS,WAAWA,MAAS,YAAY,cAAc;AAAA,MAClE,cAAYE;AAAA,MACX,GAAGC;AAAA,MAEH,UAAAF;AAAA,IAAA;AAAA,EAAA;AAIjB;AACAH,EAAQ,cAAc;"}
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { jsx as i } from "react/jsx-runtime";
3
+ import d from "react";
4
+ /* empty css */
5
+ import { Element as s } from "../Element/Element.js";
6
+ const l = d.forwardRef(({ shape: r, heading: e, children: t, ...o }, m) => {
7
+ let a = [];
8
+ return r && a.push(`shape-${r}`), /* @__PURE__ */ i(
9
+ s,
10
+ {
11
+ as: "div",
12
+ "data-card": !0,
13
+ ref: m,
14
+ classNames: a,
15
+ role: "region",
16
+ "aria-label": e,
17
+ tabIndex: 0,
18
+ ...o,
19
+ children: t
20
+ }
21
+ );
22
+ });
23
+ l.displayName = "Card";
24
+ export {
25
+ l as Card
26
+ };
27
+ //# sourceMappingURL=Card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.js","sources":["../../../src/components/Card/Card.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 \"./card.css\";\n\nexport type CardElementType = HTMLDivElement;\n\nexport interface CardCustomProps {\n heading ? : string;\n}\n\nexport type CardProps = CommonAndHTMLProps<CardElementType> & CardCustomProps;\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\nexport const Card = React.forwardRef((\n {shape, heading, children, ...props} : CardProps, ref : React.Ref<CardElementType>) => {\n let classNames = [];\n\n if (shape) {\n classNames.push(`shape-${shape}`);\n }\n\n return (\n <Element<CardElementType>\n as=\"div\"\n data-card\n ref={ref}\n classNames={classNames}\n role=\"region\"\n aria-label={heading}\n tabIndex={0}\n {...props}\n >\n {children}\n </Element>\n );\n});\nCard.displayName = \"Card\";\n"],"names":["Card","React","shape","heading","children","props","ref","classNames","jsx","Element"],"mappings":";;;;AAmBO,MAAMA,IAAOC,EAAM,WAAW,CACjC,EAAC,OAAAC,GAAO,SAAAC,GAAS,UAAAC,GAAU,GAAGC,EAAA,GAAoBC,MAAqC;AACvF,MAAIC,IAAa,CAAA;AAEjB,SAAIL,KACAK,EAAW,KAAK,SAASL,CAAK,EAAE,GAIhC,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,IAAG;AAAA,MACH,aAAS;AAAA,MACT,KAAAH;AAAA,MACA,YAAAC;AAAA,MACA,MAAK;AAAA,MACL,cAAYJ;AAAA,MACZ,UAAU;AAAA,MACT,GAAGE;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGb,CAAC;AACDJ,EAAK,cAAc;"}
@@ -0,0 +1,191 @@
1
+ "use client";
2
+ import { jsxs as j, jsx as h } from "react/jsx-runtime";
3
+ import A, { useState as w, useRef as K, useEffect as N, useCallback as T } from "react";
4
+ /* empty css */
5
+ import { Element as U } from "../Element/Element.js";
6
+ import { Badge as X } from "../Badge/Badge.js";
7
+ import { Button as q } from "../Button/Button.js";
8
+ const G = A.forwardRef(({
9
+ children: p,
10
+ source: b,
11
+ language: o = "json",
12
+ showCopyButton: D,
13
+ showLineNumbers: x,
14
+ description: F,
15
+ withSyntaxHighlighting: u = !1,
16
+ makeEditable: a = !1,
17
+ onChange: m,
18
+ shadow: E,
19
+ ..._
20
+ }, Q) => {
21
+ const [B, O] = w(!1), [l, I] = w(null), [M, R] = w(u), [t, S] = w(null), v = K(null);
22
+ let c = typeof p == "string" ? p : A.Children.toArray(p).join("");
23
+ p || (c = typeof b == "object" ? JSON.stringify(b, null, 2) : b ?? ""), N(() => {
24
+ if (!u) return;
25
+ (async () => {
26
+ var r;
27
+ R(!0);
28
+ try {
29
+ const d = (await import("prismjs")).default;
30
+ if (typeof window < "u" && !window.Prism && (window.Prism = d), o !== "plain" && !d.languages[o])
31
+ try {
32
+ await import(`prismjs/components/prism-${o}`);
33
+ } catch {
34
+ console.warn(`Language "${o}" not available, falling back to plain text`);
35
+ }
36
+ I(d);
37
+ } catch (n) {
38
+ (n == null ? void 0 : n.code) === "ERR_MODULE_NOT_FOUND" || (r = n == null ? void 0 : n.message) != null && r.includes("Cannot find module") ? console.warn(
39
+ "PrismJS is not installed. To enable syntax highlighting, run: npm install prismjs"
40
+ ) : console.warn(`Failed to load syntax highlighting for ${o}:`, n);
41
+ } finally {
42
+ R(!1);
43
+ }
44
+ })();
45
+ }, [u, o]);
46
+ const $ = T(() => {
47
+ var f;
48
+ const e = window.getSelection();
49
+ if (!e || e.rangeCount === 0) return null;
50
+ const r = e.getRangeAt(0), n = r.startContainer;
51
+ let s = r.startOffset;
52
+ if (n && n !== t && t) {
53
+ const k = document.createTreeWalker(
54
+ t,
55
+ NodeFilter.SHOW_TEXT,
56
+ null
57
+ );
58
+ let i;
59
+ for (; (i = k.nextNode()) && i !== n; )
60
+ s += ((f = i.textContent) == null ? void 0 : f.length) || 0;
61
+ }
62
+ return s;
63
+ }, [t]), y = T((e) => {
64
+ var r;
65
+ if (!(!t || !u || !l))
66
+ try {
67
+ const n = a ? $() : null, d = l.highlight(
68
+ e,
69
+ l.languages[o] || l.languages.plain,
70
+ o
71
+ );
72
+ if (t.innerHTML = d, a && n !== null) {
73
+ const s = window.getSelection(), f = document.createRange(), k = document.createTreeWalker(
74
+ t,
75
+ NodeFilter.SHOW_TEXT,
76
+ null
77
+ );
78
+ let i = 0, C;
79
+ for (; C = k.nextNode(); ) {
80
+ const L = ((r = C.textContent) == null ? void 0 : r.length) || 0;
81
+ if (i + L >= n) {
82
+ f.setStart(C, n - i), f.setEnd(C, n - i), s == null || s.removeAllRanges(), s == null || s.addRange(f);
83
+ break;
84
+ }
85
+ i += L;
86
+ }
87
+ }
88
+ } catch (n) {
89
+ console.warn("Error highlighting code:", n), t && (t.textContent = e);
90
+ }
91
+ }, [o, u, a, l, $, t]), g = T((e) => {
92
+ if (!t) return;
93
+ const r = t.textContent || "";
94
+ m == null || m(r), requestAnimationFrame(() => {
95
+ y(r);
96
+ });
97
+ }, [y, m, t]);
98
+ N(() => {
99
+ const e = t;
100
+ if (!(!e || !a))
101
+ return e.addEventListener("input", g), () => {
102
+ e.removeEventListener("input", g);
103
+ };
104
+ }, [a, g, t]), N(() => {
105
+ !t || !l || y(c);
106
+ }, [y, c, l, t]);
107
+ const P = async () => {
108
+ try {
109
+ const e = t ? t.textContent || "" : c;
110
+ await navigator.clipboard.writeText(e), O(!0), setTimeout(() => O(!1), 3e3);
111
+ } catch (e) {
112
+ console.error("Could not copy text: ", e);
113
+ }
114
+ }, z = async (e) => {
115
+ (e.key === "Enter" || e.key === " ") && e.target === v.current && (e.preventDefault(), await P());
116
+ };
117
+ let W = [];
118
+ x && W.push("show-line-numbers");
119
+ const J = c.split(/\r\n|\r|\n/gm);
120
+ return /* @__PURE__ */ j(
121
+ U,
122
+ {
123
+ "data-code-block": !0,
124
+ as: "div",
125
+ classNames: W,
126
+ role: "region",
127
+ "aria-label": F || `Code block in ${o}`,
128
+ ..._,
129
+ children: [
130
+ D ? B ? /* @__PURE__ */ h(
131
+ X,
132
+ {
133
+ className: "code-block-copied-badge",
134
+ size: "tiny",
135
+ shape: "rounded",
136
+ "aria-live": "polite",
137
+ children: "Copied!"
138
+ }
139
+ ) : /* @__PURE__ */ h(
140
+ q,
141
+ {
142
+ type: "button",
143
+ className: "code-block-copy-button",
144
+ size: "tiny",
145
+ shape: "rounded",
146
+ onClick: P,
147
+ onKeyDown: z,
148
+ "aria-label": "Copy code to clipboard",
149
+ children: "Copy"
150
+ }
151
+ ) : null,
152
+ /* @__PURE__ */ j(
153
+ "pre",
154
+ {
155
+ ref: v,
156
+ className: `language-${o}${E ? ` shadow-${E}` : ""}`,
157
+ tabIndex: 0,
158
+ "aria-label": `Code in ${o}`,
159
+ children: [
160
+ x && Array.from(Array(J.length).keys()).map((e) => /* @__PURE__ */ h(
161
+ "span",
162
+ {
163
+ className: "line-numbers",
164
+ "aria-hidden": "true",
165
+ children: e + 1
166
+ },
167
+ e
168
+ )),
169
+ /* @__PURE__ */ h(
170
+ "code",
171
+ {
172
+ ref: S,
173
+ contentEditable: a,
174
+ suppressContentEditableWarning: !0,
175
+ spellCheck: "false",
176
+ className: `language-${o} ${M ? "is-loading" : ""}`,
177
+ children: c
178
+ }
179
+ )
180
+ ]
181
+ }
182
+ )
183
+ ]
184
+ }
185
+ );
186
+ });
187
+ G.displayName = "CodeBlock";
188
+ export {
189
+ G as CodeBlock
190
+ };
191
+ //# sourceMappingURL=CodeBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlock.js","sources":["../../../src/components/CodeBlock/CodeBlock.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React, { useState, useEffect, useRef, useCallback } from \"react\";\n\n// LOCAL COMPONENTS ====================================================================================================\nimport { CommonAndHTMLProps } from \"../Element/constants\";\nimport { Element } from \"$element\";\n\n// STYLES ==============================================================================================================\nimport \"./CodeBlock.css\";\n\n// OTHER ===============================================================================================================\nimport { Badge } from \"$components/Badge\";\nimport { Button } from \"$components/Button\";\n\ninterface PrismType {\n languages : { [key : string] : any };\n highlight : (\n code : string,\n grammar : any,\n language : string\n ) => string;\n}\n\nexport interface CodeBlockCustomProps {\n source ? : object | string;\n language ? : string;\n showCopyButton ? : boolean;\n showLineNumbers ? : boolean;\n description ? : string;\n withSyntaxHighlighting ? : boolean;\n makeEditable ? : boolean;\n onChange ? : (content : string) => void;\n}\n\nexport type CodeBlockElementType = HTMLPreElement;\nexport type CodeBlockProps = Omit<CommonAndHTMLProps<CodeBlockElementType>,\n keyof CodeBlockCustomProps> & CodeBlockCustomProps;\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\nexport const CodeBlock = React.forwardRef((\n {\n children,\n source,\n language = \"json\",\n showCopyButton,\n showLineNumbers,\n description,\n withSyntaxHighlighting = false,\n makeEditable = false,\n onChange,\n shadow,\n ...props\n } : CodeBlockProps,\n ref : React.Ref<CodeBlockElementType>,\n) => {\n const [ isCodeCopied, setIsCodeCopied ] = useState(false);\n const [ prismModule, setPrismModule ] = useState<PrismType | null>(null);\n const [ isLoading, setIsLoading ] = useState(withSyntaxHighlighting);\n const [ codeElement, setCodeElement ] = useState<HTMLElement | null>(null);\n\n const preRef = useRef<HTMLPreElement>(null);\n\n // Determine the code content from either children or source prop\n let initialCode = typeof children === \"string\"\n ? children\n : React.Children.toArray(children).join(\"\");\n\n if (!children) {\n initialCode = typeof source === \"object\"\n ? JSON.stringify(source, null, 2)\n : source ?? \"\";\n }\n\n // Dynamically load Prism and language support when syntax highlighting is enabled\n useEffect(() => {\n if (!withSyntaxHighlighting) return;\n\n const loadPrismWithLanguage = async () => {\n setIsLoading(true);\n try {\n // Load Prism core FIRST and ensure it's globally available\n const prism = await import(\"prismjs\");\n const Prism = prism.default;\n\n // Ensure Prism is available globally for language plugins\n if (typeof window !== \"undefined\" && !(window as any).Prism) {\n (window as any).Prism = Prism;\n }\n\n // NOW load the language module - it needs Prism to be global\n if (language !== \"plain\" && !Prism.languages[language]) {\n try {\n await import(`prismjs/components/prism-${language}`);\n } catch (langError) {\n console.warn(`Language \"${language}\" not available, falling back to plain text`);\n }\n }\n\n setPrismModule(Prism);\n } catch (error : any) {\n // Check if it's a \"module not found\" error (prismjs not installed)\n if (error?.code === \"ERR_MODULE_NOT_FOUND\" || error?.message?.includes(\"Cannot find module\")) {\n console.warn(\n \"PrismJS is not installed. To enable syntax highlighting, run: npm install prismjs\",\n );\n } else {\n console.warn(`Failed to load syntax highlighting for ${language}:`, error);\n }\n } finally {\n setIsLoading(false);\n }\n };\n\n loadPrismWithLanguage();\n }, [ withSyntaxHighlighting, language ]);\n\n // Get the current cursor position in the editable content\n const getCursorPosition = useCallback(() => {\n const selection = window.getSelection();\n if (!selection || selection.rangeCount === 0) return null;\n\n const range = selection.getRangeAt(0);\n const currentNode = range.startContainer;\n const cursorOffset = range.startOffset;\n\n // Calculate absolute cursor position by walking the DOM tree\n let absoluteOffset = cursorOffset;\n if (currentNode && currentNode !== codeElement && codeElement) {\n const treeWalker = document.createTreeWalker(\n codeElement,\n NodeFilter.SHOW_TEXT,\n null,\n );\n let node;\n while ((node = treeWalker.nextNode())) {\n if (node === currentNode) break;\n absoluteOffset += node.textContent?.length || 0;\n }\n }\n\n return absoluteOffset;\n }, [ codeElement ]);\n\n // Apply syntax highlighting while preserving cursor position in editable mode\n const highlightCode = useCallback((content : string) => {\n if (!codeElement || !withSyntaxHighlighting || !prismModule) return;\n\n try {\n // Store cursor position before modifying content\n const cursorPosition = makeEditable ? getCursorPosition() : null;\n\n // Apply Prism highlighting\n const highlighted = prismModule.highlight(\n content,\n prismModule.languages[language] || prismModule.languages.plain,\n language,\n );\n codeElement.innerHTML = highlighted;\n\n // Restore cursor position for editable content\n if (makeEditable && cursorPosition !== null) {\n const selection = window.getSelection();\n const newRange = document.createRange();\n const treeWalker = document.createTreeWalker(\n codeElement,\n NodeFilter.SHOW_TEXT,\n null,\n );\n\n // Walk through text nodes to find correct cursor position\n let currentOffset = 0;\n let node;\n while ((node = treeWalker.nextNode())) {\n const length = node.textContent?.length || 0;\n if (currentOffset + length >= cursorPosition) {\n newRange.setStart(node, cursorPosition - currentOffset);\n newRange.setEnd(node, cursorPosition - currentOffset);\n selection?.removeAllRanges();\n selection?.addRange(newRange);\n break;\n }\n currentOffset += length;\n }\n }\n } catch (error) {\n console.warn(\"Error highlighting code:\", error);\n if (codeElement) {\n codeElement.textContent = content;\n }\n }\n }, [ language, withSyntaxHighlighting, makeEditable, prismModule, getCursorPosition, codeElement ]);\n\n // Handle content changes in editable mode\n const handleInput = useCallback((event : Event) => {\n if (!codeElement) return;\n\n const content = codeElement.textContent || \"\";\n onChange?.(content);\n\n // Defer highlighting to next frame to ensure content is updated\n requestAnimationFrame(() => {\n highlightCode(content);\n });\n }, [ highlightCode, onChange, codeElement ]);\n\n // Setup input handler for editable content\n useEffect(() => {\n const element = codeElement;\n if (!element || !makeEditable) return;\n\n element.addEventListener(\"input\", handleInput);\n return () => {\n element.removeEventListener(\"input\", handleInput);\n };\n }, [ makeEditable, handleInput, codeElement ]);\n\n // Initial highlighting when component loads\n useEffect(() => {\n if (!codeElement || !prismModule) return;\n highlightCode(initialCode);\n }, [ highlightCode, initialCode, prismModule, codeElement ]);\n\n const copyToClipboard = async () => {\n try {\n const textToCopy = codeElement ? codeElement.textContent || \"\" : initialCode;\n await navigator.clipboard.writeText(textToCopy);\n setIsCodeCopied(true);\n setTimeout(() => setIsCodeCopied(false), 3000);\n } catch (err) {\n console.error(\"Could not copy text: \", err);\n }\n };\n\n // Keyboard shortcuts for copy button ------------------------------------------------------------------------------\n const handleKeyDown = async (e : React.KeyboardEvent) => {\n if ((e.key === \"Enter\" || e.key === \" \") && e.target === preRef.current) {\n e.preventDefault();\n await copyToClipboard();\n }\n };\n\n let classNames = [];\n\n if (showLineNumbers) {\n classNames.push(\"show-line-numbers\");\n }\n\n // Split code into lines for line numbers --------------------------------------------------------------------------\n const lines = initialCode.split(/\\r\\n|\\r|\\n/gm);\n\n return (\n <Element<CodeBlockElementType>\n data-code-block\n as=\"div\"\n classNames={classNames}\n role=\"region\"\n aria-label={description || `Code block in ${language}`}\n {...props}\n >\n {/* Copy Button or Copied Badge */}\n {showCopyButton ? (\n isCodeCopied ? (\n <Badge\n className=\"code-block-copied-badge\"\n size=\"tiny\"\n shape=\"rounded\"\n aria-live=\"polite\"\n >\n Copied!\n </Badge>\n ) : (\n <Button\n type=\"button\"\n className=\"code-block-copy-button\"\n size=\"tiny\"\n shape=\"rounded\"\n onClick={copyToClipboard}\n onKeyDown={handleKeyDown}\n aria-label=\"Copy code to clipboard\"\n >\n Copy\n </Button>\n )\n ) : null}\n\n {/* MAIN CODE DISPLAY ////////////////////////////////////////////////////////////////////////////////// */}\n <pre\n ref={preRef}\n className={`language-${language}${shadow ? ` shadow-${shadow}` : \"\"}`}\n tabIndex={0}\n aria-label={`Code in ${language}`}\n >\n {/* Line Numbers */}\n {showLineNumbers &&\n Array.from(Array(lines.length).keys()).map((index) => (\n <span\n key={index}\n className=\"line-numbers\"\n aria-hidden=\"true\"\n >\n {index + 1}\n </span>\n ))}\n\n {/* Code Content */}\n <code\n ref={setCodeElement}\n contentEditable={makeEditable}\n suppressContentEditableWarning={true}\n spellCheck=\"false\"\n className={`language-${language} ${isLoading ? \"is-loading\" : \"\"}`}\n >\n {initialCode}\n </code>\n </pre>\n </Element>\n );\n});\nCodeBlock.displayName = \"CodeBlock\";\n"],"names":["CodeBlock","React","children","source","language","showCopyButton","showLineNumbers","description","withSyntaxHighlighting","makeEditable","onChange","shadow","props","ref","isCodeCopied","setIsCodeCopied","useState","prismModule","setPrismModule","isLoading","setIsLoading","codeElement","setCodeElement","preRef","useRef","initialCode","useEffect","Prism","error","_a","getCursorPosition","useCallback","selection","range","currentNode","absoluteOffset","treeWalker","node","highlightCode","content","cursorPosition","highlighted","newRange","currentOffset","length","handleInput","event","element","copyToClipboard","textToCopy","err","handleKeyDown","classNames","lines","jsxs","Element","jsx","Badge","Button","index"],"mappings":"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"}
@@ -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: e, label: t, ...o }, i) => {
8
+ let a = [];
9
+ return r && a.push(r), /* @__PURE__ */ l(
10
+ s,
11
+ {
12
+ as: "hr",
13
+ "data-hrule": !0,
14
+ ref: i,
15
+ classNames: a,
16
+ role: "separator",
17
+ "aria-orientation": "horizontal",
18
+ "aria-label": t,
19
+ ...o,
20
+ style: { height: e }
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}}\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,OAAO,EAAC,QAAAF,EAAA;AAAA,MAAe;AAAA,IAAA;AAAA,EAGnC;AACJ;AACAH,EAAQ,cAAc;"}