stargazer-ui 1.5.21 → 1.5.23

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 (377) hide show
  1. package/.babelrc.json +10 -0
  2. package/.eslintrc.cjs +18 -0
  3. package/.gitattributes +2 -0
  4. package/LICENSE +21 -0
  5. package/dev/index.html +16 -0
  6. package/dev/index.jsx +46 -0
  7. package/dev/index.scss +74 -0
  8. package/dev/pages/ButtonPage.jsx +44 -0
  9. package/dev/pages/CardPage.jsx +81 -0
  10. package/dev/pages/DropdownPage.jsx +32 -0
  11. package/dev/pages/FormPage.jsx +163 -0
  12. package/dev/pages/ListPage.jsx +52 -0
  13. package/dev/pages/ModalPage.jsx +38 -0
  14. package/dev/pages/OverlayPage.jsx +39 -0
  15. package/dev/pages/components.jsx +19 -0
  16. package/dev/stargazerui.css +3762 -0
  17. package/dev/stargazerui.css.map +1 -0
  18. package/dev/test.jsx +87 -0
  19. package/package.json +79 -1
  20. package/rollup.config.js +140 -0
  21. package/scripts/writePackageJsons.js +42 -0
  22. package/src/Bar/Bar.tsx +0 -0
  23. package/src/Bar/Bar.type.ts +9 -0
  24. package/src/Bar/index.ts +0 -0
  25. package/src/Button/Button.tsx +20 -0
  26. package/src/Button/Button.types.ts +8 -0
  27. package/src/Button/index.ts +3 -0
  28. package/src/ButtonGroup/ButtonGroup.tsx +14 -0
  29. package/src/ButtonGroup/ButtonGroup.types.ts +8 -0
  30. package/src/ButtonGroup/index.ts +3 -0
  31. package/src/Card/Card.tsx +70 -0
  32. package/src/Card/Card.types.ts +33 -0
  33. package/src/Card/index.ts +3 -0
  34. package/src/CloseButton/CloseButton.tsx +14 -0
  35. package/src/CloseButton/CloseButton.types.ts +6 -0
  36. package/src/CloseButton/index.ts +3 -0
  37. package/src/Dropdown/Dropdown.tsx +441 -0
  38. package/src/Dropdown/Dropdown.types.ts +60 -0
  39. package/src/Dropdown/index.ts +4 -0
  40. package/src/FileUploadButton/FileUploadButton.tsx +27 -0
  41. package/src/FileUploadButton/FileUploadButton.types.ts +9 -0
  42. package/src/FileUploadButton/index.ts +3 -0
  43. package/src/FloatingLabel/FloatingLabel.tsx +22 -0
  44. package/src/FloatingLabel/FloatingLabel.types.ts +11 -0
  45. package/src/FloatingLabel/index.ts +3 -0
  46. package/src/Form/Form.tsx +399 -0
  47. package/src/Form/Form.types.ts +169 -0
  48. package/src/Form/FormSelect.tsx +620 -0
  49. package/src/Form/index.ts +4 -0
  50. package/src/InputGroup/InputGroup.tsx +46 -0
  51. package/src/InputGroup/InputGroup.types.ts +22 -0
  52. package/src/InputGroup/index.ts +4 -0
  53. package/src/List/List.tsx +112 -0
  54. package/src/List/List.types.ts +34 -0
  55. package/src/List/index.ts +4 -0
  56. package/src/Modal/Modal.tsx +229 -0
  57. package/src/Modal/Modal.types.ts +49 -0
  58. package/src/Modal/index.ts +4 -0
  59. package/src/Nav/Nav.tsx +43 -0
  60. package/src/Nav/Nav.types.ts +21 -0
  61. package/src/Nav/index.ts +4 -0
  62. package/src/NavBar/Navbar.tsx +57 -0
  63. package/src/NavBar/Navbar.types.ts +24 -0
  64. package/src/NavBar/index.ts +4 -0
  65. package/src/NavDropdown/NavDropdown.tsx +93 -0
  66. package/src/NavDropdown/NavDropdown.types.ts +7 -0
  67. package/src/NavDropdown/index.ts +3 -0
  68. package/src/Overlay/Overlay.tsx +305 -0
  69. package/src/Overlay/Overlay.types.ts +24 -0
  70. package/{Overlay/index.d.ts → src/Overlay/index.ts} +3 -3
  71. package/src/Popout/Popout.tsx +155 -0
  72. package/src/Popout/Popout.types.ts +42 -0
  73. package/src/Popout/index.ts +3 -0
  74. package/src/Spinner/Spinner.tsx +15 -0
  75. package/src/Spinner/Spinner.types.ts +7 -0
  76. package/src/Spinner/index.ts +3 -0
  77. package/src/Table/Table.tsx +16 -0
  78. package/src/Table/Table.types.ts +9 -0
  79. package/src/Table/index.ts +3 -0
  80. package/src/Tabs/Tabs.tsx +233 -0
  81. package/src/Tabs/Tabs.types.ts +52 -0
  82. package/src/Tabs/index.ts +3 -0
  83. package/src/ToggleButton/ToggleButton.tsx +21 -0
  84. package/src/ToggleButton/ToggleButton.types.ts +8 -0
  85. package/src/ToggleButton/index.ts +3 -0
  86. package/src/assets/tooltip-pointer.svg +3 -0
  87. package/src/assets/warning.svg +39 -0
  88. package/{hooks/index.d.ts → src/hooks/index.ts} +7 -6
  89. package/src/hooks/useClassname.ts +5 -0
  90. package/src/hooks/useDraggable.ts +186 -0
  91. package/src/hooks/useKeepElementFocused.ts +37 -0
  92. package/src/hooks/useQueryParams.ts +12 -0
  93. package/src/hooks/useScreenSize.ts +24 -0
  94. package/src/index.ts +21 -0
  95. package/src/styles/_Card.scss +166 -0
  96. package/src/styles/_CloseButton.scss +51 -0
  97. package/src/styles/_CustomButton.scss +134 -0
  98. package/src/styles/_Dropdown.scss +127 -0
  99. package/src/styles/_FloatingLabel.scss +56 -0
  100. package/src/styles/_Forms.scss +7 -0
  101. package/src/styles/_Grid.scss +178 -0
  102. package/src/styles/_InputGroup.scss +71 -0
  103. package/src/styles/_List.scss +62 -0
  104. package/src/styles/_Modal.scss +234 -0
  105. package/src/styles/_ModalOld.scss +242 -0
  106. package/src/styles/_Nav.scss +36 -0
  107. package/src/styles/_NavBar.scss +116 -0
  108. package/src/styles/_NavDropdown.scss +33 -0
  109. package/src/styles/_OffCanvas.scss +260 -0
  110. package/src/styles/_OverLay.scss +79 -0
  111. package/src/styles/_Popout.scss +75 -0
  112. package/src/styles/_Resizable.scss +64 -0
  113. package/src/styles/_Spinner.scss +19 -0
  114. package/src/styles/_Table.scss +34 -0
  115. package/src/styles/_Tabs.scss +129 -0
  116. package/src/styles/_colors.scss +510 -0
  117. package/src/styles/_components.scss +41 -0
  118. package/src/styles/_functions.scss +134 -0
  119. package/src/styles/_mixins.scss +26 -0
  120. package/src/styles/_reset.scss +239 -0
  121. package/src/styles/_utilities.scss +2480 -0
  122. package/src/styles/_variables.scss +164 -0
  123. package/src/styles/forms/_FormCheck.scss +270 -0
  124. package/src/styles/forms/_FormControl.scss +135 -0
  125. package/src/styles/forms/_FormGroup.scss +26 -0
  126. package/src/styles/forms/_FormLabel.scss +3 -0
  127. package/src/styles/forms/_FormSelect.scss +222 -0
  128. package/src/styles/forms/_FormSlider.scss +116 -0
  129. package/src/styles/forms/_FormText.scss +6 -0
  130. package/{utils/BaseTypes.d.ts → src/utils/BaseTypes.ts} +32 -25
  131. package/src/utils/ContrastingColor.ts +25 -0
  132. package/src/utils/CreateSyntheticEvent.ts +30 -0
  133. package/src/utils/FileImportExport.js +50 -0
  134. package/src/utils/IsInputKey.ts +18 -0
  135. package/src/utils/MergeClassnames.ts +5 -0
  136. package/src/utils/MergeRefs.ts +12 -0
  137. package/src/utils/createFastContext.tsx +119 -0
  138. package/src/utils/index.ts +4 -0
  139. package/src/vite-env.d.ts +1 -0
  140. package/tsconfig-build.json +4 -0
  141. package/tsconfig.json +79 -0
  142. package/tsconfig.node.json +10 -0
  143. package/types/BaseTypes.d.ts +19 -0
  144. package/{Button → types/components/Button}/Button.types.d.ts +2 -1
  145. package/types/components/Button/index.d.ts +1 -0
  146. package/{Card → types/components/Card}/Card.d.ts +12 -12
  147. package/{Card → types/components/Card}/Card.types.d.ts +1 -3
  148. package/types/components/Card/index.d.ts +1 -0
  149. package/{CloseButton → types/components/CloseButton}/CloseButton.types.d.ts +1 -1
  150. package/types/components/CloseButton/index.d.ts +1 -0
  151. package/types/components/Dropdown/Dropdown.d.ts +71 -0
  152. package/{Dropdown → types/components/Dropdown}/Dropdown.types.d.ts +12 -13
  153. package/types/components/Dropdown/index.d.ts +1 -0
  154. package/{FloatingLabel → types/components/FloatingLabel}/FloatingLabel.types.d.ts +1 -1
  155. package/types/components/FloatingLabel/index.d.ts +1 -0
  156. package/types/components/Form/Form.d.ts +17 -0
  157. package/types/components/Form/Form.types.d.ts +50 -0
  158. package/types/components/Form/index.d.ts +1 -0
  159. package/types/components/InputGroup/InputGroup.d.ts +6 -0
  160. package/types/components/InputGroup/InputGroup.types.d.ts +10 -0
  161. package/types/components/InputGroup/index.d.ts +1 -0
  162. package/{Modal → types/components/Modal}/Modal.d.ts +19 -19
  163. package/{Modal → types/components/Modal}/Modal.types.d.ts +2 -3
  164. package/types/components/Modal/index.d.ts +1 -0
  165. package/{Nav → types/components/Nav}/Nav.d.ts +12 -12
  166. package/{Nav → types/components/Nav}/Nav.types.d.ts +1 -1
  167. package/types/components/Nav/index.d.ts +1 -0
  168. package/{NavBar → types/components/NavBar}/Navbar.d.ts +8 -7
  169. package/{NavBar → types/components/NavBar}/Navbar.types.d.ts +1 -2
  170. package/types/components/NavBar/index.d.ts +1 -0
  171. package/types/components/NavDropdown/NavDropdown.d.ts +35 -0
  172. package/{NavDropdown → types/components/NavDropdown}/NavDropdown.types.d.ts +1 -2
  173. package/types/components/NavDropdown/index.d.ts +1 -0
  174. package/{Popout → types/components/Popout}/Popout.d.ts +6 -6
  175. package/{Popout → types/components/Popout}/Popout.types.d.ts +1 -1
  176. package/types/components/Popout/index.d.ts +1 -0
  177. package/types/components/Spinner/index.d.ts +1 -0
  178. package/{Table → types/components/Table}/Table.types.d.ts +1 -1
  179. package/types/components/Table/index.d.ts +1 -0
  180. package/{Tabs → types/components/Tabs}/Tabs.types.d.ts +2 -12
  181. package/types/components/Tabs/index.d.ts +1 -0
  182. package/types/components/ToggleButton/ToggleButton.d.ts +9 -0
  183. package/types/components/ToggleButton/ToggleButton.types.d.ts +0 -0
  184. package/types/components/ToggleButton/index.d.ts +1 -0
  185. package/types/components/index.d.ts +16 -0
  186. package/types/index.d.ts +1 -0
  187. package/vite.config.js +57 -0
  188. package/vite.config.js.timestamp-1708777378490-e94428ceb2bf9.mjs +42 -0
  189. package/Bar/Bar.type.d.ts +0 -6
  190. package/Bar/index.js +0 -2
  191. package/Bar/index.js.map +0 -1
  192. package/Bar/package.json +0 -1
  193. package/Button/Button.js +0 -15
  194. package/Button/Button.js.map +0 -1
  195. package/Button/index.d.ts +0 -3
  196. package/Button/index.js +0 -7
  197. package/Button/index.js.map +0 -1
  198. package/Button/package.json +0 -1
  199. package/ButtonGroup/ButtonGroup.d.ts +0 -4
  200. package/ButtonGroup/ButtonGroup.js +0 -11
  201. package/ButtonGroup/ButtonGroup.js.map +0 -1
  202. package/ButtonGroup/ButtonGroup.types.d.ts +0 -7
  203. package/ButtonGroup/index.d.ts +0 -3
  204. package/ButtonGroup/index.js +0 -7
  205. package/ButtonGroup/index.js.map +0 -1
  206. package/ButtonGroup/package.json +0 -1
  207. package/Card/Card.js +0 -42
  208. package/Card/Card.js.map +0 -1
  209. package/Card/index.d.ts +0 -3
  210. package/Card/index.js +0 -7
  211. package/Card/index.js.map +0 -1
  212. package/Card/package.json +0 -1
  213. package/CloseButton/CloseButton.js +0 -11
  214. package/CloseButton/CloseButton.js.map +0 -1
  215. package/CloseButton/index.d.ts +0 -3
  216. package/CloseButton/index.js +0 -7
  217. package/CloseButton/index.js.map +0 -1
  218. package/CloseButton/package.json +0 -1
  219. package/Dropdown/Dropdown.d.ts +0 -39
  220. package/Dropdown/Dropdown.js +0 -380
  221. package/Dropdown/Dropdown.js.map +0 -1
  222. package/Dropdown/index.d.ts +0 -4
  223. package/Dropdown/index.js +0 -8
  224. package/Dropdown/index.js.map +0 -1
  225. package/Dropdown/package.json +0 -1
  226. package/FileUploadButton/FileUploadButton.d.ts +0 -4
  227. package/FileUploadButton/FileUploadButton.js +0 -20
  228. package/FileUploadButton/FileUploadButton.js.map +0 -1
  229. package/FileUploadButton/FileUploadButton.types.d.ts +0 -7
  230. package/FileUploadButton/index.d.ts +0 -3
  231. package/FileUploadButton/index.js +0 -7
  232. package/FileUploadButton/index.js.map +0 -1
  233. package/FileUploadButton/package.json +0 -1
  234. package/FloatingLabel/FloatingLabel.js +0 -15
  235. package/FloatingLabel/FloatingLabel.js.map +0 -1
  236. package/FloatingLabel/index.d.ts +0 -3
  237. package/FloatingLabel/index.js +0 -7
  238. package/FloatingLabel/index.js.map +0 -1
  239. package/FloatingLabel/package.json +0 -1
  240. package/Form/Form.d.ts +0 -37
  241. package/Form/Form.js +0 -227
  242. package/Form/Form.js.map +0 -1
  243. package/Form/Form.types.d.ts +0 -159
  244. package/Form/FormSelect.d.ts +0 -12
  245. package/Form/FormSelect.js +0 -492
  246. package/Form/FormSelect.js.map +0 -1
  247. package/Form/index.d.ts +0 -4
  248. package/Form/index.js +0 -8
  249. package/Form/index.js.map +0 -1
  250. package/Form/package.json +0 -1
  251. package/InputGroup/InputGroup.d.ts +0 -7
  252. package/InputGroup/InputGroup.js +0 -31
  253. package/InputGroup/InputGroup.js.map +0 -1
  254. package/InputGroup/InputGroup.types.d.ts +0 -17
  255. package/InputGroup/index.d.ts +0 -4
  256. package/InputGroup/index.js +0 -7
  257. package/InputGroup/index.js.map +0 -1
  258. package/InputGroup/package.json +0 -1
  259. package/List/List.d.ts +0 -14
  260. package/List/List.js +0 -77
  261. package/List/List.js.map +0 -1
  262. package/List/List.types.d.ts +0 -28
  263. package/List/index.d.ts +0 -3
  264. package/List/index.js +0 -7
  265. package/List/index.js.map +0 -1
  266. package/List/package.json +0 -1
  267. package/Modal/Modal.js +0 -157
  268. package/Modal/Modal.js.map +0 -1
  269. package/Modal/index.d.ts +0 -3
  270. package/Modal/index.js +0 -7
  271. package/Modal/index.js.map +0 -1
  272. package/Modal/package.json +0 -1
  273. package/Nav/Nav.js +0 -29
  274. package/Nav/Nav.js.map +0 -1
  275. package/Nav/index.d.ts +0 -4
  276. package/Nav/index.js +0 -7
  277. package/Nav/index.js.map +0 -1
  278. package/Nav/package.json +0 -1
  279. package/NavBar/Navbar.js +0 -36
  280. package/NavBar/Navbar.js.map +0 -1
  281. package/NavBar/index.d.ts +0 -4
  282. package/NavBar/index.js +0 -8
  283. package/NavBar/index.js.map +0 -1
  284. package/NavBar/package.json +0 -1
  285. package/NavDropdown/NavDropdown.d.ts +0 -19
  286. package/NavDropdown/NavDropdown.js +0 -75
  287. package/NavDropdown/NavDropdown.js.map +0 -1
  288. package/NavDropdown/index.d.ts +0 -3
  289. package/NavDropdown/index.js +0 -7
  290. package/NavDropdown/index.js.map +0 -1
  291. package/NavDropdown/package.json +0 -1
  292. package/Overlay/Overlay.d.ts +0 -4
  293. package/Overlay/Overlay.js +0 -241
  294. package/Overlay/Overlay.js.map +0 -1
  295. package/Overlay/Overlay.types.d.ts +0 -22
  296. package/Overlay/index.js +0 -7
  297. package/Overlay/index.js.map +0 -1
  298. package/Overlay/package.json +0 -1
  299. package/Popout/Popout.js +0 -111
  300. package/Popout/Popout.js.map +0 -1
  301. package/Popout/index.d.ts +0 -3
  302. package/Popout/index.js +0 -7
  303. package/Popout/index.js.map +0 -1
  304. package/Popout/package.json +0 -1
  305. package/Spinner/Spinner.js +0 -11
  306. package/Spinner/Spinner.js.map +0 -1
  307. package/Spinner/index.d.ts +0 -3
  308. package/Spinner/index.js +0 -7
  309. package/Spinner/index.js.map +0 -1
  310. package/Spinner/package.json +0 -1
  311. package/Table/Table.js +0 -12
  312. package/Table/Table.js.map +0 -1
  313. package/Table/index.d.ts +0 -3
  314. package/Table/index.js +0 -7
  315. package/Table/index.js.map +0 -1
  316. package/Table/package.json +0 -1
  317. package/Tabs/Tabs.js +0 -162
  318. package/Tabs/Tabs.js.map +0 -1
  319. package/Tabs/index.d.ts +0 -3
  320. package/Tabs/index.js +0 -7
  321. package/Tabs/index.js.map +0 -1
  322. package/Tabs/package.json +0 -1
  323. package/ToggleButton/ToggleButton.d.ts +0 -4
  324. package/ToggleButton/ToggleButton.js +0 -18
  325. package/ToggleButton/ToggleButton.js.map +0 -1
  326. package/ToggleButton/ToggleButton.types.d.ts +0 -7
  327. package/ToggleButton/index.d.ts +0 -3
  328. package/ToggleButton/index.js +0 -7
  329. package/ToggleButton/index.js.map +0 -1
  330. package/ToggleButton/package.json +0 -1
  331. package/hooks/index.js +0 -7
  332. package/hooks/index.js.map +0 -1
  333. package/hooks/package.json +0 -1
  334. package/hooks/useClassname.d.ts +0 -2
  335. package/hooks/useClassname.js +0 -7
  336. package/hooks/useClassname.js.map +0 -1
  337. package/hooks/useDraggable.d.ts +0 -23
  338. package/hooks/useDraggable.js +0 -147
  339. package/hooks/useDraggable.js.map +0 -1
  340. package/hooks/useKeepElementFocused.d.ts +0 -2
  341. package/hooks/useKeepElementFocused.js +0 -37
  342. package/hooks/useKeepElementFocused.js.map +0 -1
  343. package/hooks/useQueryParams.d.ts +0 -2
  344. package/hooks/useQueryParams.js +0 -13
  345. package/hooks/useQueryParams.js.map +0 -1
  346. package/hooks/useScreenSize.d.ts +0 -5
  347. package/hooks/useScreenSize.js +0 -21
  348. package/hooks/useScreenSize.js.map +0 -1
  349. package/index.d.ts +0 -19
  350. package/index.js +0 -20
  351. package/index.js.map +0 -1
  352. package/styles/stargazerui.css +0 -6658
  353. package/styles/stargazerui.css.map +0 -1
  354. package/utils/ContrastingColor.d.ts +0 -1
  355. package/utils/CreateSyntheticEvent.d.ts +0 -2
  356. package/utils/CreateSyntheticEvent.js +0 -33
  357. package/utils/CreateSyntheticEvent.js.map +0 -1
  358. package/utils/IsInputKey.d.ts +0 -7
  359. package/utils/IsInputKey.js +0 -20
  360. package/utils/IsInputKey.js.map +0 -1
  361. package/utils/MergeClassnames.d.ts +0 -2
  362. package/utils/MergeClassnames.js +0 -7
  363. package/utils/MergeClassnames.js.map +0 -1
  364. package/utils/MergeRefs.d.ts +0 -1
  365. package/utils/MergeRefs.js +0 -16
  366. package/utils/MergeRefs.js.map +0 -1
  367. package/utils/createFastContext.d.ts +0 -16
  368. package/utils/createFastContext.js +0 -101
  369. package/utils/createFastContext.js.map +0 -1
  370. package/utils/index.d.ts +0 -4
  371. /package/{Button → types/components/Button}/Button.d.ts +0 -0
  372. /package/{CloseButton → types/components/CloseButton}/CloseButton.d.ts +0 -0
  373. /package/{FloatingLabel → types/components/FloatingLabel}/FloatingLabel.d.ts +0 -0
  374. /package/{Spinner → types/components/Spinner}/Spinner.d.ts +0 -0
  375. /package/{Spinner → types/components/Spinner}/Spinner.types.d.ts +0 -0
  376. /package/{Table → types/components/Table}/Table.d.ts +0 -0
  377. /package/{Tabs → types/components/Tabs}/Tabs.d.ts +0 -0
