stargazer-ui 1.5.11 → 1.5.13
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 +46 -0
- package/dev/index.scss +74 -0
- package/dev/pages/ButtonPage.jsx +44 -0
- package/dev/pages/CardPage.jsx +81 -0
- package/dev/pages/DropdownPage.jsx +32 -0
- package/dev/pages/FormPage.jsx +155 -0
- package/dev/pages/ListPage.jsx +52 -0
- package/dev/pages/ModalPage.jsx +38 -0
- package/dev/pages/OverlayPage.jsx +39 -0
- package/dev/pages/components.jsx +19 -0
- package/dev/stargazerui.css +3762 -0
- package/dev/stargazerui.css.map +1 -0
- package/dev/test.jsx +87 -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 +20 -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 +440 -0
- package/src/Dropdown/Dropdown.types.ts +60 -0
- package/src/Dropdown/DropdownOld.tsx +409 -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 +398 -0
- package/src/Form/Form.types.ts +169 -0
- package/src/Form/FormSelect.tsx +527 -0
- package/src/Form/index.ts +4 -0
- package/src/InputGroup/InputGroup.tsx +46 -0
- package/src/InputGroup/InputGroup.types.ts +22 -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 +229 -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 +309 -0
- package/src/Overlay/Overlay.types.ts +24 -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 +233 -0
- package/src/Tabs/Tabs.types.ts +52 -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/src/assets/tooltip-pointer.svg +3 -0
- package/src/assets/warning.svg +39 -0
- package/{hooks/index.d.ts → src/hooks/index.ts} +7 -6
- package/src/hooks/useClassname.ts +5 -0
- package/src/hooks/useDraggable.ts +186 -0
- package/src/hooks/useKeepElementFocused.ts +37 -0
- package/src/hooks/useQueryParams.ts +12 -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 +134 -0
- package/src/styles/_Dropdown.scss +127 -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 +33 -0
- package/src/styles/_OffCanvas.scss +260 -0
- package/src/styles/_OverLay.scss +64 -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 +237 -0
- package/src/styles/_utilities.scss +2480 -0
- package/src/styles/_variables.scss +164 -0
- package/src/styles/forms/_FormCheck.scss +270 -0
- package/src/styles/forms/_FormControl.scss +135 -0
- package/src/styles/forms/_FormGroup.scss +26 -0
- package/src/styles/forms/_FormLabel.scss +3 -0
- package/src/styles/forms/_FormSelect.scss +196 -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} +32 -25
- package/src/utils/ContrastingColor.ts +25 -0
- package/src/utils/CreateSyntheticEvent.ts +30 -0
- package/src/utils/FileImportExport.js +50 -0
- package/src/utils/IsInputKey.ts +18 -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/DropdownOld.d.ts → types/components/Dropdown/Dropdown.d.ts} +3 -61
- package/{Dropdown → types/components/Dropdown}/Dropdown.types.d.ts +11 -10
- 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/types/components/NavDropdown/NavDropdown.d.ts +35 -0
- 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 -12
- 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 -15
- 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 -11
- 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 -42
- 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.d.ts +0 -129
- package/Dropdown/Dropdown.js +0 -378
- 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 -20
- 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 -15
- 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 -227
- package/Form/Form.js.map +0 -1
- package/Form/Form.types.d.ts +0 -159
- package/Form/FormSelect.d.ts +0 -15
- package/Form/FormSelect.js +0 -436
- package/Form/FormSelect.js.map +0 -1
- 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 -17
- 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 -77
- 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 -157
- 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 -29
- 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.d.ts +0 -93
- package/NavDropdown/NavDropdown.js +0 -75
- 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 -242
- package/Overlay/Overlay.js.map +0 -1
- package/Overlay/Overlay.types.d.ts +0 -22
- package/Overlay/index.js +0 -7
- package/Overlay/index.js.map +0 -1
- package/Overlay/package.json +0 -1
- package/Popout/Popout.js +0 -111
- 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 -11
- 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 -12
- 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 -162
- 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 -18
- 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 -7
- 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/useQueryParams.d.ts +0 -2
- package/hooks/useQueryParams.js +0 -13
- package/hooks/useQueryParams.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 +0 -6552
- package/styles/stargazerui.css.map +0 -1
- package/utils/ContrastingColor.d.ts +0 -1
- package/utils/CreateSyntheticEvent.d.ts +0 -3
- package/utils/CreateSyntheticEvent.js +0 -33
- package/utils/CreateSyntheticEvent.js.map +0 -1
- package/utils/IsInputKey.d.ts +0 -7
- package/utils/IsInputKey.js +0 -20
- package/utils/IsInputKey.js.map +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/{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 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/styles/_utilities.scss","../../src/styles/_variables.scss","../../src/styles/_components.scss","../../src/styles/_Card.scss","../../src/styles/_CloseButton.scss","../../src/styles/_CustomButton.scss","../../src/styles/_Dropdown.scss","../../src/styles/_FloatingLabel.scss","../../src/styles/forms/_FormCheck.scss","../../src/styles/_mixins.scss","../../src/styles/forms/_FormControl.scss","../../src/styles/forms/_FormLabel.scss","../../src/styles/forms/_FormSelect.scss","../../src/styles/forms/_FormText.scss","../../src/styles/_InputGroup.scss","../../src/styles/_Modal.scss","../../src/styles/_ModalOld.scss","../../src/styles/_Nav.scss","../../src/styles/_NavBar.scss","../../src/styles/_NavDropdown.scss","../../src/styles/_OverLay.scss","../../src/styles/_Popout.scss","../../src/styles/_Tabs.scss"],"names":[],"mappings":"AAAA;EACI;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAGN;EACI;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAGN;EACI;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAGN;EACI;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;AAGN;EACI;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;EAEF;IACE;;;ACz6EN;AAIA;AAYA;AAKA;AAsBA;AASA;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACG;EACA;;;AAGJ;AAIA;ACpEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACdD;EACI;EACA;EACA;;AAEA;EACI,kBF2CQ;EE1CR,OF2CU;EE1CV;;AAGJ;EACI;EACA;;AAEJ;EACI;EACA;EAEA,kBFkCe;EEjCf;;AAEJ;EACI;;AAEJ;EACI;EAEA,kBFyBe;EExBf;;AAEJ;EACI;;AAGJ;EACI;;;AChCR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;;AAEF;EACI;EACA;EACA;EACA;;AAGJ;EAEE;EACA;EACA;;;AAIJ;EACE;;;AAGJ;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACrCD;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;;AACA;EACI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;;;AAQJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAdJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAdJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAdJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAdJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAdJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAdJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAdJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;EAEA;;AAEA;EACI;EACA;;;AAKJ;EACI;;AAIJ;EACI;EACA;;AAOJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;;AAGA;AAAA;EAEE;;AAIF;AAAA;EAEE;;AAIF;AAAA;EAEI;EACA;;AAGJ;AAAA;EAEI;EACA;;;ACjIR;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;AAGF;EACI;EACA,SLNgC;EKOhC;EACA;EACA;EACA;EACA;EACA;EACA,kBApBkB;EAqBlB;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAGN;EACI;;;AAGJ;EACI;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIR;EACE;EACA;EACA;EACA;EACA;EACA;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EAEI;;AAGJ;EAEI;EACA;;AAEJ;EACE;EACA;EACA;;;AC5FJ;EACI;EACA;;AACA;EACI;;AAGJ;EACI;;AACA;EACI;;AAEJ;EACI;;AAGJ;EACI;;AAIR;EACI;EAGA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;;AAEJ;EACI;EACA;;AAOA;AAAA;AAAA;AAAA;EACI;EACA;EACA;;;AChDZ;EACI;EACA,YATU;EAUV,cAVU;EAWV;;AAEA;EACI;EACA;;;AAGR;EACI;EACA,YApBU;EAqBV,eArBU;EAsBV;EACA;;AAEA;EACE;EACA;EACA;;;AAIN;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EAEE;;AAGF;EACE;;AAGF;ECrCE;EAEA;EACA;EDoCE;;AAGJ;EACE,kBA/Da;EAgEb,cAhEa;;AAkEb;EACE;;AAGF;EACE;;AAEF;EACE;;AAIJ;EACI,kBA/EW;EAgFX,cAhFW;EAkFX;;AAIJ;EACE;EACA;EACA;;AAOA;EACE;EACA;;;AASR;EACI;;AAEA;EACI,OA5GY;EA6GZ;EACA;EACA;EACA,eAhHY;EAiHZ;;AAEA;EClGF;EAEA;EACA;;ADmGE;EACI;EACA;;;AE3HZ;EACE;EACA;EACA;EACA;EACA,OTmBiB;ESlBjB,kBT6BuB;ES5BvB;EACA;EACA;EACA,eTsBoB;ESpBpB;;AAEA;EACE;;AAEA;EACE;;AAIJ;EDHI;EAEA;EACA;;ACIJ;EACE,QT3Be;;AS8BjB;EACE,OTMsB;ESLtB;;AAGF;EAEE,kBTDmB;ESGnB;;AAIF;EACE;EACA;EACA,mBTlBc;ESmBd;EACA;EACA;EACA;EACA,yBTpBiB;ESqBjB;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA,OT1CiB;ES2CjB;EACA;EACA;;AAEA;EACE;;;AAKF;EACE,YTpCW;;;ASyCf;EACE;EACA,QT3Ca;ES4Cb,ST1DgB;;AS4DhB;EACE;;AAGF;EACE;EACA,eT9DkB;;ASiEpB;EACE,eTlEkB;;;AUlCtB;EACI;;;ACDJ;EACI;EACA;EACA;EACA,eX0Bc;EWzBd;EACA,OXoBe;EWlBf,kBX6BqB;EW5BrB;EACA;EACA;EACA;EAEA;EACA,eXmBkB;EWjBlB;;AAEA;EHEE;EAEA;EACA;;AGFF;EACI,eXOU;EWNV;;AAEJ;EAEI,kBXUe;EWRf;;;AC9BR;EACI;EACA;EACA;EACA;;;ACJJ;EACI;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EAII;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAEI;EACI;;AAIZ;EACI;EACA;;AAEI;EACI;EACA;;AAIZ;EACI;EACA;;AAEI;EACI;EACA;;;AAKhB;EACI;EACA;EACA;EACA;EACA;EAEA;EAEA;EAEA,kBblBgC;EamBhC,OblCe;EamCf;EACA,eb5BkB;;;AczBtB;EACI;EACA;;;AAGJ;EACE;EAEA;EACA;EAGA;EACA;EAGA,OApBoB;EAqBpB,kBAtB0B;EAuB1B;EACA;EACA,eAvBgB;EAyBhB;;AAGA;EACE,YA5BkB;EA6BlB;;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;ENrDI,wBMKY;ENJZ,yBMIY;;AAmDhB;EACE;EACA;;;AAGJ;EACE;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBA1E0B;EA2E1B;ENpEI,4BMLY;ENMZ,2BMNY;EA4EhB;;;AAWE;EACE;IACE;;;AAKJ;EACE;IACE;IACA;IACA;;EAEF;IACE;;;AAKJ;EACE;IACE;;;AAKJ;EACE;IACE;;;AChHR;EACE;;;AAGF;EACE;EACA;EACA;EACA,SfFkC;EeGlC;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;;AAGJ;EACE;IACE;;EAEF;IACE;;;AAGJ;EACE;IACE;;EAEF;IACE;;;AAIJ;EACE;EACA;EACA;EACA,SfzCkC;Ee0ClC;EACA;EACA;EACA;EACA;EAGA;;;AAMF;EACE;EACA;EACA;EACA;EAEA;;AAGA;EACE;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAIF;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAIJ;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAKJ;EACE,YAjHkB;EAkHlB;;;AAIJ;EACE;;AAEA;EACE;EACA;;AAGF;EACE;;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EAEA,OAnJoB;EAoJpB;EACA,kBAtJ0B;EAuJ1B;EACA;EACA,eAvJgB;EAyJhB;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EPvKI,wBOKY;EPJZ,yBOIY;;AAqKhB;EACE;EACA;;;AAGJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBA7L0B;EA8L1B;EPvLI,4BOLY;EPMZ,2BONY;EA+LhB;;;AAWE;EACE;IACE;;;AAKJ;EACE;IACE;IACA;IACA;;EAEF;IACE;;;AAKJ;EACE;IACE;;;AAKJ;EACE;IACE;;;AC5OR;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;AAIA;EACE;EACA;;;AAIN;EACE;;;ACtBF;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;;AAGA;AAAA;EACE;EACA;EACA;EACA;;AAeN;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;;;AAIN;EAEI;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEE;;AAGF;EACE;;;AAIN;EACI;EACA;EACA;;AAEA;AAAA;AAAA;EAGE;;;AAKJ;EACE;EACA;;;AC9FJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EAEI;EACA;;AAEJ;EACI;;AAIJ;EACI;EACA;EACA;;;ACvBR;EAII;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;;;ACrBR;EACI;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EAEA;EAEA;;AACA;EACI;EACA;EACA;EAEA,kBpB2Be;EoB1Bf;;AACA;EACI;;AAGJ;EACI;;AAIJ;EACI;;AAGR;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EAEA,kBpBEe;EoBDf;;AACA;EACI;;AAGR;EACI;;AAEJ;EACI;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACtEZ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;AACA;EACI;EACA;;;AAIR;EACI;;;AAGJ;EACI;;AACA;EACI;EACA","file":"stargazerui.css"}
|
package/dev/test.jsx
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { useEffect, useState } from "react"
|
|
2
|
+
|
|
3
|
+
import Tabs from '../src/Tabs'
|
|
4
|
+
import Popout from '../src/Popout'
|
|
5
|
+
|
|
6
|
+
import CardPage from './pages/CardPage'
|
|
7
|
+
import ButtonPage from './pages/ButtonPage'
|
|
8
|
+
import DropdownPage from './pages/DropdownPage'
|
|
9
|
+
import OverlayPage from './pages/OverlayPage'
|
|
10
|
+
import FormPage from './pages/FormPage'
|
|
11
|
+
import ModalPage from './pages/ModalPage'
|
|
12
|
+
import ListPage from './pages/ListPage'
|
|
13
|
+
|
|
14
|
+
const tabs = [
|
|
15
|
+
{
|
|
16
|
+
label: "Cards",
|
|
17
|
+
id: "cards",
|
|
18
|
+
page: <CardPage />
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
label: "Buttons",
|
|
22
|
+
id: "buttons",
|
|
23
|
+
page: <ButtonPage />
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
label: "Modal",
|
|
27
|
+
id: "modal",
|
|
28
|
+
page: <ModalPage />
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
label: "Overlay",
|
|
32
|
+
id: "overlay",
|
|
33
|
+
page: <OverlayPage />
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
label: "Dropdown",
|
|
37
|
+
id: "dropdown",
|
|
38
|
+
page: <DropdownPage />
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
label: "Form",
|
|
42
|
+
id: "form",
|
|
43
|
+
page: <FormPage />
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
label: "Drag and Drop List",
|
|
47
|
+
id: "drag-and-drop-list",
|
|
48
|
+
page: <ListPage />
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
export const Component = () => {
|
|
53
|
+
const url = new URL(window.location.href)
|
|
54
|
+
|
|
55
|
+
return (
|
|
56
|
+
<div>
|
|
57
|
+
{false ?
|
|
58
|
+
<Popout move="true">
|
|
59
|
+
<Popout.Header>
|
|
60
|
+
<Popout.Title>Test</Popout.Title>
|
|
61
|
+
</Popout.Header>
|
|
62
|
+
<Popout.Body><p>test</p></Popout.Body>
|
|
63
|
+
</Popout>
|
|
64
|
+
: null}
|
|
65
|
+
<Tabs controlId="tabs-test" defaultActive={url.searchParams.get("tabid") ?? tabs[0].id}>
|
|
66
|
+
<Tabs.Controls>
|
|
67
|
+
{
|
|
68
|
+
tabs.map(tab =>
|
|
69
|
+
<Tabs.Button key={tab.id+"-button"} tabId={tab.id}>
|
|
70
|
+
{tab.label}
|
|
71
|
+
</Tabs.Button>
|
|
72
|
+
)
|
|
73
|
+
}
|
|
74
|
+
</Tabs.Controls>
|
|
75
|
+
<Tabs.Content>
|
|
76
|
+
{
|
|
77
|
+
tabs.map(tab =>
|
|
78
|
+
<Tabs.Page key={tab.id+"-page"} tabId={tab.id}>
|
|
79
|
+
{tab.page}
|
|
80
|
+
</Tabs.Page>
|
|
81
|
+
)
|
|
82
|
+
}
|
|
83
|
+
</Tabs.Content>
|
|
84
|
+
</Tabs>
|
|
85
|
+
</div>
|
|
86
|
+
)
|
|
87
|
+
}
|
package/package.json
CHANGED
|
@@ -1 +1,79 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"name": "stargazer-ui",
|
|
3
|
+
"version": "1.5.13",
|
|
4
|
+
"description": "React component library made by Stargazer Works",
|
|
5
|
+
"module": "./index.js",
|
|
6
|
+
"types": "./index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"test": "\"echo \\\"Error: no test specified\\\" && exit 1\"",
|
|
9
|
+
"dev": "vite --config vite.config.js --port 5000",
|
|
10
|
+
"build": "tsc --p ./tsconfig-build.json && vite build --config vite.config.js",
|
|
11
|
+
"rollup": "rimraf dist && rollup -c",
|
|
12
|
+
"postrollup": "node scripts/writePackageJsons.js && sass src/styles/_components.scss dist/styles/stargazerui.css",
|
|
13
|
+
"packageJsons": "node scripts/writePackageJsons.js",
|
|
14
|
+
"makecss": "sass src/styles/_components.scss dist/styles/stargazerui.css"
|
|
15
|
+
},
|
|
16
|
+
"type": "module",
|
|
17
|
+
"engines": {
|
|
18
|
+
"node": ">=18.0.0"
|
|
19
|
+
},
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "git+https://github.com/Xoror/stargazer-ui.git"
|
|
23
|
+
},
|
|
24
|
+
"keywords": [
|
|
25
|
+
"ui",
|
|
26
|
+
"library",
|
|
27
|
+
"stargazer-works"
|
|
28
|
+
],
|
|
29
|
+
"author": "Stargazer Works",
|
|
30
|
+
"license": "MIT",
|
|
31
|
+
"bugs": {
|
|
32
|
+
"url": "https://github.com/Xoror/stargazer-ui/issues"
|
|
33
|
+
},
|
|
34
|
+
"homepage": "https://github.com/Xoror/stargazer-ui#readme",
|
|
35
|
+
"peerDependencies": {
|
|
36
|
+
"lodash": "^4.17.21",
|
|
37
|
+
"react": ">=17.0.0",
|
|
38
|
+
"react-dom": ">=17.0.0"
|
|
39
|
+
},
|
|
40
|
+
"publishConfig": {
|
|
41
|
+
"access": "public"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@babel/core": "^7.16.5",
|
|
45
|
+
"@govtechsg/sgds-react": "^2.3.0",
|
|
46
|
+
"@reduxjs/toolkit": "^2.2.1",
|
|
47
|
+
"@rollup/plugin-commonjs": "^25.0.7",
|
|
48
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
49
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
50
|
+
"@rollup/plugin-typescript": "^11.1.6",
|
|
51
|
+
"@types/lodash": "^4.17.4",
|
|
52
|
+
"@types/node": "^20.8.10",
|
|
53
|
+
"@types/react": "^18.2.35",
|
|
54
|
+
"@types/react-dom": "^18.2.14",
|
|
55
|
+
"@typescript-eslint/eslint-plugin": "^6.9.1",
|
|
56
|
+
"@typescript-eslint/parser": "^6.9.1",
|
|
57
|
+
"@vitejs/plugin-react": "^4.2.1",
|
|
58
|
+
"ally.js": "^1.4.1",
|
|
59
|
+
"eslint": "^8.53.0",
|
|
60
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
|
61
|
+
"eslint-plugin-react-refresh": "^0.4.4",
|
|
62
|
+
"glob": "^10.3.10",
|
|
63
|
+
"lodash": "^4.17.21",
|
|
64
|
+
"react": ">=17.0.0",
|
|
65
|
+
"react-bootstrap": "^2.10.1",
|
|
66
|
+
"react-dom": ">=17.0.0",
|
|
67
|
+
"react-router-dom": "^6.23.1",
|
|
68
|
+
"rollup": "^4.12.0",
|
|
69
|
+
"rollup-plugin-dts": "^6.1.0",
|
|
70
|
+
"rollup-plugin-generate-package-json": "^3.2.0",
|
|
71
|
+
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
72
|
+
"rollup-plugin-typescript2": "^0.36.0",
|
|
73
|
+
"sass": "^1.71.1",
|
|
74
|
+
"tslib": "^2.6.2",
|
|
75
|
+
"typescript": "^5.2.2",
|
|
76
|
+
"vite": "^5.1.4",
|
|
77
|
+
"vite-plugin-dts": "^3.7.3"
|
|
78
|
+
}
|
|
79
|
+
}
|
package/rollup.config.js
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import resolve from "@rollup/plugin-node-resolve";
|
|
2
|
+
import commonjs from "@rollup/plugin-commonjs";
|
|
3
|
+
import typescript from "@rollup/plugin-typescript";
|
|
4
|
+
//import typescript from 'rollup-plugin-typescript2';
|
|
5
|
+
import dts from "rollup-plugin-dts";
|
|
6
|
+
import terser from "@rollup/plugin-terser";
|
|
7
|
+
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
|
8
|
+
import generatePackageJson from "rollup-plugin-generate-package-json";
|
|
9
|
+
|
|
10
|
+
import fs from "fs"
|
|
11
|
+
import { readFile } from 'fs/promises';
|
|
12
|
+
|
|
13
|
+
const packageJson = JSON.parse(
|
|
14
|
+
await readFile(
|
|
15
|
+
new URL('./package.json', import.meta.url)
|
|
16
|
+
)
|
|
17
|
+
)
|
|
18
|
+
const plugins = [
|
|
19
|
+
peerDepsExternal(),
|
|
20
|
+
resolve(),
|
|
21
|
+
commonjs(),
|
|
22
|
+
typescript({
|
|
23
|
+
tsconfig: "./tsconfig.json"
|
|
24
|
+
}),
|
|
25
|
+
//terser(),
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
const getComponentsFolders = () => {
|
|
29
|
+
const dirs = fs.readdirSync("./src")
|
|
30
|
+
const dirsWithoutIndex = dirs.filter(name => !name.includes(".ts") && name != "styles" && name != "utils" && name != "assets")
|
|
31
|
+
return dirsWithoutIndex
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const component = (folder) => {
|
|
35
|
+
return {
|
|
36
|
+
input: `src/${folder}/index.ts`,
|
|
37
|
+
output: [
|
|
38
|
+
{
|
|
39
|
+
file: `dist/${folder}/index.esm.js`,
|
|
40
|
+
exports: 'named',
|
|
41
|
+
sourcemap: true,
|
|
42
|
+
format: 'esm',
|
|
43
|
+
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
file: `dist/${folder}/index.cjs.js`,
|
|
47
|
+
exports: 'named',
|
|
48
|
+
sourcemap: true,
|
|
49
|
+
format: 'cjs',
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
plugins: [
|
|
53
|
+
...plugins,
|
|
54
|
+
generatePackageJson({
|
|
55
|
+
baseContents: {
|
|
56
|
+
name: `${packageJson.name}/${folder}`,
|
|
57
|
+
private: false,
|
|
58
|
+
main: './index.cjs.js',
|
|
59
|
+
module: './index.esm.js',
|
|
60
|
+
types: './index.d.ts',
|
|
61
|
+
peerDependencies: packageJson.peerDependencies,
|
|
62
|
+
},
|
|
63
|
+
outputFolder: `dist/${folder}/`
|
|
64
|
+
}),
|
|
65
|
+
],
|
|
66
|
+
external: [/node_modules/, /\.\.\/utils/],
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export default [
|
|
71
|
+
{
|
|
72
|
+
input: ['src/index.ts', ...getComponentsFolders().map(folder => `src/${folder}/index.ts`)],
|
|
73
|
+
output: [
|
|
74
|
+
{
|
|
75
|
+
dir: "dist",
|
|
76
|
+
format: 'esm',
|
|
77
|
+
sourcemap: true,
|
|
78
|
+
exports: 'named',
|
|
79
|
+
banner: `'use client';`,
|
|
80
|
+
preserveModules: true,
|
|
81
|
+
preserveModulesRoot: 'src',
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
plugins: plugins,
|
|
85
|
+
external: ['react', 'react-dom'],
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
/*
|
|
89
|
+
{
|
|
90
|
+
input: ['src/index.ts', 'src/Button/index.ts'],
|
|
91
|
+
output: [
|
|
92
|
+
{
|
|
93
|
+
dir:"dist",
|
|
94
|
+
format: 'cjs',
|
|
95
|
+
sourcemap: true,
|
|
96
|
+
exports: 'named',
|
|
97
|
+
preserveModules: true,
|
|
98
|
+
preserveModulesRoot: 'src',
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
plugins: plugins,
|
|
102
|
+
external: ['react', 'react-dom'],
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
*/
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
/*
|
|
109
|
+
{
|
|
110
|
+
input: 'src/index.ts',
|
|
111
|
+
output: [
|
|
112
|
+
{
|
|
113
|
+
file: packageJson.main,
|
|
114
|
+
format: 'cjs',
|
|
115
|
+
sourcemap: true,
|
|
116
|
+
exports: 'named',
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
plugins: [...plugins],
|
|
120
|
+
external: ['react', 'react-dom'],
|
|
121
|
+
},
|
|
122
|
+
];
|
|
123
|
+
*/
|
|
124
|
+
|
|
125
|
+
/* Code split, works well but for intellisense
|
|
126
|
+
{
|
|
127
|
+
input: ['src/index.ts', 'src/Button/index.ts'],
|
|
128
|
+
output: [
|
|
129
|
+
{
|
|
130
|
+
dir: "dist",
|
|
131
|
+
format: 'esm',
|
|
132
|
+
sourcemap: true,
|
|
133
|
+
exports: 'named',
|
|
134
|
+
preserveModules: true,
|
|
135
|
+
},
|
|
136
|
+
],
|
|
137
|
+
plugins: [...plugins],
|
|
138
|
+
external: ['react', 'react-dom'],
|
|
139
|
+
|
|
140
|
+
*/
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import { readFile } from 'fs/promises';
|
|
3
|
+
|
|
4
|
+
const packageJson = JSON.parse(
|
|
5
|
+
await readFile(
|
|
6
|
+
new URL('../package.json', import.meta.url)
|
|
7
|
+
)
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
const packageJsonTemplate = (folder) => {
|
|
11
|
+
return {
|
|
12
|
+
name: `${packageJson.name}/${folder}`,
|
|
13
|
+
private: false,
|
|
14
|
+
module: `./index.js`,
|
|
15
|
+
types: `./index.d.ts`,
|
|
16
|
+
peerDependencies: packageJson.peerDependencies,
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const getComponentsFolders = () => {
|
|
21
|
+
const dirs = fs.readdirSync("./src")
|
|
22
|
+
const dirsWithoutIndex = dirs.filter(name => !name.includes(".ts") && name != "styles" && name != "utils" && name != "assets")
|
|
23
|
+
return dirsWithoutIndex
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const write = () => {
|
|
27
|
+
fs.writeFileSync(`./dist/package.json`, JSON.stringify(packageJson), 'utf-8')
|
|
28
|
+
const folders = getComponentsFolders()
|
|
29
|
+
folders.map(folder => {
|
|
30
|
+
//fs.mkdirSync(`./dist/${folder}`)
|
|
31
|
+
fs.writeFileSync(`./dist/${folder}/package.json`, JSON.stringify(packageJsonTemplate(folder)), 'utf-8', (error) => {
|
|
32
|
+
// 4
|
|
33
|
+
if (error) {
|
|
34
|
+
console.log(`WRITE ERROR: ${error}`)
|
|
35
|
+
} else {
|
|
36
|
+
// 5
|
|
37
|
+
console.log('FILE WRITTEN TO')
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
})
|
|
41
|
+
}
|
|
42
|
+
write()
|
package/src/Bar/Bar.tsx
ADDED
|
File without changes
|
package/src/Bar/index.ts
ADDED
|
File without changes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React, { forwardRef } from "react"
|
|
2
|
+
|
|
3
|
+
import { ButtonType } from "./Button.types"
|
|
4
|
+
|
|
5
|
+
import mergeClassnames from "../utils/MergeClassnames"
|
|
6
|
+
|
|
7
|
+
const Button = forwardRef<HTMLButtonElement, ButtonType>( ({children, variant="primary", className, ...rest}, ref) => {
|
|
8
|
+
const variants = ["primary", "secondary", "success", "info", "warning", "danger", "dark", "light", "custom"] //["red", "blue", "yellow", "green", "purple"]
|
|
9
|
+
const variantTest = variants.find(variantTest => variantTest === variant) ? variant : "primary"
|
|
10
|
+
const computedClassnames = mergeClassnames("sg-button", `sg-button-${variantTest}`, className)
|
|
11
|
+
return(
|
|
12
|
+
<button ref={ref} type="button" className={computedClassnames} {...rest}>
|
|
13
|
+
{children}
|
|
14
|
+
</button>
|
|
15
|
+
)
|
|
16
|
+
} )
|
|
17
|
+
|
|
18
|
+
Button.displayName = "Button"
|
|
19
|
+
|
|
20
|
+
export default Button
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React, { forwardRef } from "react"
|
|
2
|
+
import { ButtonGroupType } from "./ButtonGroup.types"
|
|
3
|
+
|
|
4
|
+
const ButtonGroup = forwardRef<HTMLDivElement, ButtonGroupType>( ({ children, className, vertical=false, ...restProps}, ref) => {
|
|
5
|
+
return (
|
|
6
|
+
<div ref={ref} role="group" className={`sg-button-group${vertical ? "-vertical" : ""}${className ? " "+className : ""}`} {...restProps}>
|
|
7
|
+
{children}
|
|
8
|
+
</div>
|
|
9
|
+
)
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
ButtonGroup.displayName = "ButtonGroup"
|
|
13
|
+
|
|
14
|
+
export default ButtonGroup
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import React, { forwardRef } from "react"
|
|
2
|
+
|
|
3
|
+
import { CardBodyType, CardFooterType, CardHeaderType, CardTextType, CardType } from "./Card.types"
|
|
4
|
+
|
|
5
|
+
const Card = forwardRef<HTMLDivElement, CardType>( ({children, className, variant, inverted=false,...restProps}, ref) => {
|
|
6
|
+
return (
|
|
7
|
+
<div ref={ref} className={`sg-card${className ? " "+className:""}${variant ? " "+variant:""}${inverted ? " inverted":""}`} {...restProps}>
|
|
8
|
+
{children}
|
|
9
|
+
</div>
|
|
10
|
+
)
|
|
11
|
+
})
|
|
12
|
+
Card.displayName = "Card"
|
|
13
|
+
|
|
14
|
+
const Header = forwardRef<HTMLDivElement | HTMLHeadingElement | HTMLSpanElement, CardHeaderType>( ({as="div", className, children, ...restProps}, ref) => {
|
|
15
|
+
let validAs = ["div", "span", "h1", "h2", "h3", "h4", "h5", "h6"]
|
|
16
|
+
let Component = validAs.find(valid => valid === as) ? as : "div"
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<Component ref={ref} className={`sg-card-header ${className}`} {...restProps}>
|
|
20
|
+
{children}
|
|
21
|
+
</Component>
|
|
22
|
+
)
|
|
23
|
+
})
|
|
24
|
+
Header.displayName = "CardHeader"
|
|
25
|
+
|
|
26
|
+
const Title = forwardRef<HTMLHeadingElement, CardHeaderType>(({as="h5", className, children, ...restProps}, ref) => {
|
|
27
|
+
let validAs = ["h1", "h2", "h3", "h4", "h5", "h6"]
|
|
28
|
+
let Component = validAs.find(valid => valid === as) ? as : "h5"
|
|
29
|
+
return (
|
|
30
|
+
<Component ref={ref} className={`sg-card-title${className ? " "+className : ""}`} {...restProps}>
|
|
31
|
+
{children}
|
|
32
|
+
</Component>
|
|
33
|
+
)
|
|
34
|
+
})
|
|
35
|
+
Title.displayName = "CardTitle"
|
|
36
|
+
|
|
37
|
+
const Body = forwardRef<HTMLDivElement, CardBodyType>( ({children, className, ...restProps}, ref) => {
|
|
38
|
+
return (
|
|
39
|
+
<div ref={ref} className={`sg-card-body ${className}`} {...restProps}>
|
|
40
|
+
{children}
|
|
41
|
+
</div>
|
|
42
|
+
)
|
|
43
|
+
})
|
|
44
|
+
Body.displayName = "CardBody"
|
|
45
|
+
|
|
46
|
+
const Text = forwardRef<HTMLParagraphElement, CardTextType>( ({children, className, ...restProps}, ref) => {
|
|
47
|
+
return (
|
|
48
|
+
<p ref={ref} className={`sg-card-text ${className}`} {...restProps}>
|
|
49
|
+
{children}
|
|
50
|
+
</p>
|
|
51
|
+
)
|
|
52
|
+
})
|
|
53
|
+
Text.displayName = "CardText"
|
|
54
|
+
|
|
55
|
+
const Footer = forwardRef<HTMLDivElement, CardFooterType>( ({children, className, ...restProps}, ref) => {
|
|
56
|
+
return (
|
|
57
|
+
<div ref={ref} className={`sg-card-footer ${className}`} {...restProps}>
|
|
58
|
+
{children}
|
|
59
|
+
</div>
|
|
60
|
+
)
|
|
61
|
+
})
|
|
62
|
+
Footer.displayName = "CardFooter"
|
|
63
|
+
|
|
64
|
+
export default Object.assign(Card, {
|
|
65
|
+
Header: Header,
|
|
66
|
+
Body: Body,
|
|
67
|
+
Title: Title,
|
|
68
|
+
Text: Text,
|
|
69
|
+
Footer: Footer
|
|
70
|
+
})
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ReactNode } from "react"
|
|
2
|
+
|
|
3
|
+
import { BaseDivType, BaseHeadingType, BaseSpanType, BaseParagraphType } from "../utils/BaseTypes"
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
export type CardType = {
|
|
7
|
+
children: ReactNode,
|
|
8
|
+
className?: string,
|
|
9
|
+
variant?: string,
|
|
10
|
+
inverted?: boolean
|
|
11
|
+
} & BaseDivType
|
|
12
|
+
|
|
13
|
+
export type CardHeaderPossible = BaseDivType | BaseSpanType | BaseHeadingType
|
|
14
|
+
export type CardHeaderType = {
|
|
15
|
+
children: ReactNode,
|
|
16
|
+
className?: string,
|
|
17
|
+
as?: React.ElementType
|
|
18
|
+
} & CardHeaderPossible
|
|
19
|
+
|
|
20
|
+
export type CardBodyType = {
|
|
21
|
+
children: ReactNode,
|
|
22
|
+
className?: string
|
|
23
|
+
} & BaseDivType
|
|
24
|
+
|
|
25
|
+
export type CardTextType = {
|
|
26
|
+
children: ReactNode,
|
|
27
|
+
className?: string
|
|
28
|
+
} & BaseParagraphType
|
|
29
|
+
|
|
30
|
+
export type CardFooterType = {
|
|
31
|
+
children: ReactNode,
|
|
32
|
+
className?: string,
|
|
33
|
+
} & BaseDivType
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React, { forwardRef } from "react"
|
|
2
|
+
|
|
3
|
+
import { CloseButtonType } from "./CloseButton.types"
|
|
4
|
+
|
|
5
|
+
const CloseButton = forwardRef<HTMLButtonElement, CloseButtonType>( ({className, variant = false, ...restProps}, ref) => {
|
|
6
|
+
return (
|
|
7
|
+
<button ref={ref} className={`sg-button-close${variant ? " sg-button-close-white" : ""} ${className}`} {...restProps}>
|
|
8
|
+
<span className="sg-close-visually-hidden-label">Close</span>
|
|
9
|
+
</button>
|
|
10
|
+
)
|
|
11
|
+
})
|
|
12
|
+
CloseButton.displayName = "CloseButton"
|
|
13
|
+
|
|
14
|
+
export default CloseButton
|