boreal-ui 0.0.17 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/dist/core/{Accordion-DOhvj3Ty.js → Accordion-CY5BCoA7.js} +2 -2
  2. package/dist/core/Accordion-CY5BCoA7.js.map +1 -0
  3. package/dist/core/{Accordion-DQsSUVAE.cjs → Accordion-D6hxjkE1.cjs} +2 -2
  4. package/dist/core/Accordion-D6hxjkE1.cjs.map +1 -0
  5. package/dist/core/Accordion.cjs.js +1 -1
  6. package/dist/core/Accordion.js +1 -1
  7. package/dist/core/{Avatar-B5aqfDZX.cjs → Avatar-B3hD_M2R.cjs} +2 -2
  8. package/dist/core/Avatar-B3hD_M2R.cjs.map +1 -0
  9. package/dist/core/{Avatar-mhtrG5FT.js → Avatar-BxHxzh30.js} +2 -2
  10. package/dist/core/Avatar-BxHxzh30.js.map +1 -0
  11. package/dist/core/Avatar.cjs.js +1 -1
  12. package/dist/core/Avatar.js +1 -1
  13. package/dist/core/{Footer-Dc_CuIC1.cjs → Footer-BKfoTV0l.cjs} +2 -2
  14. package/dist/core/{Footer-Dc_CuIC1.cjs.map → Footer-BKfoTV0l.cjs.map} +1 -1
  15. package/dist/core/{Footer-7ixaMvFc.js → Footer-CJOKuXJh.js} +2 -2
  16. package/dist/core/{Footer-7ixaMvFc.js.map → Footer-CJOKuXJh.js.map} +1 -1
  17. package/dist/core/Footer.cjs.js +1 -1
  18. package/dist/core/Footer.js +1 -1
  19. package/dist/core/{NavBar-CDI5S3fK.cjs → NavBar-C8zI9Lvt.cjs} +2 -2
  20. package/dist/core/NavBar-C8zI9Lvt.cjs.map +1 -0
  21. package/dist/core/{NavBar-Dyd9USO4.js → NavBar-CNoWBQIV.js} +2 -2
  22. package/dist/core/NavBar-CNoWBQIV.js.map +1 -0
  23. package/dist/core/NavBar.cjs.js +1 -1
  24. package/dist/core/NavBar.js +1 -1
  25. package/dist/core/{PopOver-OijKNHZU.cjs → PopOver-BdZXa2hs.cjs} +2 -2
  26. package/dist/core/{PopOver-OijKNHZU.cjs.map → PopOver-BdZXa2hs.cjs.map} +1 -1
  27. package/dist/core/{PopOver-DNqWcWjU.js → PopOver-C6AnRNop.js} +2 -2
  28. package/dist/core/{PopOver-DNqWcWjU.js.map → PopOver-C6AnRNop.js.map} +1 -1
  29. package/dist/core/PopOver.cjs.js +1 -1
  30. package/dist/core/PopOver.js +1 -1
  31. package/dist/core/{STT-aXWWubSC.js → STT-CA0J3Cr9.js} +4 -3
  32. package/dist/core/STT-CA0J3Cr9.js.map +1 -0
  33. package/dist/core/{STT-D6L-amjZ.cjs → STT-CKXp-dIO.cjs} +4 -3
  34. package/dist/core/STT-CKXp-dIO.cjs.map +1 -0
  35. package/dist/core/ScrollToTop.cjs.js +1 -1
  36. package/dist/core/ScrollToTop.js +1 -1
  37. package/dist/core/{Select-_12yQ-yj.js → Select-CDWU_cuN.js} +2 -2
  38. package/dist/core/{Select-_12yQ-yj.js.map → Select-CDWU_cuN.js.map} +1 -1
  39. package/dist/core/{Select-CitauzQm.cjs → Select-DWzxymiA.cjs} +2 -2
  40. package/dist/core/{Select-CitauzQm.cjs.map → Select-DWzxymiA.cjs.map} +1 -1
  41. package/dist/core/Select.cjs.js +1 -1
  42. package/dist/core/Select.js +1 -1
  43. package/dist/core/Sidebar-CqTJJULG.cjs.map +1 -1
  44. package/dist/core/Sidebar-z0mG5nn_.js.map +1 -1
  45. package/dist/core/{Taginput-BMPHihSz.cjs → TagInput-BMPHihSz.cjs} +1 -1
  46. package/dist/core/{Taginput-BMPHihSz.cjs.map → TagInput-BMPHihSz.cjs.map} +1 -1
  47. package/dist/core/{Taginput-CrScreYL.js → TagInput-CrScreYL.js} +1 -1
  48. package/dist/core/{Taginput-CrScreYL.js.map → TagInput-CrScreYL.js.map} +1 -1
  49. package/dist/core/TagInput.cjs.js +2 -2
  50. package/dist/core/TagInput.js +1 -1
  51. package/dist/core/{Toolbar-Cg_ofRqY.cjs → Toolbar-CEiYjTwB.cjs} +2 -2
  52. package/dist/core/{Toolbar-Cg_ofRqY.cjs.map → Toolbar-CEiYjTwB.cjs.map} +1 -1
  53. package/dist/core/{Toolbar-94Pu5-SL.js → Toolbar-D3gg3Q2K.js} +2 -2
  54. package/dist/core/{Toolbar-94Pu5-SL.js.map → Toolbar-D3gg3Q2K.js.map} +1 -1
  55. package/dist/core/Toolbar.cjs.js +1 -1
  56. package/dist/core/Toolbar.js +1 -1
  57. package/dist/core/index.cjs.js +10 -10
  58. package/dist/core/index.js +9 -9
  59. package/dist/next/{Accordion-Bu2IAjE6.js → Accordion-DD5oHwaa.js} +2 -2
  60. package/dist/next/Accordion-DD5oHwaa.js.map +1 -0
  61. package/dist/next/{Accordion-BD-HsAos.cjs → Accordion-P9JXxfBX.cjs} +2 -2
  62. package/dist/next/Accordion-P9JXxfBX.cjs.map +1 -0
  63. package/dist/next/Accordion.cjs.js +1 -1
  64. package/dist/next/Accordion.js +1 -1
  65. package/dist/next/{Avatar-B0vflpuy.js → Avatar-0OXmXwmQ.js} +2 -2
  66. package/dist/next/Avatar-0OXmXwmQ.js.map +1 -0
  67. package/dist/next/{Avatar-DjuHvrMV.cjs → Avatar-CguQwhBN.cjs} +2 -2
  68. package/dist/next/Avatar-CguQwhBN.cjs.map +1 -0
  69. package/dist/next/Avatar.cjs.js +1 -1
  70. package/dist/next/Avatar.js +1 -1
  71. package/dist/next/{Footer-J0Tb7-n4.cjs → Footer-CLvhExUU.cjs} +2 -2
  72. package/dist/next/{Footer-J0Tb7-n4.cjs.map → Footer-CLvhExUU.cjs.map} +1 -1
  73. package/dist/next/{Footer-bb_8EH_R.js → Footer-CzA8xCa3.js} +2 -2
  74. package/dist/next/{Footer-bb_8EH_R.js.map → Footer-CzA8xCa3.js.map} +1 -1
  75. package/dist/next/Footer.cjs.js +1 -1
  76. package/dist/next/Footer.js +1 -1
  77. package/dist/next/{NavBar-Br6pYp7w.js → NavBar-BXbAUNSJ.js} +2 -2
  78. package/dist/next/NavBar-BXbAUNSJ.js.map +1 -0
  79. package/dist/next/{NavBar-CGuVgKpW.cjs → NavBar-CXqV4sKP.cjs} +2 -2
  80. package/dist/next/NavBar-CXqV4sKP.cjs.map +1 -0
  81. package/dist/next/NavBar.cjs.js +1 -1
  82. package/dist/next/NavBar.js +1 -1
  83. package/dist/next/{PopOver-CHs0s9rp.cjs → PopOver-CAxcmHRx.cjs} +2 -2
  84. package/dist/next/{PopOver-CHs0s9rp.cjs.map → PopOver-CAxcmHRx.cjs.map} +1 -1
  85. package/dist/next/{PopOver-pllmYvp6.js → PopOver-Cz4BCVFe.js} +2 -2
  86. package/dist/next/{PopOver-pllmYvp6.js.map → PopOver-Cz4BCVFe.js.map} +1 -1
  87. package/dist/next/PopOver.cjs.js +1 -1
  88. package/dist/next/PopOver.js +1 -1
  89. package/dist/next/{STT-Br81yPXp.js → STT-B5eE92VH.js} +4 -3
  90. package/dist/next/STT-B5eE92VH.js.map +1 -0
  91. package/dist/next/{STT-C0q3yqiJ.cjs → STT-CLZjfsV_.cjs} +4 -3
  92. package/dist/next/STT-CLZjfsV_.cjs.map +1 -0
  93. package/dist/next/ScrollToTop.cjs.js +1 -1
  94. package/dist/next/ScrollToTop.js +1 -1
  95. package/dist/next/{Select-CdWyrGrV.js → Select-D-9wuabW.js} +2 -2
  96. package/dist/next/{Select-CdWyrGrV.js.map → Select-D-9wuabW.js.map} +1 -1
  97. package/dist/next/{Select-Bln5-seQ.cjs → Select-DxQS7u41.cjs} +2 -2
  98. package/dist/next/{Select-Bln5-seQ.cjs.map → Select-DxQS7u41.cjs.map} +1 -1
  99. package/dist/next/Select.cjs.js +1 -1
  100. package/dist/next/Select.js +1 -1
  101. package/dist/next/Sidebar-B9jHy0wy.js.map +1 -1
  102. package/dist/next/Sidebar-PUffGMhm.cjs.map +1 -1
  103. package/dist/next/{Taginput-BcNgwFOj.cjs → TagInput-BcNgwFOj.cjs} +1 -1
  104. package/dist/next/{Taginput-BcNgwFOj.cjs.map → TagInput-BcNgwFOj.cjs.map} +1 -1
  105. package/dist/next/{Taginput-CdYMgcYY.js → TagInput-CdYMgcYY.js} +1 -1
  106. package/dist/next/{Taginput-CdYMgcYY.js.map → TagInput-CdYMgcYY.js.map} +1 -1
  107. package/dist/next/TagInput.cjs.js +2 -2
  108. package/dist/next/TagInput.js +1 -1
  109. package/dist/next/{Toolbar-B8AB6ADW.js → Toolbar-C1_m1ygd.js} +2 -2
  110. package/dist/next/{Toolbar-B8AB6ADW.js.map → Toolbar-C1_m1ygd.js.map} +1 -1
  111. package/dist/next/{Toolbar-BIruaq82.cjs → Toolbar-OpUQ2wdO.cjs} +2 -2
  112. package/dist/next/{Toolbar-BIruaq82.cjs.map → Toolbar-OpUQ2wdO.cjs.map} +1 -1
  113. package/dist/next/Toolbar.cjs.js +1 -1
  114. package/dist/next/Toolbar.js +1 -1
  115. package/dist/next/index.cjs.js +10 -10
  116. package/dist/next/index.js +10 -10
  117. package/dist/tsconfig.build.tsbuildinfo +1 -1
  118. package/dist/types/components/ScrollToTop/ScrollToTop.types.d.ts +40 -0
  119. package/dist/types/components/ScrollToTop/ScrollToTop.types.d.ts.map +1 -0
  120. package/dist/types/components/ScrollToTop/ScrollToTopBase.d.ts +2 -7
  121. package/dist/types/components/ScrollToTop/ScrollToTopBase.d.ts.map +1 -1
  122. package/dist/types/components/Sidebar/Sidebar.types.d.ts +0 -6
  123. package/dist/types/components/Sidebar/Sidebar.types.d.ts.map +1 -1
  124. package/dist/types/components/Sidebar/SidebarBase.d.ts +1 -0
  125. package/dist/types/components/Sidebar/SidebarBase.d.ts.map +1 -1
  126. package/dist/types/components/TagInput/core/{Taginput.d.ts → TagInput.d.ts} +1 -1
  127. package/dist/types/components/TagInput/core/{Taginput.d.ts.map → TagInput.d.ts.map} +1 -1
  128. package/dist/types/components/TagInput/next/{Taginput.d.ts → TagInput.d.ts} +1 -1
  129. package/dist/types/components/TagInput/next/TagInput.d.ts.map +1 -0
  130. package/dist/types/index.core.d.ts +1 -1
  131. package/dist/types/index.next.d.ts +1 -1
  132. package/dist/types/public.types.d.ts +1 -0
  133. package/package.json +1 -1
  134. package/dist/core/Accordion-DOhvj3Ty.js.map +0 -1
  135. package/dist/core/Accordion-DQsSUVAE.cjs.map +0 -1
  136. package/dist/core/Avatar-B5aqfDZX.cjs.map +0 -1
  137. package/dist/core/Avatar-mhtrG5FT.js.map +0 -1
  138. package/dist/core/NavBar-CDI5S3fK.cjs.map +0 -1
  139. package/dist/core/NavBar-Dyd9USO4.js.map +0 -1
  140. package/dist/core/STT-D6L-amjZ.cjs.map +0 -1
  141. package/dist/core/STT-aXWWubSC.js.map +0 -1
  142. package/dist/next/Accordion-BD-HsAos.cjs.map +0 -1
  143. package/dist/next/Accordion-Bu2IAjE6.js.map +0 -1
  144. package/dist/next/Avatar-B0vflpuy.js.map +0 -1
  145. package/dist/next/Avatar-DjuHvrMV.cjs.map +0 -1
  146. package/dist/next/NavBar-Br6pYp7w.js.map +0 -1
  147. package/dist/next/NavBar-CGuVgKpW.cjs.map +0 -1
  148. package/dist/next/STT-Br81yPXp.js.map +0 -1
  149. package/dist/next/STT-C0q3yqiJ.cjs.map +0 -1
  150. package/dist/types/components/TagInput/next/Taginput.d.ts.map +0 -1