@@ -0,0 +1,510 @@
1
+ :root, .dark, .dark-theme {
2
+ --red-1: #2b2221;
3
+ --red-2: #322321;
4
+ --red-3: #4e201f;
5
+ --red-4: #641c1d;
6
+ --red-5: #732122;
7
+ --red-6: #832c2c;
8
+ --red-7: #9b3a39;
9
+ --red-8: #c44848;
10
+ --red-9: #fc5f5f;
11
+ --red-10: #ee5254;
12
+ --red-11: #ff918b;
13
+ --red-12: #ffd1cd;
14
+
15
+ --red-a1: #f600000c;
16
+ --red-a2: #fa0c0014;
17
+ --red-a3: #fe0d0034;
18
+ --red-a4: #ff08024d;
19
+ --red-a5: #fd1b175f;
20
+ --red-a6: #ff353071;
21
+ --red-a7: #fe4b468d;
22
+ --red-a8: #fe5453bc;
23
+ --red-a9: #ff6060fc;
24
+ --red-a10: #ff5558ec;
25
+ --red-a11: #ff918b;
26
+ --red-a12: #ffd1cd;
27
+
28
+ --red-contrast: #fff;
29
+ --red-surface: #43221a80;
30
+ --red-indicator: #fc5f5f;
31
+ --red-track: #fc5f5f;
32
+
33
+
34
+ --blue-1: #1e252c;
35
+ --blue-2: #212931;
36
+ --blue-3: #22384b;
37
+ --blue-4: #20425f;
38
+ --blue-5: #274d6d;
39
+ --blue-6: #315a7d;
40
+ --blue-7: #3d6a91;
41
+ --blue-8: #487ead;
42
+ --blue-9: #4995d5;
43
+ --blue-10: #5288b8;
44
+ --blue-11: #83bff6;
45
+ --blue-12: #c9e4fe;
46
+
47
+ --blue-a1: #0025e904;
48
+ --blue-a2: #218cf60a;
49
+ --blue-a3: #289cfd29;
50
+ --blue-a4: #1e97fd41;
51
+ --blue-a5: #34a2fd52;
52
+ --blue-a6: #4aabfd65;
53
+ --blue-a7: #5bb3ff7c;
54
+ --blue-a8: #60b5fe9e;
55
+ --blue-a9: #53b1ffcd;
56
+ --blue-a10: #6ab9feab;
57
+ --blue-a11: #87c6fef5;
58
+ --blue-a12: #cae5fffe;
59
+
60
+ --blue-contrast: #fff;
61
+ --blue-surface: #212d3980;
62
+ --blue-indicator: #4995d5;
63
+ --blue-track: #4995d5;
64
+
65
+
66
+ --green-1: #1f2721;
67
+ --green-2: #222b25;
68
+ --green-3: #263b2c;
69
+ --green-4: #254a31;
70
+ --green-5: #295639;
71
+ --green-6: #2e6441;
72
+ --green-7: #33734a;
73
+ --green-8: #368453;
74
+ --green-9: #1fad61;
75
+ --green-10: #00a055;
76
+ --green-11: #57d688;
77
+ --green-12: #b3f3c5;
78
+
79
+ --green-a1: #00d00003;
80
+ --green-a2: #41e50008;
81
+ --green-a3: #53fd471a;
82
+ --green-a4: #39fc582c;
83
+ --green-a5: #45fc703a;
84
+ --green-a6: #4eff7c4a;
85
+ --green-a7: #53fd855c;
86
+ --green-a8: #50fd8970;
87
+ --green-a9: #1efe83a0;
88
+ --green-a10: #00ff7790;
89
+ --green-a11: #63fe9dd0;
90
+ --green-a12: #bbffcef1;
91
+
92
+ --green-contrast: #fff;
93
+ --green-surface: #23312280;
94
+ --green-indicator: #1fad61;
95
+ --green-track: #1fad61;
96
+
97
+
98
+ --yellow-1: #26241f;
99
+ --yellow-2: #2c2a21;
100
+ --yellow-3: #3a331c;
101
+ --yellow-4: #463a0f;
102
+ --yellow-5: #51430f;
103
+ --yellow-6: #5c4f1f;
104
+ --yellow-7: #6d5f2d;
105
+ --yellow-8: #867537;
106
+ --yellow-9: #e0bc29;
107
+ --yellow-10: #d5b112;
108
+ --yellow-11: #f8d44f;
109
+ --yellow-12: #f7eabb;
110
+
111
+ --yellow-a1: #f6000006;
112
+ --yellow-a2: #f988000d;
113
+ --yellow-a3: #fda1001d;
114
+ --yellow-a4: #fda2002b;
115
+ --yellow-a5: #fcae0038;
116
+ --yellow-a6: #ffc30444;
117
+ --yellow-a7: #fdce3558;
118
+ --yellow-a8: #fdd44875;
119
+ --yellow-a9: #fed429dc;
120
+ --yellow-a10: #ffd20dcf;
121
+ --yellow-a11: #ffda51f7;
122
+ --yellow-a12: #fff2c1f6;
123
+
124
+ --yellow-contrast: #282109;
125
+ --yellow-surface: #372f1a80;
126
+ --yellow-indicator: #e0bc29;
127
+ --yellow-track: #e0bc29;
128
+
129
+
130
+ --gray-1: #242427;
131
+ --gray-2: #2b2b2d;
132
+ --gray-3: #333336;
133
+ --gray-4: #38393d;
134
+ --gray-5: #3d3e43;
135
+ --gray-6: #45464c;
136
+ --gray-7: #505259;
137
+ --gray-8: #676973;
138
+ --gray-9: #73757f;
139
+ --gray-10: #7e808b;
140
+ --gray-11: #b4b6c0;
141
+ --gray-12: #eeeef0;
142
+
143
+ --gray-a1: #e1000004;
144
+ --gray-a2: #f6a57e0c;
145
+ --gray-a3: #fccfc715;
146
+ --gray-a4: #fae2e61b;
147
+ --gray-a5: #fae7f221;
148
+ --gray-a6: #fbeefe2a;
149
+ --gray-a7: #f0ebfc3a;
150
+ --gray-a8: #eae8fd59;
151
+ --gray-a9: #ececfe67;
152
+ --gray-a10: #ececff75;
153
+ --gray-a11: #f1f2ffb4;
154
+ --gray-a12: #fdfdfeee;
155
+
156
+ --gray-contrast: #FFFFFF;
157
+ --gray-surface: rgba(0, 0, 0, 0.05);
158
+ --gray-indicator: #73757f;
159
+ --gray-track: #73757f;
160
+
161
+ --violet-1: #25232b;
162
+ --violet-2: #2a2831;
163
+ --violet-3: #353143;
164
+ --violet-4: #3c3651;
165
+ --violet-5: #433c59;
166
+ --violet-6: #4b4463;
167
+ --violet-7: #585073;
168
+ --violet-8: #6e648f;
169
+ --violet-9: #9184bd;
170
+ --violet-10: #8578b0;
171
+ --violet-11: #b9afdf;
172
+ --violet-12: #eae7f6;
173
+
174
+ --violet-a1: #ee009005;
175
+ --violet-a2: #f26be30b;
176
+ --violet-a3: #c687ff1f;
177
+ --violet-a4: #b180fe30;
178
+ --violet-a5: #b78afc3a;
179
+ --violet-a6: #ba96fd46;
180
+ --violet-a7: #bfa1fd59;
181
+ --violet-a8: #c2a9ff7a;
182
+ --violet-a9: #c3aefeb1;
183
+ --violet-a10: #c0a8ffa1;
184
+ --violet-a11: #d4c7ffd9;
185
+ --violet-a12: #f3effef5;
186
+
187
+ --violet-contrast: #fff;
188
+ --violet-surface: #332b3980;
189
+ --violet-indicator: #9184bd;
190
+ --violet-track: #9184bd;
191
+
192
+ --dark-1: #0f1114;
193
+ --dark-2: #17191c;
194
+ --dark-3: #1f2327;
195
+ --dark-4: #252a2f;
196
+ --dark-5: #2b3137;
197
+ --dark-6: #343a41;
198
+ --dark-7: #41484f;
199
+ --dark-8: #5a6168;
200
+ --dark-9: #686f76;
201
+ --dark-10: #5a6168;
202
+ --dark-11: #adb4bc;
203
+ --dark-12: #eceef1;
204
+
205
+ --dark-a1: #0011d104;
206
+ --dark-a2: #91bcfb0c;
207
+ --dark-a3: #a6d1fb18;
208
+ --dark-a4: #acd3f921;
209
+ --dark-a5: #b3d9fe29;
210
+ --dark-a6: #bcdafc34;
211
+ --dark-a7: #c7e2fd43;
212
+ --dark-a8: #d7eafd5e;
213
+ --dark-a9: #ddedfd6d;
214
+ --dark-a10: #d7eafd5e;
215
+ --dark-a11: #e9f3feb8;
216
+ --dark-a12: #fafcfff0;
217
+
218
+ --dark-contrast: #fff;
219
+ --dark-surface: #1d212780;
220
+ --dark-indicator: #686f76;
221
+ --dark-track: #686f76;
222
+
223
+ --light-1: #101112;
224
+ --light-2: #18191a;
225
+ --light-3: #222324;
226
+ --light-4: #292a2b;
227
+ --light-5: #303132;
228
+ --light-6: #393b3c;
229
+ --light-7: #474849;
230
+ --light-8: #606162;
231
+ --light-9: #f8f9fa;
232
+ --light-10: #eff0f1;
233
+ --light-11: #b3b4b6;
234
+ --light-12: #edeeef;
235
+
236
+ --light-a1: #00119102;
237
+ --light-a2: #c4def70a;
238
+ --light-a3: #e0ecf815;
239
+ --light-a4: #ecf5fe1c;
240
+ --light-a5: #edf4fb24;
241
+ --light-a6: #ebf5fb2f;
242
+ --light-a7: #f7fbff3c;
243
+ --light-a8: #f9fcff57;
244
+ --light-a9: #fdfefffa;
245
+ --light-a10: #fdfefff0;
246
+ --light-a11: #fbfcffb1;
247
+ --light-a12: #fdfeffee;
248
+
249
+ --light-contrast: #112334;
250
+ --light-surface: #1f212380;
251
+ --light-indicator: #f8f9fa;
252
+ --light-track: #f8f9fa;
253
+ }
254
+
255
+ .light, .light-theme {
256
+ --red-1: #fffcfc;
257
+ --red-2: #fff6f6;
258
+ --red-3: #ffebe9;
259
+ --red-4: #ffdad6;
260
+ --red-5: #ffcac5;
261
+ --red-6: #ffbbb5;
262
+ --red-7: #f7a8a2;
263
+ --red-8: #ee8d88;
264
+ --red-9: #fc5f5f;
265
+ --red-10: #ef5053;
266
+ --red-11: #d1353c;
267
+ --red-12: #602221;
268
+
269
+ --red-a1: #ff000003;
270
+ --red-a2: #ff000009;
271
+ --red-a3: #ff180016;
272
+ --red-a4: #ff190029;
273
+ --red-a5: #ff16003a;
274
+ --red-a6: #ff15014a;
275
+ --red-a7: #ea11005d;
276
+ --red-a8: #db0b0077;
277
+ --red-a9: #fb0000a0;
278
+ --red-a10: #e80005af;
279
+ --red-a11: #c50009ca;
280
+ --red-a12: #480100de;
281
+
282
+ --red-contrast: #fff;
283
+ --red-surface: #fff4f4cc;
284
+ --red-indicator: #fc5f5f;
285
+ --red-track: #fc5f5f;
286
+
287
+
288
+ --blue-1: #fbfdff;
289
+ --blue-2: #f5f9fe;
290
+ --blue-3: #e7f3ff;
291
+ --blue-4: #d8ecff;
292
+ --blue-5: #c8e2fb;
293
+ --blue-6: #b4d6f4;
294
+ --blue-7: #9bc5eb;
295
+ --blue-8: #74ade1;
296
+ --blue-9: #4995d5;
297
+ --blue-10: #4289c4;
298
+ --blue-11: #2675b3;
299
+ --blue-12: #1c3750;
300
+
301
+ --blue-a1: #0080ff04;
302
+ --blue-a2: #0066e60a;
303
+ --blue-a3: #0080ff18;
304
+ --blue-a4: #0083ff27;
305
+ --blue-a5: #0079ed37;
306
+ --blue-a6: #0174da4b;
307
+ --blue-a7: #006ccc64;
308
+ --blue-a8: #0069c88b;
309
+ --blue-a9: #006bc4b6;
310
+ --blue-a10: #0060b0bd;
311
+ --blue-a11: #005da6d9;
312
+ --blue-a12: #001e3ae3;
313
+
314
+ --blue-contrast: #fff;
315
+ --blue-surface: #f3f8fecc;
316
+ --blue-indicator: #4995d5;
317
+ --blue-track: #4995d5;
318
+
319
+
320
+ --green-1: #fafefb;
321
+ --green-2: #f4fbf6;
322
+ --green-3: #e6f7ea;
323
+ --green-4: #d6f2dd;
324
+ --green-5: #c2eacd;
325
+ --green-6: #a9e0b9;
326
+ --green-7: #87d19e;
327
+ --green-8: #50bd79;
328
+ --green-9: #1fad61;
329
+ --green-10: #12a057;
330
+ --green-11: #008141;
331
+ --green-12: #1a3d26;
332
+
333
+ --green-a1: #00cc3305;
334
+ --green-a2: #00a32f0b;
335
+ --green-a3: #00ae2919;
336
+ --green-a4: #00af2c29;
337
+ --green-a5: #00a82e3d;
338
+ --green-a6: #00a43056;
339
+ --green-a7: #009e3178;
340
+ --green-a8: #009f3caf;
341
+ --green-a9: #00a24be0;
342
+ --green-a10: #00994aed;
343
+ --green-a11: #008141;
344
+ --green-a12: #00270de5;
345
+
346
+ --green-contrast: #fff;
347
+ --green-surface: #f1faf4cc;
348
+ --green-indicator: #1fad61;
349
+ --green-track: #1fad61;
350
+
351
+
352
+ --yellow-1: #fefdf9;
353
+ --yellow-2: #fffbe4;
354
+ --yellow-3: #fff6c9;
355
+ --yellow-4: #ffeda3;
356
+ --yellow-5: #ffe36b;
357
+ --yellow-6: #fcd539;
358
+ --yellow-7: #e9c537;
359
+ --yellow-8: #d5ae00;
360
+ --yellow-9: #ffd800;
361
+ --yellow-10: #fbce00;
362
+ --yellow-11: #917500;
363
+ --yellow-12: #463b14;
364
+
365
+ --yellow-a1: #d5aa0006;
366
+ --yellow-a2: #ffda001b;
367
+ --yellow-a3: #ffd50036;
368
+ --yellow-a4: #ffce005c;
369
+ --yellow-a5: #ffcf0094;
370
+ --yellow-a6: #fbc900c6;
371
+ --yellow-a7: #e3b500c8;
372
+ --yellow-a8: #d5ae00;
373
+ --yellow-a9: #ffd800;
374
+ --yellow-a10: #fbce00;
375
+ --yellow-a11: #917500;
376
+ --yellow-a12: #362a00eb;
377
+
378
+ --yellow-contrast: #282109;
379
+ --yellow-surface: #fffaddcc;
380
+ --yellow-indicator: #ffd800;
381
+ --yellow-track: #ffd800;
382
+
383
+
384
+ --gray-1: #fcfcfd;
385
+ --gray-2: #f9f9fb;
386
+ --gray-3: #eff0f3;
387
+ --gray-4: #e7e8ec;
388
+ --gray-5: #e0e1e6;
389
+ --gray-6: #d8d9e0;
390
+ --gray-7: #cdced7;
391
+ --gray-8: #b9bbc6;
392
+ --gray-9: #8b8d98;
393
+ --gray-10: #80828d;
394
+ --gray-11: #62636c;
395
+ --gray-12: #1e1f24;
396
+
397
+ --gray-a1: #00005503;
398
+ --gray-a2: #00005506;
399
+ --gray-a3: #00104010;
400
+ --gray-a4: #000b3618;
401
+ --gray-a5: #0009321f;
402
+ --gray-a6: #00073527;
403
+ --gray-a7: #00063332;
404
+ --gray-a8: #00083046;
405
+ --gray-a9: #00051d74;
406
+ --gray-a10: #00051b7f;
407
+ --gray-a11: #0002119d;
408
+ --gray-a12: #000107e1;
409
+
410
+ --gray-contrast: #FFFFFF;
411
+ --gray-surface: #ffffffcc;
412
+ --gray-indicator: #8b8d98;
413
+ --gray-track: #8b8d98;
414
+
415
+
416
+ --violet-1: #fcfcfe;
417
+ --violet-2: #faf9fd;
418
+ --violet-3: #f1f0f8;
419
+ --violet-4: #e9e6f6;
420
+ --violet-5: #e1ddf2;
421
+ --violet-6: #d8d3ed;
422
+ --violet-7: #cbc5e5;
423
+ --violet-8: #b7aed8;
424
+ --violet-9: #9184bd;
425
+ --violet-10: #8578af;
426
+ --violet-11: #675c8b;
427
+ --violet-12: #27203a;
428
+
429
+ --violet-a1: #0000aa03;
430
+ --violet-a2: #2b00aa06;
431
+ --violet-a3: #1100880f;
432
+ --violet-a4: #1f00a419;
433
+ --violet-a5: #1e009e22;
434
+ --violet-a6: #1d00972c;
435
+ --violet-a7: #1b008d3a;
436
+ --violet-a8: #1d008551;
437
+ --violet-a9: #1b01777b;
438
+ --violet-a10: #19006887;
439
+ --violet-a11: #11004aa3;
440
+ --violet-a12: #08001edf;
441
+
442
+ --violet-contrast: #fff;
443
+ --violet-surface: #f9f8fdcc;
444
+ --violet-indicator: #9184bd;
445
+ --violet-track: #9184bd
446
+
447
+ --dark-1: #fcfcfd;
448
+ --dark-2: #f8fafb;
449
+ --dark-3: #eef0f3;
450
+ --dark-4: #e5e8eb;
451
+ --dark-5: #dde1e5;
452
+ --dark-6: #d5d9dd;
453
+ --dark-7: #c9ced3;
454
+ --dark-8: #b4bbc1;
455
+ --dark-9: #212529;
456
+ --dark-10: #353a3e;
457
+ --dark-11: #60656b;
458
+ --dark-12: #1f2327;
459
+
460
+ --dark-a1: #00005503;
461
+ --dark-a2: #00496e07;
462
+ --dark-a3: #001e4b11;
463
+ --dark-a4: #001e3b1a;
464
+ --dark-a5: #001e3c22;
465
+ --dark-a6: #0019312a;
466
+ --dark-a7: #00183036;
467
+ --dark-a8: #01182d4b;
468
+ --dark-a9: #000509de;
469
+ --dark-a10: #00060bca;
470
+ --dark-a11: #0008129f;
471
+ --dark-a12: #000509e0;
472
+
473
+ --dark-contrast: #fff;
474
+ --dark-surface: #f6f9facc;
475
+ --dark-indicator: #212529;
476
+ --dark-track: #212529;
477
+
478
+ --light-1: #fcfcfc;
479
+ --light-2: #f8f9fa;
480
+ --light-3: #eef0f1;
481
+ --light-4: #e7e8e9;
482
+ --light-5: #dfe0e2;
483
+ --light-6: #d6d8d9;
484
+ --light-7: #cbccce;
485
+ --light-8: #b7b8ba;
486
+ --light-9: #88898b;
487
+ --light-10: #7c7d7e;
488
+ --light-11: #636466;
489
+ --light-12: #212223;
490
+
491
+ --light-a1: #00000003;
492
+ --light-a2: #00254907;
493
+ --light-a3: #001e2d11;
494
+ --light-a4: #000b1618;
495
+ --light-a5: #00081820;
496
+ --light-a6: #000d1329;
497
+ --light-a7: #00050f34;
498
+ --light-a8: #00040b48;
499
+ --light-a9: #00030777;
500
+ --light-a10: #00020483;
501
+ --light-a11: #0002059c;
502
+ --light-a12: #000102de;
503
+
504
+ --light-contrast: #fff;
505
+ --light-surface: #f6f8f9cc;
506
+ --light-indicator: #88898b;
507
+ --light-track: #88898b;
508
+ }
509
+
510
+
@@ -0,0 +1,41 @@
1
+ @import "_reset.scss";
2
+ @import "_colors.scss";
3
+
4
+ @import "utilities";
5
+ @import "mixins";
6
+ @import "variables";
7
+ @import "functions";
8
+
9
+ .sg-visually-hidden {
10
+ position: absolute !important;
11
+ width: 1px !important;
12
+ height: 1px !important;
13
+ padding: 0 !important;
14
+ margin: -1px !important;
15
+ overflow: hidden !important;
16
+ clip: rect(0,0,0,0) !important;
17
+ white-space: nowrap !important;
18
+ border: 0 !important;
19
+ }
20
+
21
+ @import "_Card.scss";
22
+ @import "_CloseButton";
23
+ @import "_CustomButton";
24
+ @import "_Dropdown";
25
+ @import "_FloatingLabel";
26
+ @import "_Forms";
27
+ @import "_Grid";
28
+ @import "_InputGroup";
29
+ @import "_List.scss";
30
+ @import "_Modal";
31
+ @import "_ModalOld";
32
+ @import "_Nav";
33
+ @import "_NavBar";
34
+ @import "_NavDropdown";
35
+ @import "_OffCanvas";
36
+ @import "_Overlay";
37
+ @import "_Popout";
38
+ @import "_Resizable";
39
+ @import "_Spinner";
40
+ @import "_Table";
41
+ @import "_Tabs.scss"
@@ -0,0 +1,134 @@
1
+ @use "sass:map";
2
+ @use 'sass:color';
3
+ @use 'sass:math';
4
+ @use 'sass:list';
5
+ @use 'sass:string';
6
+
7
+ $color-contrast-dark: black !default;
8
+ $color-contrast-light: white !default;
9
+ $min-contrast-ratio: 4.5 !default;
10
+ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 .0033 .0037 .004 .0044 .0048 .0052 .0056 .006 .0065 .007 .0075 .008 .0086 .0091 .0097 .0103 .011 .0116 .0123 .013 .0137 .0144 .0152 .016 .0168 .0176 .0185 .0194 .0203 .0212 .0222 .0232 .0242 .0252 .0262 .0273 .0284 .0296 .0307 .0319 .0331 .0343 .0356 .0369 .0382 .0395 .0409 .0423 .0437 .0452 .0467 .0482 .0497 .0513 .0529 .0545 .0561 .0578 .0595 .0612 .063 .0648 .0666 .0685 .0704 .0723 .0742 .0762 .0782 .0802 .0823 .0844 .0865 .0887 .0908 .0931 .0953 .0976 .0999 .1022 .1046 .107 .1095 .1119 .1144 .117 .1195 .1221 .1248 .1274 .1301 .1329 .1356 .1384 .1413 .1441 .147 .15 .1529 .1559 .159 .162 .1651 .1683 .1714 .1746 .1779 .1812 .1845 .1878 .1912 .1946 .1981 .2016 .2051 .2086 .2122 .2159 .2195 .2232 .227 .2307 .2346 .2384 .2423 .2462 .2502 .2542 .2582 .2623 .2664 .2705 .2747 .2789 .2831 .2874 .2918 .2961 .3005 .305 .3095 .314 .3185 .3231 .3278 .3325 .3372 .3419 .3467 .3515 .3564 .3613 .3663 .3712 .3763 .3813 .3864 .3916 .3968 .402 .4072 .4125 .4179 .4233 .4287 .4342 .4397 .4452 .4508 .4564 .4621 .4678 .4735 .4793 .4851 .491 .4969 .5029 .5089 .5149 .521 .5271 .5333 .5395 .5457 .552 .5583 .5647 .5711 .5776 .5841 .5906 .5972 .6038 .6105 .6172 .624 .6308 .6376 .6445 .6514 .6584 .6654 .6724 .6795 .6867 .6939 .7011 .7084 .7157 .7231 .7305 .7379 .7454 .7529 .7605 .7682 .7758 .7835 .7913 .7991 .807 .8148 .8228 .8308 .8388 .8469 .855 .8632 .8714 .8796 .8879 .8963 .9047 .9131 .9216 .9301 .9387 .9473 .956 .9647 .9734 .9823 .9911 1;
11
+
12
+
13
+ @function color-contrast($background, $color-contrast-dark: $color-contrast-dark, $color-contrast-light: $color-contrast-light, $min-contrast-ratio: $min-contrast-ratio) {
14
+ $foregrounds: $color-contrast-light, $color-contrast-dark, white, black;
15
+ $max-ratio: 0;
16
+ $max-ratio-color: null;
17
+
18
+ @each $color in $foregrounds {
19
+ $contrast-ratio: contrast-ratio($background, $color);
20
+ @if $contrast-ratio > $min-contrast-ratio {
21
+ @return $color;
22
+ } @else if $contrast-ratio > $max-ratio {
23
+ $max-ratio: $contrast-ratio;
24
+ $max-ratio-color: $color;
25
+ }
26
+ }
27
+
28
+ @warn "Found no color leading to #{$min-contrast-ratio}:1 contrast ratio against #{$background}...";
29
+
30
+ @return $max-ratio-color;
31
+ }
32
+
33
+ @function contrast-ratio($background, $foreground: $color-contrast-light) {
34
+ $l1: luminance($background);
35
+ $l2: luminance(opaque($background, $foreground));
36
+ @if $l1 > $l2 {
37
+ $lum: math.div($l1 + .05, $l2 + .05);
38
+ }
39
+ @else {
40
+ $lum: math.div($l2 + .05, $l1 + .05);
41
+ }
42
+ @return if($l1 > $l2, math.div($l1 + .05, $l2 + .05), math.div($l2 + .05, $l1 + .05));
43
+ }
44
+
45
+ // Return WCAG2.1 relative luminance
46
+ // See https://www.w3.org/TR/WCAG/#dfn-relative-luminance
47
+ // See https://www.w3.org/TR/WCAG/#dfn-contrast-ratio
48
+ @function luminance($color) {
49
+ $rgb: (
50
+ "r": red($color),
51
+ "g": green($color),
52
+ "b": blue($color)
53
+ );
54
+
55
+ @each $name, $value in $rgb {
56
+ $value: if(math.div($value, 255) < .03928, math.div(math.div($value, 255), 12.92), nth($_luminance-list, $value + 1));
57
+ $rgb: map-merge($rgb, ($name: $value));
58
+ }
59
+
60
+ @return (map-get($rgb, "r") * .2126) + (map-get($rgb, "g") * .7152) + (map-get($rgb, "b") * .0722);
61
+ }
62
+
63
+ // Return opaque color
64
+ // opaque(#fff, rgba(0, 0, 0, .5)) => #808080
65
+ @function opaque($background, $foreground) {
66
+ @return mix(rgba($foreground, 1), $background, opacity($foreground) * 100%);
67
+ }
68
+
69
+
70
+ @function str-replace($string, $search, $replace: "") {
71
+ $index: string.index($string, $search);
72
+
73
+ @if $index {
74
+ @return string.slice($string, 1, $index - 1) + $replace + str-replace(string.slice($string, $index + string.length($search)), $search, $replace);
75
+ }
76
+
77
+ @return $string;
78
+ }
79
+
80
+ @function escape-svg($string) {
81
+ @if string.index($string, "data:image/svg+xml") {
82
+ @each $char, $encoded in $escaped-characters {
83
+ // Do not escape the url brackets
84
+ @if string.index($string, "url(") == 1 {
85
+ $string: url("#{str-replace(string.slice($string, 6, -3), $char, $encoded)}");
86
+ } @else {
87
+ $string: str-replace($string, $char, $encoded);
88
+ }
89
+ }
90
+ }
91
+
92
+ @return $string;
93
+ }
94
+
95
+
96
+ @function hsb($h, $s, $b, $a: 1) {
97
+ $h-int: $h;//math.div($h, if(math.unit($h) == "", 1, 1*math.unit($h)) );
98
+ $s-int: math.div($s, if(math.unit($s) == "", 1, $s * 0 + 1 ) );
99
+ $b-int: math.div($b, if(math.unit($b) == "", 1, $b * 0 + 1 ) );
100
+ @if $b-int == 0 {
101
+ @return hsla(0, 0 * 1%, 0 * 1%, $a)
102
+ } @else {
103
+ $l-hsl: calc( ($b-int/2) * (2 - ($s-int /(100))) );
104
+ $s-hsl: math.div( ($b-int * $s-int), if($l-hsl < 50, $l-hsl * 2, 200 - $l-hsl * 2) );
105
+ @return hsla($h-int, calc($s-hsl * 1%), calc($l-hsl * 1%), $a);
106
+ }
107
+ }
108
+ @function shade-creator($color) {
109
+ $h-int: color.hue($color);
110
+
111
+ $s-int: color.saturation($color);
112
+ $s-max: calc(100 * 1%);
113
+ $s-min: calc(7 * 1%);
114
+ $s-step-light: calc(($s-int - 7 * 1%)/4);
115
+ $s-step-dark: calc((100 * 1% - $s-int)/4);
116
+
117
+ $b-int: calc( (2 * color.lightness($color) / (2 - ($s-int/(100 * 1%)))) );
118
+ $b-max: calc(100 * 1%);
119
+ $b-min: calc(20 * 1%);
120
+ $b-step-light: calc(($b-int - 20 * 1%)/4);
121
+ $b-step-dark: calc((100 * 1% - $b-int)/4);
122
+
123
+ @return (
124
+ "100": hsb($h-int, $s-min, $b-max),
125
+ "200": hsb($h-int, $s-min + $s-step-light, $b-max - $b-step-dark),
126
+ "300": hsb($h-int, $s-min + 2*$s-step-light, $b-max - 2*$b-step-dark),
127
+ "400": hsb($h-int, $s-min + 3*$s-step-light, $b-max - 3*$b-step-dark),
128
+ "500": hsb($h-int, $s-int, $b-int),
129
+ "600": hsb($h-int, $s-max - 3*$s-step-dark, $b-min + 3*$b-step-light),
130
+ "700": hsb($h-int, $s-max - 2*$s-step-dark, $b-min + 2*$b-step-light),
131
+ "800": hsb($h-int, $s-max - $s-step-dark, $b-min + $b-step-light),
132
+ "900": hsb($h-int, $s-max, $b-min),
133
+ );
134
+ }
@@ -0,0 +1,26 @@
1
+ @mixin border-top-radius($radius: 0.375rem) {
2
+ border-top-left-radius: $radius;
3
+ border-top-right-radius: $radius;
4
+ }
5
+
6
+ @mixin border-end-radius($radius: 0.375rem) {
7
+ border-top-right-radius: $radius;
8
+ border-bottom-right-radius: $radius;
9
+ }
10
+
11
+ @mixin border-bottom-radius($radius: 0.375rem) {
12
+ border-bottom-right-radius: $radius;
13
+ border-bottom-left-radius: $radius;
14
+ }
15
+
16
+ @mixin border-start-radius($radius: 0.375rem) {
17
+ border-top-left-radius: $radius;
18
+ border-bottom-left-radius: $radius;
19
+ }
20
+
21
+ @mixin sg-focus-visible($text-color: white, $color:#0d6efd) {
22
+ box-shadow: 0 0 0 3px $text-color;
23
+ //border: 1px solid $text-color;
24
+ outline: 2px solid $color;
25
+ z-index: 5;
26
+ }