boreal-ui 0.0.78 → 0.0.80

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 (213) hide show
  1. package/dist/core/{Breadcrumbs-B7hp9_u1.cjs → Breadcrumbs-B-I-UmIg.cjs} +1 -2
  2. package/dist/core/{Breadcrumbs-B7hp9_u1.cjs.map → Breadcrumbs-B-I-UmIg.cjs.map} +1 -1
  3. package/dist/core/{Breadcrumbs-kbOyaea6.js → Breadcrumbs-BwDAukNi.js} +1 -2
  4. package/dist/core/{Breadcrumbs-kbOyaea6.js.map → Breadcrumbs-BwDAukNi.js.map} +1 -1
  5. package/dist/core/Breadcrumbs.cjs.js +1 -1
  6. package/dist/core/Breadcrumbs.js +1 -1
  7. package/dist/core/{Card-C3kfPs8j.cjs → Card-B2gCUSuQ.cjs} +1 -2
  8. package/dist/core/{Card-C3kfPs8j.cjs.map → Card-B2gCUSuQ.cjs.map} +1 -1
  9. package/dist/core/{Card-CZY1qzwZ.js → Card-CnvOGnWI.js} +1 -2
  10. package/dist/core/{Card-CZY1qzwZ.js.map → Card-CnvOGnWI.js.map} +1 -1
  11. package/dist/core/Card.cjs.js +1 -1
  12. package/dist/core/Card.js +1 -1
  13. package/dist/core/{CommandPalette-BtpQ9cio.cjs → CommandPalette-BKd-BCUk.cjs} +2 -2
  14. package/dist/core/{CommandPalette-BtpQ9cio.cjs.map → CommandPalette-BKd-BCUk.cjs.map} +1 -1
  15. package/dist/core/{CommandPalette-0uVG4iR2.js → CommandPalette-C5XB2s4L.js} +2 -2
  16. package/dist/core/{CommandPalette-0uVG4iR2.js.map → CommandPalette-C5XB2s4L.js.map} +1 -1
  17. package/dist/core/CommandPalette.cjs.js +1 -1
  18. package/dist/core/CommandPalette.js +1 -1
  19. package/dist/core/{Dropdown-B7-_OH9p.cjs → Dropdown-DflOD92W.cjs} +1 -2
  20. package/dist/core/{Dropdown-B7-_OH9p.cjs.map → Dropdown-DflOD92W.cjs.map} +1 -1
  21. package/dist/core/{Dropdown-BEPGhf-i.js → Dropdown-fr7AR3nt.js} +1 -2
  22. package/dist/core/{Dropdown-BEPGhf-i.js.map → Dropdown-fr7AR3nt.js.map} +1 -1
  23. package/dist/core/Dropdown.cjs.js +1 -1
  24. package/dist/core/Dropdown.js +1 -1
  25. package/dist/core/{EmptyState-Du2xqi6G.cjs → EmptyState-BSVIrZHm.cjs} +1 -2
  26. package/dist/core/{EmptyState-Du2xqi6G.cjs.map → EmptyState-BSVIrZHm.cjs.map} +1 -1
  27. package/dist/core/{EmptyState-CM7nlKER.js → EmptyState-ClFhpjyo.js} +1 -2
  28. package/dist/core/{EmptyState-CM7nlKER.js.map → EmptyState-ClFhpjyo.js.map} +1 -1
  29. package/dist/core/EmptyState.cjs.js +1 -1
  30. package/dist/core/EmptyState.js +1 -1
  31. package/dist/core/{Footer-60sTURxB.cjs → Footer-CDcKfT68.cjs} +37 -37
  32. package/dist/core/Footer-CDcKfT68.cjs.map +1 -0
  33. package/dist/core/{Footer-Q_60pe6o.js → Footer-DaEqi5su.js} +38 -38
  34. package/dist/core/Footer-DaEqi5su.js.map +1 -0
  35. package/dist/core/Footer.cjs.js +1 -1
  36. package/dist/core/Footer.js +1 -1
  37. package/dist/core/{NotificationCenter-DA-WGPP9.js → NotificationCenter-B8e8mMb_.js} +1 -2
  38. package/dist/core/{NotificationCenter-DA-WGPP9.js.map → NotificationCenter-B8e8mMb_.js.map} +1 -1
  39. package/dist/core/{NotificationCenter-CsKJTZhk.cjs → NotificationCenter-Dg_F-nLl.cjs} +1 -2
  40. package/dist/core/{NotificationCenter-CsKJTZhk.cjs.map → NotificationCenter-Dg_F-nLl.cjs.map} +1 -1
  41. package/dist/core/NotificationCenter.cjs.js +1 -1
  42. package/dist/core/NotificationCenter.js +1 -1
  43. package/dist/core/{Pager-B4hyIUdo.js → Pager-BH8hdkMS.js} +1 -2
  44. package/dist/core/{Pager-B4hyIUdo.js.map → Pager-BH8hdkMS.js.map} +1 -1
  45. package/dist/core/{Pager-wl7_umU4.cjs → Pager-BXAAjmIk.cjs} +1 -2
  46. package/dist/core/{Pager-wl7_umU4.cjs.map → Pager-BXAAjmIk.cjs.map} +1 -1
  47. package/dist/core/Pager.cjs.js +1 -1
  48. package/dist/core/Pager.js +1 -1
  49. package/dist/core/{Stepper-CQRJID19.cjs → Stepper-BImUKM9h.cjs} +1 -2
  50. package/dist/core/{Stepper-CQRJID19.cjs.map → Stepper-BImUKM9h.cjs.map} +1 -1
  51. package/dist/core/{Stepper-CLfy0_gZ.js → Stepper-DRCnDvvv.js} +1 -2
  52. package/dist/core/{Stepper-CLfy0_gZ.js.map → Stepper-DRCnDvvv.js.map} +1 -1
  53. package/dist/core/Stepper.cjs.js +1 -1
  54. package/dist/core/Stepper.js +1 -1
  55. package/dist/core/{TagInput-YieWARAt.js → TagInput-BO0Br1nf.js} +2 -2
  56. package/dist/core/{TagInput-YieWARAt.js.map → TagInput-BO0Br1nf.js.map} +1 -1
  57. package/dist/core/{TagInput-pWRdhaP3.cjs → TagInput-CpJ--Wzp.cjs} +2 -2
  58. package/dist/core/{TagInput-pWRdhaP3.cjs.map → TagInput-CpJ--Wzp.cjs.map} +1 -1
  59. package/dist/core/TagInput.cjs.js +1 -1
  60. package/dist/core/TagInput.js +1 -1
  61. package/dist/core/{TextInput-Bc2YpcvM.js → TextInput-CXyzklAm.js} +1 -2
  62. package/dist/core/{TextInput-Bc2YpcvM.js.map → TextInput-CXyzklAm.js.map} +1 -1
  63. package/dist/core/{TextInput-DbAsQxjr.cjs → TextInput-xBrLtn_h.cjs} +1 -2
  64. package/dist/core/{TextInput-DbAsQxjr.cjs.map → TextInput-xBrLtn_h.cjs.map} +1 -1
  65. package/dist/core/TextInput.cjs.js +1 -1
  66. package/dist/core/TextInput.js +1 -1
  67. package/dist/core/boreal-ui.css +1137 -1137
  68. package/dist/core/index.cjs.js +11 -12
  69. package/dist/core/index.cjs.js.map +1 -1
  70. package/dist/core/index.js +11 -12
  71. package/dist/core/index.js.map +1 -1
  72. package/dist/next/{Breadcrumbs-eetAtAHU.js → Breadcrumbs-BEDmdhgu.js} +2 -3
  73. package/dist/next/{Breadcrumbs-eetAtAHU.js.map → Breadcrumbs-BEDmdhgu.js.map} +1 -1
  74. package/dist/next/{Breadcrumbs-33eZmvpJ.cjs → Breadcrumbs-CMOeEih6.cjs} +2 -3
  75. package/dist/next/{Breadcrumbs-33eZmvpJ.cjs.map → Breadcrumbs-CMOeEih6.cjs.map} +1 -1
  76. package/dist/next/Breadcrumbs.cjs.js +1 -1
  77. package/dist/next/Breadcrumbs.js +1 -1
  78. package/dist/next/{Card-CO--D_GK.js → Card-C4l2NTBd.js} +2 -3
  79. package/dist/next/{Card-CO--D_GK.js.map → Card-C4l2NTBd.js.map} +1 -1
  80. package/dist/next/{Card-o8DszZPj.cjs → Card-DcQ0V83P.cjs} +2 -3
  81. package/dist/next/{Card-o8DszZPj.cjs.map → Card-DcQ0V83P.cjs.map} +1 -1
  82. package/dist/next/Card.cjs.js +1 -1
  83. package/dist/next/Card.js +1 -1
  84. package/dist/next/CheckBox.cjs.js +1 -1
  85. package/dist/next/CheckBox.js +1 -1
  86. package/dist/next/{Checkbox-KIXViPTB.js → Checkbox-D6Msnkyl.js} +75 -75
  87. package/dist/next/{Checkbox-KIXViPTB.js.map → Checkbox-D6Msnkyl.js.map} +1 -1
  88. package/dist/next/{Checkbox-UqOL3aqk.cjs → Checkbox-IK6dY7ED.cjs} +74 -74
  89. package/dist/next/{Checkbox-UqOL3aqk.cjs.map → Checkbox-IK6dY7ED.cjs.map} +1 -1
  90. package/dist/next/{Chip-D-QH1huh.js → Chip-BweeZwb7.js} +84 -85
  91. package/dist/next/{Chip-D-QH1huh.js.map → Chip-BweeZwb7.js.map} +1 -1
  92. package/dist/next/{Chip-BQv3NoJL.cjs → Chip-DNyF7UUP.cjs} +85 -86
  93. package/dist/next/{Chip-BQv3NoJL.cjs.map → Chip-DNyF7UUP.cjs.map} +1 -1
  94. package/dist/next/Chip.cjs.js +1 -1
  95. package/dist/next/Chip.js +1 -1
  96. package/dist/next/{CircularProgress-BG83Q-uO.cjs → CircularProgress-0bh-uYuv.cjs} +58 -58
  97. package/dist/next/{CircularProgress-BG83Q-uO.cjs.map → CircularProgress-0bh-uYuv.cjs.map} +1 -1
  98. package/dist/next/{CircularProgress-Bfanw-2S.js → CircularProgress-BHOMzVmz.js} +59 -59
  99. package/dist/next/{CircularProgress-Bfanw-2S.js.map → CircularProgress-BHOMzVmz.js.map} +1 -1
  100. package/dist/next/CircularProgress.cjs.js +1 -1
  101. package/dist/next/CircularProgress.js +1 -1
  102. package/dist/next/{ColorPicker-BJfyM0Ay.js → ColorPicker-BhDo-h8k.js} +50 -50
  103. package/dist/next/{ColorPicker-BJfyM0Ay.js.map → ColorPicker-BhDo-h8k.js.map} +1 -1
  104. package/dist/next/{ColorPicker-DmubVH4p.cjs → ColorPicker-DlyqseYs.cjs} +49 -49
  105. package/dist/next/{ColorPicker-DmubVH4p.cjs.map → ColorPicker-DlyqseYs.cjs.map} +1 -1
  106. package/dist/next/ColorPicker.cjs.js +1 -1
  107. package/dist/next/ColorPicker.js +1 -1
  108. package/dist/next/{CommandPalette-CNaU5jTY.js → CommandPalette-BAgsEdVA.js} +67 -68
  109. package/dist/next/{CommandPalette-CNaU5jTY.js.map → CommandPalette-BAgsEdVA.js.map} +1 -1
  110. package/dist/next/{CommandPalette-_Lpb0UOI.cjs → CommandPalette-CNs6UpbZ.cjs} +68 -69
  111. package/dist/next/{CommandPalette-_Lpb0UOI.cjs.map → CommandPalette-CNs6UpbZ.cjs.map} +1 -1
  112. package/dist/next/CommandPalette.cjs.js +1 -1
  113. package/dist/next/CommandPalette.js +1 -1
  114. package/dist/next/{DateTimePicker-WVVLqcd9.js → DateTimePicker-D2thRuf1.js} +65 -65
  115. package/dist/next/{DateTimePicker-WVVLqcd9.js.map → DateTimePicker-D2thRuf1.js.map} +1 -1
  116. package/dist/next/{DateTimePicker-CU-b9irX.cjs → DateTimePicker-Dp0y3k4y.cjs} +65 -65
  117. package/dist/next/{DateTimePicker-CU-b9irX.cjs.map → DateTimePicker-Dp0y3k4y.cjs.map} +1 -1
  118. package/dist/next/DateTimePicker.cjs.js +1 -1
  119. package/dist/next/DateTimePicker.js +1 -1
  120. package/dist/next/{Divider-BXSDTRTU.js → Divider-C41EKGIw.js} +30 -30
  121. package/dist/next/{Divider-BXSDTRTU.js.map → Divider-C41EKGIw.js.map} +1 -1
  122. package/dist/next/{Divider-BGxUapmt.cjs → Divider-CVOkAhn6.cjs} +29 -29
  123. package/dist/next/{Divider-BGxUapmt.cjs.map → Divider-CVOkAhn6.cjs.map} +1 -1
  124. package/dist/next/Divider.cjs.js +1 -1
  125. package/dist/next/Divider.js +1 -1
  126. package/dist/next/{Dropdown-CUYItZDk.cjs → Dropdown-BYmta_HY.cjs} +42 -43
  127. package/dist/next/{Dropdown-CUYItZDk.cjs.map → Dropdown-BYmta_HY.cjs.map} +1 -1
  128. package/dist/next/{Dropdown-B7vrHg0z.js → Dropdown-DavPqfaS.js} +41 -42
  129. package/dist/next/{Dropdown-B7vrHg0z.js.map → Dropdown-DavPqfaS.js.map} +1 -1
  130. package/dist/next/Dropdown.cjs.js +1 -1
  131. package/dist/next/Dropdown.js +1 -1
  132. package/dist/next/{EmptyState-MT9_qwrB.js → EmptyState-CiTGvH-L.js} +72 -73
  133. package/dist/next/{EmptyState-MT9_qwrB.js.map → EmptyState-CiTGvH-L.js.map} +1 -1
  134. package/dist/next/{EmptyState-sh7Vn6eC.cjs → EmptyState-kAjC_DXY.cjs} +73 -74
  135. package/dist/next/{EmptyState-sh7Vn6eC.cjs.map → EmptyState-kAjC_DXY.cjs.map} +1 -1
  136. package/dist/next/EmptyState.cjs.js +1 -1
  137. package/dist/next/EmptyState.js +1 -1
  138. package/dist/next/{FileUpload-Bvj5JEBv.js → FileUpload-HiZuJjoA.js} +82 -83
  139. package/dist/next/{FileUpload-Bvj5JEBv.js.map → FileUpload-HiZuJjoA.js.map} +1 -1
  140. package/dist/next/{FileUpload-CD_i5Md2.cjs → FileUpload-qzSlXJzW.cjs} +82 -83
  141. package/dist/next/{FileUpload-CD_i5Md2.cjs.map → FileUpload-qzSlXJzW.cjs.map} +1 -1
  142. package/dist/next/FileUpload.cjs.js +1 -1
  143. package/dist/next/FileUpload.js +1 -1
  144. package/dist/next/{Footer-Bdu_9H3p.js → Footer-BVic2clD.js} +103 -103
  145. package/dist/next/Footer-BVic2clD.js.map +1 -0
  146. package/dist/next/{Footer-DJjzgwpc.cjs → Footer-lEKbmF3y.cjs} +103 -103
  147. package/dist/next/Footer-lEKbmF3y.cjs.map +1 -0
  148. package/dist/next/Footer.cjs.js +1 -1
  149. package/dist/next/Footer.js +1 -1
  150. package/dist/next/{MessagePopup-DLodDCIa.js → MessagePopup-BAvnVw84.js} +2 -3
  151. package/dist/next/{MessagePopup-DLodDCIa.js.map → MessagePopup-BAvnVw84.js.map} +1 -1
  152. package/dist/next/{MessagePopup-CizqwWmH.cjs → MessagePopup-CixIzgoc.cjs} +2 -3
  153. package/dist/next/{MessagePopup-CizqwWmH.cjs.map → MessagePopup-CixIzgoc.cjs.map} +1 -1
  154. package/dist/next/MessagePopup.cjs.js +1 -1
  155. package/dist/next/MessagePopup.js +1 -1
  156. package/dist/next/{Modal-BajWiIo7.js → Modal-5Reb9Rx-.js} +2 -3
  157. package/dist/next/{Modal-BajWiIo7.js.map → Modal-5Reb9Rx-.js.map} +1 -1
  158. package/dist/next/{Modal-j59Cj0t1.cjs → Modal-DfVyL8yk.cjs} +2 -3
  159. package/dist/next/{Modal-j59Cj0t1.cjs.map → Modal-DfVyL8yk.cjs.map} +1 -1
  160. package/dist/next/Modal.cjs.js +1 -1
  161. package/dist/next/Modal.js +1 -1
  162. package/dist/next/{NotificationCenter-obd1jF2n.cjs → NotificationCenter-BcEB_4HS.cjs} +2 -3
  163. package/dist/next/{NotificationCenter-obd1jF2n.cjs.map → NotificationCenter-BcEB_4HS.cjs.map} +1 -1
  164. package/dist/next/{NotificationCenter-BDd4Zr8Y.js → NotificationCenter-DvoC0SI9.js} +2 -3
  165. package/dist/next/{NotificationCenter-BDd4Zr8Y.js.map → NotificationCenter-DvoC0SI9.js.map} +1 -1
  166. package/dist/next/NotificationCenter.cjs.js +1 -1
  167. package/dist/next/NotificationCenter.js +1 -1
  168. package/dist/next/{Pager-8dIVqCGz.cjs → Pager-BZLZA8KD.cjs} +2 -3
  169. package/dist/next/{Pager-8dIVqCGz.cjs.map → Pager-BZLZA8KD.cjs.map} +1 -1
  170. package/dist/next/{Pager-C7n5x44P.js → Pager-D11plHRn.js} +2 -3
  171. package/dist/next/{Pager-C7n5x44P.js.map → Pager-D11plHRn.js.map} +1 -1
  172. package/dist/next/Pager.cjs.js +1 -1
  173. package/dist/next/Pager.js +1 -1
  174. package/dist/next/{Stepper-em6Gl32O.js → Stepper-B2X72Iir.js} +2 -3
  175. package/dist/next/{Stepper-em6Gl32O.js.map → Stepper-B2X72Iir.js.map} +1 -1
  176. package/dist/next/{Stepper-CpgJBKz7.cjs → Stepper-fE7prDWu.cjs} +2 -3
  177. package/dist/next/{Stepper-CpgJBKz7.cjs.map → Stepper-fE7prDWu.cjs.map} +1 -1
  178. package/dist/next/Stepper.cjs.js +1 -1
  179. package/dist/next/Stepper.js +1 -1
  180. package/dist/next/{TagInput-DVmBv7Mn.cjs → TagInput-BycAVBEu.cjs} +3 -4
  181. package/dist/next/{TagInput-DVmBv7Mn.cjs.map → TagInput-BycAVBEu.cjs.map} +1 -1
  182. package/dist/next/{TagInput-8nVGDluu.js → TagInput-CabR-drk.js} +3 -4
  183. package/dist/next/{TagInput-8nVGDluu.js.map → TagInput-CabR-drk.js.map} +1 -1
  184. package/dist/next/TagInput.cjs.js +1 -1
  185. package/dist/next/TagInput.js +1 -1
  186. package/dist/next/{TextInput-CKM34-yu.js → TextInput-B4s9TMoa.js} +2 -3
  187. package/dist/next/{TextInput-CKM34-yu.js.map → TextInput-B4s9TMoa.js.map} +1 -1
  188. package/dist/next/{TextInput-BRl37zMW.cjs → TextInput-SqTFFVZ8.cjs} +2 -3
  189. package/dist/next/{TextInput-BRl37zMW.cjs.map → TextInput-SqTFFVZ8.cjs.map} +1 -1
  190. package/dist/next/TextInput.cjs.js +1 -1
  191. package/dist/next/TextInput.js +1 -1
  192. package/dist/next/globals.cjs.js +2 -0
  193. package/dist/next/globals.cjs.js.map +1 -0
  194. package/dist/next/globals.js +2 -0
  195. package/dist/next/globals.js.map +1 -0
  196. package/dist/next/index.cjs.js +22 -22
  197. package/dist/next/index.js +22 -22
  198. package/dist/tsconfig.build.tsbuildinfo +1 -1
  199. package/dist/types/components/Card/core/Card.d.ts.map +1 -1
  200. package/dist/types/components/Card/next/Card.d.ts.map +1 -1
  201. package/dist/types/components/FileUpload/next/FileUpload.d.ts.map +1 -1
  202. package/dist/types/components/Footer/next/Footer.d.ts.map +1 -1
  203. package/dist/types/components/MessagePopup/next/MessagePopup.d.ts.map +1 -1
  204. package/dist/types/components/NotificationCenter/core/NotificationCenter.d.ts.map +1 -1
  205. package/dist/types/components/NotificationCenter/next/NotificationCenter.d.ts.map +1 -1
  206. package/dist/types/components/Pager/core/Pager.d.ts.map +1 -1
  207. package/dist/types/components/Pager/next/Pager.d.ts.map +1 -1
  208. package/dist/types/components/TagInput/next/TagInput.d.ts.map +1 -1
  209. package/package.json +1 -1
  210. package/dist/core/Footer-60sTURxB.cjs.map +0 -1
  211. package/dist/core/Footer-Q_60pe6o.js.map +0 -1
  212. package/dist/next/Footer-Bdu_9H3p.js.map +0 -1
  213. package/dist/next/Footer-DJjzgwpc.cjs.map +0 -1
