stargazer-ui 1.2.0 → 1.2.1
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.
- package/.babelrc.json +10 -0
- package/.eslintrc.cjs +18 -0
- package/.gitattributes +2 -0
- package/LICENSE +21 -0
- package/dev/index.html +12 -0
- package/dev/index.jsx +49 -0
- package/dev/index.scss +59 -0
- package/dev/pages/ButtonPage.jsx +44 -0
- package/dev/pages/CardPage.jsx +81 -0
- package/dev/pages/DropdownPage.jsx +31 -0
- package/dev/pages/FormPage.jsx +130 -0
- package/dev/pages/ListPage.jsx +52 -0
- package/dev/pages/ModalPage.jsx +37 -0
- package/dev/pages/OverlayPage.jsx +35 -0
- package/dev/pages/components.jsx +19 -0
- package/{styles → dev}/stargazerui.css +392 -3075
- package/dev/stargazerui.css.map +1 -0
- package/dev/test.jsx +88 -0
- package/package.json +79 -1
- package/rollup.config.js +140 -0
- package/scripts/writePackageJsons.js +42 -0
- package/src/Bar/Bar.tsx +0 -0
- package/src/Bar/Bar.type.ts +9 -0
- package/src/Bar/index.ts +0 -0
- package/src/Button/Button.tsx +17 -0
- package/src/Button/Button.types.ts +8 -0
- package/src/Button/index.ts +3 -0
- package/src/ButtonGroup/ButtonGroup.tsx +14 -0
- package/src/ButtonGroup/ButtonGroup.types.ts +8 -0
- package/src/ButtonGroup/index.ts +3 -0
- package/src/Card/Card.tsx +70 -0
- package/src/Card/Card.types.ts +33 -0
- package/src/Card/index.ts +3 -0
- package/src/CloseButton/CloseButton.tsx +14 -0
- package/src/CloseButton/CloseButton.types.ts +6 -0
- package/src/CloseButton/index.ts +3 -0
- package/src/Dropdown/Dropdown.tsx +358 -0
- package/src/Dropdown/Dropdown.types.ts +52 -0
- package/src/Dropdown/index.ts +4 -0
- package/src/FileUploadButton/FileUploadButton.tsx +27 -0
- package/src/FileUploadButton/FileUploadButton.types.ts +9 -0
- package/src/FileUploadButton/index.ts +3 -0
- package/src/FloatingLabel/FloatingLabel.tsx +22 -0
- package/src/FloatingLabel/FloatingLabel.types.ts +11 -0
- package/src/FloatingLabel/index.ts +3 -0
- package/src/Form/Form.tsx +445 -0
- package/src/Form/Form.types.ts +117 -0
- package/src/Form/index.ts +4 -0
- package/src/InputGroup/InputGroup.tsx +46 -0
- package/src/InputGroup/InputGroup.types.ts +21 -0
- package/src/InputGroup/index.ts +4 -0
- package/src/List/List.tsx +112 -0
- package/src/List/List.types.ts +34 -0
- package/src/List/index.ts +4 -0
- package/src/Modal/Modal.tsx +220 -0
- package/src/Modal/Modal.types.ts +49 -0
- package/src/Modal/index.ts +4 -0
- package/src/Nav/Nav.tsx +43 -0
- package/src/Nav/Nav.types.ts +21 -0
- package/src/Nav/index.ts +4 -0
- package/src/NavBar/Navbar.tsx +57 -0
- package/src/NavBar/Navbar.types.ts +24 -0
- package/src/NavBar/index.ts +4 -0
- package/src/NavDropdown/NavDropdown.tsx +93 -0
- package/src/NavDropdown/NavDropdown.types.ts +6 -0
- package/src/NavDropdown/index.ts +3 -0
- package/src/Overlay/Overlay.tsx +277 -0
- package/src/Overlay/Overlay.types.ts +20 -0
- package/{Overlay/index.d.ts → src/Overlay/index.ts} +3 -3
- package/src/Popout/Popout.tsx +155 -0
- package/src/Popout/Popout.types.ts +42 -0
- package/src/Popout/index.ts +3 -0
- package/src/Spinner/Spinner.tsx +15 -0
- package/src/Spinner/Spinner.types.ts +7 -0
- package/src/Spinner/index.ts +3 -0
- package/src/Table/Table.tsx +16 -0
- package/src/Table/Table.types.ts +9 -0
- package/src/Table/index.ts +3 -0
- package/src/Tabs/Tabs.tsx +215 -0
- package/src/Tabs/Tabs.types.ts +49 -0
- package/src/Tabs/index.ts +3 -0
- package/src/ToggleButton/ToggleButton.tsx +21 -0
- package/src/ToggleButton/ToggleButton.types.ts +8 -0
- package/src/ToggleButton/index.ts +3 -0
- package/{hooks/index.d.ts → src/hooks/index.ts} +6 -5
- package/src/hooks/useClassname.ts +5 -0
- package/src/hooks/useDraggable.ts +186 -0
- package/src/hooks/useKeepElementFocused.ts +37 -0
- package/src/hooks/useScreenSize.ts +24 -0
- package/src/index.ts +21 -0
- package/src/styles/_Card.scss +166 -0
- package/src/styles/_CloseButton.scss +51 -0
- package/src/styles/_CustomButton.scss +132 -0
- package/src/styles/_Dropdown.scss +120 -0
- package/src/styles/_FloatingLabel.scss +56 -0
- package/src/styles/_Forms.scss +7 -0
- package/src/styles/_Grid.scss +178 -0
- package/src/styles/_InputGroup.scss +71 -0
- package/src/styles/_List.scss +62 -0
- package/src/styles/_Modal.scss +234 -0
- package/src/styles/_ModalOld.scss +242 -0
- package/src/styles/_Nav.scss +36 -0
- package/src/styles/_NavBar.scss +116 -0
- package/src/styles/_NavDropdown.scss +34 -0
- package/src/styles/_OffCanvas.scss +260 -0
- package/src/styles/_OverLay.scss +56 -0
- package/src/styles/_Popout.scss +75 -0
- package/src/styles/_Spinner.scss +19 -0
- package/src/styles/_Table.scss +34 -0
- package/src/styles/_Tabs.scss +129 -0
- package/src/styles/_colors.scss +510 -0
- package/src/styles/_components.scss +40 -0
- package/src/styles/_functions.scss +134 -0
- package/src/styles/_mixins.scss +26 -0
- package/src/styles/_reset.scss +231 -0
- package/src/styles/_utilities.scss +2480 -0
- package/src/styles/_variables.scss +146 -0
- package/src/styles/forms/_FormCheck.scss +269 -0
- package/src/styles/forms/_FormControl.scss +102 -0
- package/src/styles/forms/_FormGroup.scss +21 -0
- package/src/styles/forms/_FormLabel.scss +3 -0
- package/src/styles/forms/_FormSelect.scss +164 -0
- package/src/styles/forms/_FormSlider.scss +116 -0
- package/src/styles/forms/_FormText.scss +6 -0
- package/{utils/BaseTypes.d.ts → src/utils/BaseTypes.ts} +30 -23
- package/src/utils/ContrastingColor.ts +25 -0
- package/src/utils/FileImportExport.js +50 -0
- package/src/utils/MergeClassnames.ts +5 -0
- package/src/utils/MergeRefs.ts +12 -0
- package/src/vite-env.d.ts +1 -0
- package/tsconfig-build.json +4 -0
- package/tsconfig.json +79 -0
- package/tsconfig.node.json +10 -0
- package/types/BaseTypes.d.ts +19 -0
- package/{Button → types/components/Button}/Button.types.d.ts +2 -1
- package/types/components/Button/index.d.ts +1 -0
- package/{Card → types/components/Card}/Card.types.d.ts +1 -3
- package/types/components/Card/index.d.ts +1 -0
- package/{CloseButton → types/components/CloseButton}/CloseButton.types.d.ts +1 -1
- package/types/components/CloseButton/index.d.ts +1 -0
- package/{Dropdown → types/components/Dropdown}/Dropdown.types.d.ts +10 -3
- package/types/components/Dropdown/index.d.ts +1 -0
- package/{FloatingLabel → types/components/FloatingLabel}/FloatingLabel.types.d.ts +1 -1
- package/types/components/FloatingLabel/index.d.ts +1 -0
- package/types/components/Form/Form.d.ts +17 -0
- package/types/components/Form/Form.types.d.ts +50 -0
- package/types/components/Form/index.d.ts +1 -0
- package/types/components/InputGroup/InputGroup.d.ts +6 -0
- package/types/components/InputGroup/InputGroup.types.d.ts +10 -0
- package/types/components/InputGroup/index.d.ts +1 -0
- package/{Modal → types/components/Modal}/Modal.d.ts +1 -1
- package/{Modal → types/components/Modal}/Modal.types.d.ts +2 -3
- package/types/components/Modal/index.d.ts +1 -0
- package/{Nav → types/components/Nav}/Nav.types.d.ts +1 -1
- package/types/components/Nav/index.d.ts +1 -0
- package/{NavBar → types/components/NavBar}/Navbar.d.ts +2 -1
- package/{NavBar → types/components/NavBar}/Navbar.types.d.ts +1 -2
- package/types/components/NavBar/index.d.ts +1 -0
- package/{NavDropdown → types/components/NavDropdown}/NavDropdown.d.ts +2 -2
- package/types/components/NavDropdown/index.d.ts +1 -0
- package/{Popout → types/components/Popout}/Popout.types.d.ts +1 -1
- package/types/components/Popout/index.d.ts +1 -0
- package/types/components/Spinner/index.d.ts +1 -0
- package/{Table → types/components/Table}/Table.types.d.ts +1 -1
- package/types/components/Table/index.d.ts +1 -0
- package/{Tabs → types/components/Tabs}/Tabs.types.d.ts +1 -9
- package/types/components/Tabs/index.d.ts +1 -0
- package/types/components/ToggleButton/ToggleButton.d.ts +9 -0
- package/types/components/ToggleButton/ToggleButton.types.d.ts +0 -0
- package/types/components/ToggleButton/index.d.ts +1 -0
- package/types/components/index.d.ts +16 -0
- package/types/index.d.ts +1 -0
- package/vite.config.js +57 -0
- package/vite.config.js.timestamp-1708777378490-e94428ceb2bf9.mjs +42 -0
- package/Bar/Bar.type.d.ts +0 -6
- package/Bar/index.js +0 -2
- package/Bar/index.js.map +0 -1
- package/Bar/package.json +0 -1
- package/Button/Button.js +0 -12
- package/Button/Button.js.map +0 -1
- package/Button/index.d.ts +0 -3
- package/Button/index.js +0 -7
- package/Button/index.js.map +0 -1
- package/Button/package.json +0 -1
- package/ButtonGroup/ButtonGroup.d.ts +0 -4
- package/ButtonGroup/ButtonGroup.js +0 -10
- package/ButtonGroup/ButtonGroup.js.map +0 -1
- package/ButtonGroup/ButtonGroup.types.d.ts +0 -7
- package/ButtonGroup/index.d.ts +0 -3
- package/ButtonGroup/index.js +0 -7
- package/ButtonGroup/index.js.map +0 -1
- package/ButtonGroup/package.json +0 -1
- package/Card/Card.js +0 -41
- package/Card/Card.js.map +0 -1
- package/Card/index.d.ts +0 -3
- package/Card/index.js +0 -7
- package/Card/index.js.map +0 -1
- package/Card/package.json +0 -1
- package/CloseButton/CloseButton.js +0 -11
- package/CloseButton/CloseButton.js.map +0 -1
- package/CloseButton/index.d.ts +0 -3
- package/CloseButton/index.js +0 -7
- package/CloseButton/index.js.map +0 -1
- package/CloseButton/package.json +0 -1
- package/Dropdown/Dropdown.js +0 -292
- package/Dropdown/Dropdown.js.map +0 -1
- package/Dropdown/index.d.ts +0 -4
- package/Dropdown/index.js +0 -8
- package/Dropdown/index.js.map +0 -1
- package/Dropdown/package.json +0 -1
- package/FileUploadButton/FileUploadButton.d.ts +0 -4
- package/FileUploadButton/FileUploadButton.js +0 -21
- package/FileUploadButton/FileUploadButton.js.map +0 -1
- package/FileUploadButton/FileUploadButton.types.d.ts +0 -7
- package/FileUploadButton/index.d.ts +0 -3
- package/FileUploadButton/index.js +0 -7
- package/FileUploadButton/index.js.map +0 -1
- package/FileUploadButton/package.json +0 -1
- package/FloatingLabel/FloatingLabel.js +0 -17
- package/FloatingLabel/FloatingLabel.js.map +0 -1
- package/FloatingLabel/index.d.ts +0 -3
- package/FloatingLabel/index.js +0 -7
- package/FloatingLabel/index.js.map +0 -1
- package/FloatingLabel/package.json +0 -1
- package/Form/Form.d.ts +0 -38
- package/Form/Form.js +0 -308
- package/Form/Form.js.map +0 -1
- package/Form/Form.types.d.ts +0 -105
- package/Form/index.d.ts +0 -4
- package/Form/index.js +0 -8
- package/Form/index.js.map +0 -1
- package/Form/package.json +0 -1
- package/InputGroup/InputGroup.d.ts +0 -7
- package/InputGroup/InputGroup.js +0 -31
- package/InputGroup/InputGroup.js.map +0 -1
- package/InputGroup/InputGroup.types.d.ts +0 -16
- package/InputGroup/index.d.ts +0 -4
- package/InputGroup/index.js +0 -7
- package/InputGroup/index.js.map +0 -1
- package/InputGroup/package.json +0 -1
- package/List/List.d.ts +0 -14
- package/List/List.js +0 -76
- package/List/List.js.map +0 -1
- package/List/List.types.d.ts +0 -28
- package/List/index.d.ts +0 -3
- package/List/index.js +0 -7
- package/List/index.js.map +0 -1
- package/List/package.json +0 -1
- package/Modal/Modal.js +0 -160
- package/Modal/Modal.js.map +0 -1
- package/Modal/index.d.ts +0 -3
- package/Modal/index.js +0 -7
- package/Modal/index.js.map +0 -1
- package/Modal/package.json +0 -1
- package/Nav/Nav.js +0 -28
- package/Nav/Nav.js.map +0 -1
- package/Nav/index.d.ts +0 -4
- package/Nav/index.js +0 -7
- package/Nav/index.js.map +0 -1
- package/Nav/package.json +0 -1
- package/NavBar/Navbar.js +0 -36
- package/NavBar/Navbar.js.map +0 -1
- package/NavBar/index.d.ts +0 -4
- package/NavBar/index.js +0 -8
- package/NavBar/index.js.map +0 -1
- package/NavBar/package.json +0 -1
- package/NavDropdown/NavDropdown.js +0 -77
- package/NavDropdown/NavDropdown.js.map +0 -1
- package/NavDropdown/index.d.ts +0 -3
- package/NavDropdown/index.js +0 -7
- package/NavDropdown/index.js.map +0 -1
- package/NavDropdown/package.json +0 -1
- package/Overlay/Overlay.d.ts +0 -4
- package/Overlay/Overlay.js +0 -228
- package/Overlay/Overlay.js.map +0 -1
- package/Overlay/Overlay.types.d.ts +0 -18
- package/Overlay/index.js +0 -7
- package/Overlay/index.js.map +0 -1
- package/Overlay/package.json +0 -1
- package/Popout/Popout.js +0 -110
- package/Popout/Popout.js.map +0 -1
- package/Popout/index.d.ts +0 -3
- package/Popout/index.js +0 -7
- package/Popout/index.js.map +0 -1
- package/Popout/package.json +0 -1
- package/Spinner/Spinner.js +0 -12
- package/Spinner/Spinner.js.map +0 -1
- package/Spinner/index.d.ts +0 -3
- package/Spinner/index.js +0 -7
- package/Spinner/index.js.map +0 -1
- package/Spinner/package.json +0 -1
- package/Table/Table.js +0 -11
- package/Table/Table.js.map +0 -1
- package/Table/index.d.ts +0 -3
- package/Table/index.js +0 -7
- package/Table/index.js.map +0 -1
- package/Table/package.json +0 -1
- package/Tabs/Tabs.js +0 -158
- package/Tabs/Tabs.js.map +0 -1
- package/Tabs/index.d.ts +0 -3
- package/Tabs/index.js +0 -7
- package/Tabs/index.js.map +0 -1
- package/Tabs/package.json +0 -1
- package/ToggleButton/ToggleButton.d.ts +0 -4
- package/ToggleButton/ToggleButton.js +0 -17
- package/ToggleButton/ToggleButton.js.map +0 -1
- package/ToggleButton/ToggleButton.types.d.ts +0 -7
- package/ToggleButton/index.d.ts +0 -3
- package/ToggleButton/index.js +0 -7
- package/ToggleButton/index.js.map +0 -1
- package/ToggleButton/package.json +0 -1
- package/hooks/index.js +0 -6
- package/hooks/index.js.map +0 -1
- package/hooks/package.json +0 -1
- package/hooks/useClassname.d.ts +0 -2
- package/hooks/useClassname.js +0 -7
- package/hooks/useClassname.js.map +0 -1
- package/hooks/useDraggable.d.ts +0 -23
- package/hooks/useDraggable.js +0 -147
- package/hooks/useDraggable.js.map +0 -1
- package/hooks/useKeepElementFocused.d.ts +0 -2
- package/hooks/useKeepElementFocused.js +0 -37
- package/hooks/useKeepElementFocused.js.map +0 -1
- package/hooks/useScreenSize.d.ts +0 -5
- package/hooks/useScreenSize.js +0 -21
- package/hooks/useScreenSize.js.map +0 -1
- package/index.d.ts +0 -18
- package/index.js +0 -19
- package/index.js.map +0 -1
- package/styles/stargazerui.css.map +0 -1
- package/utils/ContrastingColor.d.ts +0 -1
- package/utils/MergeClassnames.d.ts +0 -2
- package/utils/MergeClassnames.js +0 -7
- package/utils/MergeClassnames.js.map +0 -1
- package/utils/MergeRefs.d.ts +0 -2
- package/utils/MergeRefs.js +0 -16
- package/utils/MergeRefs.js.map +0 -1
- /package/{Button → types/components/Button}/Button.d.ts +0 -0
- /package/{Card → types/components/Card}/Card.d.ts +0 -0
- /package/{CloseButton → types/components/CloseButton}/CloseButton.d.ts +0 -0
- /package/{Dropdown → types/components/Dropdown}/Dropdown.d.ts +0 -0
- /package/{FloatingLabel → types/components/FloatingLabel}/FloatingLabel.d.ts +0 -0
- /package/{Nav → types/components/Nav}/Nav.d.ts +0 -0
- /package/{NavDropdown → types/components/NavDropdown}/NavDropdown.types.d.ts +0 -0
- /package/{Popout → types/components/Popout}/Popout.d.ts +0 -0
- /package/{Spinner → types/components/Spinner}/Spinner.d.ts +0 -0
- /package/{Spinner → types/components/Spinner}/Spinner.types.d.ts +0 -0
- /package/{Table → types/components/Table}/Table.d.ts +0 -0
- /package/{Tabs → types/components/Tabs}/Tabs.d.ts +0 -0
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
@use "sass:color";
|
|
2
|
+
@use "sass:map";
|
|
3
|
+
|
|
4
|
+
:root {
|
|
5
|
+
--sg-body-bg: #212529;
|
|
6
|
+
--sg-body-color: white;
|
|
7
|
+
--sg-nav-color: #1a1b1d;
|
|
8
|
+
--sg-code-color: #fc5d5d;
|
|
9
|
+
--sg-font-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
|
|
10
|
+
--sg-highlight-bg: #fff3cd;
|
|
11
|
+
--sg-link-color: #fc5d5d;// #4D9DE0;// #0d6efd;
|
|
12
|
+
--sg-link-hover-color: color.mix(black, #E15554, 15%);// #62a4da;// #0a58ca;
|
|
13
|
+
|
|
14
|
+
--sg-primary: rgb(73, 149, 213);
|
|
15
|
+
--sg-secondary: rgb(108, 117, 125);
|
|
16
|
+
--sg-success: rgb(31, 173, 97); //hsl(148, 50%, 46%)
|
|
17
|
+
--sg-info: rgb(145, 132, 189);
|
|
18
|
+
--sg-warning: rgb(224, 188, 41);
|
|
19
|
+
--sg-danger: rgb(252, 95, 95);
|
|
20
|
+
--sg-light: rgb(248, 249, 250);
|
|
21
|
+
--sg-dark: rgb(33, 37, 41);
|
|
22
|
+
|
|
23
|
+
--red-2: rgb(248, 113, 113);
|
|
24
|
+
--orange-2: rgb(251 146 60);
|
|
25
|
+
--yellow-2: rgb(251 191 36);
|
|
26
|
+
|
|
27
|
+
--nav-bar-height: 3.5rem;
|
|
28
|
+
--tab-controls-height: 2.5rem;
|
|
29
|
+
--column-header-height: 2rem;
|
|
30
|
+
|
|
31
|
+
font-size: 18px;
|
|
32
|
+
line-height: 1.4;
|
|
33
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
|
34
|
+
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
|
|
35
|
+
sans-serif;
|
|
36
|
+
-webkit-font-smoothing: antialiased;
|
|
37
|
+
-moz-osx-font-smoothing: grayscale;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
body {
|
|
41
|
+
margin: 0;
|
|
42
|
+
padding: 0;
|
|
43
|
+
height: 100dvh;
|
|
44
|
+
color: var(--sg-body-color);
|
|
45
|
+
background-color: var(--sg-body-bg);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
#root {
|
|
49
|
+
height: 100%;
|
|
50
|
+
overflow: auto;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.visually-hidden {
|
|
54
|
+
border: 0;
|
|
55
|
+
clip: rect(0 0 0 0);
|
|
56
|
+
height: auto;
|
|
57
|
+
margin: 0;
|
|
58
|
+
overflow: hidden;
|
|
59
|
+
padding: 0;
|
|
60
|
+
position: absolute;
|
|
61
|
+
width: 1px;
|
|
62
|
+
white-space: nowrap;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
::-webkit-scrollbar {
|
|
66
|
+
display: none;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.full-width {
|
|
70
|
+
width: 100%;
|
|
71
|
+
}
|
|
72
|
+
.top-left-grid {
|
|
73
|
+
border-top-left-radius: 0.375rem;
|
|
74
|
+
border-bottom-left-radius: 0;
|
|
75
|
+
}
|
|
76
|
+
.top-right-grid {
|
|
77
|
+
border-top-right-radius: 0.375rem;
|
|
78
|
+
border-bottom-right-radius: 0;
|
|
79
|
+
}
|
|
80
|
+
.middle-grid {
|
|
81
|
+
border-radius: 0;
|
|
82
|
+
}
|
|
83
|
+
.bottom-left-grid {
|
|
84
|
+
border-bottom-left-radius: 0.375rem;
|
|
85
|
+
border-top-left-radius: 0;
|
|
86
|
+
}
|
|
87
|
+
.bottom-right-grid {
|
|
88
|
+
border-bottom-right-radius: 0.375rem;
|
|
89
|
+
border-top-right-radius: 0;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
:focus-visible {
|
|
93
|
+
//z-index: 9999;
|
|
94
|
+
}
|
|
95
|
+
.flex-column {
|
|
96
|
+
display: flex;
|
|
97
|
+
flex-direction: column;
|
|
98
|
+
}
|
|
99
|
+
.flex-row {
|
|
100
|
+
display: flex;
|
|
101
|
+
flex-direction: row;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.test-red {
|
|
105
|
+
background-color: red;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
* {
|
|
109
|
+
box-sizing: border-box;
|
|
110
|
+
scrollbar-color: var(--sg-link-color) rgba(0,0,0,0);
|
|
111
|
+
scrollbar-width: thin;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
dialog {
|
|
115
|
+
padding: 0;
|
|
116
|
+
margin: 0;
|
|
117
|
+
color: inherit
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
input, textarea, select {
|
|
121
|
+
font-size: 1rem * 0.85;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
button {
|
|
125
|
+
cursor: pointer;
|
|
126
|
+
font-size: calc(1rem * 0.85);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
hr {
|
|
130
|
+
margin: 0.5rem 0;
|
|
131
|
+
color: inherit;
|
|
132
|
+
border: 0;
|
|
133
|
+
border-top: 1px solid;
|
|
134
|
+
opacity: 0.25;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
|
|
138
|
+
margin-top: 0;
|
|
139
|
+
margin-bottom: 0.5rem;
|
|
140
|
+
font-weight: 500;
|
|
141
|
+
line-height: 1.2;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
h1, .h1 {
|
|
145
|
+
--unit: 1rem;
|
|
146
|
+
font-size: calc(1.375*var(--unit) + 1.5vw);
|
|
147
|
+
}
|
|
148
|
+
@media (min-width: 1200px) {
|
|
149
|
+
h1, .h1 {
|
|
150
|
+
font-size: calc(2.5*var(--unit));
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
h2, .h2 {
|
|
155
|
+
--unit: 1rem;
|
|
156
|
+
font-size: calc(1.325*var(--unit) + 0.9vw);
|
|
157
|
+
}
|
|
158
|
+
@media (min-width: 1200px) {
|
|
159
|
+
h2, .h2 {
|
|
160
|
+
font-size: calc(2*var(--unit));
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
h3, .h3 {
|
|
165
|
+
--unit: 1rem;
|
|
166
|
+
font-size: calc(1.3*var(--unit) + 0.6vw);
|
|
167
|
+
}
|
|
168
|
+
@media (min-width: 1200px) {
|
|
169
|
+
h3, .h3 {
|
|
170
|
+
font-size: calc(1.75*var(--unit));
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
h4, .h4 {
|
|
175
|
+
--unit: 1rem;
|
|
176
|
+
font-size: calc(1.275*var(--unit) + 0.3vw);
|
|
177
|
+
}
|
|
178
|
+
@media (min-width: 1200px) {
|
|
179
|
+
h4, .h4 {
|
|
180
|
+
font-size: calc(1.5*var(--unit));
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
h5, .h5 {
|
|
185
|
+
--unit: 1rem;
|
|
186
|
+
font-size: calc(1.25*var(--unit));
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
h6, .h6 {
|
|
190
|
+
--unit: 1rem;
|
|
191
|
+
font-size: calc(1*var(--unit));
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
p {
|
|
195
|
+
margin-top: 0;
|
|
196
|
+
margin-bottom: 1rem;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
ol, ul, dl {
|
|
200
|
+
margin-top: 0;
|
|
201
|
+
margin-bottom: 0;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
dt {
|
|
205
|
+
font-weight: 700;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
dd {
|
|
209
|
+
margin-bottom: 0.5rem;
|
|
210
|
+
margin-left: 0;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
b, strong {
|
|
214
|
+
font-weight: bolder;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
a {
|
|
218
|
+
color: var(--sg-link-color);
|
|
219
|
+
text-decoration: underline;
|
|
220
|
+
}
|
|
221
|
+
a:hover {
|
|
222
|
+
color: var(--sg-link-hover-color);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
img, svg {
|
|
226
|
+
vertical-align: middle;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
label {
|
|
230
|
+
display: inline-block;
|
|
231
|
+
}
|