@traefik-labs/faency 12.0.7
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/LICENSE +201 -0
- package/README.md +160 -0
- package/dist/colors/deepBlue.cjs +63 -0
- package/dist/colors/deepBlue.cjs.map +1 -0
- package/dist/colors/deepBlue.js +63 -0
- package/dist/colors/deepBlue.js.map +1 -0
- package/dist/colors/elevation.cjs +21 -0
- package/dist/colors/elevation.cjs.map +1 -0
- package/dist/colors/elevation.js +21 -0
- package/dist/colors/elevation.js.map +1 -0
- package/dist/colors/grayBlue.cjs +63 -0
- package/dist/colors/grayBlue.cjs.map +1 -0
- package/dist/colors/grayBlue.js +63 -0
- package/dist/colors/grayBlue.js.map +1 -0
- package/dist/colors/index.cjs +86 -0
- package/dist/colors/index.cjs.map +1 -0
- package/dist/colors/index.js +86 -0
- package/dist/colors/index.js.map +1 -0
- package/dist/colors/neon.cjs +63 -0
- package/dist/colors/neon.cjs.map +1 -0
- package/dist/colors/neon.js +63 -0
- package/dist/colors/neon.js.map +1 -0
- package/dist/colors/orange.cjs +63 -0
- package/dist/colors/orange.cjs.map +1 -0
- package/dist/colors/orange.js +63 -0
- package/dist/colors/orange.js.map +1 -0
- package/dist/colors/red.cjs +63 -0
- package/dist/colors/red.cjs.map +1 -0
- package/dist/colors/red.js +63 -0
- package/dist/colors/red.js.map +1 -0
- package/dist/components/AccessibleIcon/AccessibleIcon.cjs +23 -0
- package/dist/components/AccessibleIcon/AccessibleIcon.cjs.map +1 -0
- package/dist/components/AccessibleIcon/AccessibleIcon.js +6 -0
- package/dist/components/AccessibleIcon/AccessibleIcon.js.map +1 -0
- package/dist/components/Accordion/Accordion.cjs +160 -0
- package/dist/components/Accordion/Accordion.cjs.map +1 -0
- package/dist/components/Accordion/Accordion.js +143 -0
- package/dist/components/Accordion/Accordion.js.map +1 -0
- package/dist/components/Accordion/Accordion.themes.cjs +21 -0
- package/dist/components/Accordion/Accordion.themes.cjs.map +1 -0
- package/dist/components/Accordion/Accordion.themes.js +22 -0
- package/dist/components/Accordion/Accordion.themes.js.map +1 -0
- package/dist/components/Alert/Alert.cjs +40 -0
- package/dist/components/Alert/Alert.cjs.map +1 -0
- package/dist/components/Alert/Alert.js +40 -0
- package/dist/components/Alert/Alert.js.map +1 -0
- package/dist/components/AriaTable/AriaTable.cjs +196 -0
- package/dist/components/AriaTable/AriaTable.cjs.map +1 -0
- package/dist/components/AriaTable/AriaTable.js +196 -0
- package/dist/components/AriaTable/AriaTable.js.map +1 -0
- package/dist/components/Avatar/Avatar.cjs +174 -0
- package/dist/components/Avatar/Avatar.cjs.map +1 -0
- package/dist/components/Avatar/Avatar.js +157 -0
- package/dist/components/Avatar/Avatar.js.map +1 -0
- package/dist/components/Badge/Badge.cjs +137 -0
- package/dist/components/Badge/Badge.cjs.map +1 -0
- package/dist/components/Badge/Badge.js +137 -0
- package/dist/components/Badge/Badge.js.map +1 -0
- package/dist/components/Badge/Badge.theme.cjs +13 -0
- package/dist/components/Badge/Badge.theme.cjs.map +1 -0
- package/dist/components/Badge/Badge.theme.js +13 -0
- package/dist/components/Badge/Badge.theme.js.map +1 -0
- package/dist/components/Badge/Badge.themes.cjs +15 -0
- package/dist/components/Badge/Badge.themes.cjs.map +1 -0
- package/dist/components/Badge/Badge.themes.js +16 -0
- package/dist/components/Badge/Badge.themes.js.map +1 -0
- package/dist/components/Badge/Badge.vanilla.cjs +48 -0
- package/dist/components/Badge/Badge.vanilla.cjs.map +1 -0
- package/dist/components/Badge/Badge.vanilla.css.cjs +9 -0
- package/dist/components/Badge/Badge.vanilla.css.cjs.map +1 -0
- package/dist/components/Badge/Badge.vanilla.css.js +9 -0
- package/dist/components/Badge/Badge.vanilla.css.js.map +1 -0
- package/dist/components/Badge/Badge.vanilla.js +48 -0
- package/dist/components/Badge/Badge.vanilla.js.map +1 -0
- package/dist/components/Blockquote/Blockquote.cjs +10 -0
- package/dist/components/Blockquote/Blockquote.cjs.map +1 -0
- package/dist/components/Blockquote/Blockquote.js +10 -0
- package/dist/components/Blockquote/Blockquote.js.map +1 -0
- package/dist/components/Blockquote/Blockquote.vanilla.cjs +46 -0
- package/dist/components/Blockquote/Blockquote.vanilla.cjs.map +1 -0
- package/dist/components/Blockquote/Blockquote.vanilla.css.cjs +7 -0
- package/dist/components/Blockquote/Blockquote.vanilla.css.cjs.map +1 -0
- package/dist/components/Blockquote/Blockquote.vanilla.css.js +7 -0
- package/dist/components/Blockquote/Blockquote.vanilla.css.js.map +1 -0
- package/dist/components/Blockquote/Blockquote.vanilla.js +46 -0
- package/dist/components/Blockquote/Blockquote.vanilla.js.map +1 -0
- package/dist/components/Box/Box.cjs +9 -0
- package/dist/components/Box/Box.cjs.map +1 -0
- package/dist/components/Box/Box.js +9 -0
- package/dist/components/Box/Box.js.map +1 -0
- package/dist/components/Box/Box.vanilla.cjs +33 -0
- package/dist/components/Box/Box.vanilla.cjs.map +1 -0
- package/dist/components/Box/Box.vanilla.css.cjs +6 -0
- package/dist/components/Box/Box.vanilla.css.cjs.map +1 -0
- package/dist/components/Box/Box.vanilla.css.js +6 -0
- package/dist/components/Box/Box.vanilla.css.js.map +1 -0
- package/dist/components/Box/Box.vanilla.js +33 -0
- package/dist/components/Box/Box.vanilla.js.map +1 -0
- package/dist/components/Bubble/Bubble.cjs +81 -0
- package/dist/components/Bubble/Bubble.cjs.map +1 -0
- package/dist/components/Bubble/Bubble.js +81 -0
- package/dist/components/Bubble/Bubble.js.map +1 -0
- package/dist/components/Button/Button.cjs +295 -0
- package/dist/components/Button/Button.cjs.map +1 -0
- package/dist/components/Button/Button.js +295 -0
- package/dist/components/Button/Button.js.map +1 -0
- package/dist/components/Button/Button.themes.cjs +37 -0
- package/dist/components/Button/Button.themes.cjs.map +1 -0
- package/dist/components/Button/Button.themes.js +38 -0
- package/dist/components/Button/Button.themes.js.map +1 -0
- package/dist/components/Button/Button.vanilla.cjs +45 -0
- package/dist/components/Button/Button.vanilla.cjs.map +1 -0
- package/dist/components/Button/Button.vanilla.css.cjs +7 -0
- package/dist/components/Button/Button.vanilla.css.cjs.map +1 -0
- package/dist/components/Button/Button.vanilla.css.js +7 -0
- package/dist/components/Button/Button.vanilla.css.js.map +1 -0
- package/dist/components/Button/Button.vanilla.js +45 -0
- package/dist/components/Button/Button.vanilla.js.map +1 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.cjs +81 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.cjs.map +1 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.js +64 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.js.map +1 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.themes.cjs +20 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.themes.cjs.map +1 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.themes.js +21 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.themes.js.map +1 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.cjs +67 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.cjs.map +1 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.css.cjs +8 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.css.cjs.map +1 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.css.js +8 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.css.js.map +1 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.js +50 -0
- package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.js.map +1 -0
- package/dist/components/Card/Card.cjs +101 -0
- package/dist/components/Card/Card.cjs.map +1 -0
- package/dist/components/Card/Card.js +101 -0
- package/dist/components/Card/Card.js.map +1 -0
- package/dist/components/Card/Card.theme.cjs +26 -0
- package/dist/components/Card/Card.theme.cjs.map +1 -0
- package/dist/components/Card/Card.theme.js +26 -0
- package/dist/components/Card/Card.theme.js.map +1 -0
- package/dist/components/Card/Card.themes.cjs +29 -0
- package/dist/components/Card/Card.themes.cjs.map +1 -0
- package/dist/components/Card/Card.themes.js +30 -0
- package/dist/components/Card/Card.themes.js.map +1 -0
- package/dist/components/Card/Card.vanilla.cjs +41 -0
- package/dist/components/Card/Card.vanilla.cjs.map +1 -0
- package/dist/components/Card/Card.vanilla.css.cjs +10 -0
- package/dist/components/Card/Card.vanilla.css.cjs.map +1 -0
- package/dist/components/Card/Card.vanilla.css.js +10 -0
- package/dist/components/Card/Card.vanilla.css.js.map +1 -0
- package/dist/components/Card/Card.vanilla.js +41 -0
- package/dist/components/Card/Card.vanilla.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.cjs +115 -0
- package/dist/components/Checkbox/Checkbox.cjs.map +1 -0
- package/dist/components/Checkbox/Checkbox.js +98 -0
- package/dist/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.themes.cjs +35 -0
- package/dist/components/Checkbox/Checkbox.themes.cjs.map +1 -0
- package/dist/components/Checkbox/Checkbox.themes.js +36 -0
- package/dist/components/Checkbox/Checkbox.themes.js.map +1 -0
- package/dist/components/Container/Container.cjs +38 -0
- package/dist/components/Container/Container.cjs.map +1 -0
- package/dist/components/Container/Container.js +38 -0
- package/dist/components/Container/Container.js.map +1 -0
- package/dist/components/Container/Container.vanilla.cjs +35 -0
- package/dist/components/Container/Container.vanilla.cjs.map +1 -0
- package/dist/components/Container/Container.vanilla.css.cjs +9 -0
- package/dist/components/Container/Container.vanilla.css.cjs.map +1 -0
- package/dist/components/Container/Container.vanilla.css.js +9 -0
- package/dist/components/Container/Container.vanilla.css.js.map +1 -0
- package/dist/components/Container/Container.vanilla.js +35 -0
- package/dist/components/Container/Container.vanilla.js.map +1 -0
- package/dist/components/DateTimePicker/DateTimePicker.cjs +283 -0
- package/dist/components/DateTimePicker/DateTimePicker.cjs.map +1 -0
- package/dist/components/DateTimePicker/DateTimePicker.js +283 -0
- package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -0
- package/dist/components/DateTimePickerInput/DateTimePickerInput.cjs +154 -0
- package/dist/components/DateTimePickerInput/DateTimePickerInput.cjs.map +1 -0
- package/dist/components/DateTimePickerInput/DateTimePickerInput.js +154 -0
- package/dist/components/DateTimePickerInput/DateTimePickerInput.js.map +1 -0
- package/dist/components/Dialog/Dialog.cjs +93 -0
- package/dist/components/Dialog/Dialog.cjs.map +1 -0
- package/dist/components/Dialog/Dialog.js +76 -0
- package/dist/components/Dialog/Dialog.js.map +1 -0
- package/dist/components/Dialog/Dialog.themes.cjs +12 -0
- package/dist/components/Dialog/Dialog.themes.cjs.map +1 -0
- package/dist/components/Dialog/Dialog.themes.js +13 -0
- package/dist/components/Dialog/Dialog.themes.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.cjs +69 -0
- package/dist/components/DropdownMenu/DropdownMenu.cjs.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.js +52 -0
- package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -0
- package/dist/components/DropdownMenu/styles.cjs +55 -0
- package/dist/components/DropdownMenu/styles.cjs.map +1 -0
- package/dist/components/DropdownMenu/styles.js +55 -0
- package/dist/components/DropdownMenu/styles.js.map +1 -0
- package/dist/components/Elevation/Elevation.cjs +40 -0
- package/dist/components/Elevation/Elevation.cjs.map +1 -0
- package/dist/components/Elevation/Elevation.js +40 -0
- package/dist/components/Elevation/Elevation.js.map +1 -0
- package/dist/components/Elevation/Elevation.vanilla.cjs +28 -0
- package/dist/components/Elevation/Elevation.vanilla.cjs.map +1 -0
- package/dist/components/Elevation/Elevation.vanilla.css.cjs +7 -0
- package/dist/components/Elevation/Elevation.vanilla.css.cjs.map +1 -0
- package/dist/components/Elevation/Elevation.vanilla.css.js +7 -0
- package/dist/components/Elevation/Elevation.vanilla.css.js.map +1 -0
- package/dist/components/Elevation/Elevation.vanilla.js +28 -0
- package/dist/components/Elevation/Elevation.vanilla.js.map +1 -0
- package/dist/components/FaencyProvider.cjs +7 -0
- package/dist/components/FaencyProvider.cjs.map +1 -0
- package/dist/components/FaencyProvider.js +7 -0
- package/dist/components/FaencyProvider.js.map +1 -0
- package/dist/components/Flex/Flex.cjs +120 -0
- package/dist/components/Flex/Flex.cjs.map +1 -0
- package/dist/components/Flex/Flex.js +120 -0
- package/dist/components/Flex/Flex.js.map +1 -0
- package/dist/components/Flex/Flex.vanilla.cjs +35 -0
- package/dist/components/Flex/Flex.vanilla.cjs.map +1 -0
- package/dist/components/Flex/Flex.vanilla.css.cjs +9 -0
- package/dist/components/Flex/Flex.vanilla.css.cjs.map +1 -0
- package/dist/components/Flex/Flex.vanilla.css.js +9 -0
- package/dist/components/Flex/Flex.vanilla.css.js.map +1 -0
- package/dist/components/Flex/Flex.vanilla.js +35 -0
- package/dist/components/Flex/Flex.vanilla.js.map +1 -0
- package/dist/components/Grid/Grid.cjs +160 -0
- package/dist/components/Grid/Grid.cjs.map +1 -0
- package/dist/components/Grid/Grid.js +160 -0
- package/dist/components/Grid/Grid.js.map +1 -0
- package/dist/components/Grid/Grid.vanilla.cjs +53 -0
- package/dist/components/Grid/Grid.vanilla.cjs.map +1 -0
- package/dist/components/Grid/Grid.vanilla.css.cjs +9 -0
- package/dist/components/Grid/Grid.vanilla.css.cjs.map +1 -0
- package/dist/components/Grid/Grid.vanilla.css.js +9 -0
- package/dist/components/Grid/Grid.vanilla.css.js.map +1 -0
- package/dist/components/Grid/Grid.vanilla.js +53 -0
- package/dist/components/Grid/Grid.vanilla.js.map +1 -0
- package/dist/components/Heading/Heading.cjs +61 -0
- package/dist/components/Heading/Heading.cjs.map +1 -0
- package/dist/components/Heading/Heading.js +61 -0
- package/dist/components/Heading/Heading.js.map +1 -0
- package/dist/components/Heading/Heading.themes.cjs +13 -0
- package/dist/components/Heading/Heading.themes.cjs.map +1 -0
- package/dist/components/Heading/Heading.themes.js +14 -0
- package/dist/components/Heading/Heading.themes.js.map +1 -0
- package/dist/components/IconButton/IconButton.cjs +109 -0
- package/dist/components/IconButton/IconButton.cjs.map +1 -0
- package/dist/components/IconButton/IconButton.js +109 -0
- package/dist/components/IconButton/IconButton.js.map +1 -0
- package/dist/components/IconButton/IconButton.themes.cjs +18 -0
- package/dist/components/IconButton/IconButton.themes.cjs.map +1 -0
- package/dist/components/IconButton/IconButton.themes.js +19 -0
- package/dist/components/IconButton/IconButton.themes.js.map +1 -0
- package/dist/components/IconButton/IconButton.vanilla.cjs +34 -0
- package/dist/components/IconButton/IconButton.vanilla.cjs.map +1 -0
- package/dist/components/IconButton/IconButton.vanilla.css.cjs +7 -0
- package/dist/components/IconButton/IconButton.vanilla.css.cjs.map +1 -0
- package/dist/components/IconButton/IconButton.vanilla.css.js +7 -0
- package/dist/components/IconButton/IconButton.vanilla.css.js.map +1 -0
- package/dist/components/IconButton/IconButton.vanilla.js +34 -0
- package/dist/components/IconButton/IconButton.vanilla.js.map +1 -0
- package/dist/components/Image/Image.cjs +10 -0
- package/dist/components/Image/Image.cjs.map +1 -0
- package/dist/components/Image/Image.js +10 -0
- package/dist/components/Image/Image.js.map +1 -0
- package/dist/components/Input/Input.cjs +379 -0
- package/dist/components/Input/Input.cjs.map +1 -0
- package/dist/components/Input/Input.js +379 -0
- package/dist/components/Input/Input.js.map +1 -0
- package/dist/components/Input/Input.theme.cjs +40 -0
- package/dist/components/Input/Input.theme.cjs.map +1 -0
- package/dist/components/Input/Input.theme.js +40 -0
- package/dist/components/Input/Input.theme.js.map +1 -0
- package/dist/components/Input/Input.themes.cjs +29 -0
- package/dist/components/Input/Input.themes.cjs.map +1 -0
- package/dist/components/Input/Input.themes.js +30 -0
- package/dist/components/Input/Input.themes.js.map +1 -0
- package/dist/components/Input/Input.vanilla.cjs +56 -0
- package/dist/components/Input/Input.vanilla.cjs.map +1 -0
- package/dist/components/Input/Input.vanilla.css.cjs +11 -0
- package/dist/components/Input/Input.vanilla.css.cjs.map +1 -0
- package/dist/components/Input/Input.vanilla.css.js +11 -0
- package/dist/components/Input/Input.vanilla.css.js.map +1 -0
- package/dist/components/Input/Input.vanilla.js +56 -0
- package/dist/components/Input/Input.vanilla.js.map +1 -0
- package/dist/components/Label/Label.cjs +36 -0
- package/dist/components/Label/Label.cjs.map +1 -0
- package/dist/components/Label/Label.js +19 -0
- package/dist/components/Label/Label.js.map +1 -0
- package/dist/components/Label/Label.vanilla.cjs +50 -0
- package/dist/components/Label/Label.vanilla.cjs.map +1 -0
- package/dist/components/Label/Label.vanilla.css.cjs +7 -0
- package/dist/components/Label/Label.vanilla.css.cjs.map +1 -0
- package/dist/components/Label/Label.vanilla.css.js +7 -0
- package/dist/components/Label/Label.vanilla.css.js.map +1 -0
- package/dist/components/Label/Label.vanilla.js +33 -0
- package/dist/components/Label/Label.vanilla.js.map +1 -0
- package/dist/components/Link/Link.cjs +88 -0
- package/dist/components/Link/Link.cjs.map +1 -0
- package/dist/components/Link/Link.js +88 -0
- package/dist/components/Link/Link.js.map +1 -0
- package/dist/components/Link/Link.themes.cjs +43 -0
- package/dist/components/Link/Link.themes.cjs.map +1 -0
- package/dist/components/Link/Link.themes.js +44 -0
- package/dist/components/Link/Link.themes.js.map +1 -0
- package/dist/components/List/List.cjs +169 -0
- package/dist/components/List/List.cjs.map +1 -0
- package/dist/components/List/List.js +169 -0
- package/dist/components/List/List.js.map +1 -0
- package/dist/components/List/List.themes.cjs +16 -0
- package/dist/components/List/List.themes.cjs.map +1 -0
- package/dist/components/List/List.themes.js +17 -0
- package/dist/components/List/List.themes.js.map +1 -0
- package/dist/components/Navigation/Navigation.cjs +173 -0
- package/dist/components/Navigation/Navigation.cjs.map +1 -0
- package/dist/components/Navigation/Navigation.js +173 -0
- package/dist/components/Navigation/Navigation.js.map +1 -0
- package/dist/components/Navigation/Navigation.themes.cjs +35 -0
- package/dist/components/Navigation/Navigation.themes.cjs.map +1 -0
- package/dist/components/Navigation/Navigation.themes.js +36 -0
- package/dist/components/Navigation/Navigation.themes.js.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.cjs +73 -0
- package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.js +56 -0
- package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -0
- package/dist/components/NavigationTree/NavigationTreeContainer.cjs +24 -0
- package/dist/components/NavigationTree/NavigationTreeContainer.cjs.map +1 -0
- package/dist/components/NavigationTree/NavigationTreeContainer.js +24 -0
- package/dist/components/NavigationTree/NavigationTreeContainer.js.map +1 -0
- package/dist/components/NavigationTree/NavigationTreeDrawer.cjs +19 -0
- package/dist/components/NavigationTree/NavigationTreeDrawer.cjs.map +1 -0
- package/dist/components/NavigationTree/NavigationTreeDrawer.js +19 -0
- package/dist/components/NavigationTree/NavigationTreeDrawer.js.map +1 -0
- package/dist/components/NavigationTree/NavigationTreeItem.cjs +105 -0
- package/dist/components/NavigationTree/NavigationTreeItem.cjs.map +1 -0
- package/dist/components/NavigationTree/NavigationTreeItem.js +105 -0
- package/dist/components/NavigationTree/NavigationTreeItem.js.map +1 -0
- package/dist/components/Overlay.cjs +10 -0
- package/dist/components/Overlay.cjs.map +1 -0
- package/dist/components/Overlay.js +10 -0
- package/dist/components/Overlay.js.map +1 -0
- package/dist/components/Panel/Panel.cjs +12 -0
- package/dist/components/Panel/Panel.cjs.map +1 -0
- package/dist/components/Panel/Panel.js +12 -0
- package/dist/components/Panel/Panel.js.map +1 -0
- package/dist/components/Panel/Panel.theme.cjs +11 -0
- package/dist/components/Panel/Panel.theme.cjs.map +1 -0
- package/dist/components/Panel/Panel.theme.js +11 -0
- package/dist/components/Panel/Panel.theme.js.map +1 -0
- package/dist/components/Panel/Panel.vanilla.cjs +27 -0
- package/dist/components/Panel/Panel.vanilla.cjs.map +1 -0
- package/dist/components/Panel/Panel.vanilla.css.cjs +6 -0
- package/dist/components/Panel/Panel.vanilla.css.cjs.map +1 -0
- package/dist/components/Panel/Panel.vanilla.css.js +6 -0
- package/dist/components/Panel/Panel.vanilla.css.js.map +1 -0
- package/dist/components/Panel/Panel.vanilla.js +27 -0
- package/dist/components/Panel/Panel.vanilla.js.map +1 -0
- package/dist/components/Paragraph/Paragraph.cjs +34 -0
- package/dist/components/Paragraph/Paragraph.cjs.map +1 -0
- package/dist/components/Paragraph/Paragraph.js +34 -0
- package/dist/components/Paragraph/Paragraph.js.map +1 -0
- package/dist/components/Paragraph/Paragraph.vanilla.cjs +34 -0
- package/dist/components/Paragraph/Paragraph.vanilla.cjs.map +1 -0
- package/dist/components/Paragraph/Paragraph.vanilla.css.cjs +7 -0
- package/dist/components/Paragraph/Paragraph.vanilla.css.cjs.map +1 -0
- package/dist/components/Paragraph/Paragraph.vanilla.css.js +7 -0
- package/dist/components/Paragraph/Paragraph.vanilla.css.js.map +1 -0
- package/dist/components/Paragraph/Paragraph.vanilla.js +34 -0
- package/dist/components/Paragraph/Paragraph.vanilla.js.map +1 -0
- package/dist/components/Popover/Popover.cjs +87 -0
- package/dist/components/Popover/Popover.cjs.map +1 -0
- package/dist/components/Popover/Popover.js +70 -0
- package/dist/components/Popover/Popover.js.map +1 -0
- package/dist/components/Radio/Radio.cjs +126 -0
- package/dist/components/Radio/Radio.cjs.map +1 -0
- package/dist/components/Radio/Radio.js +109 -0
- package/dist/components/Radio/Radio.js.map +1 -0
- package/dist/components/Radio/Radio.themes.cjs +27 -0
- package/dist/components/Radio/Radio.themes.cjs.map +1 -0
- package/dist/components/Radio/Radio.themes.js +28 -0
- package/dist/components/Radio/Radio.themes.js.map +1 -0
- package/dist/components/RadioAccordion/RadioAccordion.cjs +50 -0
- package/dist/components/RadioAccordion/RadioAccordion.cjs.map +1 -0
- package/dist/components/RadioAccordion/RadioAccordion.js +50 -0
- package/dist/components/RadioAccordion/RadioAccordion.js.map +1 -0
- package/dist/components/Select/Select.cjs +239 -0
- package/dist/components/Select/Select.cjs.map +1 -0
- package/dist/components/Select/Select.js +239 -0
- package/dist/components/Select/Select.js.map +1 -0
- package/dist/components/Select/Select.themes.cjs +24 -0
- package/dist/components/Select/Select.themes.cjs.map +1 -0
- package/dist/components/Select/Select.themes.js +25 -0
- package/dist/components/Select/Select.themes.js.map +1 -0
- package/dist/components/SidePanel/SidePanel.cjs +129 -0
- package/dist/components/SidePanel/SidePanel.cjs.map +1 -0
- package/dist/components/SidePanel/SidePanel.js +112 -0
- package/dist/components/SidePanel/SidePanel.js.map +1 -0
- package/dist/components/SidePanel/SidePanel.themes.cjs +12 -0
- package/dist/components/SidePanel/SidePanel.themes.cjs.map +1 -0
- package/dist/components/SidePanel/SidePanel.themes.js +13 -0
- package/dist/components/SidePanel/SidePanel.themes.js.map +1 -0
- package/dist/components/Skeleton/Skeleton.cjs +66 -0
- package/dist/components/Skeleton/Skeleton.cjs.map +1 -0
- package/dist/components/Skeleton/Skeleton.js +66 -0
- package/dist/components/Skeleton/Skeleton.js.map +1 -0
- package/dist/components/Skeleton/Skeleton.themes.cjs +14 -0
- package/dist/components/Skeleton/Skeleton.themes.cjs.map +1 -0
- package/dist/components/Skeleton/Skeleton.themes.js +15 -0
- package/dist/components/Skeleton/Skeleton.themes.js.map +1 -0
- package/dist/components/Switch/Switch.cjs +116 -0
- package/dist/components/Switch/Switch.cjs.map +1 -0
- package/dist/components/Switch/Switch.js +99 -0
- package/dist/components/Switch/Switch.js.map +1 -0
- package/dist/components/Switch/Switch.themes.cjs +19 -0
- package/dist/components/Switch/Switch.themes.cjs.map +1 -0
- package/dist/components/Switch/Switch.themes.js +20 -0
- package/dist/components/Switch/Switch.themes.js.map +1 -0
- package/dist/components/Table/Table.cjs +290 -0
- package/dist/components/Table/Table.cjs.map +1 -0
- package/dist/components/Table/Table.js +290 -0
- package/dist/components/Table/Table.js.map +1 -0
- package/dist/components/Table/Table.themes.cjs +33 -0
- package/dist/components/Table/Table.themes.cjs.map +1 -0
- package/dist/components/Table/Table.themes.js +34 -0
- package/dist/components/Table/Table.themes.js.map +1 -0
- package/dist/components/Tabs/Tabs.cjs +59 -0
- package/dist/components/Tabs/Tabs.cjs.map +1 -0
- package/dist/components/Tabs/Tabs.js +42 -0
- package/dist/components/Tabs/Tabs.js.map +1 -0
- package/dist/components/Text/Text.cjs +129 -0
- package/dist/components/Text/Text.cjs.map +1 -0
- package/dist/components/Text/Text.js +129 -0
- package/dist/components/Text/Text.js.map +1 -0
- package/dist/components/Text/Text.themes.cjs +21 -0
- package/dist/components/Text/Text.themes.cjs.map +1 -0
- package/dist/components/Text/Text.themes.js +22 -0
- package/dist/components/Text/Text.themes.js.map +1 -0
- package/dist/components/TextField/TextField.cjs +167 -0
- package/dist/components/TextField/TextField.cjs.map +1 -0
- package/dist/components/TextField/TextField.js +167 -0
- package/dist/components/TextField/TextField.js.map +1 -0
- package/dist/components/TextField/TextField.vanilla.cjs +168 -0
- package/dist/components/TextField/TextField.vanilla.cjs.map +1 -0
- package/dist/components/TextField/TextField.vanilla.js +168 -0
- package/dist/components/TextField/TextField.vanilla.js.map +1 -0
- package/dist/components/Textarea/Textarea.cjs +280 -0
- package/dist/components/Textarea/Textarea.cjs.map +1 -0
- package/dist/components/Textarea/Textarea.js +280 -0
- package/dist/components/Textarea/Textarea.js.map +1 -0
- package/dist/components/Textarea/Textarea.theme.cjs +40 -0
- package/dist/components/Textarea/Textarea.theme.cjs.map +1 -0
- package/dist/components/Textarea/Textarea.theme.js +40 -0
- package/dist/components/Textarea/Textarea.theme.js.map +1 -0
- package/dist/components/Textarea/Textarea.themes.cjs +29 -0
- package/dist/components/Textarea/Textarea.themes.cjs.map +1 -0
- package/dist/components/Textarea/Textarea.themes.js +30 -0
- package/dist/components/Textarea/Textarea.themes.js.map +1 -0
- package/dist/components/Textarea/Textarea.vanilla.cjs +97 -0
- package/dist/components/Textarea/Textarea.vanilla.cjs.map +1 -0
- package/dist/components/Textarea/Textarea.vanilla.css.cjs +11 -0
- package/dist/components/Textarea/Textarea.vanilla.css.cjs.map +1 -0
- package/dist/components/Textarea/Textarea.vanilla.css.js +11 -0
- package/dist/components/Textarea/Textarea.vanilla.css.js.map +1 -0
- package/dist/components/Textarea/Textarea.vanilla.js +97 -0
- package/dist/components/Textarea/Textarea.vanilla.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.cjs +104 -0
- package/dist/components/Tooltip/Tooltip.cjs.map +1 -0
- package/dist/components/Tooltip/Tooltip.js +87 -0
- package/dist/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.themes.cjs +14 -0
- package/dist/components/Tooltip/Tooltip.themes.cjs.map +1 -0
- package/dist/components/Tooltip/Tooltip.themes.js +15 -0
- package/dist/components/Tooltip/Tooltip.themes.js.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.cjs +23 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.js +6 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
- package/dist/faency.css +7643 -0
- package/dist/index.cjs +239 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +33642 -0
- package/dist/index.js +233 -0
- package/dist/index.js.map +1 -0
- package/dist/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.cjs +109 -0
- package/dist/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.cjs.map +1 -0
- package/dist/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js +109 -0
- package/dist/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js.map +1 -0
- package/dist/stitches.config.cjs +272 -0
- package/dist/stitches.config.cjs.map +1 -0
- package/dist/stitches.config.js +272 -0
- package/dist/stitches.config.js.map +1 -0
- package/dist/styles/cssProps.cjs +315 -0
- package/dist/styles/cssProps.cjs.map +1 -0
- package/dist/styles/cssProps.js +315 -0
- package/dist/styles/cssProps.js.map +1 -0
- package/dist/styles/themeContext.cjs +120 -0
- package/dist/styles/themeContext.cjs.map +1 -0
- package/dist/styles/themeContext.js +120 -0
- package/dist/styles/themeContext.js.map +1 -0
- package/dist/styles/themes.css.cjs +21 -0
- package/dist/styles/themes.css.cjs.map +1 -0
- package/dist/styles/themes.css.js +21 -0
- package/dist/styles/themes.css.js.map +1 -0
- package/dist/utils/getPrimaryColorInfo.cjs +11 -0
- package/dist/utils/getPrimaryColorInfo.cjs.map +1 -0
- package/dist/utils/getPrimaryColorInfo.js +12 -0
- package/dist/utils/getPrimaryColorInfo.js.map +1 -0
- package/package.json +184 -0
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const reactIcons = require("@radix-ui/react-icons");
|
|
5
|
+
const datepicker = require("@rehookify/datepicker");
|
|
6
|
+
const dateFns = require("date-fns");
|
|
7
|
+
const React = require("react");
|
|
8
|
+
const stitches_config = require("../../stitches.config.cjs");
|
|
9
|
+
const Box = require("../Box/Box.cjs");
|
|
10
|
+
const Button = require("../Button/Button.cjs");
|
|
11
|
+
const Flex = require("../Flex/Flex.cjs");
|
|
12
|
+
const Text = require("../Text/Text.cjs");
|
|
13
|
+
const CalendarGrid = stitches_config.styled("div", {
|
|
14
|
+
display: "grid",
|
|
15
|
+
alignItems: "center",
|
|
16
|
+
gap: "$1",
|
|
17
|
+
px: "$2",
|
|
18
|
+
borderLeft: "2px solid $buttonSecondaryBorder",
|
|
19
|
+
borderRight: "2px solid $buttonSecondaryBorder"
|
|
20
|
+
});
|
|
21
|
+
const SevenColGrid = stitches_config.styled(CalendarGrid, {
|
|
22
|
+
gridTemplateColumns: "repeat(7, 1fr)"
|
|
23
|
+
});
|
|
24
|
+
const ThreeColGrid = stitches_config.styled(CalendarGrid, {
|
|
25
|
+
gridTemplateColumns: "repeat(3, 1fr)",
|
|
26
|
+
height: "100%"
|
|
27
|
+
});
|
|
28
|
+
const StyledDiv = stitches_config.styled("div");
|
|
29
|
+
function Header({
|
|
30
|
+
centerButtonLabel,
|
|
31
|
+
centerButtonOnClick,
|
|
32
|
+
leftButtonProps,
|
|
33
|
+
rightButtonProps
|
|
34
|
+
}) {
|
|
35
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Flex.Flex, { align: "center", gap: "2", css: { px: "$2" }, children: [
|
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsx(Button.Button, { type: "button", ghost: true, variant: "secondary", ...leftButtonProps, children: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.ChevronLeftIcon, {}) }),
|
|
37
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
38
|
+
Button.Button,
|
|
39
|
+
{
|
|
40
|
+
type: "button",
|
|
41
|
+
role: "button",
|
|
42
|
+
tabIndex: 0,
|
|
43
|
+
css: { flexGrow: 1, textAlign: "center" },
|
|
44
|
+
ghost: true,
|
|
45
|
+
onClick: centerButtonOnClick,
|
|
46
|
+
variant: "secondary",
|
|
47
|
+
children: centerButtonLabel
|
|
48
|
+
}
|
|
49
|
+
),
|
|
50
|
+
/* @__PURE__ */ jsxRuntime.jsx(Button.Button, { type: "button", ghost: true, variant: "secondary", ...rightButtonProps, children: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.ChevronRightIcon, {}) })
|
|
51
|
+
] });
|
|
52
|
+
}
|
|
53
|
+
const DateTimePicker = React.forwardRef(
|
|
54
|
+
({ css, onFastTravelClick, onTimeButtonClick, showDatePresets, showTimePicker, ...config }, fowardedRef) => {
|
|
55
|
+
const {
|
|
56
|
+
data: { calendars, months, time, weekDays, years },
|
|
57
|
+
propGetters: {
|
|
58
|
+
addOffset,
|
|
59
|
+
dayButton,
|
|
60
|
+
monthButton,
|
|
61
|
+
nextYearsButton,
|
|
62
|
+
previousYearsButton,
|
|
63
|
+
subtractOffset,
|
|
64
|
+
timeButton,
|
|
65
|
+
yearButton
|
|
66
|
+
}
|
|
67
|
+
} = datepicker.useDatePicker(config);
|
|
68
|
+
const [page, setPage] = React.useState(0);
|
|
69
|
+
const { days, month, year } = calendars[0];
|
|
70
|
+
return /* @__PURE__ */ jsxRuntime.jsx(StyledDiv, { css, ref: fowardedRef, children: /* @__PURE__ */ jsxRuntime.jsxs(Flex.Flex, { direction: "column", gap: "2", css: { display: "inline-flex" }, children: [
|
|
71
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Flex.Flex, { children: [
|
|
72
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
73
|
+
Box.Box,
|
|
74
|
+
{
|
|
75
|
+
css: {
|
|
76
|
+
flex: 1,
|
|
77
|
+
minHeight: config.calendar?.mode === "fluid" ? "244px" : "280px",
|
|
78
|
+
minWidth: "268px"
|
|
79
|
+
},
|
|
80
|
+
children: [
|
|
81
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
82
|
+
Flex.Flex,
|
|
83
|
+
{
|
|
84
|
+
direction: "column",
|
|
85
|
+
css: { display: page === 0 ? "flex" : "none", height: "100%" },
|
|
86
|
+
children: [
|
|
87
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
88
|
+
Header,
|
|
89
|
+
{
|
|
90
|
+
centerButtonLabel: month,
|
|
91
|
+
centerButtonOnClick: () => setPage(1),
|
|
92
|
+
leftButtonProps: subtractOffset({ months: 1 }),
|
|
93
|
+
rightButtonProps: addOffset({ months: 1 })
|
|
94
|
+
}
|
|
95
|
+
),
|
|
96
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SevenColGrid, { children: [
|
|
97
|
+
weekDays.map((weekDay, index) => /* @__PURE__ */ jsxRuntime.jsx(Text.Text, { css: { lineHeight: "$sizes$6", textAlign: "center" }, children: weekDay }, index)),
|
|
98
|
+
days.map((d) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
99
|
+
Button.Button,
|
|
100
|
+
{
|
|
101
|
+
type: "button",
|
|
102
|
+
css: {
|
|
103
|
+
width: "32px",
|
|
104
|
+
px: 0,
|
|
105
|
+
color: !d.disabled && !d.inCurrentMonth && !d.selected ? "$textSubtle" : void 0,
|
|
106
|
+
fontWeight: d.now && !d.selected ? "$bold" : void 0,
|
|
107
|
+
textAlign: "center"
|
|
108
|
+
},
|
|
109
|
+
ghost: !d.selected,
|
|
110
|
+
variant: d.now || d.selected ? "primary" : "secondary",
|
|
111
|
+
...dayButton(d),
|
|
112
|
+
tabIndex: dayButton(d).disabled ? dayButton(d).tabIndex : 0,
|
|
113
|
+
children: d.day
|
|
114
|
+
},
|
|
115
|
+
d.$date.toString()
|
|
116
|
+
))
|
|
117
|
+
] })
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
),
|
|
121
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
122
|
+
Flex.Flex,
|
|
123
|
+
{
|
|
124
|
+
direction: "column",
|
|
125
|
+
css: { display: page === 1 ? "flex" : "none", height: "100%" },
|
|
126
|
+
children: [
|
|
127
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
128
|
+
Header,
|
|
129
|
+
{
|
|
130
|
+
centerButtonLabel: year,
|
|
131
|
+
centerButtonOnClick: () => setPage(2),
|
|
132
|
+
leftButtonProps: subtractOffset({ years: 1 }),
|
|
133
|
+
rightButtonProps: addOffset({ years: 1 })
|
|
134
|
+
}
|
|
135
|
+
),
|
|
136
|
+
/* @__PURE__ */ jsxRuntime.jsx(ThreeColGrid, { children: months.map((m) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
137
|
+
Button.Button,
|
|
138
|
+
{
|
|
139
|
+
type: "button",
|
|
140
|
+
css: {
|
|
141
|
+
px: 0,
|
|
142
|
+
fontWeight: m.now && !m.selected ? "$bold" : void 0,
|
|
143
|
+
textAlign: "center"
|
|
144
|
+
},
|
|
145
|
+
ghost: !m.selected,
|
|
146
|
+
variant: m.now || m.selected ? "primary" : "secondary",
|
|
147
|
+
...monthButton(m),
|
|
148
|
+
onClick: (evt) => {
|
|
149
|
+
setPage(0);
|
|
150
|
+
const fn = monthButton(m).onClick;
|
|
151
|
+
if (typeof fn !== "undefined") fn(evt);
|
|
152
|
+
},
|
|
153
|
+
tabIndex: monthButton(m).disabled ? monthButton(m).tabIndex : 0,
|
|
154
|
+
children: m.month
|
|
155
|
+
},
|
|
156
|
+
m.$date.toString()
|
|
157
|
+
)) })
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
),
|
|
161
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
162
|
+
Flex.Flex,
|
|
163
|
+
{
|
|
164
|
+
direction: "column",
|
|
165
|
+
css: { display: page === 2 ? "flex" : "none", height: "100%" },
|
|
166
|
+
children: [
|
|
167
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
168
|
+
Header,
|
|
169
|
+
{
|
|
170
|
+
centerButtonLabel: `${years[0].year} - ${years[years.length - 1].year}`,
|
|
171
|
+
centerButtonOnClick: () => setPage(0),
|
|
172
|
+
leftButtonProps: previousYearsButton(),
|
|
173
|
+
rightButtonProps: nextYearsButton()
|
|
174
|
+
}
|
|
175
|
+
),
|
|
176
|
+
/* @__PURE__ */ jsxRuntime.jsx(ThreeColGrid, { children: years.map((y) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
177
|
+
Button.Button,
|
|
178
|
+
{
|
|
179
|
+
type: "button",
|
|
180
|
+
css: {
|
|
181
|
+
px: 0,
|
|
182
|
+
fontWeight: y.now && !y.selected ? "$bold" : void 0,
|
|
183
|
+
textAlign: "center"
|
|
184
|
+
},
|
|
185
|
+
ghost: !y.selected,
|
|
186
|
+
variant: y.now || y.selected ? "primary" : "secondary",
|
|
187
|
+
...yearButton(y),
|
|
188
|
+
onClick: (evt) => {
|
|
189
|
+
setPage(0);
|
|
190
|
+
const fn = yearButton(y).onClick;
|
|
191
|
+
if (typeof fn !== "undefined") fn(evt);
|
|
192
|
+
},
|
|
193
|
+
tabIndex: yearButton(y).disabled ? yearButton(y).tabIndex : 0,
|
|
194
|
+
children: y.year
|
|
195
|
+
},
|
|
196
|
+
y.$date.toString()
|
|
197
|
+
)) })
|
|
198
|
+
]
|
|
199
|
+
}
|
|
200
|
+
)
|
|
201
|
+
]
|
|
202
|
+
}
|
|
203
|
+
),
|
|
204
|
+
showTimePicker ? /* @__PURE__ */ jsxRuntime.jsx(Box.Box, { css: { flex: 1, width: "90px", position: "relative", overflow: "auto" }, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
205
|
+
Flex.Flex,
|
|
206
|
+
{
|
|
207
|
+
direction: "column",
|
|
208
|
+
gap: "1",
|
|
209
|
+
css: { position: "absolute", top: 0, left: 0, height: "100%", width: "100%" },
|
|
210
|
+
children: [
|
|
211
|
+
/* @__PURE__ */ jsxRuntime.jsx(Text.Text, { css: { mt: "32px", ml: "8px", lineHeight: "$sizes$6" }, children: "Time" }),
|
|
212
|
+
/* @__PURE__ */ jsxRuntime.jsx(Flex.Flex, { direction: "column", gap: "1", css: { overflow: "auto", px: "$2" }, children: time.map((t) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
213
|
+
Button.Button,
|
|
214
|
+
{
|
|
215
|
+
type: "button",
|
|
216
|
+
css: {
|
|
217
|
+
px: "$2",
|
|
218
|
+
fontWeight: t.now && !t.selected ? "$bold" : void 0,
|
|
219
|
+
textAlign: "center"
|
|
220
|
+
},
|
|
221
|
+
ghost: !t.selected,
|
|
222
|
+
variant: t.now || t.selected ? "primary" : "secondary",
|
|
223
|
+
...timeButton(t),
|
|
224
|
+
onClick: (evt) => {
|
|
225
|
+
const fn = timeButton(t).onClick;
|
|
226
|
+
if (typeof fn !== "undefined") fn(evt);
|
|
227
|
+
if (typeof onTimeButtonClick !== "undefined") onTimeButtonClick();
|
|
228
|
+
},
|
|
229
|
+
tabIndex: timeButton(t).disabled ? timeButton(t).tabIndex : 0,
|
|
230
|
+
children: t.time
|
|
231
|
+
},
|
|
232
|
+
t.$date.toString()
|
|
233
|
+
)) })
|
|
234
|
+
]
|
|
235
|
+
}
|
|
236
|
+
) }) : void 0
|
|
237
|
+
] }),
|
|
238
|
+
showDatePresets ? /* @__PURE__ */ jsxRuntime.jsxs(Flex.Flex, { gap: "2", children: [
|
|
239
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
240
|
+
Button.Button,
|
|
241
|
+
{
|
|
242
|
+
type: "button",
|
|
243
|
+
css: { flex: "1 1 0" },
|
|
244
|
+
variant: "secondary",
|
|
245
|
+
onClick: () => {
|
|
246
|
+
config.onDatesChange([dateFns.addMonths(/* @__PURE__ */ new Date(), 1)]);
|
|
247
|
+
if (typeof onFastTravelClick !== "undefined") onFastTravelClick();
|
|
248
|
+
},
|
|
249
|
+
children: "Now + 1 M"
|
|
250
|
+
}
|
|
251
|
+
),
|
|
252
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
253
|
+
Button.Button,
|
|
254
|
+
{
|
|
255
|
+
type: "button",
|
|
256
|
+
css: { flex: "1 1 0" },
|
|
257
|
+
variant: "secondary",
|
|
258
|
+
onClick: () => {
|
|
259
|
+
config.onDatesChange([dateFns.addMonths(/* @__PURE__ */ new Date(), 3)]);
|
|
260
|
+
if (typeof onFastTravelClick !== "undefined") onFastTravelClick();
|
|
261
|
+
},
|
|
262
|
+
children: "Now + 3 M"
|
|
263
|
+
}
|
|
264
|
+
),
|
|
265
|
+
showTimePicker ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
266
|
+
Button.Button,
|
|
267
|
+
{
|
|
268
|
+
type: "button",
|
|
269
|
+
css: { flex: "1 1 0" },
|
|
270
|
+
variant: "secondary",
|
|
271
|
+
onClick: () => {
|
|
272
|
+
config.onDatesChange([dateFns.addYears(/* @__PURE__ */ new Date(), 1)]);
|
|
273
|
+
if (typeof onFastTravelClick !== "undefined") onFastTravelClick();
|
|
274
|
+
},
|
|
275
|
+
children: "Now + 1 Y"
|
|
276
|
+
}
|
|
277
|
+
) : void 0
|
|
278
|
+
] }) : void 0
|
|
279
|
+
] }) });
|
|
280
|
+
}
|
|
281
|
+
);
|
|
282
|
+
exports.DateTimePicker = DateTimePicker;
|
|
283
|
+
//# sourceMappingURL=DateTimePicker.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimePicker.cjs","sources":["../../../components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { ChevronLeftIcon, ChevronRightIcon } from '@radix-ui/react-icons';\nimport { DPDatesConfig, DPPropGetter, DPUserConfig, useDatePicker } from '@rehookify/datepicker';\nimport { addMonths, addYears } from 'date-fns';\nimport React, { useState } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { Button } from '../Button';\nimport { Flex } from '../Flex';\nimport { Text } from '../Text';\n\nconst CalendarGrid = styled('div', {\n display: 'grid',\n alignItems: 'center',\n gap: '$1',\n px: '$2',\n borderLeft: '2px solid $buttonSecondaryBorder',\n borderRight: '2px solid $buttonSecondaryBorder',\n});\n\nconst SevenColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(7, 1fr)',\n});\n\nconst ThreeColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(3, 1fr)',\n height: '100%',\n});\n\nconst StyledDiv = styled('div');\n\ntype HeaderProps = {\n centerButtonLabel: string;\n centerButtonOnClick: () => void;\n leftButtonProps: DPPropGetter;\n rightButtonProps: DPPropGetter;\n};\n\nfunction Header({\n centerButtonLabel,\n centerButtonOnClick,\n leftButtonProps,\n rightButtonProps,\n}: HeaderProps) {\n return (\n <Flex align=\"center\" gap=\"2\" css={{ px: '$2' }}>\n <Button type=\"button\" ghost variant=\"secondary\" {...leftButtonProps}>\n <ChevronLeftIcon />\n </Button>\n <Button\n type=\"button\"\n role=\"button\"\n tabIndex={0}\n css={{ flexGrow: 1, textAlign: 'center' }}\n ghost\n onClick={centerButtonOnClick}\n variant=\"secondary\"\n >\n {centerButtonLabel}\n </Button>\n <Button type=\"button\" ghost variant=\"secondary\" {...rightButtonProps}>\n <ChevronRightIcon />\n </Button>\n </Flex>\n );\n}\n\ntype CustomDPDatesConfig = Omit<DPDatesConfig, 'mode'>;\n\ntype CustomDPUserConfig = Omit<DPUserConfig, 'dates'> & {\n dates?: Partial<CustomDPDatesConfig>;\n};\n\nexport type DateTimePickerProps = CustomDPUserConfig & {\n css?: CSS;\n onFastTravelClick?: () => void;\n onTimeButtonClick?: () => void;\n showDatePresets?: boolean;\n showTimePicker?: boolean;\n};\n\nexport type DateTimePickerVariants = VariantProps<DateTimePickerProps>;\n\nexport const DateTimePicker = React.forwardRef<\n React.ElementRef<typeof StyledDiv>,\n DateTimePickerProps\n>(\n (\n { css, onFastTravelClick, onTimeButtonClick, showDatePresets, showTimePicker, ...config },\n fowardedRef,\n ) => {\n const {\n data: { calendars, months, time, weekDays, years },\n propGetters: {\n addOffset,\n dayButton,\n monthButton,\n nextYearsButton,\n previousYearsButton,\n subtractOffset,\n timeButton,\n yearButton,\n },\n } = useDatePicker(config);\n\n const [page, setPage] = useState<number>(0);\n\n const { days, month, year } = calendars[0];\n\n return (\n <StyledDiv css={css} ref={fowardedRef}>\n <Flex direction=\"column\" gap=\"2\" css={{ display: 'inline-flex' }}>\n <Flex>\n <Box\n css={{\n flex: 1,\n minHeight: config.calendar?.mode === 'fluid' ? '244px' : '280px',\n minWidth: '268px',\n }}\n >\n <Flex\n direction=\"column\"\n css={{ display: page === 0 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={month}\n centerButtonOnClick={() => setPage(1)}\n leftButtonProps={subtractOffset({ months: 1 })}\n rightButtonProps={addOffset({ months: 1 })}\n />\n <SevenColGrid>\n {weekDays.map((weekDay, index) => (\n <Text key={index} css={{ lineHeight: '$sizes$6', textAlign: 'center' }}>\n {weekDay}\n </Text>\n ))}\n {days.map((d) => (\n <Button\n key={d.$date.toString()}\n type=\"button\"\n css={{\n width: '32px',\n px: 0,\n color:\n !d.disabled && !d.inCurrentMonth && !d.selected\n ? '$textSubtle'\n : undefined,\n fontWeight: d.now && !d.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!d.selected}\n variant={d.now || d.selected ? 'primary' : 'secondary'}\n {...dayButton(d)}\n tabIndex={dayButton(d).disabled ? dayButton(d).tabIndex : 0}\n >\n {d.day}\n </Button>\n ))}\n </SevenColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 1 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={year}\n centerButtonOnClick={() => setPage(2)}\n leftButtonProps={subtractOffset({ years: 1 })}\n rightButtonProps={addOffset({ years: 1 })}\n />\n <ThreeColGrid>\n {months.map((m) => (\n <Button\n key={m.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: m.now && !m.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!m.selected}\n variant={m.now || m.selected ? 'primary' : 'secondary'}\n {...monthButton(m)}\n onClick={(evt) => {\n setPage(0);\n const fn = monthButton(m).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={monthButton(m).disabled ? monthButton(m).tabIndex : 0}\n >\n {m.month}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 2 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={`${years[0].year} - ${years[years.length - 1].year}`}\n centerButtonOnClick={() => setPage(0)}\n leftButtonProps={previousYearsButton()}\n rightButtonProps={nextYearsButton()}\n />\n <ThreeColGrid>\n {years.map((y) => (\n <Button\n key={y.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: y.now && !y.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!y.selected}\n variant={y.now || y.selected ? 'primary' : 'secondary'}\n {...yearButton(y)}\n onClick={(evt) => {\n setPage(0);\n const fn = yearButton(y).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={yearButton(y).disabled ? yearButton(y).tabIndex : 0}\n >\n {y.year}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n </Box>\n\n {showTimePicker ? (\n <Box css={{ flex: 1, width: '90px', position: 'relative', overflow: 'auto' }}>\n <Flex\n direction=\"column\"\n gap=\"1\"\n css={{ position: 'absolute', top: 0, left: 0, height: '100%', width: '100%' }}\n >\n <Text css={{ mt: '32px', ml: '8px', lineHeight: '$sizes$6' }}>Time</Text>\n <Flex direction=\"column\" gap=\"1\" css={{ overflow: 'auto', px: '$2' }}>\n {time.map((t) => (\n <Button\n key={t.$date.toString()}\n type=\"button\"\n css={{\n px: '$2',\n fontWeight: t.now && !t.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!t.selected}\n variant={t.now || t.selected ? 'primary' : 'secondary'}\n {...timeButton(t)}\n onClick={(evt) => {\n const fn = timeButton(t).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n if (typeof onTimeButtonClick !== 'undefined') onTimeButtonClick();\n }}\n tabIndex={timeButton(t).disabled ? timeButton(t).tabIndex : 0}\n >\n {t.time}\n </Button>\n ))}\n </Flex>\n </Flex>\n </Box>\n ) : undefined}\n </Flex>\n\n {showDatePresets ? (\n <Flex gap=\"2\">\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 M\n </Button>\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 3)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 3 M\n </Button>\n {showTimePicker ? (\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addYears(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 Y\n </Button>\n ) : undefined}\n </Flex>\n ) : undefined}\n </Flex>\n </StyledDiv>\n );\n },\n);\n"],"names":["styled","jsxs","Flex","jsx","Button","ChevronLeftIcon","ChevronRightIcon","useDatePicker","useState","Box","Text","addMonths","addYears"],"mappings":"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"}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronLeftIcon, ChevronRightIcon } from "@radix-ui/react-icons";
|
|
3
|
+
import { useDatePicker } from "@rehookify/datepicker";
|
|
4
|
+
import { addMonths, addYears } from "date-fns";
|
|
5
|
+
import React, { useState } from "react";
|
|
6
|
+
import { styled } from "../../stitches.config.js";
|
|
7
|
+
import { Box } from "../Box/Box.js";
|
|
8
|
+
import { Button } from "../Button/Button.js";
|
|
9
|
+
import { Flex } from "../Flex/Flex.js";
|
|
10
|
+
import { Text } from "../Text/Text.js";
|
|
11
|
+
const CalendarGrid = styled("div", {
|
|
12
|
+
display: "grid",
|
|
13
|
+
alignItems: "center",
|
|
14
|
+
gap: "$1",
|
|
15
|
+
px: "$2",
|
|
16
|
+
borderLeft: "2px solid $buttonSecondaryBorder",
|
|
17
|
+
borderRight: "2px solid $buttonSecondaryBorder"
|
|
18
|
+
});
|
|
19
|
+
const SevenColGrid = styled(CalendarGrid, {
|
|
20
|
+
gridTemplateColumns: "repeat(7, 1fr)"
|
|
21
|
+
});
|
|
22
|
+
const ThreeColGrid = styled(CalendarGrid, {
|
|
23
|
+
gridTemplateColumns: "repeat(3, 1fr)",
|
|
24
|
+
height: "100%"
|
|
25
|
+
});
|
|
26
|
+
const StyledDiv = styled("div");
|
|
27
|
+
function Header({
|
|
28
|
+
centerButtonLabel,
|
|
29
|
+
centerButtonOnClick,
|
|
30
|
+
leftButtonProps,
|
|
31
|
+
rightButtonProps
|
|
32
|
+
}) {
|
|
33
|
+
return /* @__PURE__ */ jsxs(Flex, { align: "center", gap: "2", css: { px: "$2" }, children: [
|
|
34
|
+
/* @__PURE__ */ jsx(Button, { type: "button", ghost: true, variant: "secondary", ...leftButtonProps, children: /* @__PURE__ */ jsx(ChevronLeftIcon, {}) }),
|
|
35
|
+
/* @__PURE__ */ jsx(
|
|
36
|
+
Button,
|
|
37
|
+
{
|
|
38
|
+
type: "button",
|
|
39
|
+
role: "button",
|
|
40
|
+
tabIndex: 0,
|
|
41
|
+
css: { flexGrow: 1, textAlign: "center" },
|
|
42
|
+
ghost: true,
|
|
43
|
+
onClick: centerButtonOnClick,
|
|
44
|
+
variant: "secondary",
|
|
45
|
+
children: centerButtonLabel
|
|
46
|
+
}
|
|
47
|
+
),
|
|
48
|
+
/* @__PURE__ */ jsx(Button, { type: "button", ghost: true, variant: "secondary", ...rightButtonProps, children: /* @__PURE__ */ jsx(ChevronRightIcon, {}) })
|
|
49
|
+
] });
|
|
50
|
+
}
|
|
51
|
+
const DateTimePicker = React.forwardRef(
|
|
52
|
+
({ css, onFastTravelClick, onTimeButtonClick, showDatePresets, showTimePicker, ...config }, fowardedRef) => {
|
|
53
|
+
const {
|
|
54
|
+
data: { calendars, months, time, weekDays, years },
|
|
55
|
+
propGetters: {
|
|
56
|
+
addOffset,
|
|
57
|
+
dayButton,
|
|
58
|
+
monthButton,
|
|
59
|
+
nextYearsButton,
|
|
60
|
+
previousYearsButton,
|
|
61
|
+
subtractOffset,
|
|
62
|
+
timeButton,
|
|
63
|
+
yearButton
|
|
64
|
+
}
|
|
65
|
+
} = useDatePicker(config);
|
|
66
|
+
const [page, setPage] = useState(0);
|
|
67
|
+
const { days, month, year } = calendars[0];
|
|
68
|
+
return /* @__PURE__ */ jsx(StyledDiv, { css, ref: fowardedRef, children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "2", css: { display: "inline-flex" }, children: [
|
|
69
|
+
/* @__PURE__ */ jsxs(Flex, { children: [
|
|
70
|
+
/* @__PURE__ */ jsxs(
|
|
71
|
+
Box,
|
|
72
|
+
{
|
|
73
|
+
css: {
|
|
74
|
+
flex: 1,
|
|
75
|
+
minHeight: config.calendar?.mode === "fluid" ? "244px" : "280px",
|
|
76
|
+
minWidth: "268px"
|
|
77
|
+
},
|
|
78
|
+
children: [
|
|
79
|
+
/* @__PURE__ */ jsxs(
|
|
80
|
+
Flex,
|
|
81
|
+
{
|
|
82
|
+
direction: "column",
|
|
83
|
+
css: { display: page === 0 ? "flex" : "none", height: "100%" },
|
|
84
|
+
children: [
|
|
85
|
+
/* @__PURE__ */ jsx(
|
|
86
|
+
Header,
|
|
87
|
+
{
|
|
88
|
+
centerButtonLabel: month,
|
|
89
|
+
centerButtonOnClick: () => setPage(1),
|
|
90
|
+
leftButtonProps: subtractOffset({ months: 1 }),
|
|
91
|
+
rightButtonProps: addOffset({ months: 1 })
|
|
92
|
+
}
|
|
93
|
+
),
|
|
94
|
+
/* @__PURE__ */ jsxs(SevenColGrid, { children: [
|
|
95
|
+
weekDays.map((weekDay, index) => /* @__PURE__ */ jsx(Text, { css: { lineHeight: "$sizes$6", textAlign: "center" }, children: weekDay }, index)),
|
|
96
|
+
days.map((d) => /* @__PURE__ */ jsx(
|
|
97
|
+
Button,
|
|
98
|
+
{
|
|
99
|
+
type: "button",
|
|
100
|
+
css: {
|
|
101
|
+
width: "32px",
|
|
102
|
+
px: 0,
|
|
103
|
+
color: !d.disabled && !d.inCurrentMonth && !d.selected ? "$textSubtle" : void 0,
|
|
104
|
+
fontWeight: d.now && !d.selected ? "$bold" : void 0,
|
|
105
|
+
textAlign: "center"
|
|
106
|
+
},
|
|
107
|
+
ghost: !d.selected,
|
|
108
|
+
variant: d.now || d.selected ? "primary" : "secondary",
|
|
109
|
+
...dayButton(d),
|
|
110
|
+
tabIndex: dayButton(d).disabled ? dayButton(d).tabIndex : 0,
|
|
111
|
+
children: d.day
|
|
112
|
+
},
|
|
113
|
+
d.$date.toString()
|
|
114
|
+
))
|
|
115
|
+
] })
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
),
|
|
119
|
+
/* @__PURE__ */ jsxs(
|
|
120
|
+
Flex,
|
|
121
|
+
{
|
|
122
|
+
direction: "column",
|
|
123
|
+
css: { display: page === 1 ? "flex" : "none", height: "100%" },
|
|
124
|
+
children: [
|
|
125
|
+
/* @__PURE__ */ jsx(
|
|
126
|
+
Header,
|
|
127
|
+
{
|
|
128
|
+
centerButtonLabel: year,
|
|
129
|
+
centerButtonOnClick: () => setPage(2),
|
|
130
|
+
leftButtonProps: subtractOffset({ years: 1 }),
|
|
131
|
+
rightButtonProps: addOffset({ years: 1 })
|
|
132
|
+
}
|
|
133
|
+
),
|
|
134
|
+
/* @__PURE__ */ jsx(ThreeColGrid, { children: months.map((m) => /* @__PURE__ */ jsx(
|
|
135
|
+
Button,
|
|
136
|
+
{
|
|
137
|
+
type: "button",
|
|
138
|
+
css: {
|
|
139
|
+
px: 0,
|
|
140
|
+
fontWeight: m.now && !m.selected ? "$bold" : void 0,
|
|
141
|
+
textAlign: "center"
|
|
142
|
+
},
|
|
143
|
+
ghost: !m.selected,
|
|
144
|
+
variant: m.now || m.selected ? "primary" : "secondary",
|
|
145
|
+
...monthButton(m),
|
|
146
|
+
onClick: (evt) => {
|
|
147
|
+
setPage(0);
|
|
148
|
+
const fn = monthButton(m).onClick;
|
|
149
|
+
if (typeof fn !== "undefined") fn(evt);
|
|
150
|
+
},
|
|
151
|
+
tabIndex: monthButton(m).disabled ? monthButton(m).tabIndex : 0,
|
|
152
|
+
children: m.month
|
|
153
|
+
},
|
|
154
|
+
m.$date.toString()
|
|
155
|
+
)) })
|
|
156
|
+
]
|
|
157
|
+
}
|
|
158
|
+
),
|
|
159
|
+
/* @__PURE__ */ jsxs(
|
|
160
|
+
Flex,
|
|
161
|
+
{
|
|
162
|
+
direction: "column",
|
|
163
|
+
css: { display: page === 2 ? "flex" : "none", height: "100%" },
|
|
164
|
+
children: [
|
|
165
|
+
/* @__PURE__ */ jsx(
|
|
166
|
+
Header,
|
|
167
|
+
{
|
|
168
|
+
centerButtonLabel: `${years[0].year} - ${years[years.length - 1].year}`,
|
|
169
|
+
centerButtonOnClick: () => setPage(0),
|
|
170
|
+
leftButtonProps: previousYearsButton(),
|
|
171
|
+
rightButtonProps: nextYearsButton()
|
|
172
|
+
}
|
|
173
|
+
),
|
|
174
|
+
/* @__PURE__ */ jsx(ThreeColGrid, { children: years.map((y) => /* @__PURE__ */ jsx(
|
|
175
|
+
Button,
|
|
176
|
+
{
|
|
177
|
+
type: "button",
|
|
178
|
+
css: {
|
|
179
|
+
px: 0,
|
|
180
|
+
fontWeight: y.now && !y.selected ? "$bold" : void 0,
|
|
181
|
+
textAlign: "center"
|
|
182
|
+
},
|
|
183
|
+
ghost: !y.selected,
|
|
184
|
+
variant: y.now || y.selected ? "primary" : "secondary",
|
|
185
|
+
...yearButton(y),
|
|
186
|
+
onClick: (evt) => {
|
|
187
|
+
setPage(0);
|
|
188
|
+
const fn = yearButton(y).onClick;
|
|
189
|
+
if (typeof fn !== "undefined") fn(evt);
|
|
190
|
+
},
|
|
191
|
+
tabIndex: yearButton(y).disabled ? yearButton(y).tabIndex : 0,
|
|
192
|
+
children: y.year
|
|
193
|
+
},
|
|
194
|
+
y.$date.toString()
|
|
195
|
+
)) })
|
|
196
|
+
]
|
|
197
|
+
}
|
|
198
|
+
)
|
|
199
|
+
]
|
|
200
|
+
}
|
|
201
|
+
),
|
|
202
|
+
showTimePicker ? /* @__PURE__ */ jsx(Box, { css: { flex: 1, width: "90px", position: "relative", overflow: "auto" }, children: /* @__PURE__ */ jsxs(
|
|
203
|
+
Flex,
|
|
204
|
+
{
|
|
205
|
+
direction: "column",
|
|
206
|
+
gap: "1",
|
|
207
|
+
css: { position: "absolute", top: 0, left: 0, height: "100%", width: "100%" },
|
|
208
|
+
children: [
|
|
209
|
+
/* @__PURE__ */ jsx(Text, { css: { mt: "32px", ml: "8px", lineHeight: "$sizes$6" }, children: "Time" }),
|
|
210
|
+
/* @__PURE__ */ jsx(Flex, { direction: "column", gap: "1", css: { overflow: "auto", px: "$2" }, children: time.map((t) => /* @__PURE__ */ jsx(
|
|
211
|
+
Button,
|
|
212
|
+
{
|
|
213
|
+
type: "button",
|
|
214
|
+
css: {
|
|
215
|
+
px: "$2",
|
|
216
|
+
fontWeight: t.now && !t.selected ? "$bold" : void 0,
|
|
217
|
+
textAlign: "center"
|
|
218
|
+
},
|
|
219
|
+
ghost: !t.selected,
|
|
220
|
+
variant: t.now || t.selected ? "primary" : "secondary",
|
|
221
|
+
...timeButton(t),
|
|
222
|
+
onClick: (evt) => {
|
|
223
|
+
const fn = timeButton(t).onClick;
|
|
224
|
+
if (typeof fn !== "undefined") fn(evt);
|
|
225
|
+
if (typeof onTimeButtonClick !== "undefined") onTimeButtonClick();
|
|
226
|
+
},
|
|
227
|
+
tabIndex: timeButton(t).disabled ? timeButton(t).tabIndex : 0,
|
|
228
|
+
children: t.time
|
|
229
|
+
},
|
|
230
|
+
t.$date.toString()
|
|
231
|
+
)) })
|
|
232
|
+
]
|
|
233
|
+
}
|
|
234
|
+
) }) : void 0
|
|
235
|
+
] }),
|
|
236
|
+
showDatePresets ? /* @__PURE__ */ jsxs(Flex, { gap: "2", children: [
|
|
237
|
+
/* @__PURE__ */ jsx(
|
|
238
|
+
Button,
|
|
239
|
+
{
|
|
240
|
+
type: "button",
|
|
241
|
+
css: { flex: "1 1 0" },
|
|
242
|
+
variant: "secondary",
|
|
243
|
+
onClick: () => {
|
|
244
|
+
config.onDatesChange([addMonths(/* @__PURE__ */ new Date(), 1)]);
|
|
245
|
+
if (typeof onFastTravelClick !== "undefined") onFastTravelClick();
|
|
246
|
+
},
|
|
247
|
+
children: "Now + 1 M"
|
|
248
|
+
}
|
|
249
|
+
),
|
|
250
|
+
/* @__PURE__ */ jsx(
|
|
251
|
+
Button,
|
|
252
|
+
{
|
|
253
|
+
type: "button",
|
|
254
|
+
css: { flex: "1 1 0" },
|
|
255
|
+
variant: "secondary",
|
|
256
|
+
onClick: () => {
|
|
257
|
+
config.onDatesChange([addMonths(/* @__PURE__ */ new Date(), 3)]);
|
|
258
|
+
if (typeof onFastTravelClick !== "undefined") onFastTravelClick();
|
|
259
|
+
},
|
|
260
|
+
children: "Now + 3 M"
|
|
261
|
+
}
|
|
262
|
+
),
|
|
263
|
+
showTimePicker ? /* @__PURE__ */ jsx(
|
|
264
|
+
Button,
|
|
265
|
+
{
|
|
266
|
+
type: "button",
|
|
267
|
+
css: { flex: "1 1 0" },
|
|
268
|
+
variant: "secondary",
|
|
269
|
+
onClick: () => {
|
|
270
|
+
config.onDatesChange([addYears(/* @__PURE__ */ new Date(), 1)]);
|
|
271
|
+
if (typeof onFastTravelClick !== "undefined") onFastTravelClick();
|
|
272
|
+
},
|
|
273
|
+
children: "Now + 1 Y"
|
|
274
|
+
}
|
|
275
|
+
) : void 0
|
|
276
|
+
] }) : void 0
|
|
277
|
+
] }) });
|
|
278
|
+
}
|
|
279
|
+
);
|
|
280
|
+
export {
|
|
281
|
+
DateTimePicker
|
|
282
|
+
};
|
|
283
|
+
//# sourceMappingURL=DateTimePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimePicker.js","sources":["../../../components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { ChevronLeftIcon, ChevronRightIcon } from '@radix-ui/react-icons';\nimport { DPDatesConfig, DPPropGetter, DPUserConfig, useDatePicker } from '@rehookify/datepicker';\nimport { addMonths, addYears } from 'date-fns';\nimport React, { useState } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { Button } from '../Button';\nimport { Flex } from '../Flex';\nimport { Text } from '../Text';\n\nconst CalendarGrid = styled('div', {\n display: 'grid',\n alignItems: 'center',\n gap: '$1',\n px: '$2',\n borderLeft: '2px solid $buttonSecondaryBorder',\n borderRight: '2px solid $buttonSecondaryBorder',\n});\n\nconst SevenColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(7, 1fr)',\n});\n\nconst ThreeColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(3, 1fr)',\n height: '100%',\n});\n\nconst StyledDiv = styled('div');\n\ntype HeaderProps = {\n centerButtonLabel: string;\n centerButtonOnClick: () => void;\n leftButtonProps: DPPropGetter;\n rightButtonProps: DPPropGetter;\n};\n\nfunction Header({\n centerButtonLabel,\n centerButtonOnClick,\n leftButtonProps,\n rightButtonProps,\n}: HeaderProps) {\n return (\n <Flex align=\"center\" gap=\"2\" css={{ px: '$2' }}>\n <Button type=\"button\" ghost variant=\"secondary\" {...leftButtonProps}>\n <ChevronLeftIcon />\n </Button>\n <Button\n type=\"button\"\n role=\"button\"\n tabIndex={0}\n css={{ flexGrow: 1, textAlign: 'center' }}\n ghost\n onClick={centerButtonOnClick}\n variant=\"secondary\"\n >\n {centerButtonLabel}\n </Button>\n <Button type=\"button\" ghost variant=\"secondary\" {...rightButtonProps}>\n <ChevronRightIcon />\n </Button>\n </Flex>\n );\n}\n\ntype CustomDPDatesConfig = Omit<DPDatesConfig, 'mode'>;\n\ntype CustomDPUserConfig = Omit<DPUserConfig, 'dates'> & {\n dates?: Partial<CustomDPDatesConfig>;\n};\n\nexport type DateTimePickerProps = CustomDPUserConfig & {\n css?: CSS;\n onFastTravelClick?: () => void;\n onTimeButtonClick?: () => void;\n showDatePresets?: boolean;\n showTimePicker?: boolean;\n};\n\nexport type DateTimePickerVariants = VariantProps<DateTimePickerProps>;\n\nexport const DateTimePicker = React.forwardRef<\n React.ElementRef<typeof StyledDiv>,\n DateTimePickerProps\n>(\n (\n { css, onFastTravelClick, onTimeButtonClick, showDatePresets, showTimePicker, ...config },\n fowardedRef,\n ) => {\n const {\n data: { calendars, months, time, weekDays, years },\n propGetters: {\n addOffset,\n dayButton,\n monthButton,\n nextYearsButton,\n previousYearsButton,\n subtractOffset,\n timeButton,\n yearButton,\n },\n } = useDatePicker(config);\n\n const [page, setPage] = useState<number>(0);\n\n const { days, month, year } = calendars[0];\n\n return (\n <StyledDiv css={css} ref={fowardedRef}>\n <Flex direction=\"column\" gap=\"2\" css={{ display: 'inline-flex' }}>\n <Flex>\n <Box\n css={{\n flex: 1,\n minHeight: config.calendar?.mode === 'fluid' ? '244px' : '280px',\n minWidth: '268px',\n }}\n >\n <Flex\n direction=\"column\"\n css={{ display: page === 0 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={month}\n centerButtonOnClick={() => setPage(1)}\n leftButtonProps={subtractOffset({ months: 1 })}\n rightButtonProps={addOffset({ months: 1 })}\n />\n <SevenColGrid>\n {weekDays.map((weekDay, index) => (\n <Text key={index} css={{ lineHeight: '$sizes$6', textAlign: 'center' }}>\n {weekDay}\n </Text>\n ))}\n {days.map((d) => (\n <Button\n key={d.$date.toString()}\n type=\"button\"\n css={{\n width: '32px',\n px: 0,\n color:\n !d.disabled && !d.inCurrentMonth && !d.selected\n ? '$textSubtle'\n : undefined,\n fontWeight: d.now && !d.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!d.selected}\n variant={d.now || d.selected ? 'primary' : 'secondary'}\n {...dayButton(d)}\n tabIndex={dayButton(d).disabled ? dayButton(d).tabIndex : 0}\n >\n {d.day}\n </Button>\n ))}\n </SevenColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 1 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={year}\n centerButtonOnClick={() => setPage(2)}\n leftButtonProps={subtractOffset({ years: 1 })}\n rightButtonProps={addOffset({ years: 1 })}\n />\n <ThreeColGrid>\n {months.map((m) => (\n <Button\n key={m.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: m.now && !m.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!m.selected}\n variant={m.now || m.selected ? 'primary' : 'secondary'}\n {...monthButton(m)}\n onClick={(evt) => {\n setPage(0);\n const fn = monthButton(m).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={monthButton(m).disabled ? monthButton(m).tabIndex : 0}\n >\n {m.month}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 2 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={`${years[0].year} - ${years[years.length - 1].year}`}\n centerButtonOnClick={() => setPage(0)}\n leftButtonProps={previousYearsButton()}\n rightButtonProps={nextYearsButton()}\n />\n <ThreeColGrid>\n {years.map((y) => (\n <Button\n key={y.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: y.now && !y.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!y.selected}\n variant={y.now || y.selected ? 'primary' : 'secondary'}\n {...yearButton(y)}\n onClick={(evt) => {\n setPage(0);\n const fn = yearButton(y).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={yearButton(y).disabled ? yearButton(y).tabIndex : 0}\n >\n {y.year}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n </Box>\n\n {showTimePicker ? (\n <Box css={{ flex: 1, width: '90px', position: 'relative', overflow: 'auto' }}>\n <Flex\n direction=\"column\"\n gap=\"1\"\n css={{ position: 'absolute', top: 0, left: 0, height: '100%', width: '100%' }}\n >\n <Text css={{ mt: '32px', ml: '8px', lineHeight: '$sizes$6' }}>Time</Text>\n <Flex direction=\"column\" gap=\"1\" css={{ overflow: 'auto', px: '$2' }}>\n {time.map((t) => (\n <Button\n key={t.$date.toString()}\n type=\"button\"\n css={{\n px: '$2',\n fontWeight: t.now && !t.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!t.selected}\n variant={t.now || t.selected ? 'primary' : 'secondary'}\n {...timeButton(t)}\n onClick={(evt) => {\n const fn = timeButton(t).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n if (typeof onTimeButtonClick !== 'undefined') onTimeButtonClick();\n }}\n tabIndex={timeButton(t).disabled ? timeButton(t).tabIndex : 0}\n >\n {t.time}\n </Button>\n ))}\n </Flex>\n </Flex>\n </Box>\n ) : undefined}\n </Flex>\n\n {showDatePresets ? (\n <Flex gap=\"2\">\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 M\n </Button>\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 3)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 3 M\n </Button>\n {showTimePicker ? (\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addYears(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 Y\n </Button>\n ) : undefined}\n </Flex>\n ) : undefined}\n </Flex>\n </StyledDiv>\n );\n },\n);\n"],"names":[],"mappings":"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"}
|