@@ -1714,112 +1714,6 @@
1714
1714
  outline-color: Highlight;
1715
1715
  }
1716
1716
  }
1717
- /**
1718
- * ---------------------------------------------------------------------
1719
- * globals.scss
1720
- * ---------------------------------------------------------------------
1721
- * Global style definitions and base theme setup for Boreal UI.
1722
- * This file is responsible for setting:
1723
- *
1724
- * 1. CSS Variables (`:root`) — Derived from SCSS theme tokens
1725
- * - Automatically syncs SCSS color and font variables to global CSS variables
1726
- * - Enables theming and dynamic runtime overrides
1727
- *
1728
- * 2. Global Element Styles
1729
- * - `body`, headings (`h1–h6`), paragraphs, links, and layout defaults
1730
- * - Applies font, color, spacing, and background rules using theme tokens
1731
- *
1732
- * 3. Scrollbar Styling
1733
- * - Thin scrollbar with custom thumb and track colors
1734
- * - Supports hiding scrollbars with `.hideScrollbar` utility
1735
- *
1736
- * 4. Focus Outlines
1737
- * - Custom `:focus` styles using accessible high-contrast outlines
1738
- *
1739
- * 5. Utility Classes
1740
- * - `.noScroll`: disables scroll overflow
1741
- * - `.errorMessage`: standardized error message styling
1742
- * - `.loadingContainer`: centered layout for loading views
1743
- * - `.sr_only` and `:global(.sr_only)`: accessibility class for screen-reader-only content
1744
- *
1745
- * 6. Mixin: `visually-hidden`
1746
- * - Reusable mixin for accessibility-hidden content
1747
- * - Applied via `.sr_only` and `:global(.sr_only)`
1748
- *
1749
- * Dependencies:
1750
- * - Resets: `modern-css-reset`
1751
- * - SCSS Modules: `theme`, `animations`, `breakpoints`
1752
- * - Sass Color Utilities: `sass:color`
1753
- *
1754
- * Note:
1755
- * All transitions use the theme-defined `$transition-default` for consistency.
1756
- * CSS variables allow dynamic switching between light/dark/custom themes.
1757
- */
1758
- /* Box sizing rules */
1759
- *,
1760
- *::before,
1761
- *::after {
1762
- box-sizing: border-box;
1763
- }
1764
- /* Remove default margin */
1765
- body,
1766
- h1,
1767
- h2,
1768
- h3,
1769
- h4,
1770
- p,
1771
- figure,
1772
- blockquote,
1773
- dl,
1774
- dd {
1775
- margin: 0;
1776
- }
1777
- /* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
1778
- ul[role="list"],
1779
- ol[role="list"] {
1780
- list-style: none;
1781
- }
1782
- /* Set core root defaults */
1783
- html:focus-within {
1784
- scroll-behavior: smooth;
1785
- }
1786
- /* Set core body defaults */
1787
- body {
1788
- min-height: 100vh;
1789
- text-rendering: optimizeSpeed;
1790
- line-height: 1.5;
1791
- }
1792
- /* A elements that don't have a class get default styles */
1793
- a:not([class]) {
1794
- text-decoration-skip-ink: auto;
1795
- }
1796
- /* Make images easier to work with */
1797
- img,
1798
- picture {
1799
- max-width: 100%;
1800
- display: block;
1801
- }
1802
- /* Inherit fonts for inputs and buttons */
1803
- input,
1804
- button,
1805
- textarea,
1806
- select {
1807
- font: inherit;
1808
- }
1809
- /* Remove all animations and transitions for people that prefer not to see them */
1810
- @media (prefers-reduced-motion: reduce) {
1811
- html:focus-within {
1812
- scroll-behavior: auto;
1813
- }
1814
- *,
1815
- *::before,
1816
- *::after {
1817
- animation-duration: 0.01ms !important;
1818
- animation-iteration-count: 1 !important;
1819
- transition-duration: 0.01ms !important;
1820
- scroll-behavior: auto !important;
1821
- }
1822
- }
1823
1717
  /**
1824
1718
  * ---------------------------------------------------------------------
1825
1719
  * theme.scss
@@ -1888,645 +1782,78 @@ select {
1888
1782
  */
1889
1783
  /**
1890
1784
  * -----------------------------------------------------
1891
- * _animations.scss
1785
+ * _breakpoints.scss
1892
1786
  * -----------------------------------------------------
1893
- * This file contains reusable keyframe animations
1894
- * used across the component library for transitions,
1895
- * loaders, and visual enhancements.
1896
- *
1897
- * List of Animations:
1898
- *
1899
- * 1. fade-in
1900
- * - Smoothly fades in an element by transitioning opacity from 0 to 1.
1901
- *
1902
- * 2. slide-up
1903
- * - Slides an element upward into view from below while fading in.
1904
- *
1905
- * 3. spin-3d
1906
- * - Rotates an element in 3D space along both X and Y axes (360°).
1907
- *
1908
- * 4. spin
1909
- * - Continuously rotates an element clockwise in 2D space.
1910
- *
1911
- * 5. pulse
1912
- * - Gently scales an element up and down to create a pulsing effect.
1913
- *
1914
- * 6. fade-in-up
1915
- * - Combines a fade-in with a slight upward motion (used for tooltips, popups).
1916
- *
1917
- * 7. progress-grow
1918
- * - Expands the width of a progress bar from 0% to 100%.
1787
+ * These constants define the standard device-width breakpoints
1788
+ * used in responsive media queries throughout the theme.
1919
1789
  *
1920
- * 8. indeterminate-move
1921
- * - Moves an element from left to right in a loop, used in indeterminate loaders.
1790
+ * - $breakpoint-xs: 320px (Extra small, portrait phones)
1791
+ * - $breakpoint-sm: 480px (Small devices, larger phones)
1792
+ * - $breakpoint-md: 768px (Medium devices, tablets)
1793
+ * - $breakpoint-lg: 1024px (Large devices, desktops)
1794
+ * - $breakpoint-xl: 1280px (Extra large desktops)
1795
+ * - $breakpoint-xxl: 1536px (Widescreens, large monitors)
1922
1796
  *
1923
- * 9. skeleton-loading
1924
- * - Creates a sweeping shimmer effect for skeleton loaders.
1797
+ * $breakpoints map:
1798
+ * Use this map to loop over breakpoints or access named values.
1925
1799
  */