@@ -0,0 +1,40 @@
1
+ import { RoundingType, ShadowType } from "@/types";
2
+ /**
3
+ * Props for the ScrollToTopBase component.
4
+ */
5
+ export interface ScrollToTopProps {
6
+ /**
7
+ * Optional rounding style applied to the button.
8
+ */
9
+ rounding?: RoundingType;
10
+ /**
11
+ * Optional shadow style for the button.
12
+ */
13
+ shadow?: ShadowType;
14
+ /**
15
+ * The icon component to display inside the scroll-to-top button.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * import { FaArrowUp } from "react-icons/fa";
20
+ *
21
+ * <ScrollToTopBase IconComponent={FaArrowUp} />
22
+ * ```
23
+ */
24
+ IconComponent: React.ElementType;
25
+ /**
26
+ * The scroll offset (in pixels) from the top of the page at which the button becomes visible.
27
+ *
28
+ * @default 300
29
+ */
30
+ offset?: number;
31
+ /**
32
+ * Additional custom class names for the root element of the component.
33
+ */
34
+ className?: string;
35
+ /**
36
+ * Test identifier for the component, used to target it in testing frameworks.
37
+ */
38
+ "data-testid"?: string;
39
+ }
40
+ //# sourceMappingURL=ScrollToTop.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollToTop.types.d.ts","sourceRoot":"","sources":["../../../../src/components/ScrollToTop/ScrollToTop.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB;;;;;;;;;OASG;IACH,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC;IAEjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -1,12 +1,7 @@
1
- import { RoundingType, ShadowType } from "../../types/types";
2
1
  import React from "react";
3
- export interface ScrollToTopBaseProps {
2
+ import { ScrollToTopProps } from "./ScrollToTop.types";
3
+ export interface ScrollToTopBaseProps extends ScrollToTopProps {
4
4
  classMap: Record<string, string>;
5
- rounding?: RoundingType;
6
- shadow?: ShadowType;
7
- IconComponent: React.ElementType;
8
- offset?: number;
9
- "data-testid"?: string;
10
5
  }
11
6
  declare const ScrollToTopBase: React.FC<ScrollToTopBaseProps>;
12
7
  export default ScrollToTopBase;
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollToTopBase.d.ts","sourceRoot":"","sources":["../../../../src/components/ScrollToTop/ScrollToTopBase.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAsDnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"ScrollToTopBase.d.ts","sourceRoot":"","sources":["../../../../src/components/ScrollToTop/ScrollToTopBase.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAuDnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -42,12 +42,6 @@ export interface SidebarProps {
42
42
  * The current active path, used to highlight the active link.
43
43
  */
44
44
  currentPath: string;
45
- /**
46
- * Optional custom link component.
47
- * Useful for integrating with frameworks like Next.js or React Router.
48
- * Defaults to an HTML `<a>` element.
49
- */
50
- LinkComponent?: React.ElementType;
51
45
  /**
52
46
  * Whether to display a footer section at the bottom of the sidebar.
53
47
  * Defaults to `false`.
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.types.d.ts","sourceRoot":"","sources":["../../../../src/components/Sidebar/Sidebar.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzE,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,EAAE,WAAW,EAAE,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IAElC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAElC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"Sidebar.types.d.ts","sourceRoot":"","sources":["../../../../src/components/Sidebar/Sidebar.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzE,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,EAAE,WAAW,EAAE,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAElC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import { SidebarProps } from "./Sidebar.types";
3
3
  export interface BaseSidebarProps extends SidebarProps {
4
4
  classMap: Record<string, string>;
5
+ LinkComponent?: React.ElementType;
5
6
  }
6
7
  declare const SidebarBase: React.FC<BaseSidebarProps>;
7
8
  export default SidebarBase;
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarBase.d.ts","sourceRoot":"","sources":["../../../../src/components/Sidebar/SidebarBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAwK3C,CAAC;AAIF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"SidebarBase.d.ts","sourceRoot":"","sources":["../../../../src/components/Sidebar/SidebarBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;CACnC;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAwK3C,CAAC;AAIF,eAAe,WAAW,CAAC"}
@@ -3,4 +3,4 @@ import "./Taginput.scss";
3
3
  import { TagInputProps } from "../Taginput.types";
4
4
  declare const TagInput: React.FC<TagInputProps>;
5
5
  export default TagInput;
6
- //# sourceMappingURL=Taginput.d.ts.map
6
+ //# sourceMappingURL=TagInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Taginput.d.ts","sourceRoot":"","sources":["../../../../../src/components/TagInput/core/Taginput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,iBAAiB,CAAC;AAIzB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA0ClD,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CASrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"TagInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/TagInput/core/TagInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,iBAAiB,CAAC;AAIzB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA0ClD,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CASrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -2,4 +2,4 @@ import React from "react";
2
2
  import { TagInputProps } from "../Taginput.types";
3
3
  declare const TagInput: React.FC<TagInputProps>;
4
4
  export default TagInput;
5
- //# sourceMappingURL=Taginput.d.ts.map
5
+ //# sourceMappingURL=TagInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/TagInput/next/TagInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CASrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -12,7 +12,7 @@ export { default as TextArea } from "./components/TextArea/core/TextArea";
12
12
  export { default as Select } from "./components/Select/core/Select";
13
13
  export { default as ThemeSelect } from "./components/Select/ThemeSelect/core/ThemeSelect";
14
14
  export { default as FileUpload } from "./components/FileUpload/core/FileUpload";
15
- export { default as TagInput } from "./components/TagInput/core/Taginput";
15
+ export { default as TagInput } from "./components/TagInput/core/TagInput";
16
16
  export { default as RadioButton } from "./components/RadioButton/core/RadioButton";
17
17
  export { default as Slider } from "./components/Slider/core/Slider";
18
18
  export { default as Checkbox } from "./components/Checkbox/core/Checkbox";
@@ -11,7 +11,7 @@ export { default as TextArea } from "./components/TextArea/next/TextArea";
11
11
  export { default as Select } from "./components/Select/next/Select";
12
12
  export { default as ThemeSelect } from "./components/Select/ThemeSelect/next/ThemeSelect";
13
13
  export { default as FileUpload } from "./components/FileUpload/next/FileUpload";
14
- export { default as TagInput } from "./components/TagInput/next/Taginput";
14
+ export { default as TagInput } from "./components/TagInput/next/TagInput";
15
15
  export { default as RadioButton } from "./components/RadioButton/next/RadioButton";
16
16
  export { default as Slider } from "./components/Slider/next/Slider";
17
17
  export { default as Checkbox } from "./components/Checkbox/next/Checkbox";
@@ -29,6 +29,7 @@ export * from "./components/PopOver/PopOver.types";
29
29
  export * from "./components/ProgressBar/ProgressBar.types";
30
30
  export * from "./components/RadioButton/RadioButton.types";
31
31
  export * from "./components/Rating/Rating.types";
32
+ export * from "./components/ScrollToTop/ScrollToTop.types";
32
33
  export * from "./components/Select/Select.types";
33
34
  export * from "./components/Sidebar/Sidebar.types";
34
35
  export * from "./components/Skeleton/Skeleton.types";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "boreal-ui",
3
- "version": "0.0.17",
3
+ "version": "0.0.19",
4
4
  "description": "A modern, customizable React/Next.js component library",
5
5
  "author": "Davin Chiupka",
6
6
  "license": "ISC",
@@ -1 +0,0 @@
1
- {"version":3,"file":"Accordion-DOhvj3Ty.js","sources":["../../src/components/Accordion/AccordionBase.tsx","../../src/components/Accordion/core/Accordion.tsx"],"sourcesContent":["import React, { useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { AccordionProps } from \"./Accordion.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface AccordionBaseProps extends AccordionProps {\r\n getUniqueId: () => string;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nexport const AccordionBase: React.FC<AccordionBaseProps> = ({\r\n title,\r\n id,\r\n children,\r\n lazyLoad = false,\r\n iconPosition = \"right\",\r\n isToggleable = true,\r\n asyncContent = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n description,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n expanded,\r\n disabled,\r\n customCollapsedIcon,\r\n customExpandedIcon,\r\n onToggle,\r\n initiallyExpanded = false,\r\n className = \"\",\r\n getUniqueId,\r\n classMap,\r\n \"data-testid\": testId,\r\n ...rest\r\n}) => {\r\n const isControlled = expanded !== undefined;\r\n const internalId = useMemo(getUniqueId, []);\r\n const [internalExpanded, setInternalExpanded] = useState(initiallyExpanded);\r\n const [hasBeenExpanded, setHasBeenExpanded] = useState(initiallyExpanded);\r\n const [isLoading, setIsLoading] = useState(asyncContent && initiallyExpanded);\r\n const isExpanded = isControlled ? expanded : internalExpanded;\r\n\r\n const contentId = `${id || internalId}-content`;\r\n const buttonId = `${id || internalId}-button`;\r\n const descId = description ? `${id || internalId}-desc` : undefined;\r\n\r\n const toggleAccordion = () => {\r\n if (disabled) return;\r\n if (!isToggleable && isExpanded) return;\r\n isControlled ? onToggle?.(!expanded) : setInternalExpanded((prev) => !prev);\r\n };\r\n\r\n const handleKeyDown = (e: KeyboardEvent) => {\r\n if (disabled) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n toggleAccordion();\r\n }\r\n };\r\n\r\n useMemo(() => {\r\n if (isExpanded && !hasBeenExpanded) {\r\n setHasBeenExpanded(true);\r\n }\r\n }, [isExpanded]);\r\n\r\n useMemo(() => {\r\n if (asyncContent && isExpanded && isLoading) {\r\n const timer = setTimeout(() => {\r\n setIsLoading(false);\r\n }, 1000);\r\n\r\n return () => clearTimeout(timer);\r\n }\r\n }, [asyncContent, isExpanded, isLoading]);\r\n\r\n const renderedIcon = isExpanded\r\n ? (customExpandedIcon ?? \"−\")\r\n : (customCollapsedIcon ?? \"+\");\r\n\r\n const wrapperClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.accordion,\r\n classMap[size],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded,\r\n className\r\n ),\r\n [classMap, size, disabled, isExpanded, className]\r\n );\r\n\r\n const headerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.header,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded\r\n ),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const contentClassName = useMemo(\r\n () => combineClassNames(classMap.content, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const iconClassName = useMemo(\r\n () => combineClassNames(classMap.icon, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n return (\r\n <div {...rest} className={wrapperClassName}>\r\n <button\r\n id={buttonId}\r\n className={headerClassName}\r\n onClick={toggleAccordion}\r\n onKeyDown={handleKeyDown}\r\n type=\"button\"\r\n aria-expanded={isExpanded}\r\n aria-controls={contentId}\r\n aria-disabled={disabled}\r\n aria-describedby={descId}\r\n tabIndex={disabled ? -1 : 0}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-accordion-toggle` : undefined}\r\n >\r\n {iconPosition === \"left\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n <span\r\n className={classMap.accordionTitle}\r\n data-testid={testId ? `${testId}-title` : undefined}\r\n >\r\n {title}\r\n </span>\r\n {iconPosition === \"right\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n </button>\r\n\r\n {description && (\r\n <span\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={testId ? `${testId}-description` : undefined}\r\n >\r\n {description}\r\n </span>\r\n )}\r\n\r\n <div\r\n id={contentId}\r\n role=\"region\"\r\n aria-labelledby={buttonId}\r\n className={contentClassName}\r\n data-state={isExpanded ? \"open\" : \"collapsed\"}\r\n data-testid={testId ? `${testId}-content` : undefined}\r\n >\r\n {isExpanded && asyncContent && isLoading && (\r\n <div className={classMap.loading}>Loading...</div>\r\n )}\r\n {(!lazyLoad || hasBeenExpanded) &&\r\n (!asyncContent || !isLoading) &&\r\n children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nAccordionBase.displayName = \"AccordionBase\";\r\n","import React from \"react\";\r\nimport \"./Accordion.scss\";\r\nimport { AccordionBase } from \"../AccordionBase\";\r\nimport type { AccordionProps } from \"../Accordion.types\";\r\n\r\nconst classes = {\r\n accordion: \"accordion\",\r\n header: \"accordion_header\",\r\n content: \"accordion_content\",\r\n icon: \"accordion_icon\",\r\n title: \"accordion_title\",\r\n\r\n shadowNone: \"accordion_shadow-None\",\r\n shadowLight: \"accordion_shadow-Light\",\r\n shadowMedium: \"accordion_shadow-Medium\",\r\n shadowStrong: \"accordion_shadow-Strong\",\r\n shadowIntense: \"accordion_shadow-Intense\",\r\n\r\n roundNone: \"accordion_round-None\",\r\n roundSmall: \"accordion_round-Small\",\r\n roundMedium: \"accordion_round-Medium\",\r\n roundLarge: \"accordion_round-Large\",\r\n\r\n disabled: \"accordion_disabled\",\r\n expanded: \"accordion_expanded\",\r\n\r\n primary: \"accordion_primary\",\r\n secondary: \"accordion_secondary\",\r\n\r\n tertiary: \"accordion_tertiary\",\r\n quaternary: \"accordion_quaternary\",\r\n\r\n success: \"accordion_success\",\r\n error: \"accordion_error\",\r\n warning: \"accordion_warning\",\r\n clear: \"accordion_clear\",\r\n outline: \"accordion_outline\",\r\n\r\n xs: \"accordion_xs\",\r\n small: \"accordion_small\",\r\n medium: \"accordion_medium\",\r\n large: \"accordion_large\",\r\n xl: \"accordion_xl\",\r\n};\r\n\r\nconst generateUniqueId = (() => {\r\n let counter = 0;\r\n return () => `accordion-core-${counter++}`;\r\n})();\r\n\r\nconst Accordion: React.FC<AccordionProps> = (props) => (\r\n <AccordionBase {...props} getUniqueId={generateUniqueId} classMap={classes} />\r\n);\r\n\r\nexport default Accordion;\r\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Accordion-DQsSUVAE.cjs","sources":["../../src/components/Accordion/AccordionBase.tsx","../../src/components/Accordion/core/Accordion.tsx"],"sourcesContent":["import React, { useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { AccordionProps } from \"./Accordion.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface AccordionBaseProps extends AccordionProps {\r\n getUniqueId: () => string;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nexport const AccordionBase: React.FC<AccordionBaseProps> = ({\r\n title,\r\n id,\r\n children,\r\n lazyLoad = false,\r\n iconPosition = \"right\",\r\n isToggleable = true,\r\n asyncContent = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n description,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n expanded,\r\n disabled,\r\n customCollapsedIcon,\r\n customExpandedIcon,\r\n onToggle,\r\n initiallyExpanded = false,\r\n className = \"\",\r\n getUniqueId,\r\n classMap,\r\n \"data-testid\": testId,\r\n ...rest\r\n}) => {\r\n const isControlled = expanded !== undefined;\r\n const internalId = useMemo(getUniqueId, []);\r\n const [internalExpanded, setInternalExpanded] = useState(initiallyExpanded);\r\n const [hasBeenExpanded, setHasBeenExpanded] = useState(initiallyExpanded);\r\n const [isLoading, setIsLoading] = useState(asyncContent && initiallyExpanded);\r\n const isExpanded = isControlled ? expanded : internalExpanded;\r\n\r\n const contentId = `${id || internalId}-content`;\r\n const buttonId = `${id || internalId}-button`;\r\n const descId = description ? `${id || internalId}-desc` : undefined;\r\n\r\n const toggleAccordion = () => {\r\n if (disabled) return;\r\n if (!isToggleable && isExpanded) return;\r\n isControlled ? onToggle?.(!expanded) : setInternalExpanded((prev) => !prev);\r\n };\r\n\r\n const handleKeyDown = (e: KeyboardEvent) => {\r\n if (disabled) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n toggleAccordion();\r\n }\r\n };\r\n\r\n useMemo(() => {\r\n if (isExpanded && !hasBeenExpanded) {\r\n setHasBeenExpanded(true);\r\n }\r\n }, [isExpanded]);\r\n\r\n useMemo(() => {\r\n if (asyncContent && isExpanded && isLoading) {\r\n const timer = setTimeout(() => {\r\n setIsLoading(false);\r\n }, 1000);\r\n\r\n return () => clearTimeout(timer);\r\n }\r\n }, [asyncContent, isExpanded, isLoading]);\r\n\r\n const renderedIcon = isExpanded\r\n ? (customExpandedIcon ?? \"−\")\r\n : (customCollapsedIcon ?? \"+\");\r\n\r\n const wrapperClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.accordion,\r\n classMap[size],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded,\r\n className\r\n ),\r\n [classMap, size, disabled, isExpanded, className]\r\n );\r\n\r\n const headerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.header,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded\r\n ),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const contentClassName = useMemo(\r\n () => combineClassNames(classMap.content, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const iconClassName = useMemo(\r\n () => combineClassNames(classMap.icon, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n return (\r\n <div {...rest} className={wrapperClassName}>\r\n <button\r\n id={buttonId}\r\n className={headerClassName}\r\n onClick={toggleAccordion}\r\n onKeyDown={handleKeyDown}\r\n type=\"button\"\r\n aria-expanded={isExpanded}\r\n aria-controls={contentId}\r\n aria-disabled={disabled}\r\n aria-describedby={descId}\r\n tabIndex={disabled ? -1 : 0}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-accordion-toggle` : undefined}\r\n >\r\n {iconPosition === \"left\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n <span\r\n className={classMap.accordionTitle}\r\n data-testid={testId ? `${testId}-title` : undefined}\r\n >\r\n {title}\r\n </span>\r\n {iconPosition === \"right\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n </button>\r\n\r\n {description && (\r\n <span\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={testId ? `${testId}-description` : undefined}\r\n >\r\n {description}\r\n </span>\r\n )}\r\n\r\n <div\r\n id={contentId}\r\n role=\"region\"\r\n aria-labelledby={buttonId}\r\n className={contentClassName}\r\n data-state={isExpanded ? \"open\" : \"collapsed\"}\r\n data-testid={testId ? `${testId}-content` : undefined}\r\n >\r\n {isExpanded && asyncContent && isLoading && (\r\n <div className={classMap.loading}>Loading...</div>\r\n )}\r\n {(!lazyLoad || hasBeenExpanded) &&\r\n (!asyncContent || !isLoading) &&\r\n children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nAccordionBase.displayName = \"AccordionBase\";\r\n","import React from \"react\";\r\nimport \"./Accordion.scss\";\r\nimport { AccordionBase } from \"../AccordionBase\";\r\nimport type { AccordionProps } from \"../Accordion.types\";\r\n\r\nconst classes = {\r\n accordion: \"accordion\",\r\n header: \"accordion_header\",\r\n content: \"accordion_content\",\r\n icon: \"accordion_icon\",\r\n title: \"accordion_title\",\r\n\r\n shadowNone: \"accordion_shadow-None\",\r\n shadowLight: \"accordion_shadow-Light\",\r\n shadowMedium: \"accordion_shadow-Medium\",\r\n shadowStrong: \"accordion_shadow-Strong\",\r\n shadowIntense: \"accordion_shadow-Intense\",\r\n\r\n roundNone: \"accordion_round-None\",\r\n roundSmall: \"accordion_round-Small\",\r\n roundMedium: \"accordion_round-Medium\",\r\n roundLarge: \"accordion_round-Large\",\r\n\r\n disabled: \"accordion_disabled\",\r\n expanded: \"accordion_expanded\",\r\n\r\n primary: \"accordion_primary\",\r\n secondary: \"accordion_secondary\",\r\n\r\n tertiary: \"accordion_tertiary\",\r\n quaternary: \"accordion_quaternary\",\r\n\r\n success: \"accordion_success\",\r\n error: \"accordion_error\",\r\n warning: \"accordion_warning\",\r\n clear: \"accordion_clear\",\r\n outline: \"accordion_outline\",\r\n\r\n xs: \"accordion_xs\",\r\n small: \"accordion_small\",\r\n medium: \"accordion_medium\",\r\n large: \"accordion_large\",\r\n xl: \"accordion_xl\",\r\n};\r\n\r\nconst generateUniqueId = (() => {\r\n let counter = 0;\r\n return () => `accordion-core-${counter++}`;\r\n})();\r\n\r\nconst Accordion: React.FC<AccordionProps> = (props) => (\r\n <AccordionBase {...props} getUniqueId={generateUniqueId} classMap={classes} />\r\n);\r\n\r\nexport default Accordion;\r\n"],"names":["getDefaultRounding","getDefaultShadow","getDefaultSize","getDefaultTheme","useMemo","useState","combineClassNames","capitalize","jsxs","jsx"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Avatar-B5aqfDZX.cjs","sources":["../../src/utils/getInitials.ts","../../src/Icons/UserIcon.tsx","../../src/components/Avatar/AvatarBase.tsx","../../src/components/Avatar/core/Avatar.tsx"],"sourcesContent":["/**\r\n * Returns the initials from a given full name string.\r\n *\r\n * Extracts the first character from the first word and the first character of the second word (if available).\r\n * If only one word is provided, it uses the first two characters of that word as a fallback.\r\n * If no valid characters are found, it returns \"?\".\r\n *\r\n * @param {string} name - The full name to extract initials from.\r\n * @returns {string} A string of up to two uppercase initials, or \"?\" if the input is empty or invalid.\r\n *\r\n * @example\r\n * getInitials(\"John Doe\"); // \"JD\"\r\n * getInitials(\"Alice\"); // \"AL\"\r\n * getInitials(\" \"); // \"?\"\r\n */\r\nexport const getInitials = (name: string): string => {\r\n const words = name.trim().split(/\\s+/);\r\n const first = words[0]?.[0] || \"\";\r\n const second = words[1]?.[0] || words[0]?.[1] || \"\";\r\n return (first + second).toUpperCase() || \"?\";\r\n};\r\n","const FallbackUserIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M5 20V19C5 15.134 8.13401 12 12 12V12C15.866 12 19 15.134 19 19V20\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M12 12C14.2091 12 16 10.2091 16 8C16 5.79086 14.2091 4 12 4C9.79086 4 8 5.79086 8 8C8 10.2091 9.79086 12 12 12Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default FallbackUserIcon;\r\n","import React, { useMemo, useState, MouseEvent } from \"react\";\r\nimport { AvatarProps } from \"./Avatar.types\";\r\nimport { getInitials } from \"../../utils/getInitials\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { FallbackUserIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nexport interface AvatarBaseProps extends AvatarProps {\r\n ImageComponent?: React.ElementType;\r\n LinkComponent?: React.ElementType;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nexport const AvatarBase: React.FC<AvatarBaseProps> = ({\r\n src,\r\n alt,\r\n name = \"\",\r\n label,\r\n onClick,\r\n disabled = false,\r\n href,\r\n status,\r\n statusIcon,\r\n statusPosition = \"bottomRight\",\r\n fallback,\r\n children,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"circle\",\r\n outline = false,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n priority = false,\r\n ImageComponent = \"img\",\r\n LinkComponent = \"a\",\r\n classMap,\r\n \"data-testid\": testId,\r\n}) => {\r\n const [imgError, setImgError] = useState(false);\r\n const computedLabel = label || alt || name || \"User avatar\";\r\n const fallbackContent =\r\n fallback ??\r\n (name ? (\r\n getInitials(name)\r\n ) : (\r\n <FallbackUserIcon className={classMap.fallback_icon} />\r\n ));\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.avatar,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[shape],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n onClick && classMap.clickable,\r\n className\r\n ),\r\n [theme, shape, size, outline, className]\r\n );\r\n\r\n const avatarContent =\r\n !imgError && src ? (\r\n <ImageComponent\r\n src={src}\r\n alt={computedLabel}\r\n className={classMap.image}\r\n onError={() => setImgError(true)}\r\n loading={priority ? \"eager\" : \"lazy\"}\r\n aria-hidden=\"false\"\r\n role=\"img\"\r\n data-testid={testId ? `${testId}-image` : undefined}\r\n fill={true}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.initials}\r\n role=\"img\"\r\n aria-label={computedLabel}\r\n title={computedLabel}\r\n data-testid={testId ? `${testId}-initials` : undefined}\r\n >\r\n {fallbackContent}\r\n </span>\r\n );\r\n\r\n const statusIndicator = (status || statusIcon) && (\r\n <span\r\n className={combineClassNames(\r\n classMap.status,\r\n status && classMap[status],\r\n statusIcon ? \"icon_only\" : undefined,\r\n classMap[statusPosition]\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-status` : undefined}\r\n >\r\n {statusIcon || <span className={classMap.dot} />}\r\n </span>\r\n );\r\n\r\n const content = (\r\n <>\r\n {children ?? avatarContent}\r\n {statusIndicator}\r\n </>\r\n );\r\n\r\n const handleClick = (e: MouseEvent<HTMLElement>) => {\r\n onClick?.(e as MouseEvent<HTMLButtonElement | HTMLAnchorElement>);\r\n if (!href) e.preventDefault();\r\n };\r\n\r\n const ariaAttrs = {\r\n \"aria-label\": computedLabel,\r\n \"aria-disabled\": false,\r\n };\r\n\r\n if (href) {\r\n if (LinkComponent === \"a\") {\r\n return (\r\n <a\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid=\"avatar\"\r\n target={href.startsWith(\"http\") ? \"_blank\" : undefined}\r\n rel={href.startsWith(\"http\") ? \"noopener noreferrer\" : undefined}\r\n {...ariaAttrs}\r\n >\r\n {content}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <LinkComponent\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...ariaAttrs}\r\n >\r\n {content}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n type=\"button\"\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...ariaAttrs}\r\n >\r\n {content}\r\n </button>\r\n );\r\n};\r\n\r\nAvatarBase.displayName = \"AvatarBase\";\r\n","import React from \"react\";\r\nimport \"./Avatar.scss\";\r\nimport { AvatarProps } from \"../Avatar.types\";\r\nimport { AvatarBase } from \"../AvatarBase\";\r\n\r\nconst classes = {\r\n avatar: \"avatar\",\r\n primary: \"avatar_primary\",\r\n secondary: \"avatar_secondary\",\r\n tertiary: \"avatar_tertiary\",\r\n quaternary: \"avatar_quaternary\",\r\n success: \"avatar_success\",\r\n warning: \"avatar_warning\",\r\n error: \"avatar_error\",\r\n clear: \"avatar_clear\",\r\n outline: \"avatar_outline\",\r\n\r\n clickable: \"avatar_clickable\",\r\n disabled: \"avatar_disabled\",\r\n\r\n circle: \"avatar_circle\",\r\n square: \"avatar_square\",\r\n rounded: \"avatar_rounded\",\r\n\r\n xs: \"avatar_xs\",\r\n small: \"avatar_small\",\r\n medium: \"avatar_medium\",\r\n large: \"avatar_large\",\r\n xl: \"avatar_xl\",\r\n\r\n shadowNone: \"avatar_shadow-None\",\r\n shadowLight: \"avatar_shadow-Light\",\r\n shadowMedium: \"avatar_shadow-Medium\",\r\n shadowStrong: \"avatar_shadow-Strong\",\r\n shadowIntense: \"avatar_shadow-Intense\",\r\n\r\n image: \"avatar_image\",\r\n initials: \"avatar_initials\",\r\n fallback_icon: \"avatar_fallback_icon\",\r\n icon_only: \"avatar_icon_only\",\r\n status: \"avatar_status\",\r\n online: \"avatar_status_online\",\r\n offline: \"avatar_status_offline\",\r\n away: \"avatar_status_away\",\r\n busy: \"avatar_status_busy\",\r\n topRight: \"avatar_status_topRight\",\r\n bottomRight: \"avatar_status_bottomRight\",\r\n bottomLeft: \"avatar_status_bottomLeft\",\r\n topLeft: \"avatar_status_topLeft\",\r\n\r\n dot: \"avatar_dot\",\r\n};\r\n\r\nconst Avatar: React.FC<AvatarProps> = (props) => (\r\n <AvatarBase {...props} classMap={classes} />\r\n);\r\n\r\nexport default Avatar;\r\n"],"names":["jsxs","jsx","getDefaultSize","getDefaultShadow","getDefaultTheme","useState","useMemo","combineClassNames","capitalize","Fragment"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Avatar-mhtrG5FT.js","sources":["../../src/utils/getInitials.ts","../../src/Icons/UserIcon.tsx","../../src/components/Avatar/AvatarBase.tsx","../../src/components/Avatar/core/Avatar.tsx"],"sourcesContent":["/**\r\n * Returns the initials from a given full name string.\r\n *\r\n * Extracts the first character from the first word and the first character of the second word (if available).\r\n * If only one word is provided, it uses the first two characters of that word as a fallback.\r\n * If no valid characters are found, it returns \"?\".\r\n *\r\n * @param {string} name - The full name to extract initials from.\r\n * @returns {string} A string of up to two uppercase initials, or \"?\" if the input is empty or invalid.\r\n *\r\n * @example\r\n * getInitials(\"John Doe\"); // \"JD\"\r\n * getInitials(\"Alice\"); // \"AL\"\r\n * getInitials(\" \"); // \"?\"\r\n */\r\nexport const getInitials = (name: string): string => {\r\n const words = name.trim().split(/\\s+/);\r\n const first = words[0]?.[0] || \"\";\r\n const second = words[1]?.[0] || words[0]?.[1] || \"\";\r\n return (first + second).toUpperCase() || \"?\";\r\n};\r\n","const FallbackUserIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M5 20V19C5 15.134 8.13401 12 12 12V12C15.866 12 19 15.134 19 19V20\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M12 12C14.2091 12 16 10.2091 16 8C16 5.79086 14.2091 4 12 4C9.79086 4 8 5.79086 8 8C8 10.2091 9.79086 12 12 12Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default FallbackUserIcon;\r\n","import React, { useMemo, useState, MouseEvent } from \"react\";\r\nimport { AvatarProps } from \"./Avatar.types\";\r\nimport { getInitials } from \"../../utils/getInitials\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { FallbackUserIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nexport interface AvatarBaseProps extends AvatarProps {\r\n ImageComponent?: React.ElementType;\r\n LinkComponent?: React.ElementType;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nexport const AvatarBase: React.FC<AvatarBaseProps> = ({\r\n src,\r\n alt,\r\n name = \"\",\r\n label,\r\n onClick,\r\n disabled = false,\r\n href,\r\n status,\r\n statusIcon,\r\n statusPosition = \"bottomRight\",\r\n fallback,\r\n children,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"circle\",\r\n outline = false,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n priority = false,\r\n ImageComponent = \"img\",\r\n LinkComponent = \"a\",\r\n classMap,\r\n \"data-testid\": testId,\r\n}) => {\r\n const [imgError, setImgError] = useState(false);\r\n const computedLabel = label || alt || name || \"User avatar\";\r\n const fallbackContent =\r\n fallback ??\r\n (name ? (\r\n getInitials(name)\r\n ) : (\r\n <FallbackUserIcon className={classMap.fallback_icon} />\r\n ));\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.avatar,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[shape],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n onClick && classMap.clickable,\r\n className\r\n ),\r\n [theme, shape, size, outline, className]\r\n );\r\n\r\n const avatarContent =\r\n !imgError && src ? (\r\n <ImageComponent\r\n src={src}\r\n alt={computedLabel}\r\n className={classMap.image}\r\n onError={() => setImgError(true)}\r\n loading={priority ? \"eager\" : \"lazy\"}\r\n aria-hidden=\"false\"\r\n role=\"img\"\r\n data-testid={testId ? `${testId}-image` : undefined}\r\n fill={true}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.initials}\r\n role=\"img\"\r\n aria-label={computedLabel}\r\n title={computedLabel}\r\n data-testid={testId ? `${testId}-initials` : undefined}\r\n >\r\n {fallbackContent}\r\n </span>\r\n );\r\n\r\n const statusIndicator = (status || statusIcon) && (\r\n <span\r\n className={combineClassNames(\r\n classMap.status,\r\n status && classMap[status],\r\n statusIcon ? \"icon_only\" : undefined,\r\n classMap[statusPosition]\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-status` : undefined}\r\n >\r\n {statusIcon || <span className={classMap.dot} />}\r\n </span>\r\n );\r\n\r\n const content = (\r\n <>\r\n {children ?? avatarContent}\r\n {statusIndicator}\r\n </>\r\n );\r\n\r\n const handleClick = (e: MouseEvent<HTMLElement>) => {\r\n onClick?.(e as MouseEvent<HTMLButtonElement | HTMLAnchorElement>);\r\n if (!href) e.preventDefault();\r\n };\r\n\r\n const ariaAttrs = {\r\n \"aria-label\": computedLabel,\r\n \"aria-disabled\": false,\r\n };\r\n\r\n if (href) {\r\n if (LinkComponent === \"a\") {\r\n return (\r\n <a\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid=\"avatar\"\r\n target={href.startsWith(\"http\") ? \"_blank\" : undefined}\r\n rel={href.startsWith(\"http\") ? \"noopener noreferrer\" : undefined}\r\n {...ariaAttrs}\r\n >\r\n {content}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <LinkComponent\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...ariaAttrs}\r\n >\r\n {content}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n type=\"button\"\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...ariaAttrs}\r\n >\r\n {content}\r\n </button>\r\n );\r\n};\r\n\r\nAvatarBase.displayName = \"AvatarBase\";\r\n","import React from \"react\";\r\nimport \"./Avatar.scss\";\r\nimport { AvatarProps } from \"../Avatar.types\";\r\nimport { AvatarBase } from \"../AvatarBase\";\r\n\r\nconst classes = {\r\n avatar: \"avatar\",\r\n primary: \"avatar_primary\",\r\n secondary: \"avatar_secondary\",\r\n tertiary: \"avatar_tertiary\",\r\n quaternary: \"avatar_quaternary\",\r\n success: \"avatar_success\",\r\n warning: \"avatar_warning\",\r\n error: \"avatar_error\",\r\n clear: \"avatar_clear\",\r\n outline: \"avatar_outline\",\r\n\r\n clickable: \"avatar_clickable\",\r\n disabled: \"avatar_disabled\",\r\n\r\n circle: \"avatar_circle\",\r\n square: \"avatar_square\",\r\n rounded: \"avatar_rounded\",\r\n\r\n xs: \"avatar_xs\",\r\n small: \"avatar_small\",\r\n medium: \"avatar_medium\",\r\n large: \"avatar_large\",\r\n xl: \"avatar_xl\",\r\n\r\n shadowNone: \"avatar_shadow-None\",\r\n shadowLight: \"avatar_shadow-Light\",\r\n shadowMedium: \"avatar_shadow-Medium\",\r\n shadowStrong: \"avatar_shadow-Strong\",\r\n shadowIntense: \"avatar_shadow-Intense\",\r\n\r\n image: \"avatar_image\",\r\n initials: \"avatar_initials\",\r\n fallback_icon: \"avatar_fallback_icon\",\r\n icon_only: \"avatar_icon_only\",\r\n status: \"avatar_status\",\r\n online: \"avatar_status_online\",\r\n offline: \"avatar_status_offline\",\r\n away: \"avatar_status_away\",\r\n busy: \"avatar_status_busy\",\r\n topRight: \"avatar_status_topRight\",\r\n bottomRight: \"avatar_status_bottomRight\",\r\n bottomLeft: \"avatar_status_bottomLeft\",\r\n topLeft: \"avatar_status_topLeft\",\r\n\r\n dot: \"avatar_dot\",\r\n};\r\n\r\nconst Avatar: React.FC<AvatarProps> = (props) => (\r\n <AvatarBase {...props} classMap={classes} />\r\n);\r\n\r\nexport default Avatar;\r\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavBar-CDI5S3fK.cjs","sources":["../../src/components/NavBar/NavBarBase.tsx","../../src/components/NavBar/core/NavBar.tsx"],"sourcesContent":["import React, { JSX, useMemo } from \"react\";\r\nimport { NavBarProps } from \"./NavBar.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseNavBarProps extends NavBarProps {\r\n currentPath: string;\r\n LinkWrapper: (props: {\r\n href: string;\r\n children: React.ReactNode;\r\n className: string;\r\n isActive: boolean;\r\n testId: string;\r\n \"aria-current\"?: \"page\";\r\n }) => JSX.Element;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseNavBar: React.FC<BaseNavBarProps> = ({\r\n items,\r\n currentPath,\r\n LinkWrapper,\r\n classMap,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className,\r\n \"data-testid\": testId = \"empty-state\",\r\n}) => {\r\n const wrapperClass = useMemo(\r\n () => combineClassNames(classMap.container, classMap[theme], className),\r\n [classMap, theme]\r\n );\r\n\r\n const itemClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.item,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap, shadow, rounding]\r\n );\r\n\r\n return (\r\n <nav\r\n role=\"navigation\"\r\n aria-label=\"Main navigation\"\r\n className={wrapperClass}\r\n data-testid={`${testId}-nav-bar`}\r\n >\r\n {items.map((item, index) => {\r\n const isActive = currentPath === item.path;\r\n\r\n console.log(\r\n \"Nav item className:\",\r\n combineClassNames(classMap.item, isActive && classMap.active)\r\n );\r\n\r\n return (\r\n <LinkWrapper\r\n key={`${item.label}-${index}`}\r\n href={item.path}\r\n isActive={isActive}\r\n className={combineClassNames(\r\n itemClass,\r\n isActive && classMap[\"item--active\"]\r\n )}\r\n testId={`${testId}-nav-item-${item.label.toLowerCase()}`}\r\n aria-current={isActive ? \"page\" : undefined}\r\n >\r\n <div\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-nav-icon-${item.label.toLowerCase()}`}\r\n >\r\n {item.icon}\r\n </div>\r\n <span className={classMap.label}>{item.label}</span>\r\n </LinkWrapper>\r\n );\r\n })}\r\n </nav>\r\n );\r\n};\r\n\r\nexport default BaseNavBar;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport BaseNavBar from \"../NavBarBase\";\r\nimport \"./NavBar.scss\";\r\nimport { NavBarProps } from \"../NavBar.types\";\r\n\r\nconst classes = {\r\n container: \"nav\",\r\n item: \"nav_item\",\r\n \"item--active\": \"nav_active\",\r\n icon: \"nav_icon_container\",\r\n label: \"nav_label\",\r\n\r\n primary: \"nav_primary\",\r\n secondary: \"nav_secondary\",\r\n tertiary: \"nav_tertiary\",\r\n quaternary: \"nav_quaternary\",\r\n clear: \"nav_clear\",\r\n\r\n shadowNone: \"nav_shadow-None\",\r\n shadowLight: \"nav_shadow-Light\",\r\n shadowMedium: \"nav_shadow-Medium\",\r\n shadowStrong: \"nav_shadow-Strong\",\r\n shadowIntense: \"nav_shadow-Intense\",\r\n\r\n roundNone: \"nav_round-None\",\r\n roundSmall: \"nav_round-Small\",\r\n roundMedium: \"nav_round-Medium\",\r\n roundLarge: \"nav_round-Large\",\r\n roundFull: \"nav_round-Full\",\r\n};\r\n\r\nconst NavBar: React.FC<NavBarProps> = (props) => {\r\n const [pathname, setPathname] = useState(\"\");\r\n\r\n useEffect(() => {\r\n setPathname(window.location.pathname);\r\n }, []);\r\n\r\n return (\r\n <BaseNavBar\r\n {...props}\r\n currentPath={pathname}\r\n LinkWrapper={({ href, children, className, isActive, testId }) => (\r\n <a\r\n href={href}\r\n className={className}\r\n aria-current={isActive ? \"page\" : undefined}\r\n data-testid={testId}\r\n >\r\n {children}\r\n </a>\r\n )}\r\n classMap={classes}\r\n />\r\n );\r\n};\r\n\r\nexport default NavBar;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","useMemo","combineClassNames","capitalize","jsx","jsxs","useState","useEffect"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavBar-Dyd9USO4.js","sources":["../../src/components/NavBar/NavBarBase.tsx","../../src/components/NavBar/core/NavBar.tsx"],"sourcesContent":["import React, { JSX, useMemo } from \"react\";\r\nimport { NavBarProps } from \"./NavBar.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseNavBarProps extends NavBarProps {\r\n currentPath: string;\r\n LinkWrapper: (props: {\r\n href: string;\r\n children: React.ReactNode;\r\n className: string;\r\n isActive: boolean;\r\n testId: string;\r\n \"aria-current\"?: \"page\";\r\n }) => JSX.Element;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseNavBar: React.FC<BaseNavBarProps> = ({\r\n items,\r\n currentPath,\r\n LinkWrapper,\r\n classMap,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className,\r\n \"data-testid\": testId = \"empty-state\",\r\n}) => {\r\n const wrapperClass = useMemo(\r\n () => combineClassNames(classMap.container, classMap[theme], className),\r\n [classMap, theme]\r\n );\r\n\r\n const itemClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.item,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap, shadow, rounding]\r\n );\r\n\r\n return (\r\n <nav\r\n role=\"navigation\"\r\n aria-label=\"Main navigation\"\r\n className={wrapperClass}\r\n data-testid={`${testId}-nav-bar`}\r\n >\r\n {items.map((item, index) => {\r\n const isActive = currentPath === item.path;\r\n\r\n console.log(\r\n \"Nav item className:\",\r\n combineClassNames(classMap.item, isActive && classMap.active)\r\n );\r\n\r\n return (\r\n <LinkWrapper\r\n key={`${item.label}-${index}`}\r\n href={item.path}\r\n isActive={isActive}\r\n className={combineClassNames(\r\n itemClass,\r\n isActive && classMap[\"item--active\"]\r\n )}\r\n testId={`${testId}-nav-item-${item.label.toLowerCase()}`}\r\n aria-current={isActive ? \"page\" : undefined}\r\n >\r\n <div\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-nav-icon-${item.label.toLowerCase()}`}\r\n >\r\n {item.icon}\r\n </div>\r\n <span className={classMap.label}>{item.label}</span>\r\n </LinkWrapper>\r\n );\r\n })}\r\n </nav>\r\n );\r\n};\r\n\r\nexport default BaseNavBar;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport BaseNavBar from \"../NavBarBase\";\r\nimport \"./NavBar.scss\";\r\nimport { NavBarProps } from \"../NavBar.types\";\r\n\r\nconst classes = {\r\n container: \"nav\",\r\n item: \"nav_item\",\r\n \"item--active\": \"nav_active\",\r\n icon: \"nav_icon_container\",\r\n label: \"nav_label\",\r\n\r\n primary: \"nav_primary\",\r\n secondary: \"nav_secondary\",\r\n tertiary: \"nav_tertiary\",\r\n quaternary: \"nav_quaternary\",\r\n clear: \"nav_clear\",\r\n\r\n shadowNone: \"nav_shadow-None\",\r\n shadowLight: \"nav_shadow-Light\",\r\n shadowMedium: \"nav_shadow-Medium\",\r\n shadowStrong: \"nav_shadow-Strong\",\r\n shadowIntense: \"nav_shadow-Intense\",\r\n\r\n roundNone: \"nav_round-None\",\r\n roundSmall: \"nav_round-Small\",\r\n roundMedium: \"nav_round-Medium\",\r\n roundLarge: \"nav_round-Large\",\r\n roundFull: \"nav_round-Full\",\r\n};\r\n\r\nconst NavBar: React.FC<NavBarProps> = (props) => {\r\n const [pathname, setPathname] = useState(\"\");\r\n\r\n useEffect(() => {\r\n setPathname(window.location.pathname);\r\n }, []);\r\n\r\n return (\r\n <BaseNavBar\r\n {...props}\r\n currentPath={pathname}\r\n LinkWrapper={({ href, children, className, isActive, testId }) => (\r\n <a\r\n href={href}\r\n className={className}\r\n aria-current={isActive ? \"page\" : undefined}\r\n data-testid={testId}\r\n >\r\n {children}\r\n </a>\r\n )}\r\n classMap={classes}\r\n />\r\n );\r\n};\r\n\r\nexport default NavBar;\r\n"],"names":[],"mappings":";;;;;AAuBA,MAAM,aAAwC,CAAC;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ,gBAAA;AAAA,EACR,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT;AAAA,EACA,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,eAAe;AAAA,IACnB,MAAM,kBAAkB,SAAS,WAAW,SAAS,KAAK,GAAG,SAAS;AAAA,IACtE,CAAC,UAAU,KAAK;AAAA,EAAA;AAGlB,QAAM,YAAY;AAAA,IAChB,MACE;AAAA,MACE,SAAS;AAAA,MACT,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,IAAA;AAAA,IAEvD,CAAC,UAAU,QAAQ,QAAQ;AAAA,EAAA;AAG7B,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAW;AAAA,MACX,WAAW;AAAA,MACX,eAAa,GAAG,MAAM;AAAA,MAErB,UAAA,MAAM,IAAI,CAAC,MAAM,UAAU;AAC1B,cAAM,WAAW,gBAAgB,KAAK;AAEtC,gBAAQ;AAAA,UACN;AAAA,UACA,kBAAkB,SAAS,MAAM,YAAY,SAAS,MAAM;AAAA,QAAA;AAG9D,eACE;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,MAAM,KAAK;AAAA,YACX;AAAA,YACA,WAAW;AAAA,cACT;AAAA,cACA,YAAY,SAAS,cAAc;AAAA,YAAA;AAAA,YAErC,QAAQ,GAAG,MAAM,aAAa,KAAK,MAAM,aAAa;AAAA,YACtD,gBAAc,WAAW,SAAS;AAAA,YAElC,UAAA;AAAA,cAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAW,SAAS;AAAA,kBACpB,eAAY;AAAA,kBACZ,eAAa,GAAG,MAAM,aAAa,KAAK,MAAM,aAAa;AAAA,kBAE1D,UAAA,KAAK;AAAA,gBAAA;AAAA,cAAA;AAAA,kCAEP,QAAA,EAAK,WAAW,SAAS,OAAQ,eAAK,MAAA,CAAM;AAAA,YAAA;AAAA,UAAA;AAAA,UAjBxC,GAAG,KAAK,KAAK,IAAI,KAAK;AAAA,QAAA;AAAA,MAoBjC,CAAC;AAAA,IAAA;AAAA,EAAA;AAGP;ACpFA,MAAM,UAAU;AAAA,EACd,WAAW;AAAA,EACX,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,MAAM;AAAA,EACN,OAAO;AAAA,EAEP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,OAAO;AAAA,EAEP,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EAEf,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,WAAW;AACb;AAEA,MAAM,SAAgC,CAAC,UAAU;AAC/C,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,EAAE;AAE3C,YAAU,MAAM;AACd,gBAAY,OAAO,SAAS,QAAQ;AAAA,EACtC,GAAG,CAAA,CAAE;AAEL,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,aAAa;AAAA,MACb,aAAa,CAAC,EAAE,MAAM,UAAU,WAAW,UAAU,aACnD;AAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA,gBAAc,WAAW,SAAS;AAAA,UAClC,eAAa;AAAA,UAEZ;AAAA,QAAA;AAAA,MAAA;AAAA,MAGL,UAAU;AAAA,IAAA;AAAA,EAAA;AAGhB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"STT-D6L-amjZ.cjs","sources":["../../src/Icons/ArrowUpIcon.tsx","../../src/components/ScrollToTop/ScrollToTopBase.tsx","../../src/components/ScrollToTop/core/STT.tsx"],"sourcesContent":["const ArrowUpIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M12 21L12 3M12 3L20.5 11.5M12 3L3.5 11.5\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ArrowUpIcon;\r\n","import {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\nimport { RoundingType, ShadowType } from \"../../types/types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport React, { useEffect, useState } from \"react\";\r\n\r\nexport interface ScrollToTopBaseProps {\r\n classMap: Record<string, string>;\r\n rounding?: RoundingType;\r\n shadow?: ShadowType;\r\n IconComponent: React.ElementType;\r\n offset?: number;\r\n \"data-testid\"?: string;\r\n}\r\n\r\nconst ScrollToTopBase: React.FC<ScrollToTopBaseProps> = ({\r\n classMap,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n IconComponent,\r\n offset = 300,\r\n \"data-testid\": testId = \"scroll\",\r\n}) => {\r\n const [isVisible, setIsVisible] = useState(false);\r\n\r\n const toggleVisibility = () => {\r\n setIsVisible(window.pageYOffset > offset);\r\n };\r\n\r\n const scrollToTop = () => {\r\n window.scrollTo({ top: 0, behavior: \"smooth\" });\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", toggleVisibility);\r\n return () => window.removeEventListener(\"scroll\", toggleVisibility);\r\n }, [offset]);\r\n\r\n const iconClass = combineClassNames(\r\n classMap.icon,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return (\r\n <div className={classMap.wrapper}>\r\n <div\r\n aria-live=\"polite\"\r\n className=\"sr_only\"\r\n role=\"status\"\r\n data-testid={`${testId}-announcement`}\r\n >\r\n {isVisible ? \"Scroll to top button is now visible\" : \"\"}\r\n </div>\r\n\r\n {isVisible && (\r\n <button\r\n onClick={scrollToTop}\r\n className={classMap.button}\r\n title=\"Scroll to top\"\r\n type=\"button\"\r\n aria-label=\"Scroll to top\"\r\n data-testid={`${testId}-button`}\r\n >\r\n <IconComponent className={iconClass} />\r\n </button>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default ScrollToTopBase;\r\n","import React from \"react\";\r\nimport ScrollToTopBase from \"../ScrollToTopBase\";\r\nimport \"./STT.scss\";\r\nimport { ArrowUpIcon } from \"@/Icons\";\r\n\r\nconst classes = {\r\n wrapper: \"scrollToTop\",\r\n button: \"scrollToTop_button\",\r\n icon: \"scrollToTop_icon\",\r\n\r\n shadowNone: \"scrollToTop_shadow-None\",\r\n shadowLight: \"scrollToTop_shadow-Light\",\r\n shadowMedium: \"scrollToTop_shadow-Medium\",\r\n shadowStrong: \"scrollToTop_shadow-Strong\",\r\n shadowIntense: \"scrollToTop_shadow-Intense\",\r\n\r\n roundNone: \"scrollToTop_round-None\",\r\n roundSmall: \"scrollToTop_round-Small\",\r\n roundMedium: \"scrollToTop_round-Medium\",\r\n roundLarge: \"scrollToTop_round-Large\",\r\n};\r\n\r\nconst ScrollToTopButton: React.FC = () => (\r\n <ScrollToTopBase classMap={classes} IconComponent={ArrowUpIcon} />\r\n);\r\n\r\nexport default ScrollToTopButton;\r\n"],"names":["jsx","getDefaultRounding","getDefaultShadow","useState","useEffect","combineClassNames","capitalize","jsxs"],"mappings":";;;;;;AAAA,MAAM,cAAuD,CAAC,UAC5DA,2BAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,aAAY;AAAA,IACZ,MAAK;AAAA,IACL,OAAM;AAAA,IACN,OAAM;AAAA,IACL,GAAG;AAAA,IAEJ,UAAAA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB;AACH;ACAF,MAAM,kBAAkD,CAAC;AAAA,EACvD;AAAA,EACA,WAAWC,kBAAAA,mBAAA;AAAA,EACX,SAASC,kBAAAA,iBAAA;AAAA,EACT;AAAA,EACA,SAAS;AAAA,EACT,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,CAAC,WAAW,YAAY,IAAIC,MAAAA,SAAS,KAAK;AAEhD,QAAM,mBAAmB,MAAM;AAC7B,iBAAa,OAAO,cAAc,MAAM;AAAA,EAC1C;AAEA,QAAM,cAAc,MAAM;AACxB,WAAO,SAAS,EAAE,KAAK,GAAG,UAAU,UAAU;AAAA,EAChD;AAEAC,QAAAA,UAAU,MAAM;AACd,WAAO,iBAAiB,UAAU,gBAAgB;AAClD,WAAO,MAAM,OAAO,oBAAoB,UAAU,gBAAgB;AAAA,EACpE,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,YAAYC,WAAAA;AAAAA,IAChB,SAAS;AAAA,IACT,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,IAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,EAAA;AAGrD,SACEC,2BAAAA,KAAC,OAAA,EAAI,WAAW,SAAS,SACvB,UAAA;AAAA,IAAAP,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,aAAU;AAAA,QACV,WAAU;AAAA,QACV,MAAK;AAAA,QACL,eAAa,GAAG,MAAM;AAAA,QAErB,sBAAY,wCAAwC;AAAA,MAAA;AAAA,IAAA;AAAA,IAGtD,aACCA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,WAAW,SAAS;AAAA,QACpB,OAAM;AAAA,QACN,MAAK;AAAA,QACL,cAAW;AAAA,QACX,eAAa,GAAG,MAAM;AAAA,QAEtB,UAAAA,2BAAAA,IAAC,eAAA,EAAc,WAAW,UAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EACvC,GAEJ;AAEJ;ACnEA,MAAM,UAAU;AAAA,EACd,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EAEN,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EAEf,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AACd;AAEA,MAAM,oBAA8B,MAClCA,2BAAAA,IAAC,mBAAgB,UAAU,SAAS,eAAe,YAAA,CAAa;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"STT-aXWWubSC.js","sources":["../../src/Icons/ArrowUpIcon.tsx","../../src/components/ScrollToTop/ScrollToTopBase.tsx","../../src/components/ScrollToTop/core/STT.tsx"],"sourcesContent":["const ArrowUpIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M12 21L12 3M12 3L20.5 11.5M12 3L3.5 11.5\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ArrowUpIcon;\r\n","import {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\nimport { RoundingType, ShadowType } from \"../../types/types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport React, { useEffect, useState } from \"react\";\r\n\r\nexport interface ScrollToTopBaseProps {\r\n classMap: Record<string, string>;\r\n rounding?: RoundingType;\r\n shadow?: ShadowType;\r\n IconComponent: React.ElementType;\r\n offset?: number;\r\n \"data-testid\"?: string;\r\n}\r\n\r\nconst ScrollToTopBase: React.FC<ScrollToTopBaseProps> = ({\r\n classMap,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n IconComponent,\r\n offset = 300,\r\n \"data-testid\": testId = \"scroll\",\r\n}) => {\r\n const [isVisible, setIsVisible] = useState(false);\r\n\r\n const toggleVisibility = () => {\r\n setIsVisible(window.pageYOffset > offset);\r\n };\r\n\r\n const scrollToTop = () => {\r\n window.scrollTo({ top: 0, behavior: \"smooth\" });\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", toggleVisibility);\r\n return () => window.removeEventListener(\"scroll\", toggleVisibility);\r\n }, [offset]);\r\n\r\n const iconClass = combineClassNames(\r\n classMap.icon,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return (\r\n <div className={classMap.wrapper}>\r\n <div\r\n aria-live=\"polite\"\r\n className=\"sr_only\"\r\n role=\"status\"\r\n data-testid={`${testId}-announcement`}\r\n >\r\n {isVisible ? \"Scroll to top button is now visible\" : \"\"}\r\n </div>\r\n\r\n {isVisible && (\r\n <button\r\n onClick={scrollToTop}\r\n className={classMap.button}\r\n title=\"Scroll to top\"\r\n type=\"button\"\r\n aria-label=\"Scroll to top\"\r\n data-testid={`${testId}-button`}\r\n >\r\n <IconComponent className={iconClass} />\r\n </button>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default ScrollToTopBase;\r\n","import React from \"react\";\r\nimport ScrollToTopBase from \"../ScrollToTopBase\";\r\nimport \"./STT.scss\";\r\nimport { ArrowUpIcon } from \"@/Icons\";\r\n\r\nconst classes = {\r\n wrapper: \"scrollToTop\",\r\n button: \"scrollToTop_button\",\r\n icon: \"scrollToTop_icon\",\r\n\r\n shadowNone: \"scrollToTop_shadow-None\",\r\n shadowLight: \"scrollToTop_shadow-Light\",\r\n shadowMedium: \"scrollToTop_shadow-Medium\",\r\n shadowStrong: \"scrollToTop_shadow-Strong\",\r\n shadowIntense: \"scrollToTop_shadow-Intense\",\r\n\r\n roundNone: \"scrollToTop_round-None\",\r\n roundSmall: \"scrollToTop_round-Small\",\r\n roundMedium: \"scrollToTop_round-Medium\",\r\n roundLarge: \"scrollToTop_round-Large\",\r\n};\r\n\r\nconst ScrollToTopButton: React.FC = () => (\r\n <ScrollToTopBase classMap={classes} IconComponent={ArrowUpIcon} />\r\n);\r\n\r\nexport default ScrollToTopButton;\r\n"],"names":[],"mappings":";;;;;AAAA,MAAM,cAAuD,CAAC,UAC5D;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,aAAY;AAAA,IACZ,MAAK;AAAA,IACL,OAAM;AAAA,IACN,OAAM;AAAA,IACL,GAAG;AAAA,IAEJ,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB;AACH;ACAF,MAAM,kBAAkD,CAAC;AAAA,EACvD;AAAA,EACA,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT;AAAA,EACA,SAAS;AAAA,EACT,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,QAAM,mBAAmB,MAAM;AAC7B,iBAAa,OAAO,cAAc,MAAM;AAAA,EAC1C;AAEA,QAAM,cAAc,MAAM;AACxB,WAAO,SAAS,EAAE,KAAK,GAAG,UAAU,UAAU;AAAA,EAChD;AAEA,YAAU,MAAM;AACd,WAAO,iBAAiB,UAAU,gBAAgB;AAClD,WAAO,MAAM,OAAO,oBAAoB,UAAU,gBAAgB;AAAA,EACpE,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,IACT,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,IAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,EAAA;AAGrD,SACE,qBAAC,OAAA,EAAI,WAAW,SAAS,SACvB,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,aAAU;AAAA,QACV,WAAU;AAAA,QACV,MAAK;AAAA,QACL,eAAa,GAAG,MAAM;AAAA,QAErB,sBAAY,wCAAwC;AAAA,MAAA;AAAA,IAAA;AAAA,IAGtD,aACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,WAAW,SAAS;AAAA,QACpB,OAAM;AAAA,QACN,MAAK;AAAA,QACL,cAAW;AAAA,QACX,eAAa,GAAG,MAAM;AAAA,QAEtB,UAAA,oBAAC,eAAA,EAAc,WAAW,UAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EACvC,GAEJ;AAEJ;ACnEA,MAAM,UAAU;AAAA,EACd,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EAEN,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EAEf,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AACd;AAEA,MAAM,oBAA8B,MAClC,oBAAC,mBAAgB,UAAU,SAAS,eAAe,YAAA,CAAa;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Accordion-BD-HsAos.cjs","sources":["../../src/components/Accordion/AccordionBase.tsx","../../src/components/Accordion/next/Accordion.tsx"],"sourcesContent":["import React, { useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { AccordionProps } from \"./Accordion.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface AccordionBaseProps extends AccordionProps {\r\n getUniqueId: () => string;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nexport const AccordionBase: React.FC<AccordionBaseProps> = ({\r\n title,\r\n id,\r\n children,\r\n lazyLoad = false,\r\n iconPosition = \"right\",\r\n isToggleable = true,\r\n asyncContent = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n description,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n expanded,\r\n disabled,\r\n customCollapsedIcon,\r\n customExpandedIcon,\r\n onToggle,\r\n initiallyExpanded = false,\r\n className = \"\",\r\n getUniqueId,\r\n classMap,\r\n \"data-testid\": testId,\r\n ...rest\r\n}) => {\r\n const isControlled = expanded !== undefined;\r\n const internalId = useMemo(getUniqueId, []);\r\n const [internalExpanded, setInternalExpanded] = useState(initiallyExpanded);\r\n const [hasBeenExpanded, setHasBeenExpanded] = useState(initiallyExpanded);\r\n const [isLoading, setIsLoading] = useState(asyncContent && initiallyExpanded);\r\n const isExpanded = isControlled ? expanded : internalExpanded;\r\n\r\n const contentId = `${id || internalId}-content`;\r\n const buttonId = `${id || internalId}-button`;\r\n const descId = description ? `${id || internalId}-desc` : undefined;\r\n\r\n const toggleAccordion = () => {\r\n if (disabled) return;\r\n if (!isToggleable && isExpanded) return;\r\n isControlled ? onToggle?.(!expanded) : setInternalExpanded((prev) => !prev);\r\n };\r\n\r\n const handleKeyDown = (e: KeyboardEvent) => {\r\n if (disabled) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n toggleAccordion();\r\n }\r\n };\r\n\r\n useMemo(() => {\r\n if (isExpanded && !hasBeenExpanded) {\r\n setHasBeenExpanded(true);\r\n }\r\n }, [isExpanded]);\r\n\r\n useMemo(() => {\r\n if (asyncContent && isExpanded && isLoading) {\r\n const timer = setTimeout(() => {\r\n setIsLoading(false);\r\n }, 1000);\r\n\r\n return () => clearTimeout(timer);\r\n }\r\n }, [asyncContent, isExpanded, isLoading]);\r\n\r\n const renderedIcon = isExpanded\r\n ? (customExpandedIcon ?? \"−\")\r\n : (customCollapsedIcon ?? \"+\");\r\n\r\n const wrapperClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.accordion,\r\n classMap[size],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded,\r\n className\r\n ),\r\n [classMap, size, disabled, isExpanded, className]\r\n );\r\n\r\n const headerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.header,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded\r\n ),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const contentClassName = useMemo(\r\n () => combineClassNames(classMap.content, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const iconClassName = useMemo(\r\n () => combineClassNames(classMap.icon, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n return (\r\n <div {...rest} className={wrapperClassName}>\r\n <button\r\n id={buttonId}\r\n className={headerClassName}\r\n onClick={toggleAccordion}\r\n onKeyDown={handleKeyDown}\r\n type=\"button\"\r\n aria-expanded={isExpanded}\r\n aria-controls={contentId}\r\n aria-disabled={disabled}\r\n aria-describedby={descId}\r\n tabIndex={disabled ? -1 : 0}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-accordion-toggle` : undefined}\r\n >\r\n {iconPosition === \"left\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n <span\r\n className={classMap.accordionTitle}\r\n data-testid={testId ? `${testId}-title` : undefined}\r\n >\r\n {title}\r\n </span>\r\n {iconPosition === \"right\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n </button>\r\n\r\n {description && (\r\n <span\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={testId ? `${testId}-description` : undefined}\r\n >\r\n {description}\r\n </span>\r\n )}\r\n\r\n <div\r\n id={contentId}\r\n role=\"region\"\r\n aria-labelledby={buttonId}\r\n className={contentClassName}\r\n data-state={isExpanded ? \"open\" : \"collapsed\"}\r\n data-testid={testId ? `${testId}-content` : undefined}\r\n >\r\n {isExpanded && asyncContent && isLoading && (\r\n <div className={classMap.loading}>Loading...</div>\r\n )}\r\n {(!lazyLoad || hasBeenExpanded) &&\r\n (!asyncContent || !isLoading) &&\r\n children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nAccordionBase.displayName = \"AccordionBase\";\r\n","\"use client\";\r\n\r\nimport React, { useId } from \"react\";\r\nimport { AccordionBase } from \"../AccordionBase\";\r\nimport type { AccordionProps } from \"../Accordion.types\";\r\nimport styles from \"./Accordion.module.scss\";\r\n\r\nconst Accordion: React.FC<AccordionProps> = (props) => {\r\n const id = useId();\r\n const getUniqueId = () => `accordion-${id}`;\r\n\r\n return (\r\n <AccordionBase {...props} getUniqueId={getUniqueId} classMap={styles} />\r\n );\r\n};\r\n\r\nexport default Accordion;\r\n"],"names":["title","getDefaultRounding","getDefaultShadow","getDefaultSize","getDefaultTheme","outline","expanded","disabled","useMemo","useState","combineClassNames","capitalize","jsxs","jsx","useId"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Accordion-Bu2IAjE6.js","sources":["../../src/components/Accordion/AccordionBase.tsx","../../src/components/Accordion/next/Accordion.tsx"],"sourcesContent":["import React, { useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { AccordionProps } from \"./Accordion.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface AccordionBaseProps extends AccordionProps {\r\n getUniqueId: () => string;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nexport const AccordionBase: React.FC<AccordionBaseProps> = ({\r\n title,\r\n id,\r\n children,\r\n lazyLoad = false,\r\n iconPosition = \"right\",\r\n isToggleable = true,\r\n asyncContent = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n description,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n expanded,\r\n disabled,\r\n customCollapsedIcon,\r\n customExpandedIcon,\r\n onToggle,\r\n initiallyExpanded = false,\r\n className = \"\",\r\n getUniqueId,\r\n classMap,\r\n \"data-testid\": testId,\r\n ...rest\r\n}) => {\r\n const isControlled = expanded !== undefined;\r\n const internalId = useMemo(getUniqueId, []);\r\n const [internalExpanded, setInternalExpanded] = useState(initiallyExpanded);\r\n const [hasBeenExpanded, setHasBeenExpanded] = useState(initiallyExpanded);\r\n const [isLoading, setIsLoading] = useState(asyncContent && initiallyExpanded);\r\n const isExpanded = isControlled ? expanded : internalExpanded;\r\n\r\n const contentId = `${id || internalId}-content`;\r\n const buttonId = `${id || internalId}-button`;\r\n const descId = description ? `${id || internalId}-desc` : undefined;\r\n\r\n const toggleAccordion = () => {\r\n if (disabled) return;\r\n if (!isToggleable && isExpanded) return;\r\n isControlled ? onToggle?.(!expanded) : setInternalExpanded((prev) => !prev);\r\n };\r\n\r\n const handleKeyDown = (e: KeyboardEvent) => {\r\n if (disabled) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n toggleAccordion();\r\n }\r\n };\r\n\r\n useMemo(() => {\r\n if (isExpanded && !hasBeenExpanded) {\r\n setHasBeenExpanded(true);\r\n }\r\n }, [isExpanded]);\r\n\r\n useMemo(() => {\r\n if (asyncContent && isExpanded && isLoading) {\r\n const timer = setTimeout(() => {\r\n setIsLoading(false);\r\n }, 1000);\r\n\r\n return () => clearTimeout(timer);\r\n }\r\n }, [asyncContent, isExpanded, isLoading]);\r\n\r\n const renderedIcon = isExpanded\r\n ? (customExpandedIcon ?? \"−\")\r\n : (customCollapsedIcon ?? \"+\");\r\n\r\n const wrapperClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.accordion,\r\n classMap[size],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded,\r\n className\r\n ),\r\n [classMap, size, disabled, isExpanded, className]\r\n );\r\n\r\n const headerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.header,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded\r\n ),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const contentClassName = useMemo(\r\n () => combineClassNames(classMap.content, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const iconClassName = useMemo(\r\n () => combineClassNames(classMap.icon, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n return (\r\n <div {...rest} className={wrapperClassName}>\r\n <button\r\n id={buttonId}\r\n className={headerClassName}\r\n onClick={toggleAccordion}\r\n onKeyDown={handleKeyDown}\r\n type=\"button\"\r\n aria-expanded={isExpanded}\r\n aria-controls={contentId}\r\n aria-disabled={disabled}\r\n aria-describedby={descId}\r\n tabIndex={disabled ? -1 : 0}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-accordion-toggle` : undefined}\r\n >\r\n {iconPosition === \"left\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n <span\r\n className={classMap.accordionTitle}\r\n data-testid={testId ? `${testId}-title` : undefined}\r\n >\r\n {title}\r\n </span>\r\n {iconPosition === \"right\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n </button>\r\n\r\n {description && (\r\n <span\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={testId ? `${testId}-description` : undefined}\r\n >\r\n {description}\r\n </span>\r\n )}\r\n\r\n <div\r\n id={contentId}\r\n role=\"region\"\r\n aria-labelledby={buttonId}\r\n className={contentClassName}\r\n data-state={isExpanded ? \"open\" : \"collapsed\"}\r\n data-testid={testId ? `${testId}-content` : undefined}\r\n >\r\n {isExpanded && asyncContent && isLoading && (\r\n <div className={classMap.loading}>Loading...</div>\r\n )}\r\n {(!lazyLoad || hasBeenExpanded) &&\r\n (!asyncContent || !isLoading) &&\r\n children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nAccordionBase.displayName = \"AccordionBase\";\r\n","\"use client\";\r\n\r\nimport React, { useId } from \"react\";\r\nimport { AccordionBase } from \"../AccordionBase\";\r\nimport type { AccordionProps } from \"../Accordion.types\";\r\nimport styles from \"./Accordion.module.scss\";\r\n\r\nconst Accordion: React.FC<AccordionProps> = (props) => {\r\n const id = useId();\r\n const getUniqueId = () => `accordion-${id}`;\r\n\r\n return (\r\n <AccordionBase {...props} getUniqueId={getUniqueId} classMap={styles} />\r\n );\r\n};\r\n\r\nexport default Accordion;\r\n"],"names":["title","outline","expanded","disabled"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Avatar-B0vflpuy.js","sources":["../../src/utils/getInitials.ts","../../src/Icons/UserIcon.tsx","../../src/components/Avatar/AvatarBase.tsx","../../src/components/Avatar/next/Avatar.tsx"],"sourcesContent":["/**\r\n * Returns the initials from a given full name string.\r\n *\r\n * Extracts the first character from the first word and the first character of the second word (if available).\r\n * If only one word is provided, it uses the first two characters of that word as a fallback.\r\n * If no valid characters are found, it returns \"?\".\r\n *\r\n * @param {string} name - The full name to extract initials from.\r\n * @returns {string} A string of up to two uppercase initials, or \"?\" if the input is empty or invalid.\r\n *\r\n * @example\r\n * getInitials(\"John Doe\"); // \"JD\"\r\n * getInitials(\"Alice\"); // \"AL\"\r\n * getInitials(\" \"); // \"?\"\r\n */\r\nexport const getInitials = (name: string): string => {\r\n const words = name.trim().split(/\\s+/);\r\n const first = words[0]?.[0] || \"\";\r\n const second = words[1]?.[0] || words[0]?.[1] || \"\";\r\n return (first + second).toUpperCase() || \"?\";\r\n};\r\n","const FallbackUserIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M5 20V19C5 15.134 8.13401 12 12 12V12C15.866 12 19 15.134 19 19V20\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M12 12C14.2091 12 16 10.2091 16 8C16 5.79086 14.2091 4 12 4C9.79086 4 8 5.79086 8 8C8 10.2091 9.79086 12 12 12Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default FallbackUserIcon;\r\n","import React, { useMemo, useState, MouseEvent } from \"react\";\r\nimport { AvatarProps } from \"./Avatar.types\";\r\nimport { getInitials } from \"../../utils/getInitials\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { FallbackUserIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nexport interface AvatarBaseProps extends AvatarProps {\r\n ImageComponent?: React.ElementType;\r\n LinkComponent?: React.ElementType;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nexport const AvatarBase: React.FC<AvatarBaseProps> = ({\r\n src,\r\n alt,\r\n name = \"\",\r\n label,\r\n onClick,\r\n disabled = false,\r\n href,\r\n status,\r\n statusIcon,\r\n statusPosition = \"bottomRight\",\r\n fallback,\r\n children,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"circle\",\r\n outline = false,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n priority = false,\r\n ImageComponent = \"img\",\r\n LinkComponent = \"a\",\r\n classMap,\r\n \"data-testid\": testId,\r\n}) => {\r\n const [imgError, setImgError] = useState(false);\r\n const computedLabel = label || alt || name || \"User avatar\";\r\n const fallbackContent =\r\n fallback ??\r\n (name ? (\r\n getInitials(name)\r\n ) : (\r\n <FallbackUserIcon className={classMap.fallback_icon} />\r\n ));\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.avatar,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[shape],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n onClick && classMap.clickable,\r\n className\r\n ),\r\n [theme, shape, size, outline, className]\r\n );\r\n\r\n const avatarContent =\r\n !imgError && src ? (\r\n <ImageComponent\r\n src={src}\r\n alt={computedLabel}\r\n className={classMap.image}\r\n onError={() => setImgError(true)}\r\n loading={priority ? \"eager\" : \"lazy\"}\r\n aria-hidden=\"false\"\r\n role=\"img\"\r\n data-testid={testId ? `${testId}-image` : undefined}\r\n fill={true}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.initials}\r\n role=\"img\"\r\n aria-label={computedLabel}\r\n title={computedLabel}\r\n data-testid={testId ? `${testId}-initials` : undefined}\r\n >\r\n {fallbackContent}\r\n </span>\r\n );\r\n\r\n const statusIndicator = (status || statusIcon) && (\r\n <span\r\n className={combineClassNames(\r\n classMap.status,\r\n status && classMap[status],\r\n statusIcon ? \"icon_only\" : undefined,\r\n classMap[statusPosition]\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-status` : undefined}\r\n >\r\n {statusIcon || <span className={classMap.dot} />}\r\n </span>\r\n );\r\n\r\n const content = (\r\n <>\r\n {children ?? avatarContent}\r\n {statusIndicator}\r\n </>\r\n );\r\n\r\n const handleClick = (e: MouseEvent<HTMLElement>) => {\r\n onClick?.(e as MouseEvent<HTMLButtonElement | HTMLAnchorElement>);\r\n if (!href) e.preventDefault();\r\n };\r\n\r\n const ariaAttrs = {\r\n \"aria-label\": computedLabel,\r\n \"aria-disabled\": false,\r\n };\r\n\r\n if (href) {\r\n if (LinkComponent === \"a\") {\r\n return (\r\n <a\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid=\"avatar\"\r\n target={href.startsWith(\"http\") ? \"_blank\" : undefined}\r\n rel={href.startsWith(\"http\") ? \"noopener noreferrer\" : undefined}\r\n {...ariaAttrs}\r\n >\r\n {content}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <LinkComponent\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...ariaAttrs}\r\n >\r\n {content}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n type=\"button\"\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...ariaAttrs}\r\n >\r\n {content}\r\n </button>\r\n );\r\n};\r\n\r\nAvatarBase.displayName = \"AvatarBase\";\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Image from \"next/image\";\r\nimport Link from \"next/link\";\r\nimport { AvatarProps } from \"../Avatar.types\";\r\nimport { AvatarBase } from \"../AvatarBase\";\r\nimport styles from \"./Avatar.module.scss\";\r\n\r\nconst Avatar: React.FC<AvatarProps> = (props) => (\r\n <AvatarBase\r\n {...props}\r\n ImageComponent={Image}\r\n LinkComponent={Link}\r\n classMap={styles}\r\n />\r\n);\r\n\r\nexport default Avatar;\r\n"],"names":["disabled","status","outline"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Avatar-DjuHvrMV.cjs","sources":["../../src/utils/getInitials.ts","../../src/Icons/UserIcon.tsx","../../src/components/Avatar/AvatarBase.tsx","../../src/components/Avatar/next/Avatar.tsx"],"sourcesContent":["/**\r\n * Returns the initials from a given full name string.\r\n *\r\n * Extracts the first character from the first word and the first character of the second word (if available).\r\n * If only one word is provided, it uses the first two characters of that word as a fallback.\r\n * If no valid characters are found, it returns \"?\".\r\n *\r\n * @param {string} name - The full name to extract initials from.\r\n * @returns {string} A string of up to two uppercase initials, or \"?\" if the input is empty or invalid.\r\n *\r\n * @example\r\n * getInitials(\"John Doe\"); // \"JD\"\r\n * getInitials(\"Alice\"); // \"AL\"\r\n * getInitials(\" \"); // \"?\"\r\n */\r\nexport const getInitials = (name: string): string => {\r\n const words = name.trim().split(/\\s+/);\r\n const first = words[0]?.[0] || \"\";\r\n const second = words[1]?.[0] || words[0]?.[1] || \"\";\r\n return (first + second).toUpperCase() || \"?\";\r\n};\r\n","const FallbackUserIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M5 20V19C5 15.134 8.13401 12 12 12V12C15.866 12 19 15.134 19 19V20\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M12 12C14.2091 12 16 10.2091 16 8C16 5.79086 14.2091 4 12 4C9.79086 4 8 5.79086 8 8C8 10.2091 9.79086 12 12 12Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default FallbackUserIcon;\r\n","import React, { useMemo, useState, MouseEvent } from \"react\";\r\nimport { AvatarProps } from \"./Avatar.types\";\r\nimport { getInitials } from \"../../utils/getInitials\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { FallbackUserIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nexport interface AvatarBaseProps extends AvatarProps {\r\n ImageComponent?: React.ElementType;\r\n LinkComponent?: React.ElementType;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nexport const AvatarBase: React.FC<AvatarBaseProps> = ({\r\n src,\r\n alt,\r\n name = \"\",\r\n label,\r\n onClick,\r\n disabled = false,\r\n href,\r\n status,\r\n statusIcon,\r\n statusPosition = \"bottomRight\",\r\n fallback,\r\n children,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"circle\",\r\n outline = false,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n priority = false,\r\n ImageComponent = \"img\",\r\n LinkComponent = \"a\",\r\n classMap,\r\n \"data-testid\": testId,\r\n}) => {\r\n const [imgError, setImgError] = useState(false);\r\n const computedLabel = label || alt || name || \"User avatar\";\r\n const fallbackContent =\r\n fallback ??\r\n (name ? (\r\n getInitials(name)\r\n ) : (\r\n <FallbackUserIcon className={classMap.fallback_icon} />\r\n ));\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.avatar,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[shape],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n onClick && classMap.clickable,\r\n className\r\n ),\r\n [theme, shape, size, outline, className]\r\n );\r\n\r\n const avatarContent =\r\n !imgError && src ? (\r\n <ImageComponent\r\n src={src}\r\n alt={computedLabel}\r\n className={classMap.image}\r\n onError={() => setImgError(true)}\r\n loading={priority ? \"eager\" : \"lazy\"}\r\n aria-hidden=\"false\"\r\n role=\"img\"\r\n data-testid={testId ? `${testId}-image` : undefined}\r\n fill={true}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.initials}\r\n role=\"img\"\r\n aria-label={computedLabel}\r\n title={computedLabel}\r\n data-testid={testId ? `${testId}-initials` : undefined}\r\n >\r\n {fallbackContent}\r\n </span>\r\n );\r\n\r\n const statusIndicator = (status || statusIcon) && (\r\n <span\r\n className={combineClassNames(\r\n classMap.status,\r\n status && classMap[status],\r\n statusIcon ? \"icon_only\" : undefined,\r\n classMap[statusPosition]\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-status` : undefined}\r\n >\r\n {statusIcon || <span className={classMap.dot} />}\r\n </span>\r\n );\r\n\r\n const content = (\r\n <>\r\n {children ?? avatarContent}\r\n {statusIndicator}\r\n </>\r\n );\r\n\r\n const handleClick = (e: MouseEvent<HTMLElement>) => {\r\n onClick?.(e as MouseEvent<HTMLButtonElement | HTMLAnchorElement>);\r\n if (!href) e.preventDefault();\r\n };\r\n\r\n const ariaAttrs = {\r\n \"aria-label\": computedLabel,\r\n \"aria-disabled\": false,\r\n };\r\n\r\n if (href) {\r\n if (LinkComponent === \"a\") {\r\n return (\r\n <a\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid=\"avatar\"\r\n target={href.startsWith(\"http\") ? \"_blank\" : undefined}\r\n rel={href.startsWith(\"http\") ? \"noopener noreferrer\" : undefined}\r\n {...ariaAttrs}\r\n >\r\n {content}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <LinkComponent\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...ariaAttrs}\r\n >\r\n {content}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n type=\"button\"\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...ariaAttrs}\r\n >\r\n {content}\r\n </button>\r\n );\r\n};\r\n\r\nAvatarBase.displayName = \"AvatarBase\";\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Image from \"next/image\";\r\nimport Link from \"next/link\";\r\nimport { AvatarProps } from \"../Avatar.types\";\r\nimport { AvatarBase } from \"../AvatarBase\";\r\nimport styles from \"./Avatar.module.scss\";\r\n\r\nconst Avatar: React.FC<AvatarProps> = (props) => (\r\n <AvatarBase\r\n {...props}\r\n ImageComponent={Image}\r\n LinkComponent={Link}\r\n classMap={styles}\r\n />\r\n);\r\n\r\nexport default Avatar;\r\n"],"names":["jsxs","jsx","disabled","status","getDefaultSize","getDefaultShadow","outline","getDefaultTheme","useState","useMemo","combineClassNames","capitalize","Fragment","Image","Link"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavBar-Br6pYp7w.js","sources":["../../src/components/NavBar/NavBarBase.tsx","../../src/components/NavBar/next/NavBar.tsx"],"sourcesContent":["import React, { JSX, useMemo } from \"react\";\r\nimport { NavBarProps } from \"./NavBar.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseNavBarProps extends NavBarProps {\r\n currentPath: string;\r\n LinkWrapper: (props: {\r\n href: string;\r\n children: React.ReactNode;\r\n className: string;\r\n isActive: boolean;\r\n testId: string;\r\n \"aria-current\"?: \"page\";\r\n }) => JSX.Element;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseNavBar: React.FC<BaseNavBarProps> = ({\r\n items,\r\n currentPath,\r\n LinkWrapper,\r\n classMap,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className,\r\n \"data-testid\": testId = \"empty-state\",\r\n}) => {\r\n const wrapperClass = useMemo(\r\n () => combineClassNames(classMap.container, classMap[theme], className),\r\n [classMap, theme]\r\n );\r\n\r\n const itemClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.item,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap, shadow, rounding]\r\n );\r\n\r\n return (\r\n <nav\r\n role=\"navigation\"\r\n aria-label=\"Main navigation\"\r\n className={wrapperClass}\r\n data-testid={`${testId}-nav-bar`}\r\n >\r\n {items.map((item, index) => {\r\n const isActive = currentPath === item.path;\r\n\r\n console.log(\r\n \"Nav item className:\",\r\n combineClassNames(classMap.item, isActive && classMap.active)\r\n );\r\n\r\n return (\r\n <LinkWrapper\r\n key={`${item.label}-${index}`}\r\n href={item.path}\r\n isActive={isActive}\r\n className={combineClassNames(\r\n itemClass,\r\n isActive && classMap[\"item--active\"]\r\n )}\r\n testId={`${testId}-nav-item-${item.label.toLowerCase()}`}\r\n aria-current={isActive ? \"page\" : undefined}\r\n >\r\n <div\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-nav-icon-${item.label.toLowerCase()}`}\r\n >\r\n {item.icon}\r\n </div>\r\n <span className={classMap.label}>{item.label}</span>\r\n </LinkWrapper>\r\n );\r\n })}\r\n </nav>\r\n );\r\n};\r\n\r\nexport default BaseNavBar;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseNavBar from \"../NavBarBase\";\r\nimport Link from \"next/link\";\r\nimport { usePathname } from \"next/navigation\";\r\nimport styles from \"./NavBar.module.scss\";\r\nimport { NavBarProps } from \"../NavBar.types\";\r\n\r\nconst NavBar: React.FC<NavBarProps & { mockPath?: string }> = ({\r\n mockPath,\r\n ...props\r\n}) => {\r\n const pathname = usePathname();\r\n const resolvedPath = mockPath ?? pathname;\r\n\r\n return (\r\n <BaseNavBar\r\n {...props}\r\n currentPath={resolvedPath || \"/\"}\r\n LinkWrapper={({ href, children, className, isActive, testId }) => (\r\n <Link\r\n href={href}\r\n className={className}\r\n aria-current={isActive ? \"page\" : undefined}\r\n data-testid={testId}\r\n >\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default NavBar;\r\n"],"names":["item","usePathname"],"mappings":";;;;;;;AAuBA,MAAM,aAAwC,CAAC;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ,gBAAA;AAAA,EACR,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT;AAAA,EACA,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,eAAe;AAAA,IACnB,MAAM,kBAAkB,SAAS,WAAW,SAAS,KAAK,GAAG,SAAS;AAAA,IACtE,CAAC,UAAU,KAAK;AAAA,EAAA;AAGlB,QAAM,YAAY;AAAA,IAChB,MACE;AAAA,MACE,SAAS;AAAA,MACT,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,IAAA;AAAA,IAEvD,CAAC,UAAU,QAAQ,QAAQ;AAAA,EAAA;AAG7B,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAW;AAAA,MACX,WAAW;AAAA,MACX,eAAa,GAAG,MAAM;AAAA,MAErB,UAAA,MAAM,IAAI,CAACA,OAAM,UAAU;AAC1B,cAAM,WAAW,gBAAgBA,MAAK;AAEtC,gBAAQ;AAAA,UACN;AAAA,UACA,kBAAkB,SAAS,MAAM,YAAY,SAAS,MAAM;AAAA,QAAA;AAG9D,eACE;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,MAAMA,MAAK;AAAA,YACX;AAAA,YACA,WAAW;AAAA,cACT;AAAA,cACA,YAAY,SAAS,cAAc;AAAA,YAAA;AAAA,YAErC,QAAQ,GAAG,MAAM,aAAaA,MAAK,MAAM,aAAa;AAAA,YACtD,gBAAc,WAAW,SAAS;AAAA,YAElC,UAAA;AAAA,cAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAW,SAAS;AAAA,kBACpB,eAAY;AAAA,kBACZ,eAAa,GAAG,MAAM,aAAaA,MAAK,MAAM,aAAa;AAAA,kBAE1D,UAAAA,MAAK;AAAA,gBAAA;AAAA,cAAA;AAAA,kCAEP,QAAA,EAAK,WAAW,SAAS,OAAQ,gBAAK,MAAA,CAAM;AAAA,YAAA;AAAA,UAAA;AAAA,UAjBxC,GAAGA,MAAK,KAAK,IAAI,KAAK;AAAA,QAAA;AAAA,MAoBjC,CAAC;AAAA,IAAA;AAAA,EAAA;AAGP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChFA,MAAM,SAAwD,CAAC;AAAA,EAC7D;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,WAAWC,WAAAA,YAAA;AACjB,QAAM,eAAe,YAAY;AAEjC,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,aAAa,gBAAgB;AAAA,MAC7B,aAAa,CAAC,EAAE,MAAM,UAAU,WAAW,UAAU,aACnD;AAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA,gBAAc,WAAW,SAAS;AAAA,UAClC,eAAa;AAAA,UAEZ;AAAA,QAAA;AAAA,MAAA;AAAA,MAGL,UAAU;AAAA,IAAA;AAAA,EAAA;AAGhB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavBar-CGuVgKpW.cjs","sources":["../../src/components/NavBar/NavBarBase.tsx","../../src/components/NavBar/next/NavBar.tsx"],"sourcesContent":["import React, { JSX, useMemo } from \"react\";\r\nimport { NavBarProps } from \"./NavBar.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseNavBarProps extends NavBarProps {\r\n currentPath: string;\r\n LinkWrapper: (props: {\r\n href: string;\r\n children: React.ReactNode;\r\n className: string;\r\n isActive: boolean;\r\n testId: string;\r\n \"aria-current\"?: \"page\";\r\n }) => JSX.Element;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseNavBar: React.FC<BaseNavBarProps> = ({\r\n items,\r\n currentPath,\r\n LinkWrapper,\r\n classMap,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className,\r\n \"data-testid\": testId = \"empty-state\",\r\n}) => {\r\n const wrapperClass = useMemo(\r\n () => combineClassNames(classMap.container, classMap[theme], className),\r\n [classMap, theme]\r\n );\r\n\r\n const itemClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.item,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap, shadow, rounding]\r\n );\r\n\r\n return (\r\n <nav\r\n role=\"navigation\"\r\n aria-label=\"Main navigation\"\r\n className={wrapperClass}\r\n data-testid={`${testId}-nav-bar`}\r\n >\r\n {items.map((item, index) => {\r\n const isActive = currentPath === item.path;\r\n\r\n console.log(\r\n \"Nav item className:\",\r\n combineClassNames(classMap.item, isActive && classMap.active)\r\n );\r\n\r\n return (\r\n <LinkWrapper\r\n key={`${item.label}-${index}`}\r\n href={item.path}\r\n isActive={isActive}\r\n className={combineClassNames(\r\n itemClass,\r\n isActive && classMap[\"item--active\"]\r\n )}\r\n testId={`${testId}-nav-item-${item.label.toLowerCase()}`}\r\n aria-current={isActive ? \"page\" : undefined}\r\n >\r\n <div\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-nav-icon-${item.label.toLowerCase()}`}\r\n >\r\n {item.icon}\r\n </div>\r\n <span className={classMap.label}>{item.label}</span>\r\n </LinkWrapper>\r\n );\r\n })}\r\n </nav>\r\n );\r\n};\r\n\r\nexport default BaseNavBar;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseNavBar from \"../NavBarBase\";\r\nimport Link from \"next/link\";\r\nimport { usePathname } from \"next/navigation\";\r\nimport styles from \"./NavBar.module.scss\";\r\nimport { NavBarProps } from \"../NavBar.types\";\r\n\r\nconst NavBar: React.FC<NavBarProps & { mockPath?: string }> = ({\r\n mockPath,\r\n ...props\r\n}) => {\r\n const pathname = usePathname();\r\n const resolvedPath = mockPath ?? pathname;\r\n\r\n return (\r\n <BaseNavBar\r\n {...props}\r\n currentPath={resolvedPath || \"/\"}\r\n LinkWrapper={({ href, children, className, isActive, testId }) => (\r\n <Link\r\n href={href}\r\n className={className}\r\n aria-current={isActive ? \"page\" : undefined}\r\n data-testid={testId}\r\n >\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default NavBar;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","useMemo","combineClassNames","capitalize","jsx","item","jsxs","usePathname","Link"],"mappings":";;;;;;;;AAuBA,MAAM,aAAwC,CAAC;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQA,kBAAAA,gBAAA;AAAA,EACR,WAAWC,kBAAAA,mBAAA;AAAA,EACX,SAASC,kBAAAA,iBAAA;AAAA,EACT;AAAA,EACA,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,eAAeC,MAAAA;AAAAA,IACnB,MAAMC,WAAAA,kBAAkB,SAAS,WAAW,SAAS,KAAK,GAAG,SAAS;AAAA,IACtE,CAAC,UAAU,KAAK;AAAA,EAAA;AAGlB,QAAM,YAAYD,MAAAA;AAAAA,IAChB,MACEC,WAAAA;AAAAA,MACE,SAAS;AAAA,MACT,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,IAAA;AAAA,IAEvD,CAAC,UAAU,QAAQ,QAAQ;AAAA,EAAA;AAG7B,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAW;AAAA,MACX,WAAW;AAAA,MACX,eAAa,GAAG,MAAM;AAAA,MAErB,UAAA,MAAM,IAAI,CAACC,OAAM,UAAU;AAC1B,cAAM,WAAW,gBAAgBA,MAAK;AAEtC,gBAAQ;AAAA,UACN;AAAA,UACAH,WAAAA,kBAAkB,SAAS,MAAM,YAAY,SAAS,MAAM;AAAA,QAAA;AAG9D,eACEI,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YAEC,MAAMD,MAAK;AAAA,YACX;AAAA,YACA,WAAWH,WAAAA;AAAAA,cACT;AAAA,cACA,YAAY,SAAS,cAAc;AAAA,YAAA;AAAA,YAErC,QAAQ,GAAG,MAAM,aAAaG,MAAK,MAAM,aAAa;AAAA,YACtD,gBAAc,WAAW,SAAS;AAAA,YAElC,UAAA;AAAA,cAAAD,2BAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAW,SAAS;AAAA,kBACpB,eAAY;AAAA,kBACZ,eAAa,GAAG,MAAM,aAAaC,MAAK,MAAM,aAAa;AAAA,kBAE1D,UAAAA,MAAK;AAAA,gBAAA;AAAA,cAAA;AAAA,6CAEP,QAAA,EAAK,WAAW,SAAS,OAAQ,gBAAK,MAAA,CAAM;AAAA,YAAA;AAAA,UAAA;AAAA,UAjBxC,GAAGA,MAAK,KAAK,IAAI,KAAK;AAAA,QAAA;AAAA,MAoBjC,CAAC;AAAA,IAAA;AAAA,EAAA;AAGP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChFA,MAAM,SAAwD,CAAC;AAAA,EAC7D;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,WAAWE,WAAAA,WAAAA,YAAA;AACjB,QAAM,eAAe,YAAY;AAEjC,SACEH,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,aAAa,gBAAgB;AAAA,MAC7B,aAAa,CAAC,EAAE,MAAM,UAAU,WAAW,UAAU,aACnDA,2BAAAA;AAAAA,QAACI,KAAAA;AAAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA,gBAAc,WAAW,SAAS;AAAA,UAClC,eAAa;AAAA,UAEZ;AAAA,QAAA;AAAA,MAAA;AAAA,MAGL,UAAU;AAAA,IAAA;AAAA,EAAA;AAGhB;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"STT-Br81yPXp.js","sources":["../../src/Icons/ArrowUpIcon.tsx","../../src/components/ScrollToTop/ScrollToTopBase.tsx","../../src/components/ScrollToTop/next/STT.tsx"],"sourcesContent":["const ArrowUpIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M12 21L12 3M12 3L20.5 11.5M12 3L3.5 11.5\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ArrowUpIcon;\r\n","import {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\nimport { RoundingType, ShadowType } from \"../../types/types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport React, { useEffect, useState } from \"react\";\r\n\r\nexport interface ScrollToTopBaseProps {\r\n classMap: Record<string, string>;\r\n rounding?: RoundingType;\r\n shadow?: ShadowType;\r\n IconComponent: React.ElementType;\r\n offset?: number;\r\n \"data-testid\"?: string;\r\n}\r\n\r\nconst ScrollToTopBase: React.FC<ScrollToTopBaseProps> = ({\r\n classMap,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n IconComponent,\r\n offset = 300,\r\n \"data-testid\": testId = \"scroll\",\r\n}) => {\r\n const [isVisible, setIsVisible] = useState(false);\r\n\r\n const toggleVisibility = () => {\r\n setIsVisible(window.pageYOffset > offset);\r\n };\r\n\r\n const scrollToTop = () => {\r\n window.scrollTo({ top: 0, behavior: \"smooth\" });\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", toggleVisibility);\r\n return () => window.removeEventListener(\"scroll\", toggleVisibility);\r\n }, [offset]);\r\n\r\n const iconClass = combineClassNames(\r\n classMap.icon,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return (\r\n <div className={classMap.wrapper}>\r\n <div\r\n aria-live=\"polite\"\r\n className=\"sr_only\"\r\n role=\"status\"\r\n data-testid={`${testId}-announcement`}\r\n >\r\n {isVisible ? \"Scroll to top button is now visible\" : \"\"}\r\n </div>\r\n\r\n {isVisible && (\r\n <button\r\n onClick={scrollToTop}\r\n className={classMap.button}\r\n title=\"Scroll to top\"\r\n type=\"button\"\r\n aria-label=\"Scroll to top\"\r\n data-testid={`${testId}-button`}\r\n >\r\n <IconComponent className={iconClass} />\r\n </button>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default ScrollToTopBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport ScrollToTopBase from \"../ScrollToTopBase\";\r\nimport { ArrowUpIcon } from \"@/Icons\";\r\nimport styles from \"./STT.module.scss\";\r\n\r\nconst ScrollToTopButton: React.FC = () => (\r\n <ScrollToTopBase classMap={styles} IconComponent={ArrowUpIcon} />\r\n);\r\n\r\nexport default ScrollToTopButton;\r\n"],"names":[],"mappings":";;;;;AAAA,MAAM,cAAuD,CAAC,UAC5D;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,aAAY;AAAA,IACZ,MAAK;AAAA,IACL,OAAM;AAAA,IACN,OAAM;AAAA,IACL,GAAG;AAAA,IAEJ,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB;AACH;ACAF,MAAM,kBAAkD,CAAC;AAAA,EACvD;AAAA,EACA,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT;AAAA,EACA,SAAS;AAAA,EACT,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,QAAM,mBAAmB,MAAM;AAC7B,iBAAa,OAAO,cAAc,MAAM;AAAA,EAC1C;AAEA,QAAM,cAAc,MAAM;AACxB,WAAO,SAAS,EAAE,KAAK,GAAG,UAAU,UAAU;AAAA,EAChD;AAEA,YAAU,MAAM;AACd,WAAO,iBAAiB,UAAU,gBAAgB;AAClD,WAAO,MAAM,OAAO,oBAAoB,UAAU,gBAAgB;AAAA,EACpE,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,IACT,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,IAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,EAAA;AAGrD,SACE,qBAAC,OAAA,EAAI,WAAW,SAAS,SACvB,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,aAAU;AAAA,QACV,WAAU;AAAA,QACV,MAAK;AAAA,QACL,eAAa,GAAG,MAAM;AAAA,QAErB,sBAAY,wCAAwC;AAAA,MAAA;AAAA,IAAA;AAAA,IAGtD,aACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,WAAW,SAAS;AAAA,QACpB,OAAM;AAAA,QACN,MAAK;AAAA,QACL,cAAW;AAAA,QACX,eAAa,GAAG,MAAM;AAAA,QAEtB,UAAA,oBAAC,eAAA,EAAc,WAAW,UAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EACvC,GAEJ;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjEA,MAAM,oBAA8B,MAClC,oBAAC,mBAAgB,UAAU,QAAQ,eAAe,YAAA,CAAa;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"STT-C0q3yqiJ.cjs","sources":["../../src/Icons/ArrowUpIcon.tsx","../../src/components/ScrollToTop/ScrollToTopBase.tsx","../../src/components/ScrollToTop/next/STT.tsx"],"sourcesContent":["const ArrowUpIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M12 21L12 3M12 3L20.5 11.5M12 3L3.5 11.5\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ArrowUpIcon;\r\n","import {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\nimport { RoundingType, ShadowType } from \"../../types/types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport React, { useEffect, useState } from \"react\";\r\n\r\nexport interface ScrollToTopBaseProps {\r\n classMap: Record<string, string>;\r\n rounding?: RoundingType;\r\n shadow?: ShadowType;\r\n IconComponent: React.ElementType;\r\n offset?: number;\r\n \"data-testid\"?: string;\r\n}\r\n\r\nconst ScrollToTopBase: React.FC<ScrollToTopBaseProps> = ({\r\n classMap,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n IconComponent,\r\n offset = 300,\r\n \"data-testid\": testId = \"scroll\",\r\n}) => {\r\n const [isVisible, setIsVisible] = useState(false);\r\n\r\n const toggleVisibility = () => {\r\n setIsVisible(window.pageYOffset > offset);\r\n };\r\n\r\n const scrollToTop = () => {\r\n window.scrollTo({ top: 0, behavior: \"smooth\" });\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", toggleVisibility);\r\n return () => window.removeEventListener(\"scroll\", toggleVisibility);\r\n }, [offset]);\r\n\r\n const iconClass = combineClassNames(\r\n classMap.icon,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return (\r\n <div className={classMap.wrapper}>\r\n <div\r\n aria-live=\"polite\"\r\n className=\"sr_only\"\r\n role=\"status\"\r\n data-testid={`${testId}-announcement`}\r\n >\r\n {isVisible ? \"Scroll to top button is now visible\" : \"\"}\r\n </div>\r\n\r\n {isVisible && (\r\n <button\r\n onClick={scrollToTop}\r\n className={classMap.button}\r\n title=\"Scroll to top\"\r\n type=\"button\"\r\n aria-label=\"Scroll to top\"\r\n data-testid={`${testId}-button`}\r\n >\r\n <IconComponent className={iconClass} />\r\n </button>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default ScrollToTopBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport ScrollToTopBase from \"../ScrollToTopBase\";\r\nimport { ArrowUpIcon } from \"@/Icons\";\r\nimport styles from \"./STT.module.scss\";\r\n\r\nconst ScrollToTopButton: React.FC = () => (\r\n <ScrollToTopBase classMap={styles} IconComponent={ArrowUpIcon} />\r\n);\r\n\r\nexport default ScrollToTopButton;\r\n"],"names":["jsx","getDefaultRounding","getDefaultShadow","useState","useEffect","combineClassNames","capitalize","jsxs"],"mappings":";;;;;;AAAA,MAAM,cAAuD,CAAC,UAC5DA,2BAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,aAAY;AAAA,IACZ,MAAK;AAAA,IACL,OAAM;AAAA,IACN,OAAM;AAAA,IACL,GAAG;AAAA,IAEJ,UAAAA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB;AACH;ACAF,MAAM,kBAAkD,CAAC;AAAA,EACvD;AAAA,EACA,WAAWC,kBAAAA,mBAAA;AAAA,EACX,SAASC,kBAAAA,iBAAA;AAAA,EACT;AAAA,EACA,SAAS;AAAA,EACT,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,CAAC,WAAW,YAAY,IAAIC,MAAAA,SAAS,KAAK;AAEhD,QAAM,mBAAmB,MAAM;AAC7B,iBAAa,OAAO,cAAc,MAAM;AAAA,EAC1C;AAEA,QAAM,cAAc,MAAM;AACxB,WAAO,SAAS,EAAE,KAAK,GAAG,UAAU,UAAU;AAAA,EAChD;AAEAC,QAAAA,UAAU,MAAM;AACd,WAAO,iBAAiB,UAAU,gBAAgB;AAClD,WAAO,MAAM,OAAO,oBAAoB,UAAU,gBAAgB;AAAA,EACpE,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,YAAYC,WAAAA;AAAAA,IAChB,SAAS;AAAA,IACT,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,IAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,EAAA;AAGrD,SACEC,2BAAAA,KAAC,OAAA,EAAI,WAAW,SAAS,SACvB,UAAA;AAAA,IAAAP,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,aAAU;AAAA,QACV,WAAU;AAAA,QACV,MAAK;AAAA,QACL,eAAa,GAAG,MAAM;AAAA,QAErB,sBAAY,wCAAwC;AAAA,MAAA;AAAA,IAAA;AAAA,IAGtD,aACCA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,WAAW,SAAS;AAAA,QACpB,OAAM;AAAA,QACN,MAAK;AAAA,QACL,cAAW;AAAA,QACX,eAAa,GAAG,MAAM;AAAA,QAEtB,UAAAA,2BAAAA,IAAC,eAAA,EAAc,WAAW,UAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EACvC,GAEJ;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjEA,MAAM,oBAA8B,MAClCA,2BAAAA,IAAC,mBAAgB,UAAU,QAAQ,eAAe,YAAA,CAAa;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Taginput.d.ts","sourceRoot":"","sources":["../../../../../src/components/TagInput/next/Taginput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CASrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}