1926
- @keyframes fade-in {
1927
- from {
1928
- opacity: 0;
1800
+ @media (prefers-reduced-motion: reduce) {
1801
+ .button {
1802
+ transition: none;
1929
1803
  }
1930
- to {
1931
- opacity: 1;
1804
+ .button_loader {
1805
+ animation-duration: 2s;
1932
1806
  }
1933
1807
  }
1934
- @keyframes slide-up {
1935
- from {
1936
- transform: translateY(100%);
1937
- opacity: 0;
1938
- }
1939
- to {
1940
- transform: translateY(0);
1941
- opacity: 1;
1808
+ @media (hover: none) {
1809
+ .button:hover {
1810
+ transform: none;
1942
1811
  }
1943
1812
  }
1944
- @keyframes spin-3d {
1945
- 0% {
1946
- transform: rotateX(0deg) rotateY(0deg);
1947
- }
1948
- 100% {
1949
- transform: rotateX(360deg) rotateY(360deg);
1813
+ @media (forced-colors: active) {
1814
+ .button {
1815
+ border: 1px solid ButtonText;
1816
+ outline-color: Highlight;
1950
1817
  }
1951
1818
  }
1952
- @keyframes spin {
1953
- 0% {
1954
- transform: rotate(0deg);
1955
- }
1956
- 100% {
1957
- transform: rotate(360deg);
1958
- }
1819
+ .button {
1820
+ min-height: 44px;
1821
+ min-width: 44px;
1822
+ display: flex;
1823
+ align-items: center;
1824
+ justify-content: center;
1825
+ gap: var(--spacing-xs);
1826
+ flex-wrap: nowrap;
1827
+ width: fit-content;
1828
+ border: none;
1829
+ cursor: pointer;
1830
+ transition: transform var(--transition-default), box-shadow var(--transition-default);
1831
+ font-family: var(--font-family-ui);
1832
+ font-size: var(--font-size-label);
1833
+ font-weight: var(--font-weight-label);
1834
+ line-height: var(--line-height-label);
1835
+ letter-spacing: var(--letter-spacing-label);
1836
+ color: inherit;
1837
+ text-decoration: none;
1959
1838
  }
1960
- @keyframes pulse {
1961
- 0% {
1962
- transform: scale(1);
1963
- }
1964
- 50% {
1965
- transform: scale(1.1);
1966
- }
1967
- 100% {
1968
- transform: scale(1);
1969
- }
1839
+ .button:hover {
1840
+ transform: scale(1.05);
1841
+ text-decoration: none;
1970
1842
  }
1971
- @keyframes fade-in-up {
1972
- from {
1973
- opacity: 0;
1974
- transform: translateY(-5px);
1975
- }
1976
- to {
1977
- opacity: 1;
1978
- transform: translateY(0);
1979
- }
1843
+ .button:focus {
1844
+ outline: 2px solid var(--focus-outline-color, var(--primary-color));
1845
+ outline-offset: 2px;
1980
1846
  }
1981
- @keyframes progress-grow {
1982
- from {
1983
- width: 0;
1984
- }
1985
- to {
1986
- width: 100%;
1847
+ @media (width <= 479.98px) {
1848
+ .button {
1849
+ gap: var(--spacing-xs);
1850
+ padding: 8px 14px;
1987
1851
  }
1988
1852
  }
1989
- @keyframes indeterminate-move {
1990
- 0% {
1991
- transform: translateX(-100%);
1992
- }
1993
- 50% {
1994
- transform: translateX(0);
1995
- }
1996
- 100% {
1997
- transform: translateX(100%);
1998
- }
1999
- }
2000
- @keyframes skeleton-loading {
2001
- 0% {
2002
- left: -100%;
2003
- }
2004
- 100% {
2005
- left: 100%;
2006
- }
2007
- }
2008
- /**
2009
- * -----------------------------------------------------
2010
- * _breakpoints.scss
2011
- * -----------------------------------------------------
2012
- * These constants define the standard device-width breakpoints
2013
- * used in responsive media queries throughout the theme.
2014
- *
2015
- * - $breakpoint-xs: 320px (Extra small, portrait phones)
2016
- * - $breakpoint-sm: 480px (Small devices, larger phones)
2017
- * - $breakpoint-md: 768px (Medium devices, tablets)
2018
- * - $breakpoint-lg: 1024px (Large devices, desktops)
2019
- * - $breakpoint-xl: 1280px (Extra large desktops)
2020
- * - $breakpoint-xxl: 1536px (Widescreens, large monitors)
2021
- *
2022
- * $breakpoints map:
2023
- * Use this map to loop over breakpoints or access named values.
2024
- */
2025
- /**
2026
- * -----------------------------------------------------
2027
- * _mixins.scss
2028
- * -----------------------------------------------------
2029
- * This file defines global SCSS mixins used for layout
2030
- * and styling utilities across the project.
2031
- *
2032
- * === Mixin: respond ===
2033
- * A responsive media query mixin for cleaner breakpoint handling.
2034
- *
2035
- * Usage:
2036
- * @include respond("md") {
2037
- * // Styles applied at min-width: 768px and up
2038
- * }
2039
- *
2040
- * @param {string} $breakpoint - One of the keys defined in the $breakpoints map
2041
- * (e.g., "xs", "sm", "md", "lg", "xl", "2xl").
2042
- * @content - The styles to apply inside the media query block.
2043
- *
2044
- * Requires:
2045
- * - A `$breakpoints` map from the `breakpoints` module (alias: `bp`)
2046
- * - `sass:map` module to access map values safely
2047
- */
2048
- :root {
2049
- /* ================================
2050
- PRIMARY COLOR PALETTE
2051
- ================================== */
2052
- --primary-color: #1c4d3a;
2053
- --primary-color-light: rgb(107.6, 201.4, 165.0285714286);
2054
- --primary-color-hover: rgb(14.4, 39.6, 29.8285714286);
2055
- --text-color-primary: rgb(255, 255, 255);
2056
- --text-color-primary-contrast: rgb(0, 0, 0);
2057
- /* ================================
2058
- SECONDARY COLOR PALETTE
2059
- ================================== */
2060
- --secondary-color: #6e502e;
2061
- --secondary-color-light: rgb(210.7692307692, 181.9230769231, 149.2307692308);
2062
- --secondary-color-hover: rgb(74.0384615385, 53.8461538462, 30.9615384615);
2063
- --text-color-secondary: rgb(0, 0, 0);
2064
- /* ================================
2065
- TERTIARY COLOR PALETTE
2066
- ================================== */
2067
- --tertiary-color: #092b1c;
2068
- --tertiary-color-light: rgb(44.9615384615, 211.0384615385, 137.7692307692);
2069
- --tertiary-color-hover: rgb(0.1730769231, 0.8269230769, 0.5384615385);
2070
- --text-color-tertiary: rgb(255, 255, 255);
2071
- /* ================================
2072
- QUATERNARY COLOR PALETTE
2073
- ================================== */
2074
- --quaternary-color: #a1733a;
2075
- --quaternary-color-light: rgb(231.9589041096, 213.6849315068, 191.0410958904);
2076
- --quaternary-color-hover: rgb(123.5068493151, 88.2191780822, 44.4931506849);
2077
- --text-color-quaternary: rgb(255, 255, 255);
2078
- /* ================================
2079
- FEEDBACK COLORS
2080
- ================================== */
2081
- --success-color: #51c703;
2082
- --success-color-hover: rgb(60.5495049505, 148.7574257426, 2.2425742574);
2083
- --warning-color: #fca505;
2084
- --warning-color-hover: rgb(203.557312253, 132.7193675889, 2.442687747);
2085
- --error-color: #f83838;
2086
- --error-color-hover: rgb(244.4029126214, 8.5970873786, 8.5970873786);
2087
- --disabled-color: rgba(184, 184, 184, 0.8666666667);
2088
- /* ================================
2089
- BACKGROUND COLORS
2090
- ================================== */
2091
- --background-color: #222e2e;
2092
- --background-color-surface: #384b4b;
2093
- --background-color-light: rgb(55.675, 75.325, 75.325);
2094
- --background-color-lighter: rgb(77.35, 104.65, 104.65);
2095
- --background-color-dark: rgb(12.325, 16.675, 16.675);
2096
- --background-color-darker: hsl(180, 15%, -4.3137254902%);
2097
- /* ================================
2098
- TEXT COLORS
2099
- ================================== */
2100
- --text-color: rgb(255, 255, 255);
2101
- --text-color-light: hsl(0, 0%, 120%);
2102
- --text-color-lighter: hsl(0, 0%, 140%);
2103
- /* ================================
2104
- LINK COLORS
2105
- ================================== */
2106
- --link-color: #8bb0c7;
2107
- --link-hover-color: #627e8f;
2108
- --link-hover-color-primary: rgb(22.4, 61.6, 46.4);
2109
- --link-hover-color-secondary: rgb(88, 64, 36.8);
2110
- /* ================================
2111
- FOCUS & INTERACTION
2112
- ================================== */
2113
- --focus-outline-color: var(--text-color-primary);
2114
- /* ===========================
2115
- Spacing Scale
2116
- =========================== */
2117
- --spacing-xxs: 2px;
2118
- --spacing-xs: 4px;
2119
- --spacing-sm: 8px;
2120
- --spacing-md: 16px;
2121
- --spacing-lg: 24px;
2122
- --spacing-xl: 32px;
2123
- /* ===========================
2124
- Font Sizes
2125
- =========================== */
2126
- --font-size-xxs: 10px;
2127
- --font-size-xs: 12px;
2128
- --font-size-sm: 14px;
2129
- --font-size-md: 16px;
2130
- --font-size-base: 18px;
2131
- --font-size-lg: 20px;
2132
- --font-size-xl: 24px;
2133
- --font-size-xxl: 32px;
2134
- --font-size-display-sm: 40px;
2135
- --font-size-display-md: 48px;
2136
- --font-size-display-lg: 56px;
2137
- /* ===========================
2138
- Font Weights
2139
- =========================== */
2140
- --font-weight-light: 300;
2141
- --font-weight-normal: 400;
2142
- --font-weight-medium: 500;
2143
- --font-weight-semibold: 600;
2144
- --font-weight-bold: 700;
2145
- --font-weight-bolder: 900;
2146
- /* ===========================
2147
- Line Heights
2148
- =========================== */
2149
- --line-height-tight: 1.2;
2150
- --line-height-snug: 1.35;
2151
- --line-height-normal: 1.5;
2152
- --line-height-relaxed: 1.65;
2153
- --line-height-loose: 1.8;
2154
- /* ===========================
2155
- Semantic Typographic Styles
2156
- =========================== */
2157
- --font-size-body: 18px;
2158
- --font-size-body-sm: 16px;
2159
- --font-size-body-lg: 20px;
2160
- --font-size-label: 14px;
2161
- --font-size-caption: 12px;
2162
- --font-size-overline: 12px;
2163
- --font-size-code: 14px;
2164
- --font-size-h1: 48px;
2165
- --font-size-h2: 40px;
2166
- --font-size-h3: 32px;
2167
- --font-size-h4: 24px;
2168
- --font-size-h5: 20px;
2169
- --font-size-h6: 18px;
2170
- --font-weight-body: 400;
2171
- --font-weight-label: 500;
2172
- --font-weight-caption: 400;
2173
- --font-weight-code: 400;
2174
- --font-weight-h1: 900;
2175
- --font-weight-h2: 900;
2176
- --font-weight-h3: 700;
2177
- --font-weight-h4: 700;
2178
- --font-weight-h5: 600;
2179
- --font-weight-h6: 600;
2180
- --line-height-body: 1.65;
2181
- --line-height-heading: 1.2;
2182
- --line-height-label: 1.5;
2183
- --line-height-caption: 1.5;
2184
- --line-height-code: 1.5;
2185
- --letter-spacing-heading: -0.02em;
2186
- --letter-spacing-body: 0;
2187
- --letter-spacing-label: 0.02em;
2188
- --letter-spacing-caption: 0;
2189
- --letter-spacing-overline: 0.05em;
2190
- --letter-spacing-code: 0;
2191
- /* ===========================
2192
- Letter Spacing
2193
- =========================== */
2194
- --letter-spacing-tight: -0.02em;
2195
- --letter-spacing-normal: 0;
2196
- --letter-spacing-wide: 0.02em;
2197
- --letter-spacing-wider: 0.05em;
2198
- /* ===========================
2199
- Border Radius (Rounding)
2200
- =========================== */
2201
- --border-radius-xs: 2.5px;
2202
- --border-radius-sm: 5px;
2203
- --border-radius-md: 10px;
2204
- --border-radius-lg: 20px;
2205
- --border-radius-xl: 40px;
2206
- --border-radius-full: 50%;
2207
- --border-radius-round: 50%;
2208
- --border-radius-none: 0;
2209
- /* ===========================
2210
- Border Widths
2211
- =========================== */
2212
- --border-width-none: 0;
2213
- --border-width-xs: 1px;
2214
- --border-width-sm: 2px;
2215
- --border-width-md: 3px;
2216
- --border-width-lg: 4px;
2217
- --border-width-xl: 5px;
2218
- /* ===========================
2219
- Shadows
2220
- =========================== */
2221
- --box-shadow-light: 0px 2px 4px rgba(46, 49, 49, 0.1);
2222
- --box-shadow-medium: 0px 4px 8px rgba(86, 101, 116, 0.2);
2223
- --box-shadow-heavy: 0px 6px 12px rgba(52, 73, 94, 0.4);
2224
- --box-shadow-intense: 0px 6px 12px rgba(52, 73, 94, 0.6);
2225
- /* ===========================
2226
- Inverted Shadows (Light UI)
2227
- =========================== */
2228
- --box-shadow-inverted-none: none;
2229
- --box-shadow-inverted-light: 0 2px 4px rgb(255 255 255 / 5%);
2230
- --box-shadow-inverted-medium: 0 4px 8px rgb(255 255 255 / 8%);
2231
- --box-shadow-inverted-strong: 0 6px 12px rgb(255 255 255 / 12%);
2232
- --box-shadow-inverted-intense: 0 8px 16px rgb(255 255 255 / 20%);
2233
- /* ===========================
2234
- Divider & Overlay Colors
2235
- =========================== */
2236
- --divider-color: rgb(99.025, 133.975, 133.975);
2237
- --border-color: rgb(99.025, 133.975, 133.975);
2238
- --border-color-subtle: rgb(55.675, 75.325, 75.325);
2239
- --border-color-strong: rgb(77.35, 104.65, 104.65);
2240
- --overlay-color: rgb(0 0 0 / 50%);
2241
- --font-family-body: Inter, system-ui, -apple-system, Segoe UI, roboto, arial, sans-serif;
2242
- --font-family-heading: Inter, system-ui, -apple-system, Segoe UI, roboto, sans-serif;
2243
- --font-family-ui: Inter, system-ui, -apple-system, Segoe UI, roboto, arial, sans-serif;
2244
- --font-family-mono: ui-monospace, sfmono-regular, menlo, consolas, Liberation Mono, monospace;
2245
- }
2246
- body {
2247
- font-family: var(--font-family-body);
2248
- font-size: var(--font-size-body);
2249
- font-weight: var(--font-weight-body);
2250
- line-height: var(--line-height-body);
2251
- letter-spacing: var(--letter-spacing-body);
2252
- color: var(--text-color-primary);
2253
- background-color: var(--background-color);
2254
- margin: 0;
2255
- padding: 0;
2256
- overflow-x: hidden;
2257
- transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
2258
- }
2259
- h1,
2260
- h2,
2261
- h3,
2262
- h4,
2263
- h5,
2264
- h6 {
2265
- font-family: var(--font-family-heading);
2266
- line-height: var(--line-height-heading);
2267
- letter-spacing: var(--letter-spacing-heading);
2268
- margin: 0;
2269
- transition: color 0.3s ease-in-out;
2270
- }
2271
- h1 {
2272
- font-size: var(--font-size-h1);
2273
- font-weight: var(--font-weight-h1);
2274
- }
2275
- h2 {
2276
- font-size: var(--font-size-h2);
2277
- font-weight: var(--font-weight-h2);
2278
- }
2279
- h3 {
2280
- font-size: var(--font-size-h3);
2281
- font-weight: var(--font-weight-h3);
2282
- }
2283
- h4 {
2284
- font-size: var(--font-size-h4);
2285
- font-weight: var(--font-weight-h4);
2286
- }
2287
- h5 {
2288
- font-size: var(--font-size-h5);
2289
- font-weight: var(--font-weight-h5);
2290
- }
2291
- h6 {
2292
- font-size: var(--font-size-h6);
2293
- font-weight: var(--font-weight-h6);
2294
- text-transform: uppercase;
2295
- letter-spacing: var(--letter-spacing-overline);
2296
- }
2297
- p {
2298
- font-family: var(--font-family-body);
2299
- font-size: var(--font-size-body);
2300
- font-weight: var(--font-weight-body);
2301
- line-height: var(--line-height-body);
2302
- letter-spacing: var(--letter-spacing-body);
2303
- margin-bottom: var(--spacing-md);
2304
- }
2305
- a {
2306
- color: var(--link-color);
2307
- font-weight: 700;
2308
- text-decoration: none;
2309
- transition: color 0.3s ease-in-out, text-decoration 0.3s ease-in-out;
2310
- }
2311
- a:hover {
2312
- color: var(--link-color-hover);
2313
- text-decoration: underline;
2314
- }
2315
- label {
2316
- font-family: var(--font-family-ui);
2317
- font-size: var(--font-size-label);
2318
- font-weight: var(--font-weight-label);
2319
- line-height: var(--line-height-label);
2320
- letter-spacing: var(--letter-spacing-label);
2321
- }
2322
- small {
2323
- font-size: var(--font-size-caption);
2324
- line-height: var(--line-height-caption);
2325
- }
2326
- code,
2327
- pre,
2328
- kbd,
2329
- samp {
2330
- font-family: var(--font-family-mono);
2331
- font-size: var(--font-size-code);
2332
- font-weight: var(--font-weight-code);
2333
- line-height: var(--line-height-code);
2334
- letter-spacing: var(--letter-spacing-code);
2335
- }
2336
- .noScroll {
2337
- overflow: hidden;
2338
- }
2339
- .errorMessage {
2340
- color: #f83838;
2341
- font-size: 14px;
2342
- }
2343
- .loadingContainer {
2344
- min-height: 100vh;
2345
- display: flex;
2346
- justify-content: center;
2347
- align-items: center;
2348
- font-size: 1.5rem;
2349
- }
2350
- * {
2351
- scrollbar-width: thin;
2352
- scrollbar-color: var(--primary-color) var(--background-color-light);
2353
- }
2354
- *:focus {
2355
- outline: 2px solid var(--focus-outline-color);
2356
- outline-offset: 2px;
2357
- }
2358
- ::-webkit-scrollbar {
2359
- width: 12px;
2360
- height: 12px;
2361
- }
2362
- ::-webkit-scrollbar-track {
2363
- background: var(--background-color);
2364
- }
2365
- ::-webkit-scrollbar-thumb {
2366
- background-color: var(--primary-color);
2367
- border-radius: 6px;
2368
- border: 3px solid var(--background-color-light);
2369
- }
2370
- ::-webkit-scrollbar-thumb:hover {
2371
- background-color: var(--primary-color-hover);
2372
- }
2373
- .hideScrollbar {
2374
- scrollbar-width: none;
2375
- -ms-overflow-style: none;
2376
- }
2377
- .hideScrollbar::-webkit-scrollbar {
2378
- display: none;
2379
- }
2380
- .sr_only {
2381
- position: absolute;
2382
- width: 1px;
2383
- height: 1px;
2384
- margin: -1px;
2385
- overflow: hidden;
2386
- clip: rect(0 0 0 0);
2387
- white-space: nowrap;
2388
- border: 0;
2389
- }
2390
- /**
2391
- * ---------------------------------------------------------------------
2392
- * theme.scss
2393
- * ---------------------------------------------------------------------
2394
- * Global design tokens and theme configuration for the Boreal UI system.
2395
- * This file defines SCSS variables, maps, and constants for:
2396
- * - Colors (brand, background, feedback, text)
2397
- * - Fonts (families, sizes, weights)
2398
- * - Spacing
2399
- * - Border radii
2400
- * - Shadows
2401
- * - Transitions
2402
- * - Z-index layers
2403
- * - Thematic color maps
2404
- * - UI states (success, error, warning)
2405
- * - Rounding and shadow presets
2406
- *
2407
- * All variables support the `!default` flag to allow overrides via user-defined themes.
2408
- * ---------------------------------------------------------------------
2409
- *
2410
- * == Color Palette ==
2411
- * $primary-color – Brand primary color
2412
- * $secondary-color – Secondary accent color
2413
- * $tertiary-color – Alternate accent color
2414
- * $quaternary-color – Alternate accent color
2415
- * $background-color – Main background color (dark)
2416
- * $background-color-surface – Surface layer background (cards, modals)
2417
- * $error-color, $success-color, $warning-color – Feedback states
2418
- * $link-color – Link default color
2419
- * $link-hover-color – Link hover state
2420
- * $text-color, $text-color-light, $text-color-primary, $text-color-secondary – Text coloring
2421
- *
2422
- * == Typography ==
2423
- * $font-family-primary / secondary – Primary typefaces
2424
- * $font-size-xxs to $font-size-xxl – Font size scale
2425
- * $font-weight-light to bolder – Font weights
2426
- *
2427
- * == Spacing ==
2428
- * $spacing-xxs to $spacing-xl – Margin/padding utility scale
2429
- *
2430
- * == Border Radius ==
2431
- * $border-radius-xs to full – Border rounding presets
2432
- *
2433
- * == Shadows ==
2434
- * $box-shadow-light to intense – Shadow elevation levels
2435
- * $inverted-shadows – Shadows used on dark surfaces (e.g. modals)
2436
- *
2437
- * == Transitions ==
2438
- * $transition-fast / default / slow – Standard easing transitions
2439
- *
2440
- * == Z-Index Layers ==
2441
- * $z-index-drawer – For slide-out panels
2442
- * $z-index-modal – For modals and overlays
2443
- * $z-index-tooltip – Highest layer for tooltips and floating labels
2444
- *
2445
- * == Theme Map ==
2446
- * $themes: map of theme names (e.g. "primary", "secondary") to their visual styles
2447
- * - Each theme includes: bg, hover, text, border, text-hover
2448
- *
2449
- * == State Map ==
2450
- * $states: visual styles for UI feedback states (success, error, warning)
2451
- *
2452
- * == Rounding / Shadow Maps ==
2453
- * $rounding: key-value pairs for component rounding levels
2454
- * $shadow: key-value pairs for shadow levels
2455
- */
2456
- /**
2457
- * -----------------------------------------------------
2458
- * _breakpoints.scss
2459
- * -----------------------------------------------------
2460
- * These constants define the standard device-width breakpoints
2461
- * used in responsive media queries throughout the theme.
2462
- *
2463
- * - $breakpoint-xs: 320px (Extra small, portrait phones)
2464
- * - $breakpoint-sm: 480px (Small devices, larger phones)
2465
- * - $breakpoint-md: 768px (Medium devices, tablets)
2466
- * - $breakpoint-lg: 1024px (Large devices, desktops)
2467
- * - $breakpoint-xl: 1280px (Extra large desktops)
2468
- * - $breakpoint-xxl: 1536px (Widescreens, large monitors)
2469
- *
2470
- * $breakpoints map:
2471
- * Use this map to loop over breakpoints or access named values.
2472
- */
2473
- @media (prefers-reduced-motion: reduce) {
2474
- .button {
2475
- transition: none;
2476
- }
2477
- .button_loader {
2478
- animation-duration: 2s;
2479
- }
2480
- }
2481
- @media (hover: none) {
2482
- .button:hover {
2483
- transform: none;
2484
- }
2485
- }
2486
- @media (forced-colors: active) {
2487
- .button {
2488
- border: 1px solid ButtonText;
2489
- outline-color: Highlight;
2490
- }
2491
- }
2492
- .button {
2493
- min-height: 44px;
2494
- min-width: 44px;
2495
- display: flex;
2496
- align-items: center;
2497
- justify-content: center;
2498
- gap: var(--spacing-xs);
2499
- flex-wrap: nowrap;
2500
- width: fit-content;
2501
- border: none;
2502
- cursor: pointer;
2503
- transition: transform var(--transition-default), box-shadow var(--transition-default);
2504
- font-family: var(--font-family-ui);
2505
- font-size: var(--font-size-label);
2506
- font-weight: var(--font-weight-label);
2507
- line-height: var(--line-height-label);
2508
- letter-spacing: var(--letter-spacing-label);
2509
- color: inherit;
2510
- text-decoration: none;
2511
- }
2512
- .button:hover {
2513
- transform: scale(1.05);
2514
- text-decoration: none;
2515
- }
2516
- .button:focus {
2517
- outline: 2px solid var(--focus-outline-color, var(--primary-color));
2518
- outline-offset: 2px;
2519
- }
2520
- @media (width <= 479.98px) {
2521
- .button {
2522
- gap: var(--spacing-xs);
2523
- padding: 8px 14px;
2524
- }
2525
- }
2526
- @media (min-width: 480px) and (width <= 767.98px) {
2527
- .button {
2528
- gap: var(--spacing-sm);
2529
- padding: 10px 16px;
1853
+ @media (min-width: 480px) and (width <= 767.98px) {
1854
+ .button {
1855
+ gap: var(--spacing-sm);
1856
+ padding: 10px 16px;
2530
1857
  }
2531
1858
  }
2532
1859
  @media (min-width: 1024px) {
@@ -22511,350 +21838,749 @@ samp {
22511
21838
  visibility: visible;
22512
21839
  }
22513
21840
 
22514
- .tooltip {
22515
- position: absolute;
21841
+ .tooltip {
21842
+ position: absolute;
21843
+ color: var(--text-color-primary);
21844
+ background-color: var(--primary-color);
21845
+ padding: var(--spacing-xs) var(--spacing-sm);
21846
+ font-family: var(--font-family-ui);
21847
+ font-size: var(--font-size-label);
21848
+ font-weight: var(--font-weight-label);
21849
+ line-height: var(--line-height-label);
21850
+ letter-spacing: var(--letter-spacing-label);
21851
+ white-space: nowrap;
21852
+ opacity: 0;
21853
+ visibility: hidden;
21854
+ z-index: 100;
21855
+ transition: opacity 0.3s ease-in-out, transform 0.2s ease-in-out;
21856
+ }
21857
+ @media (width <= 319.98px) {
21858
+ .tooltip {
21859
+ font-size: var(--font-size-caption);
21860
+ padding: var(--spacing-xxs) var(--spacing-xs);
21861
+ white-space: normal;
21862
+ }
21863
+ }
21864
+ .tooltip::after {
21865
+ content: "";
21866
+ position: absolute;
21867
+ border-style: solid;
21868
+ border-width: 6px;
21869
+ }
21870
+ .tooltip:focus-visible {
21871
+ outline: 2px solid var(--focus-outline-color, var(--primary-color));
21872
+ outline-offset: 2px;
21873
+ border-radius: var(--border-radius-sm);
21874
+ }
21875
+
21876
+ .tooltip_top {
21877
+ bottom: 100%;
21878
+ left: 50%;
21879
+ transform: translateX(-50%);
21880
+ margin-bottom: 8px;
21881
+ }
21882
+ .tooltip_top::after {
21883
+ top: 100%;
21884
+ left: 50%;
21885
+ transform: translateX(-50%);
21886
+ }
21887
+
21888
+ .tooltip_bottom {
21889
+ top: 100%;
21890
+ left: 50%;
21891
+ transform: translateX(-50%);
21892
+ margin-top: 8px;
21893
+ }
21894
+ .tooltip_bottom::after {
21895
+ bottom: 100%;
21896
+ left: 50%;
21897
+ transform: translateX(-50%);
21898
+ }
21899
+
21900
+ .tooltip_left {
21901
+ right: 100%;
21902
+ top: 50%;
21903
+ transform: translateY(-50%);
21904
+ margin-right: 8px;
21905
+ }
21906
+ .tooltip_left::after {
21907
+ left: 100%;
21908
+ top: 50%;
21909
+ transform: translateY(-50%);
21910
+ }
21911
+
21912
+ .tooltip_right {
21913
+ left: 100%;
21914
+ top: 50%;
21915
+ transform: translateY(-50%);
21916
+ margin-left: 8px;
21917
+ }
21918
+ .tooltip_right::after {
21919
+ right: 100%;
21920
+ top: 50%;
21921
+ transform: translateY(-50%);
21922
+ }
21923
+
21924
+ .tooltip_primary {
21925
+ background-color: var(--primary-color);
21926
+ color: var(--text-color-primary);
21927
+ }
21928
+
21929
+ .tooltip_primary::after {
21930
+ border-color: var(--primary-color) transparent transparent transparent;
21931
+ }
21932
+
21933
+ .tooltip_bottom.tooltip_primary::after {
21934
+ border-color: transparent transparent var(--primary-color) transparent;
21935
+ }
21936
+
21937
+ .tooltip_left.tooltip_primary::after {
21938
+ border-color: transparent transparent transparent var(--primary-color);
21939
+ }
21940
+
21941
+ .tooltip_right.tooltip_primary::after {
21942
+ border-color: transparent var(--primary-color) transparent transparent;
21943
+ }
21944
+
21945
+ .tooltip_secondary {
21946
+ background-color: var(--secondary-color);
21947
+ color: var(--text-color-secondary);
21948
+ }
21949
+
21950
+ .tooltip_secondary::after {
21951
+ border-color: var(--secondary-color) transparent transparent transparent;
21952
+ }
21953
+
21954
+ .tooltip_bottom.tooltip_secondary::after {
21955
+ border-color: transparent transparent var(--secondary-color) transparent;
21956
+ }
21957
+
21958
+ .tooltip_left.tooltip_secondary::after {
21959
+ border-color: transparent transparent transparent var(--secondary-color);
21960
+ }
21961
+
21962
+ .tooltip_right.tooltip_secondary::after {
21963
+ border-color: transparent var(--secondary-color) transparent transparent;
21964
+ }
21965
+
21966
+ .tooltip_tertiary {
21967
+ background-color: var(--tertiary-color);
21968
+ color: var(--text-color-primary);
21969
+ }
21970
+
21971
+ .tooltip_tertiary::after {
21972
+ border-color: var(--tertiary-color) transparent transparent transparent;
21973
+ }
21974
+
21975
+ .tooltip_bottom.tooltip_tertiary::after {
21976
+ border-color: transparent transparent var(--tertiary-color) transparent;
21977
+ }
21978
+
21979
+ .tooltip_left.tooltip_tertiary::after {
21980
+ border-color: transparent transparent transparent var(--tertiary-color);
21981
+ }
21982
+
21983
+ .tooltip_right.tooltip_tertiary::after {
21984
+ border-color: transparent var(--tertiary-color) transparent transparent;
21985
+ }
21986
+
21987
+ .tooltip_quaternary {
21988
+ background-color: var(--quaternary-color);
21989
+ color: var(--text-color-primary);
21990
+ }
21991
+
21992
+ .tooltip_quaternary::after {
21993
+ border-color: var(--quaternary-color) transparent transparent transparent;
21994
+ }
21995
+
21996
+ .tooltip_bottom.tooltip_quaternary::after {
21997
+ border-color: transparent transparent var(--quaternary-color) transparent;
21998
+ }
21999
+
22000
+ .tooltip_left.tooltip_quaternary::after {
22001
+ border-color: transparent transparent transparent var(--quaternary-color);
22002
+ }
22003
+
22004
+ .tooltip_right.tooltip_quaternary::after {
22005
+ border-color: transparent var(--quaternary-color) transparent transparent;
22006
+ }
22007
+
22008
+ .tooltip_clear {
22009
+ background-color: transparent;
22010
+ color: var(--text-color-primary);
22011
+ }
22012
+
22013
+ .tooltip_clear::after {
22014
+ border-color: transparent transparent transparent transparent;
22015
+ }
22016
+
22017
+ .tooltip_bottom.tooltip_clear::after {
22018
+ border-color: transparent transparent transparent transparent;
22019
+ }
22020
+
22021
+ .tooltip_left.tooltip_clear::after {
22022
+ border-color: transparent transparent transparent transparent;
22023
+ }
22024
+
22025
+ .tooltip_right.tooltip_clear::after {
22026
+ border-color: transparent transparent transparent transparent;
22027
+ }
22028
+
22029
+ .tooltip_success {
22030
+ background-color: var(--success-color);
22031
+ color: var(--text-color-primary);
22032
+ }
22033
+
22034
+ .tooltip_success::after {
22035
+ border-color: var(--success-color) transparent transparent transparent;
22036
+ }
22037
+
22038
+ .tooltip_bottom.tooltip_success::after {
22039
+ border-color: transparent transparent var(--success-color) transparent;
22040
+ }
22041
+
22042
+ .tooltip_left.tooltip_success::after {
22043
+ border-color: transparent var(--success-color) transparent transparent;
22044
+ }
22045
+
22046
+ .tooltip_right.tooltip_success::after {
22047
+ border-color: transparent transparent transparent var(--success-color);
22048
+ }
22049
+
22050
+ .tooltip_error {
22051
+ background-color: var(--error-color);
22516
22052
  color: var(--text-color-primary);
22517
- background-color: var(--primary-color);
22518
- padding: var(--spacing-xs) var(--spacing-sm);
22519
- font-family: var(--font-family-ui);
22520
- font-size: var(--font-size-label);
22521
- font-weight: var(--font-weight-label);
22522
- line-height: var(--line-height-label);
22523
- letter-spacing: var(--letter-spacing-label);
22524
- white-space: nowrap;
22525
- opacity: 0;
22526
- visibility: hidden;
22527
- z-index: 100;
22528
- transition: opacity 0.3s ease-in-out, transform 0.2s ease-in-out;
22529
22053
  }
22530
- @media (width <= 319.98px) {
22531
- .tooltip {
22532
- font-size: var(--font-size-caption);
22533
- padding: var(--spacing-xxs) var(--spacing-xs);
22534
- white-space: normal;
22535
- }
22054
+
22055
+ .tooltip_error::after {
22056
+ border-color: var(--error-color) transparent transparent transparent;
22536
22057
  }
22537
- .tooltip::after {
22538
- content: "";
22539
- position: absolute;
22540
- border-style: solid;
22541
- border-width: 6px;
22058
+
22059
+ .tooltip_bottom.tooltip_error::after {
22060
+ border-color: transparent transparent var(--error-color) transparent;
22542
22061
  }
22543
- .tooltip:focus-visible {
22544
- outline: 2px solid var(--focus-outline-color, var(--primary-color));
22545
- outline-offset: 2px;
22546
- border-radius: var(--border-radius-sm);
22062
+
22063
+ .tooltip_left.tooltip_error::after {
22064
+ border-color: transparent var(--error-color) transparent transparent;
22547
22065
  }
22548
22066
 
22549
- .tooltip_top {
22550
- bottom: 100%;
22551
- left: 50%;
22552
- transform: translateX(-50%);
22553
- margin-bottom: 8px;
22067
+ .tooltip_right.tooltip_error::after {
22068
+ border-color: transparent transparent transparent var(--error-color);
22554
22069
  }
22555
- .tooltip_top::after {
22556
- top: 100%;
22557
- left: 50%;
22558
- transform: translateX(-50%);
22070
+
22071
+ .tooltip_warning {
22072
+ background-color: var(--warning-color);
22073
+ color: var(--text-color-primary);
22559
22074
  }
22560
22075
 
22561
- .tooltip_bottom {
22562
- top: 100%;
22563
- left: 50%;
22564
- transform: translateX(-50%);
22565
- margin-top: 8px;
22076
+ .tooltip_warning::after {
22077
+ border-color: var(--warning-color) transparent transparent transparent;
22566
22078
  }
22567
- .tooltip_bottom::after {
22568
- bottom: 100%;
22569
- left: 50%;
22570
- transform: translateX(-50%);
22079
+
22080
+ .tooltip_bottom.tooltip_warning::after {
22081
+ border-color: transparent transparent var(--warning-color) transparent;
22571
22082
  }
22572
22083
 
22573
- .tooltip_left {
22574
- right: 100%;
22575
- top: 50%;
22576
- transform: translateY(-50%);
22577
- margin-right: 8px;
22084
+ .tooltip_left.tooltip_warning::after {
22085
+ border-color: transparent var(--warning-color) transparent transparent;
22578
22086
  }
22579
- .tooltip_left::after {
22580
- left: 100%;
22581
- top: 50%;
22582
- transform: translateY(-50%);
22087
+
22088
+ .tooltip_right.tooltip_warning::after {
22089
+ border-color: transparent transparent transparent var(--warning-color);
22583
22090
  }
22584
22091
 
22585
- .tooltip_right {
22586
- left: 100%;
22587
- top: 50%;
22588
- transform: translateY(-50%);
22589
- margin-left: 8px;
22092
+ .tooltip_clear {
22093
+ box-shadow: none;
22094
+ border: 2px solid var(--text-color-primary);
22095
+ background-color: rgba(0, 0, 0, 0.4);
22096
+ color: var(--text-color-primary);
22590
22097
  }
22591
- .tooltip_right::after {
22592
- right: 100%;
22593
- top: 50%;
22594
- transform: translateY(-50%);
22098
+
22099
+ .tooltip_clear::after {
22100
+ border-color: rgba(0, 0, 0, 0.4) transparent transparent transparent;
22595
22101
  }
22596
22102
 
22597
- .tooltip_primary {
22598
- background-color: var(--primary-color);
22599
- color: var(--text-color-primary);
22103
+ .tooltip_bottom.tooltip_clear::after {
22104
+ border-color: transparent transparent rgba(0, 0, 0, 0.4) transparent;
22600
22105
  }
22601
22106
 
22602
- .tooltip_primary::after {
22603
- border-color: var(--primary-color) transparent transparent transparent;
22107
+ .tooltip_left.tooltip_clear::after {
22108
+ border-color: transparent rgba(0, 0, 0, 0.4) transparent transparent;
22604
22109
  }
22605
22110
 
22606
- .tooltip_bottom.tooltip_primary::after {
22607
- border-color: transparent transparent var(--primary-color) transparent;
22111
+ .tooltip_right.tooltip_clear::after {
22112
+ border-color: transparent transparent transparent rgba(0, 0, 0, 0.4);
22608
22113
  }
22609
22114
 
22610
- .tooltip_left.tooltip_primary::after {
22611
- border-color: transparent transparent transparent var(--primary-color);
22115
+ .tooltip_round-None {
22116
+ border-radius: var(--border-radius-none);
22612
22117
  }
22613
22118
 
22614
- .tooltip_right.tooltip_primary::after {
22615
- border-color: transparent var(--primary-color) transparent transparent;
22119
+ .tooltip_round-Small {
22120
+ border-radius: var(--border-radius-sm);
22616
22121
  }
22617
22122
 
22618
- .tooltip_secondary {
22619
- background-color: var(--secondary-color);
22620
- color: var(--text-color-secondary);
22123
+ .tooltip_round-Medium {
22124
+ border-radius: var(--border-radius-md);
22621
22125
  }
22622
22126
 
22623
- .tooltip_secondary::after {
22624
- border-color: var(--secondary-color) transparent transparent transparent;
22127
+ .tooltip_round-Large {
22128
+ border-radius: var(--border-radius-lg);
22625
22129
  }
22626
22130
 
22627
- .tooltip_bottom.tooltip_secondary::after {
22628
- border-color: transparent transparent var(--secondary-color) transparent;
22131
+ .tooltip_round-Full {
22132
+ border-radius: var(--border-radius-full);
22629
22133
  }
22630
22134
 
22631
- .tooltip_left.tooltip_secondary::after {
22632
- border-color: transparent transparent transparent var(--secondary-color);
22135
+ .tooltip_shadow-None {
22136
+ box-shadow: var(--box-shadow-none);
22633
22137
  }
22634
22138
 
22635
- .tooltip_right.tooltip_secondary::after {
22636
- border-color: transparent var(--secondary-color) transparent transparent;
22139
+ .tooltip_shadow-Light {
22140
+ box-shadow: var(--box-shadow-light);
22637
22141
  }
22638
22142
 
22639
- .tooltip_tertiary {
22640
- background-color: var(--tertiary-color);
22143
+ .tooltip_shadow-Medium {
22144
+ box-shadow: var(--box-shadow-medium);
22145
+ }
22146
+
22147
+ .tooltip_shadow-Strong {
22148
+ box-shadow: var(--box-shadow-heavy);
22149
+ }
22150
+
22151
+ .tooltip_shadow-Intense {
22152
+ box-shadow: var(--box-shadow-intense);
22153
+ }
22154
+
22155
+ @media (prefers-reduced-motion: reduce) {
22156
+ .tooltip,
22157
+ .tooltip_container * {
22158
+ transition: none !important;
22159
+ animation: none !important;
22160
+ }
22161
+ }
22162
+ @media (hover: none) {
22163
+ .tooltip_container:hover .tooltip {
22164
+ opacity: 0;
22165
+ visibility: hidden;
22166
+ }
22167
+ }
22168
+ @media (forced-colors: active) {
22169
+ .tooltip {
22170
+ background: CanvasText !important;
22171
+ color: Canvas !important;
22172
+ border: 1px solid ButtonText;
22173
+ }
22174
+ .tooltip::after {
22175
+ border-color: CanvasText transparent transparent transparent !important;
22176
+ }
22177
+ .tooltip_bottom::after {
22178
+ border-color: transparent transparent CanvasText transparent !important;
22179
+ }
22180
+ .tooltip_left::after {
22181
+ border-color: transparent CanvasText transparent transparent !important;
22182
+ }
22183
+ .tooltip_right::after {
22184
+ border-color: transparent transparent transparent CanvasText !important;
22185
+ }
22186
+ }
22187
+ /**
22188
+ * ---------------------------------------------------------------------
22189
+ * theme.scss
22190
+ * ---------------------------------------------------------------------
22191
+ * Global design tokens and theme configuration for the Boreal UI system.
22192
+ * This file defines SCSS variables, maps, and constants for:
22193
+ * - Colors (brand, background, feedback, text)
22194
+ * - Fonts (families, sizes, weights)
22195
+ * - Spacing
22196
+ * - Border radii
22197
+ * - Shadows
22198
+ * - Transitions
22199
+ * - Z-index layers
22200
+ * - Thematic color maps
22201
+ * - UI states (success, error, warning)
22202
+ * - Rounding and shadow presets
22203
+ *
22204
+ * All variables support the `!default` flag to allow overrides via user-defined themes.
22205
+ * ---------------------------------------------------------------------
22206
+ *
22207
+ * == Color Palette ==
22208
+ * $primary-color – Brand primary color
22209
+ * $secondary-color – Secondary accent color
22210
+ * $tertiary-color – Alternate accent color
22211
+ * $quaternary-color – Alternate accent color
22212
+ * $background-color – Main background color (dark)
22213
+ * $background-color-surface – Surface layer background (cards, modals)
22214
+ * $error-color, $success-color, $warning-color – Feedback states
22215
+ * $link-color – Link default color
22216
+ * $link-hover-color – Link hover state
22217
+ * $text-color, $text-color-light, $text-color-primary, $text-color-secondary – Text coloring
22218
+ *
22219
+ * == Typography ==
22220
+ * $font-family-primary / secondary – Primary typefaces
22221
+ * $font-size-xxs to $font-size-xxl – Font size scale
22222
+ * $font-weight-light to bolder – Font weights
22223
+ *
22224
+ * == Spacing ==
22225
+ * $spacing-xxs to $spacing-xl – Margin/padding utility scale
22226
+ *
22227
+ * == Border Radius ==
22228
+ * $border-radius-xs to full – Border rounding presets
22229
+ *
22230
+ * == Shadows ==
22231
+ * $box-shadow-light to intense – Shadow elevation levels
22232
+ * $inverted-shadows – Shadows used on dark surfaces (e.g. modals)
22233
+ *
22234
+ * == Transitions ==
22235
+ * $transition-fast / default / slow – Standard easing transitions
22236
+ *
22237
+ * == Z-Index Layers ==
22238
+ * $z-index-drawer – For slide-out panels
22239
+ * $z-index-modal – For modals and overlays
22240
+ * $z-index-tooltip – Highest layer for tooltips and floating labels
22241
+ *
22242
+ * == Theme Map ==
22243
+ * $themes: map of theme names (e.g. "primary", "secondary") to their visual styles
22244
+ * - Each theme includes: bg, hover, text, border, text-hover
22245
+ *
22246
+ * == State Map ==
22247
+ * $states: visual styles for UI feedback states (success, error, warning)
22248
+ *
22249
+ * == Rounding / Shadow Maps ==
22250
+ * $rounding: key-value pairs for component rounding levels
22251
+ * $shadow: key-value pairs for shadow levels
22252
+ */
22253
+ /**
22254
+ * -----------------------------------------------------
22255
+ * _breakpoints.scss
22256
+ * -----------------------------------------------------
22257
+ * These constants define the standard device-width breakpoints
22258
+ * used in responsive media queries throughout the theme.
22259
+ *
22260
+ * - $breakpoint-xs: 320px (Extra small, portrait phones)
22261
+ * - $breakpoint-sm: 480px (Small devices, larger phones)
22262
+ * - $breakpoint-md: 768px (Medium devices, tablets)
22263
+ * - $breakpoint-lg: 1024px (Large devices, desktops)
22264
+ * - $breakpoint-xl: 1280px (Extra large desktops)
22265
+ * - $breakpoint-xxl: 1536px (Widescreens, large monitors)
22266
+ *
22267
+ * $breakpoints map:
22268
+ * Use this map to loop over breakpoints or access named values.
22269
+ */
22270
+ .typography {
22271
+ margin: 0;
22641
22272
  color: var(--text-color-primary);
22642
22273
  }
22643
22274
 
22644
- .tooltip_tertiary::after {
22645
- border-color: var(--tertiary-color) transparent transparent transparent;
22275
+ .typography_display {
22276
+ font-family: var(--font-family-heading);
22277
+ font-size: var(--font-size-display, var(--font-size-xxl));
22278
+ font-weight: var(--font-weight-heading, var(--font-weight-bolder));
22279
+ line-height: var(--line-height-heading, 1.1);
22280
+ letter-spacing: var(--letter-spacing-display, -0.02em);
22646
22281
  }
22647
22282
 
22648
- .tooltip_bottom.tooltip_tertiary::after {
22649
- border-color: transparent transparent var(--tertiary-color) transparent;
22283
+ .typography_h1 {
22284
+ font-family: var(--font-family-heading);
22285
+ font-size: var(--font-size-h1, var(--font-size-xxl));
22286
+ font-weight: var(--font-weight-heading, var(--font-weight-bolder));
22287
+ line-height: var(--line-height-heading, 1.15);
22288
+ letter-spacing: var(--letter-spacing-heading, -0.01em);
22650
22289
  }
22651
22290
 
22652
- .tooltip_left.tooltip_tertiary::after {
22653
- border-color: transparent transparent transparent var(--tertiary-color);
22291
+ .typography_h2 {
22292
+ font-family: var(--font-family-heading);
22293
+ font-size: var(--font-size-h2, var(--font-size-xl));
22294
+ font-weight: var(--font-weight-heading, var(--font-weight-bolder));
22295
+ line-height: var(--line-height-heading, 1.2);
22296
+ letter-spacing: var(--letter-spacing-heading, -0.01em);
22654
22297
  }
22655
22298
 
22656
- .tooltip_right.tooltip_tertiary::after {
22657
- border-color: transparent var(--tertiary-color) transparent transparent;
22299
+ .typography_h3 {
22300
+ font-family: var(--font-family-heading);
22301
+ font-size: var(--font-size-h3, var(--font-size-lg));
22302
+ font-weight: var(--font-weight-heading, var(--font-weight-bold));
22303
+ line-height: var(--line-height-heading, 1.25);
22304
+ letter-spacing: var(--letter-spacing-heading, 0);
22658
22305
  }
22659
22306
 
22660
- .tooltip_quaternary {
22661
- background-color: var(--quaternary-color);
22662
- color: var(--text-color-primary);
22307
+ .typography_h4 {
22308
+ font-family: var(--font-family-heading);
22309
+ font-size: var(--font-size-h4, var(--font-size-base));
22310
+ font-weight: var(--font-weight-heading, var(--font-weight-bold));
22311
+ line-height: var(--line-height-heading, 1.3);
22663
22312
  }
22664
22313
 
22665
- .tooltip_quaternary::after {
22666
- border-color: var(--quaternary-color) transparent transparent transparent;
22314
+ .typography_h5 {
22315
+ font-family: var(--font-family-heading);
22316
+ font-size: var(--font-size-h5, var(--font-size-md));
22317
+ font-weight: var(--font-weight-heading, var(--font-weight-bold));
22318
+ line-height: var(--line-height-heading, 1.35);
22667
22319
  }
22668
22320
 
22669
- .tooltip_bottom.tooltip_quaternary::after {
22670
- border-color: transparent transparent var(--quaternary-color) transparent;
22321
+ .typography_h6 {
22322
+ font-family: var(--font-family-heading);
22323
+ font-size: var(--font-size-h6, var(--font-size-sm));
22324
+ font-weight: var(--font-weight-heading, var(--font-weight-bold));
22325
+ line-height: var(--line-height-heading, 1.4);
22671
22326
  }
22672
22327
 
22673
- .tooltip_left.tooltip_quaternary::after {
22674
- border-color: transparent transparent transparent var(--quaternary-color);
22328
+ .typography_body-lg {
22329
+ font-family: var(--font-family-body);
22330
+ font-size: var(--font-size-body-lg, var(--font-size-lg));
22331
+ font-weight: var(--font-weight-body, var(--font-weight-normal));
22332
+ line-height: var(--line-height-body, 1.6);
22333
+ letter-spacing: var(--letter-spacing-body, 0);
22675
22334
  }
22676
22335
 
22677
- .tooltip_right.tooltip_quaternary::after {
22678
- border-color: transparent var(--quaternary-color) transparent transparent;
22336
+ .typography_body {
22337
+ font-family: var(--font-family-body);
22338
+ font-size: var(--font-size-body, var(--font-size-base));
22339
+ font-weight: var(--font-weight-body, var(--font-weight-normal));
22340
+ line-height: var(--line-height-body, 1.6);
22341
+ letter-spacing: var(--letter-spacing-body, 0);
22679
22342
  }
22680
22343
 
22681
- .tooltip_clear {
22682
- background-color: transparent;
22683
- color: var(--text-color-primary);
22344
+ .typography_body-sm {
22345
+ font-family: var(--font-family-body);
22346
+ font-size: var(--font-size-body-sm, var(--font-size-sm));
22347
+ font-weight: var(--font-weight-body, var(--font-weight-normal));
22348
+ line-height: var(--line-height-body, 1.55);
22349
+ letter-spacing: var(--letter-spacing-body, 0);
22684
22350
  }
22685
22351
 
22686
- .tooltip_clear::after {
22687
- border-color: transparent transparent transparent transparent;
22352
+ .typography_label {
22353
+ font-family: var(--font-family-ui);
22354
+ font-size: var(--font-size-label, var(--font-size-sm));
22355
+ font-weight: var(--font-weight-label, var(--font-weight-bold));
22356
+ line-height: var(--line-height-label, 1.4);
22357
+ letter-spacing: var(--letter-spacing-label, 0.01em);
22688
22358
  }
22689
22359
 
22690
- .tooltip_bottom.tooltip_clear::after {
22691
- border-color: transparent transparent transparent transparent;
22360
+ .typography_caption {
22361
+ font-family: var(--font-family-ui);
22362
+ font-size: var(--font-size-caption, var(--font-size-xs));
22363
+ font-weight: var(--font-weight-label, var(--font-weight-normal));
22364
+ line-height: var(--line-height-label, 1.35);
22365
+ letter-spacing: var(--letter-spacing-label, 0.01em);
22692
22366
  }
22693
22367
 
22694
- .tooltip_left.tooltip_clear::after {
22695
- border-color: transparent transparent transparent transparent;
22368
+ .typography_overline {
22369
+ font-family: var(--font-family-ui);
22370
+ font-size: var(--font-size-caption, var(--font-size-xs));
22371
+ font-weight: var(--font-weight-label, var(--font-weight-bold));
22372
+ line-height: var(--line-height-label, 1.2);
22373
+ letter-spacing: 0.08em;
22374
+ text-transform: uppercase;
22696
22375
  }
22697
22376
 
22698
- .tooltip_right.tooltip_clear::after {
22699
- border-color: transparent transparent transparent transparent;
22377
+ .typography_code {
22378
+ font-family: var(--font-family-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
22379
+ font-size: 0.95em;
22380
+ line-height: 1.5;
22700
22381
  }
22701
22382
 
22702
- .tooltip_success {
22703
- background-color: var(--success-color);
22704
- color: var(--text-color-primary);
22383
+ .typography_align-left {
22384
+ text-align: left;
22705
22385
  }
22706
22386
 
22707
- .tooltip_success::after {
22708
- border-color: var(--success-color) transparent transparent transparent;
22387
+ .typography_align-center {
22388
+ text-align: center;
22709
22389
  }
22710
22390
 
22711
- .tooltip_bottom.tooltip_success::after {
22712
- border-color: transparent transparent var(--success-color) transparent;
22391
+ .typography_align-right {
22392
+ text-align: right;
22713
22393
  }
22714
22394
 
22715
- .tooltip_left.tooltip_success::after {
22716
- border-color: transparent var(--success-color) transparent transparent;
22395
+ .typography_align-inherit {
22396
+ text-align: inherit;
22717
22397
  }
22718
22398
 
22719
- .tooltip_right.tooltip_success::after {
22720
- border-color: transparent transparent transparent var(--success-color);
22399
+ .typography_weight-light {
22400
+ font-weight: var(--font-weight-light);
22721
22401
  }
22722
22402
 
22723
- .tooltip_error {
22724
- background-color: var(--error-color);
22725
- color: var(--text-color-primary);
22403
+ .typography_weight-normal {
22404
+ font-weight: var(--font-weight-normal);
22726
22405
  }
22727
22406
 
22728
- .tooltip_error::after {
22729
- border-color: var(--error-color) transparent transparent transparent;
22407
+ .typography_weight-medium {
22408
+ font-weight: var(--font-weight-medium, 500);
22730
22409
  }
22731
22410
 
22732
- .tooltip_bottom.tooltip_error::after {
22733
- border-color: transparent transparent var(--error-color) transparent;
22411
+ .typography_weight-bold {
22412
+ font-weight: var(--font-weight-bold);
22734
22413
  }
22735
22414
 
22736
- .tooltip_left.tooltip_error::after {
22737
- border-color: transparent var(--error-color) transparent transparent;
22415
+ .typography_weight-bolder {
22416
+ font-weight: var(--font-weight-bolder);
22738
22417
  }
22739
22418
 
22740
- .tooltip_right.tooltip_error::after {
22741
- border-color: transparent transparent transparent var(--error-color);
22419
+ .typography_weight-inherit {
22420
+ font-weight: inherit;
22742
22421
  }
22743
22422
 
22744
- .tooltip_warning {
22745
- background-color: var(--warning-color);
22746
- color: var(--text-color-primary);
22423
+ .typography_primary {
22424
+ color: var(--primary-color);
22747
22425
  }
22748
22426
 
22749
- .tooltip_warning::after {
22750
- border-color: var(--warning-color) transparent transparent transparent;
22427
+ .typography_secondary {
22428
+ color: var(--secondary-color);
22751
22429
  }
22752
22430
 
22753
- .tooltip_bottom.tooltip_warning::after {
22754
- border-color: transparent transparent var(--warning-color) transparent;
22431
+ .typography_tertiary {
22432
+ color: var(--tertiary-color);
22755
22433
  }
22756
22434
 
22757
- .tooltip_left.tooltip_warning::after {
22758
- border-color: transparent var(--warning-color) transparent transparent;
22435
+ .typography_quaternary {
22436
+ color: var(--quaternary-color);
22759
22437
  }
22760
22438
 
22761
- .tooltip_right.tooltip_warning::after {
22762
- border-color: transparent transparent transparent var(--warning-color);
22439
+ .typography_success {
22440
+ color: var(--success-color);
22763
22441
  }
22764
22442
 
22765
- .tooltip_clear {
22766
- box-shadow: none;
22767
- border: 2px solid var(--text-color-primary);
22768
- background-color: rgba(0, 0, 0, 0.4);
22769
- color: var(--text-color-primary);
22443
+ .typography_warning {
22444
+ color: var(--warning-color);
22770
22445
  }
22771
22446
 
22772
- .tooltip_clear::after {
22773
- border-color: rgba(0, 0, 0, 0.4) transparent transparent transparent;
22447
+ .typography_error {
22448
+ color: var(--error-color);
22774
22449
  }
22775
22450
 
22776
- .tooltip_bottom.tooltip_clear::after {
22777
- border-color: transparent transparent rgba(0, 0, 0, 0.4) transparent;
22451
+ .typography_clear,
22452
+ .typography_theme-inherit {
22453
+ color: inherit;
22778
22454
  }
22779
22455
 
22780
- .tooltip_left.tooltip_clear::after {
22781
- border-color: transparent rgba(0, 0, 0, 0.4) transparent transparent;
22456
+ .typography_italic {
22457
+ font-style: italic;
22782
22458
  }
22783
22459
 
22784
- .tooltip_right.tooltip_clear::after {
22785
- border-color: transparent transparent transparent rgba(0, 0, 0, 0.4);
22460
+ .typography_underline {
22461
+ text-decoration: underline;
22462
+ text-underline-offset: 0.15em;
22786
22463
  }
22787
22464
 
22788
- .tooltip_round-None {
22789
- border-radius: var(--border-radius-none);
22465
+ .typography_truncate {
22466
+ overflow: hidden;
22467
+ text-overflow: ellipsis;
22468
+ white-space: nowrap;
22790
22469
  }
22791
22470
 
22792
- .tooltip_round-Small {
22793
- border-radius: var(--border-radius-sm);
22471
+ .typography_no-wrap {
22472
+ white-space: nowrap;
22794
22473
  }
22795
22474
 
22796
- .tooltip_round-Medium {
22797
- border-radius: var(--border-radius-md);
22475
+ @media (forced-colors: active) {
22476
+ .typography {
22477
+ color: CanvasText;
22478
+ }
22479
+ }
22480
+ /**
22481
+ * ---------------------------------------------------------------------
22482
+ * globals.scss
22483
+ * ---------------------------------------------------------------------
22484
+ * Global style definitions and base theme setup for Boreal UI.
22485
+ * This file is responsible for setting:
22486
+ *
22487
+ * 1. CSS Variables (`:root`) — Derived from SCSS theme tokens
22488
+ * - Automatically syncs SCSS color and font variables to global CSS variables
22489
+ * - Enables theming and dynamic runtime overrides
22490
+ *
22491
+ * 2. Global Element Styles
22492
+ * - `body`, headings (`h1–h6`), paragraphs, links, and layout defaults
22493
+ * - Applies font, color, spacing, and background rules using theme tokens
22494
+ *
22495
+ * 3. Scrollbar Styling
22496
+ * - Thin scrollbar with custom thumb and track colors
22497
+ * - Supports hiding scrollbars with `.hideScrollbar` utility
22498
+ *
22499
+ * 4. Focus Outlines
22500
+ * - Custom `:focus` styles using accessible high-contrast outlines
22501
+ *
22502
+ * 5. Utility Classes
22503
+ * - `.noScroll`: disables scroll overflow
22504
+ * - `.errorMessage`: standardized error message styling
22505
+ * - `.loadingContainer`: centered layout for loading views
22506
+ * - `.sr_only` and `:global(.sr_only)`: accessibility class for screen-reader-only content
22507
+ *
22508
+ * 6. Mixin: `visually-hidden`
22509
+ * - Reusable mixin for accessibility-hidden content
22510
+ * - Applied via `.sr_only` and `:global(.sr_only)`
22511
+ *
22512
+ * Dependencies:
22513
+ * - Resets: `modern-css-reset`
22514
+ * - SCSS Modules: `theme`, `animations`, `breakpoints`
22515
+ * - Sass Color Utilities: `sass:color`
22516
+ *
22517
+ * Note:
22518
+ * All transitions use the theme-defined `$transition-default` for consistency.
22519
+ * CSS variables allow dynamic switching between light/dark/custom themes.
22520
+ */
22521
+ /* Box sizing rules */
22522
+ *,
22523
+ *::before,
22524
+ *::after {
22525
+ box-sizing: border-box;
22798
22526
  }
22799
-
22800
- .tooltip_round-Large {
22801
- border-radius: var(--border-radius-lg);
22527
+ /* Remove default margin */
22528
+ body,
22529
+ h1,
22530
+ h2,
22531
+ h3,
22532
+ h4,
22533
+ p,
22534
+ figure,
22535
+ blockquote,
22536
+ dl,
22537
+ dd {
22538
+ margin: 0;
22802
22539
  }
22803
-
22804
- .tooltip_round-Full {
22805
- border-radius: var(--border-radius-full);
22540
+ /* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
22541
+ ul[role="list"],
22542
+ ol[role="list"] {
22543
+ list-style: none;
22806
22544
  }
22807
-
22808
- .tooltip_shadow-None {
22809
- box-shadow: var(--box-shadow-none);
22545
+ /* Set core root defaults */
22546
+ html:focus-within {
22547
+ scroll-behavior: smooth;
22810
22548
  }
22811
-
22812
- .tooltip_shadow-Light {
22813
- box-shadow: var(--box-shadow-light);
22549
+ /* Set core body defaults */
22550
+ body {
22551
+ min-height: 100vh;
22552
+ text-rendering: optimizeSpeed;
22553
+ line-height: 1.5;
22814
22554
  }
22815
-
22816
- .tooltip_shadow-Medium {
22817
- box-shadow: var(--box-shadow-medium);
22555
+ /* A elements that don't have a class get default styles */
22556
+ a:not([class]) {
22557
+ text-decoration-skip-ink: auto;
22818
22558
  }
22819
-
22820
- .tooltip_shadow-Strong {
22821
- box-shadow: var(--box-shadow-heavy);
22559
+ /* Make images easier to work with */
22560
+ img,
22561
+ picture {
22562
+ max-width: 100%;
22563
+ display: block;
22822
22564
  }
22823
-
22824
- .tooltip_shadow-Intense {
22825
- box-shadow: var(--box-shadow-intense);
22565
+ /* Inherit fonts for inputs and buttons */
22566
+ input,
22567
+ button,
22568
+ textarea,
22569
+ select {
22570
+ font: inherit;
22826
22571
  }
22827
-
22572
+ /* Remove all animations and transitions for people that prefer not to see them */
22828
22573
  @media (prefers-reduced-motion: reduce) {
22829
- .tooltip,
22830
- .tooltip_container * {
22831
- transition: none !important;
22832
- animation: none !important;
22833
- }
22834
- }
22835
- @media (hover: none) {
22836
- .tooltip_container:hover .tooltip {
22837
- opacity: 0;
22838
- visibility: hidden;
22839
- }
22840
- }
22841
- @media (forced-colors: active) {
22842
- .tooltip {
22843
- background: CanvasText !important;
22844
- color: Canvas !important;
22845
- border: 1px solid ButtonText;
22846
- }
22847
- .tooltip::after {
22848
- border-color: CanvasText transparent transparent transparent !important;
22849
- }
22850
- .tooltip_bottom::after {
22851
- border-color: transparent transparent CanvasText transparent !important;
22852
- }
22853
- .tooltip_left::after {
22854
- border-color: transparent CanvasText transparent transparent !important;
22574
+ html:focus-within {
22575
+ scroll-behavior: auto;
22855
22576
  }
22856
- .tooltip_right::after {
22857
- border-color: transparent transparent transparent CanvasText !important;
22577
+ *,
22578
+ *::before,
22579
+ *::after {
22580
+ animation-duration: 0.01ms !important;
22581
+ animation-iteration-count: 1 !important;
22582
+ transition-duration: 0.01ms !important;
22583
+ scroll-behavior: auto !important;
22858
22584
  }
22859
22585
  }
22860
22586
  /**
@@ -22923,6 +22649,125 @@ samp {
22923
22649
  * $rounding: key-value pairs for component rounding levels
22924
22650
  * $shadow: key-value pairs for shadow levels
22925
22651
  */
22652
+ /**
22653
+ * -----------------------------------------------------
22654
+ * _animations.scss
22655
+ * -----------------------------------------------------
22656
+ * This file contains reusable keyframe animations
22657
+ * used across the component library for transitions,
22658
+ * loaders, and visual enhancements.
22659
+ *
22660
+ * List of Animations:
22661
+ *
22662
+ * 1. fade-in
22663
+ * - Smoothly fades in an element by transitioning opacity from 0 to 1.
22664
+ *
22665
+ * 2. slide-up
22666
+ * - Slides an element upward into view from below while fading in.
22667
+ *
22668
+ * 3. spin-3d
22669
+ * - Rotates an element in 3D space along both X and Y axes (360°).
22670
+ *
22671
+ * 4. spin
22672
+ * - Continuously rotates an element clockwise in 2D space.
22673
+ *
22674
+ * 5. pulse
22675
+ * - Gently scales an element up and down to create a pulsing effect.
22676
+ *
22677
+ * 6. fade-in-up
22678
+ * - Combines a fade-in with a slight upward motion (used for tooltips, popups).
22679
+ *
22680
+ * 7. progress-grow
22681
+ * - Expands the width of a progress bar from 0% to 100%.
22682
+ *
22683
+ * 8. indeterminate-move
22684
+ * - Moves an element from left to right in a loop, used in indeterminate loaders.
22685
+ *
22686
+ * 9. skeleton-loading
22687
+ * - Creates a sweeping shimmer effect for skeleton loaders.
22688
+ */
22689
+ @keyframes fade-in {
22690
+ from {
22691
+ opacity: 0;
22692
+ }
22693
+ to {
22694
+ opacity: 1;
22695
+ }
22696
+ }
22697
+ @keyframes slide-up {
22698
+ from {
22699
+ transform: translateY(100%);
22700
+ opacity: 0;
22701
+ }
22702
+ to {
22703
+ transform: translateY(0);
22704
+ opacity: 1;
22705
+ }
22706
+ }
22707
+ @keyframes spin-3d {
22708
+ 0% {
22709
+ transform: rotateX(0deg) rotateY(0deg);
22710
+ }
22711
+ 100% {
22712
+ transform: rotateX(360deg) rotateY(360deg);
22713
+ }
22714
+ }
22715
+ @keyframes spin {
22716
+ 0% {
22717
+ transform: rotate(0deg);
22718
+ }
22719
+ 100% {
22720
+ transform: rotate(360deg);
22721
+ }
22722
+ }
22723
+ @keyframes pulse {
22724
+ 0% {
22725
+ transform: scale(1);
22726
+ }
22727
+ 50% {
22728
+ transform: scale(1.1);
22729
+ }
22730
+ 100% {
22731
+ transform: scale(1);
22732
+ }
22733
+ }
22734
+ @keyframes fade-in-up {
22735
+ from {
22736
+ opacity: 0;
22737
+ transform: translateY(-5px);
22738
+ }
22739
+ to {
22740
+ opacity: 1;
22741
+ transform: translateY(0);
22742
+ }
22743
+ }
22744
+ @keyframes progress-grow {
22745
+ from {
22746
+ width: 0;
22747
+ }
22748
+ to {
22749
+ width: 100%;
22750
+ }
22751
+ }
22752
+ @keyframes indeterminate-move {
22753
+ 0% {
22754
+ transform: translateX(-100%);
22755
+ }
22756
+ 50% {
22757
+ transform: translateX(0);
22758
+ }
22759
+ 100% {
22760
+ transform: translateX(100%);
22761
+ }
22762
+ }
22763
+ @keyframes skeleton-loading {
22764
+ 0% {
22765
+ left: -100%;
22766
+ }
22767
+ 100% {
22768
+ left: 100%;
22769
+ }
22770
+ }
22926
22771
  /**
22927
22772
  * -----------------------------------------------------
22928
22773
  * _breakpoints.scss
@@ -22930,225 +22775,380 @@ samp {
22930
22775
  * These constants define the standard device-width breakpoints
22931
22776
  * used in responsive media queries throughout the theme.
22932
22777
  *
22933
- * - $breakpoint-xs: 320px (Extra small, portrait phones)
22934
- * - $breakpoint-sm: 480px (Small devices, larger phones)
22935
- * - $breakpoint-md: 768px (Medium devices, tablets)
22936
- * - $breakpoint-lg: 1024px (Large devices, desktops)
22937
- * - $breakpoint-xl: 1280px (Extra large desktops)
22938
- * - $breakpoint-xxl: 1536px (Widescreens, large monitors)
22778
+ * - $breakpoint-xs: 320px (Extra small, portrait phones)
22779
+ * - $breakpoint-sm: 480px (Small devices, larger phones)
22780
+ * - $breakpoint-md: 768px (Medium devices, tablets)
22781
+ * - $breakpoint-lg: 1024px (Large devices, desktops)
22782
+ * - $breakpoint-xl: 1280px (Extra large desktops)
22783
+ * - $breakpoint-xxl: 1536px (Widescreens, large monitors)
22784
+ *
22785
+ * $breakpoints map:
22786
+ * Use this map to loop over breakpoints or access named values.
22787
+ */
22788
+ /**
22789
+ * -----------------------------------------------------
22790
+ * _mixins.scss
22791
+ * -----------------------------------------------------
22792
+ * This file defines global SCSS mixins used for layout
22793
+ * and styling utilities across the project.
22794
+ *
22795
+ * === Mixin: respond ===
22796
+ * A responsive media query mixin for cleaner breakpoint handling.
22939
22797
  *
22940
- * $breakpoints map:
22941
- * Use this map to loop over breakpoints or access named values.
22798
+ * Usage:
22799
+ * @include respond("md") {
22800
+ * // Styles applied at min-width: 768px and up
22801
+ * }
22802
+ *
22803
+ * @param {string} $breakpoint - One of the keys defined in the $breakpoints map
22804
+ * (e.g., "xs", "sm", "md", "lg", "xl", "2xl").
22805
+ * @content - The styles to apply inside the media query block.
22806
+ *
22807
+ * Requires:
22808
+ * - A `$breakpoints` map from the `breakpoints` module (alias: `bp`)
22809
+ * - `sass:map` module to access map values safely
22942
22810
  */
22943
- .typography {
22944
- margin: 0;
22945
- color: var(--text-color-primary);
22946
- }
22947
-
22948
- .typography_display {
22949
- font-family: var(--font-family-heading);
22950
- font-size: var(--font-size-display, var(--font-size-xxl));
22951
- font-weight: var(--font-weight-heading, var(--font-weight-bolder));
22952
- line-height: var(--line-height-heading, 1.1);
22953
- letter-spacing: var(--letter-spacing-display, -0.02em);
22954
- }
22955
-
22956
- .typography_h1 {
22957
- font-family: var(--font-family-heading);
22958
- font-size: var(--font-size-h1, var(--font-size-xxl));
22959
- font-weight: var(--font-weight-heading, var(--font-weight-bolder));
22960
- line-height: var(--line-height-heading, 1.15);
22961
- letter-spacing: var(--letter-spacing-heading, -0.01em);
22962
- }
22963
-
22964
- .typography_h2 {
22965
- font-family: var(--font-family-heading);
22966
- font-size: var(--font-size-h2, var(--font-size-xl));
22967
- font-weight: var(--font-weight-heading, var(--font-weight-bolder));
22968
- line-height: var(--line-height-heading, 1.2);
22969
- letter-spacing: var(--letter-spacing-heading, -0.01em);
22970
- }
22971
-
22972
- .typography_h3 {
22973
- font-family: var(--font-family-heading);
22974
- font-size: var(--font-size-h3, var(--font-size-lg));
22975
- font-weight: var(--font-weight-heading, var(--font-weight-bold));
22976
- line-height: var(--line-height-heading, 1.25);
22977
- letter-spacing: var(--letter-spacing-heading, 0);
22978
- }
22979
-
22980
- .typography_h4 {
22981
- font-family: var(--font-family-heading);
22982
- font-size: var(--font-size-h4, var(--font-size-base));
22983
- font-weight: var(--font-weight-heading, var(--font-weight-bold));
22984
- line-height: var(--line-height-heading, 1.3);
22811
+ :root {
22812
+ /* ================================
22813
+ PRIMARY COLOR PALETTE
22814
+ ================================== */
22815
+ --primary-color: #1c4d3a;
22816
+ --primary-color-light: rgb(107.6, 201.4, 165.0285714286);
22817
+ --primary-color-hover: rgb(14.4, 39.6, 29.8285714286);
22818
+ --text-color-primary: rgb(255, 255, 255);
22819
+ --text-color-primary-contrast: rgb(0, 0, 0);
22820
+ /* ================================
22821
+ SECONDARY COLOR PALETTE
22822
+ ================================== */
22823
+ --secondary-color: #6e502e;
22824
+ --secondary-color-light: rgb(210.7692307692, 181.9230769231, 149.2307692308);
22825
+ --secondary-color-hover: rgb(74.0384615385, 53.8461538462, 30.9615384615);
22826
+ --text-color-secondary: rgb(0, 0, 0);
22827
+ /* ================================
22828
+ TERTIARY COLOR PALETTE
22829
+ ================================== */
22830
+ --tertiary-color: #092b1c;
22831
+ --tertiary-color-light: rgb(44.9615384615, 211.0384615385, 137.7692307692);
22832
+ --tertiary-color-hover: rgb(0.1730769231, 0.8269230769, 0.5384615385);
22833
+ --text-color-tertiary: rgb(255, 255, 255);
22834
+ /* ================================
22835
+ QUATERNARY COLOR PALETTE
22836
+ ================================== */
22837
+ --quaternary-color: #a1733a;
22838
+ --quaternary-color-light: rgb(231.9589041096, 213.6849315068, 191.0410958904);
22839
+ --quaternary-color-hover: rgb(123.5068493151, 88.2191780822, 44.4931506849);
22840
+ --text-color-quaternary: rgb(255, 255, 255);
22841
+ /* ================================
22842
+ FEEDBACK COLORS
22843
+ ================================== */
22844
+ --success-color: #51c703;
22845
+ --success-color-hover: rgb(60.5495049505, 148.7574257426, 2.2425742574);
22846
+ --warning-color: #fca505;
22847
+ --warning-color-hover: rgb(203.557312253, 132.7193675889, 2.442687747);
22848
+ --error-color: #f83838;
22849
+ --error-color-hover: rgb(244.4029126214, 8.5970873786, 8.5970873786);
22850
+ --disabled-color: rgba(184, 184, 184, 0.8666666667);
22851
+ /* ================================
22852
+ BACKGROUND COLORS
22853
+ ================================== */
22854
+ --background-color: #222e2e;
22855
+ --background-color-surface: #384b4b;
22856
+ --background-color-light: rgb(55.675, 75.325, 75.325);
22857
+ --background-color-lighter: rgb(77.35, 104.65, 104.65);
22858
+ --background-color-dark: rgb(12.325, 16.675, 16.675);
22859
+ --background-color-darker: hsl(180, 15%, -4.3137254902%);
22860
+ /* ================================
22861
+ TEXT COLORS
22862
+ ================================== */
22863
+ --text-color: rgb(255, 255, 255);
22864
+ --text-color-light: hsl(0, 0%, 120%);
22865
+ --text-color-lighter: hsl(0, 0%, 140%);
22866
+ /* ================================
22867
+ LINK COLORS
22868
+ ================================== */
22869
+ --link-color: #8bb0c7;
22870
+ --link-hover-color: #627e8f;
22871
+ --link-hover-color-primary: rgb(22.4, 61.6, 46.4);
22872
+ --link-hover-color-secondary: rgb(88, 64, 36.8);
22873
+ /* ================================
22874
+ FOCUS & INTERACTION
22875
+ ================================== */
22876
+ --focus-outline-color: var(--text-color-primary);
22877
+ /* ===========================
22878
+ Spacing Scale
22879
+ =========================== */
22880
+ --spacing-xxs: 2px;
22881
+ --spacing-xs: 4px;
22882
+ --spacing-sm: 8px;
22883
+ --spacing-md: 16px;
22884
+ --spacing-lg: 24px;
22885
+ --spacing-xl: 32px;
22886
+ /* ===========================
22887
+ Font Sizes
22888
+ =========================== */
22889
+ --font-size-xxs: 10px;
22890
+ --font-size-xs: 12px;
22891
+ --font-size-sm: 14px;
22892
+ --font-size-md: 16px;
22893
+ --font-size-base: 18px;
22894
+ --font-size-lg: 20px;
22895
+ --font-size-xl: 24px;
22896
+ --font-size-xxl: 32px;
22897
+ --font-size-display-sm: 40px;
22898
+ --font-size-display-md: 48px;
22899
+ --font-size-display-lg: 56px;
22900
+ /* ===========================
22901
+ Font Weights
22902
+ =========================== */
22903
+ --font-weight-light: 300;
22904
+ --font-weight-normal: 400;
22905
+ --font-weight-medium: 500;
22906
+ --font-weight-semibold: 600;
22907
+ --font-weight-bold: 700;
22908
+ --font-weight-bolder: 900;
22909
+ /* ===========================
22910
+ Line Heights
22911
+ =========================== */
22912
+ --line-height-tight: 1.2;
22913
+ --line-height-snug: 1.35;
22914
+ --line-height-normal: 1.5;
22915
+ --line-height-relaxed: 1.65;
22916
+ --line-height-loose: 1.8;
22917
+ /* ===========================
22918
+ Semantic Typographic Styles
22919
+ =========================== */
22920
+ --font-size-body: 18px;
22921
+ --font-size-body-sm: 16px;
22922
+ --font-size-body-lg: 20px;
22923
+ --font-size-label: 14px;
22924
+ --font-size-caption: 12px;
22925
+ --font-size-overline: 12px;
22926
+ --font-size-code: 14px;
22927
+ --font-size-h1: 48px;
22928
+ --font-size-h2: 40px;
22929
+ --font-size-h3: 32px;
22930
+ --font-size-h4: 24px;
22931
+ --font-size-h5: 20px;
22932
+ --font-size-h6: 18px;
22933
+ --font-weight-body: 400;
22934
+ --font-weight-label: 500;
22935
+ --font-weight-caption: 400;
22936
+ --font-weight-code: 400;
22937
+ --font-weight-h1: 900;
22938
+ --font-weight-h2: 900;
22939
+ --font-weight-h3: 700;
22940
+ --font-weight-h4: 700;
22941
+ --font-weight-h5: 600;
22942
+ --font-weight-h6: 600;
22943
+ --line-height-body: 1.65;
22944
+ --line-height-heading: 1.2;
22945
+ --line-height-label: 1.5;
22946
+ --line-height-caption: 1.5;
22947
+ --line-height-code: 1.5;
22948
+ --letter-spacing-heading: -0.02em;
22949
+ --letter-spacing-body: 0;
22950
+ --letter-spacing-label: 0.02em;
22951
+ --letter-spacing-caption: 0;
22952
+ --letter-spacing-overline: 0.05em;
22953
+ --letter-spacing-code: 0;
22954
+ /* ===========================
22955
+ Letter Spacing
22956
+ =========================== */
22957
+ --letter-spacing-tight: -0.02em;
22958
+ --letter-spacing-normal: 0;
22959
+ --letter-spacing-wide: 0.02em;
22960
+ --letter-spacing-wider: 0.05em;
22961
+ /* ===========================
22962
+ Border Radius (Rounding)
22963
+ =========================== */
22964
+ --border-radius-xs: 2.5px;
22965
+ --border-radius-sm: 5px;
22966
+ --border-radius-md: 10px;
22967
+ --border-radius-lg: 20px;
22968
+ --border-radius-xl: 40px;
22969
+ --border-radius-full: 50%;
22970
+ --border-radius-round: 50%;
22971
+ --border-radius-none: 0;
22972
+ /* ===========================
22973
+ Border Widths
22974
+ =========================== */
22975
+ --border-width-none: 0;
22976
+ --border-width-xs: 1px;
22977
+ --border-width-sm: 2px;
22978
+ --border-width-md: 3px;
22979
+ --border-width-lg: 4px;
22980
+ --border-width-xl: 5px;
22981
+ /* ===========================
22982
+ Shadows
22983
+ =========================== */
22984
+ --box-shadow-light: 0px 2px 4px rgba(46, 49, 49, 0.1);
22985
+ --box-shadow-medium: 0px 4px 8px rgba(86, 101, 116, 0.2);
22986
+ --box-shadow-heavy: 0px 6px 12px rgba(52, 73, 94, 0.4);
22987
+ --box-shadow-intense: 0px 6px 12px rgba(52, 73, 94, 0.6);
22988
+ /* ===========================
22989
+ Inverted Shadows (Light UI)
22990
+ =========================== */
22991
+ --box-shadow-inverted-none: none;
22992
+ --box-shadow-inverted-light: 0 2px 4px rgb(255 255 255 / 5%);
22993
+ --box-shadow-inverted-medium: 0 4px 8px rgb(255 255 255 / 8%);
22994
+ --box-shadow-inverted-strong: 0 6px 12px rgb(255 255 255 / 12%);
22995
+ --box-shadow-inverted-intense: 0 8px 16px rgb(255 255 255 / 20%);
22996
+ /* ===========================
22997
+ Divider & Overlay Colors
22998
+ =========================== */
22999
+ --divider-color: rgb(99.025, 133.975, 133.975);
23000
+ --border-color: rgb(99.025, 133.975, 133.975);
23001
+ --border-color-subtle: rgb(55.675, 75.325, 75.325);
23002
+ --border-color-strong: rgb(77.35, 104.65, 104.65);
23003
+ --overlay-color: rgb(0 0 0 / 50%);
23004
+ --font-family-body: Inter, system-ui, -apple-system, Segoe UI, roboto, arial, sans-serif;
23005
+ --font-family-heading: Inter, system-ui, -apple-system, Segoe UI, roboto, sans-serif;
23006
+ --font-family-ui: Inter, system-ui, -apple-system, Segoe UI, roboto, arial, sans-serif;
23007
+ --font-family-mono: ui-monospace, sfmono-regular, menlo, consolas, Liberation Mono, monospace;
22985
23008
  }
22986
-
22987
- .typography_h5 {
22988
- font-family: var(--font-family-heading);
22989
- font-size: var(--font-size-h5, var(--font-size-md));
22990
- font-weight: var(--font-weight-heading, var(--font-weight-bold));
22991
- line-height: var(--line-height-heading, 1.35);
23009
+ body {
23010
+ font-family: var(--font-family-body);
23011
+ font-size: var(--font-size-body);
23012
+ font-weight: var(--font-weight-body);
23013
+ line-height: var(--line-height-body);
23014
+ letter-spacing: var(--letter-spacing-body);
23015
+ color: var(--text-color-primary);
23016
+ background-color: var(--background-color);
23017
+ margin: 0;
23018
+ padding: 0;
23019
+ overflow-x: hidden;
23020
+ transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
22992
23021
  }
22993
-
22994
- .typography_h6 {
23022
+ h1,
23023
+ h2,
23024
+ h3,
23025
+ h4,
23026
+ h5,
23027
+ h6 {
22995
23028
  font-family: var(--font-family-heading);
22996
- font-size: var(--font-size-h6, var(--font-size-sm));
22997
- font-weight: var(--font-weight-heading, var(--font-weight-bold));
22998
- line-height: var(--line-height-heading, 1.4);
23029
+ line-height: var(--line-height-heading);
23030
+ letter-spacing: var(--letter-spacing-heading);
23031
+ margin: 0;
23032
+ transition: color 0.3s ease-in-out;
22999
23033
  }
23000
-
23001
- .typography_body-lg {
23002
- font-family: var(--font-family-body);
23003
- font-size: var(--font-size-body-lg, var(--font-size-lg));
23004
- font-weight: var(--font-weight-body, var(--font-weight-normal));
23005
- line-height: var(--line-height-body, 1.6);
23006
- letter-spacing: var(--letter-spacing-body, 0);
23034
+ h1 {
23035
+ font-size: var(--font-size-h1);
23036
+ font-weight: var(--font-weight-h1);
23007
23037
  }
23008
-
23009
- .typography_body {
23010
- font-family: var(--font-family-body);
23011
- font-size: var(--font-size-body, var(--font-size-base));
23012
- font-weight: var(--font-weight-body, var(--font-weight-normal));
23013
- line-height: var(--line-height-body, 1.6);
23014
- letter-spacing: var(--letter-spacing-body, 0);
23038
+ h2 {
23039
+ font-size: var(--font-size-h2);
23040
+ font-weight: var(--font-weight-h2);
23015
23041
  }
23016
-
23017
- .typography_body-sm {
23018
- font-family: var(--font-family-body);
23019
- font-size: var(--font-size-body-sm, var(--font-size-sm));
23020
- font-weight: var(--font-weight-body, var(--font-weight-normal));
23021
- line-height: var(--line-height-body, 1.55);
23022
- letter-spacing: var(--letter-spacing-body, 0);
23042
+ h3 {
23043
+ font-size: var(--font-size-h3);
23044
+ font-weight: var(--font-weight-h3);
23023
23045
  }
23024
-
23025
- .typography_label {
23026
- font-family: var(--font-family-ui);
23027
- font-size: var(--font-size-label, var(--font-size-sm));
23028
- font-weight: var(--font-weight-label, var(--font-weight-bold));
23029
- line-height: var(--line-height-label, 1.4);
23030
- letter-spacing: var(--letter-spacing-label, 0.01em);
23046
+ h4 {
23047
+ font-size: var(--font-size-h4);
23048
+ font-weight: var(--font-weight-h4);
23031
23049
  }
23032
-
23033
- .typography_caption {
23034
- font-family: var(--font-family-ui);
23035
- font-size: var(--font-size-caption, var(--font-size-xs));
23036
- font-weight: var(--font-weight-label, var(--font-weight-normal));
23037
- line-height: var(--line-height-label, 1.35);
23038
- letter-spacing: var(--letter-spacing-label, 0.01em);
23050
+ h5 {
23051
+ font-size: var(--font-size-h5);
23052
+ font-weight: var(--font-weight-h5);
23039
23053
  }
23040
-
23041
- .typography_overline {
23042
- font-family: var(--font-family-ui);
23043
- font-size: var(--font-size-caption, var(--font-size-xs));
23044
- font-weight: var(--font-weight-label, var(--font-weight-bold));
23045
- line-height: var(--line-height-label, 1.2);
23046
- letter-spacing: 0.08em;
23054
+ h6 {
23055
+ font-size: var(--font-size-h6);
23056
+ font-weight: var(--font-weight-h6);
23047
23057
  text-transform: uppercase;
23058
+ letter-spacing: var(--letter-spacing-overline);
23048
23059
  }
23049
-
23050
- .typography_code {
23051
- font-family: var(--font-family-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
23052
- font-size: 0.95em;
23053
- line-height: 1.5;
23054
- }
23055
-
23056
- .typography_align-left {
23057
- text-align: left;
23058
- }
23059
-
23060
- .typography_align-center {
23061
- text-align: center;
23062
- }
23063
-
23064
- .typography_align-right {
23065
- text-align: right;
23066
- }
23067
-
23068
- .typography_align-inherit {
23069
- text-align: inherit;
23060
+ p {
23061
+ font-family: var(--font-family-body);
23062
+ font-size: var(--font-size-body);
23063
+ font-weight: var(--font-weight-body);
23064
+ line-height: var(--line-height-body);
23065
+ letter-spacing: var(--letter-spacing-body);
23066
+ margin-bottom: var(--spacing-md);
23070
23067
  }
23071
-
23072
- .typography_weight-light {
23073
- font-weight: var(--font-weight-light);
23068
+ a {
23069
+ color: var(--link-color);
23070
+ font-weight: 700;
23071
+ text-decoration: none;
23072
+ transition: color 0.3s ease-in-out, text-decoration 0.3s ease-in-out;
23074
23073
  }
23075
-
23076
- .typography_weight-normal {
23077
- font-weight: var(--font-weight-normal);
23074
+ a:hover {
23075
+ color: var(--link-color-hover);
23076
+ text-decoration: underline;
23078
23077
  }
23079
-
23080
- .typography_weight-medium {
23081
- font-weight: var(--font-weight-medium, 500);
23078
+ label {
23079
+ font-family: var(--font-family-ui);
23080
+ font-size: var(--font-size-label);
23081
+ font-weight: var(--font-weight-label);
23082
+ line-height: var(--line-height-label);
23083
+ letter-spacing: var(--letter-spacing-label);
23082
23084
  }
23083
-
23084
- .typography_weight-bold {
23085
- font-weight: var(--font-weight-bold);
23085
+ small {
23086
+ font-size: var(--font-size-caption);
23087
+ line-height: var(--line-height-caption);
23086
23088
  }
23087
-
23088
- .typography_weight-bolder {
23089
- font-weight: var(--font-weight-bolder);
23089
+ code,
23090
+ pre,
23091
+ kbd,
23092
+ samp {
23093
+ font-family: var(--font-family-mono);
23094
+ font-size: var(--font-size-code);
23095
+ font-weight: var(--font-weight-code);
23096
+ line-height: var(--line-height-code);
23097
+ letter-spacing: var(--letter-spacing-code);
23090
23098
  }
23091
-
23092
- .typography_weight-inherit {
23093
- font-weight: inherit;
23099
+ .noScroll {
23100
+ overflow: hidden;
23094
23101
  }
23095
-
23096
- .typography_primary {
23097
- color: var(--primary-color);
23102
+ .errorMessage {
23103
+ color: #f83838;
23104
+ font-size: 14px;
23098
23105
  }
23099
-
23100
- .typography_secondary {
23101
- color: var(--secondary-color);
23106
+ .loadingContainer {
23107
+ min-height: 100vh;
23108
+ display: flex;
23109
+ justify-content: center;
23110
+ align-items: center;
23111
+ font-size: 1.5rem;
23102
23112
  }
23103
-
23104
- .typography_tertiary {
23105
- color: var(--tertiary-color);
23113
+ * {
23114
+ scrollbar-width: thin;
23115
+ scrollbar-color: var(--primary-color) var(--background-color-light);
23106
23116
  }
23107
-
23108
- .typography_quaternary {
23109
- color: var(--quaternary-color);
23117
+ *:focus {
23118
+ outline: 2px solid var(--focus-outline-color);
23119
+ outline-offset: 2px;
23110
23120
  }
23111
-
23112
- .typography_success {
23113
- color: var(--success-color);
23121
+ ::-webkit-scrollbar {
23122
+ width: 12px;
23123
+ height: 12px;
23114
23124
  }
23115
-
23116
- .typography_warning {
23117
- color: var(--warning-color);
23125
+ ::-webkit-scrollbar-track {
23126
+ background: var(--background-color);
23118
23127
  }
23119
-
23120
- .typography_error {
23121
- color: var(--error-color);
23128
+ ::-webkit-scrollbar-thumb {
23129
+ background-color: var(--primary-color);
23130
+ border-radius: 6px;
23131
+ border: 3px solid var(--background-color-light);
23122
23132
  }
23123
-
23124
- .typography_clear,
23125
- .typography_theme-inherit {
23126
- color: inherit;
23133
+ ::-webkit-scrollbar-thumb:hover {
23134
+ background-color: var(--primary-color-hover);
23127
23135
  }
23128
-
23129
- .typography_italic {
23130
- font-style: italic;
23136
+ .hideScrollbar {
23137
+ scrollbar-width: none;
23138
+ -ms-overflow-style: none;
23131
23139
  }
23132
-
23133
- .typography_underline {
23134
- text-decoration: underline;
23135
- text-underline-offset: 0.15em;
23140
+ .hideScrollbar::-webkit-scrollbar {
23141
+ display: none;
23136
23142
  }
23137
-
23138
- .typography_truncate {
23143
+ .sr_only {
23144
+ position: absolute;
23145
+ width: 1px;
23146
+ height: 1px;
23147
+ margin: -1px;
23139
23148
  overflow: hidden;
23140
- text-overflow: ellipsis;
23141
- white-space: nowrap;
23142
- }
23143
-
23144
- .typography_no-wrap {
23149
+ clip: rect(0 0 0 0);
23145
23150
  white-space: nowrap;
23146
- }
23147
-
23148
- @media (forced-colors: active) {
23149
- .typography {
23150
- color: CanvasText;
23151
- }
23151
+ border: 0;
23152
23152
  }
23153
23153
  /**
23154
23154
  * ---------------------------------------------------------------------