@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,129 @@
|
|
|
1
|
+
import { styled } from "../../stitches.config.js";
|
|
2
|
+
const Text = styled("span", {
|
|
3
|
+
// Reset
|
|
4
|
+
lineHeight: "1",
|
|
5
|
+
margin: "0",
|
|
6
|
+
fontFamily: "$rubik",
|
|
7
|
+
fontVariantNumeric: "tabular-nums",
|
|
8
|
+
display: "inline-block",
|
|
9
|
+
variants: {
|
|
10
|
+
size: {
|
|
11
|
+
"0": {
|
|
12
|
+
fontSize: "$0"
|
|
13
|
+
},
|
|
14
|
+
"1": {
|
|
15
|
+
fontSize: "$1"
|
|
16
|
+
},
|
|
17
|
+
"2": {
|
|
18
|
+
fontSize: "$2"
|
|
19
|
+
},
|
|
20
|
+
"3": {
|
|
21
|
+
fontSize: "$3"
|
|
22
|
+
},
|
|
23
|
+
"4": {
|
|
24
|
+
fontSize: "$4"
|
|
25
|
+
},
|
|
26
|
+
"5": {
|
|
27
|
+
fontSize: "$5"
|
|
28
|
+
},
|
|
29
|
+
"6": {
|
|
30
|
+
fontSize: "$6"
|
|
31
|
+
},
|
|
32
|
+
"7": {
|
|
33
|
+
fontSize: "$7"
|
|
34
|
+
},
|
|
35
|
+
"8": {
|
|
36
|
+
fontSize: "$8"
|
|
37
|
+
},
|
|
38
|
+
"9": {
|
|
39
|
+
fontSize: "$9"
|
|
40
|
+
},
|
|
41
|
+
"10": {
|
|
42
|
+
fontSize: "$10"
|
|
43
|
+
},
|
|
44
|
+
"11": {
|
|
45
|
+
fontSize: "$11"
|
|
46
|
+
},
|
|
47
|
+
"12": {
|
|
48
|
+
fontSize: "$12"
|
|
49
|
+
},
|
|
50
|
+
inherit: {
|
|
51
|
+
fontSize: "inherit"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
weight: {
|
|
55
|
+
light: {
|
|
56
|
+
fontWeight: "$light"
|
|
57
|
+
},
|
|
58
|
+
regular: {
|
|
59
|
+
fontWeight: "$regular"
|
|
60
|
+
},
|
|
61
|
+
medium: {
|
|
62
|
+
fontWeight: "$medium"
|
|
63
|
+
},
|
|
64
|
+
semiBold: {
|
|
65
|
+
fontWeight: "$semiBold"
|
|
66
|
+
},
|
|
67
|
+
bold: {
|
|
68
|
+
fontWeight: "$bold"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
variant: {
|
|
72
|
+
red: {
|
|
73
|
+
color: "$textRed"
|
|
74
|
+
},
|
|
75
|
+
subtle: {
|
|
76
|
+
color: "$textSubtle"
|
|
77
|
+
},
|
|
78
|
+
default: {
|
|
79
|
+
color: "$textDefault"
|
|
80
|
+
},
|
|
81
|
+
contrast: {
|
|
82
|
+
color: "$textContrast"
|
|
83
|
+
},
|
|
84
|
+
inherit: {
|
|
85
|
+
color: "inherit"
|
|
86
|
+
},
|
|
87
|
+
invalid: {
|
|
88
|
+
color: "$textInvalid"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
gradient: {
|
|
92
|
+
true: {
|
|
93
|
+
WebkitBackgroundClip: "text",
|
|
94
|
+
WebkitTextFillColor: "transparent"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
transform: {
|
|
98
|
+
uppercase: {
|
|
99
|
+
textTransform: "uppercase"
|
|
100
|
+
},
|
|
101
|
+
capitalize: {
|
|
102
|
+
// WARNING: this will only work with block elements (display block/inline-block)
|
|
103
|
+
// @see https://developer.mozilla.org/en-US/docs/Web/CSS/::first-letter
|
|
104
|
+
display: "inline-block",
|
|
105
|
+
"&::first-letter": {
|
|
106
|
+
textTransform: "uppercase"
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
capitalizeWords: {
|
|
110
|
+
textTransform: "capitalize"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
noWrap: {
|
|
114
|
+
true: {
|
|
115
|
+
overflow: "hidden",
|
|
116
|
+
textOverflow: "ellipsis",
|
|
117
|
+
whiteSpace: "nowrap"
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
defaultVariants: {
|
|
122
|
+
size: "3",
|
|
123
|
+
variant: "default"
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
export {
|
|
127
|
+
Text
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=Text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Text.js","sources":["../../../components/Text/Text.tsx"],"sourcesContent":["import { CSS, styled, VariantProps } from '../../stitches.config';\n\nexport const Text = styled('span', {\n // Reset\n lineHeight: '1',\n margin: '0',\n fontFamily: '$rubik',\n fontVariantNumeric: 'tabular-nums',\n display: 'inline-block',\n\n variants: {\n size: {\n '0': {\n fontSize: '$0',\n },\n '1': {\n fontSize: '$1',\n },\n '2': {\n fontSize: '$2',\n },\n '3': {\n fontSize: '$3',\n },\n '4': {\n fontSize: '$4',\n },\n '5': {\n fontSize: '$5',\n },\n '6': {\n fontSize: '$6',\n },\n '7': {\n fontSize: '$7',\n },\n '8': {\n fontSize: '$8',\n },\n '9': {\n fontSize: '$9',\n },\n '10': {\n fontSize: '$10',\n },\n '11': {\n fontSize: '$11',\n },\n '12': {\n fontSize: '$12',\n },\n inherit: {\n fontSize: 'inherit',\n },\n },\n weight: {\n light: {\n fontWeight: '$light',\n },\n regular: {\n fontWeight: '$regular',\n },\n medium: {\n fontWeight: '$medium',\n },\n semiBold: {\n fontWeight: '$semiBold',\n },\n bold: {\n fontWeight: '$bold',\n },\n },\n variant: {\n red: {\n color: '$textRed',\n },\n subtle: {\n color: '$textSubtle',\n },\n default: {\n color: '$textDefault',\n },\n contrast: {\n color: '$textContrast',\n },\n inherit: {\n color: 'inherit',\n },\n invalid: {\n color: '$textInvalid',\n },\n },\n gradient: {\n true: {\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n },\n },\n transform: {\n uppercase: {\n textTransform: 'uppercase',\n },\n capitalize: {\n // WARNING: this will only work with block elements (display block/inline-block)\n // @see https://developer.mozilla.org/en-US/docs/Web/CSS/::first-letter\n display: 'inline-block',\n '&::first-letter': {\n textTransform: 'uppercase',\n },\n },\n capitalizeWords: {\n textTransform: 'capitalize',\n },\n },\n noWrap: {\n true: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n },\n },\n defaultVariants: {\n size: '3',\n variant: 'default',\n },\n});\n\nexport type TextVariants = VariantProps<typeof Text>;\nexport type TextProps = TextVariants & { css?: CSS };\n"],"names":[],"mappings":";AAEO,MAAM,OAAO,OAAO,QAAQ;AAAA;AAAA,EAEjC,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,oBAAoB;AAAA,EACpB,SAAS;AAAA,EAET,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,KAAK;AAAA,QACH,UAAU;AAAA,MAAA;AAAA,MAEZ,KAAK;AAAA,QACH,UAAU;AAAA,MAAA;AAAA,MAEZ,KAAK;AAAA,QACH,UAAU;AAAA,MAAA;AAAA,MAEZ,KAAK;AAAA,QACH,UAAU;AAAA,MAAA;AAAA,MAEZ,KAAK;AAAA,QACH,UAAU;AAAA,MAAA;AAAA,MAEZ,KAAK;AAAA,QACH,UAAU;AAAA,MAAA;AAAA,MAEZ,KAAK;AAAA,QACH,UAAU;AAAA,MAAA;AAAA,MAEZ,KAAK;AAAA,QACH,UAAU;AAAA,MAAA;AAAA,MAEZ,KAAK;AAAA,QACH,UAAU;AAAA,MAAA;AAAA,MAEZ,KAAK;AAAA,QACH,UAAU;AAAA,MAAA;AAAA,MAEZ,MAAM;AAAA,QACJ,UAAU;AAAA,MAAA;AAAA,MAEZ,MAAM;AAAA,QACJ,UAAU;AAAA,MAAA;AAAA,MAEZ,MAAM;AAAA,QACJ,UAAU;AAAA,MAAA;AAAA,MAEZ,SAAS;AAAA,QACP,UAAU;AAAA,MAAA;AAAA,IACZ;AAAA,IAEF,QAAQ;AAAA,MACN,OAAO;AAAA,QACL,YAAY;AAAA,MAAA;AAAA,MAEd,SAAS;AAAA,QACP,YAAY;AAAA,MAAA;AAAA,MAEd,QAAQ;AAAA,QACN,YAAY;AAAA,MAAA;AAAA,MAEd,UAAU;AAAA,QACR,YAAY;AAAA,MAAA;AAAA,MAEd,MAAM;AAAA,QACJ,YAAY;AAAA,MAAA;AAAA,IACd;AAAA,IAEF,SAAS;AAAA,MACP,KAAK;AAAA,QACH,OAAO;AAAA,MAAA;AAAA,MAET,QAAQ;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,MAET,SAAS;AAAA,QACP,OAAO;AAAA,MAAA;AAAA,MAET,UAAU;AAAA,QACR,OAAO;AAAA,MAAA;AAAA,MAET,SAAS;AAAA,QACP,OAAO;AAAA,MAAA;AAAA,MAET,SAAS;AAAA,QACP,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,sBAAsB;AAAA,QACtB,qBAAqB;AAAA,MAAA;AAAA,IACvB;AAAA,IAEF,WAAW;AAAA,MACT,WAAW;AAAA,QACT,eAAe;AAAA,MAAA;AAAA,MAEjB,YAAY;AAAA;AAAA;AAAA,QAGV,SAAS;AAAA,QACT,mBAAmB;AAAA,UACjB,eAAe;AAAA,QAAA;AAAA,MACjB;AAAA,MAEF,iBAAiB;AAAA,QACf,eAAe;AAAA,MAAA;AAAA,IACjB;AAAA,IAEF,QAAQ;AAAA,MACN,MAAM;AAAA,QACJ,UAAU;AAAA,QACV,cAAc;AAAA,QACd,YAAY;AAAA,MAAA;AAAA,IACd;AAAA,EACF;AAAA,EAEF,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,SAAS;AAAA,EAAA;AAEb,CAAC;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const tinycolor = require("tinycolor2");
|
|
4
|
+
exports.Theme = void 0;
|
|
5
|
+
((Theme2) => {
|
|
6
|
+
Theme2.getLight = () => ({
|
|
7
|
+
textSubtle: tinycolor("black").setAlpha(0.51).toHslString(),
|
|
8
|
+
textDefault: tinycolor("black").setAlpha(0.74).toHslString(),
|
|
9
|
+
textContrast: "black",
|
|
10
|
+
textInvalid: "$red9",
|
|
11
|
+
textRed: "$red10"
|
|
12
|
+
});
|
|
13
|
+
Theme2.getDark = () => ({
|
|
14
|
+
textSubtle: tinycolor("white").setAlpha(0.51).toHslString(),
|
|
15
|
+
textDefault: tinycolor("white").setAlpha(0.74).toHslString(),
|
|
16
|
+
textContrast: "white",
|
|
17
|
+
textInvalid: "$red9",
|
|
18
|
+
textRed: "$red10"
|
|
19
|
+
});
|
|
20
|
+
})(exports.Theme || (exports.Theme = {}));
|
|
21
|
+
//# sourceMappingURL=Text.themes.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Text.themes.cjs","sources":["../../../components/Text/Text.themes.ts"],"sourcesContent":["import { Property } from '@stitches/react/types/css';\nimport tinycolor from 'tinycolor2';\n\nimport { ColorInfo } from '../../utils/getPrimaryColorInfo';\n\nexport namespace Theme {\n type Colors = {\n textSubtle: Property.Color;\n textDefault: Property.Color;\n textContrast: Property.Color;\n textInvalid: Property.Color;\n textRed: Property.Color;\n };\n\n type Factory = (primaryColor: ColorInfo) => Colors;\n\n export const getLight: Factory = () => ({\n textSubtle: tinycolor('black').setAlpha(0.51).toHslString(),\n textDefault: tinycolor('black').setAlpha(0.74).toHslString(),\n textContrast: 'black',\n textInvalid: '$red9',\n textRed: '$red10',\n });\n\n export const getDark: Factory = () => ({\n textSubtle: tinycolor('white').setAlpha(0.51).toHslString(),\n textDefault: tinycolor('white').setAlpha(0.74).toHslString(),\n textContrast: 'white',\n textInvalid: '$red9',\n textRed: '$red10',\n });\n}\n"],"names":["Theme"],"mappings":";;;AAKiBA,QAAAA,QAAAA;AAAAA,CAAV,CAAUA,WAAV;AAWQA,SAAA,WAAoB,OAAO;AAAA,IACtC,YAAY,UAAU,OAAO,EAAE,SAAS,IAAI,EAAE,YAAA;AAAA,IAC9C,aAAa,UAAU,OAAO,EAAE,SAAS,IAAI,EAAE,YAAA;AAAA,IAC/C,cAAc;AAAA,IACd,aAAa;AAAA,IACb,SAAS;AAAA,EAAA;AAGEA,SAAA,UAAmB,OAAO;AAAA,IACrC,YAAY,UAAU,OAAO,EAAE,SAAS,IAAI,EAAE,YAAA;AAAA,IAC9C,aAAa,UAAU,OAAO,EAAE,SAAS,IAAI,EAAE,YAAA;AAAA,IAC/C,cAAc;AAAA,IACd,aAAa;AAAA,IACb,SAAS;AAAA,EAAA;AACX,GAzBeA,QAAAA,UAAAA,gBAAA,CAAA,EAAA;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import tinycolor from "tinycolor2";
|
|
2
|
+
var Theme;
|
|
3
|
+
((Theme2) => {
|
|
4
|
+
Theme2.getLight = () => ({
|
|
5
|
+
textSubtle: tinycolor("black").setAlpha(0.51).toHslString(),
|
|
6
|
+
textDefault: tinycolor("black").setAlpha(0.74).toHslString(),
|
|
7
|
+
textContrast: "black",
|
|
8
|
+
textInvalid: "$red9",
|
|
9
|
+
textRed: "$red10"
|
|
10
|
+
});
|
|
11
|
+
Theme2.getDark = () => ({
|
|
12
|
+
textSubtle: tinycolor("white").setAlpha(0.51).toHslString(),
|
|
13
|
+
textDefault: tinycolor("white").setAlpha(0.74).toHslString(),
|
|
14
|
+
textContrast: "white",
|
|
15
|
+
textInvalid: "$red9",
|
|
16
|
+
textRed: "$red10"
|
|
17
|
+
});
|
|
18
|
+
})(Theme || (Theme = {}));
|
|
19
|
+
export {
|
|
20
|
+
Theme
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=Text.themes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Text.themes.js","sources":["../../../components/Text/Text.themes.ts"],"sourcesContent":["import { Property } from '@stitches/react/types/css';\nimport tinycolor from 'tinycolor2';\n\nimport { ColorInfo } from '../../utils/getPrimaryColorInfo';\n\nexport namespace Theme {\n type Colors = {\n textSubtle: Property.Color;\n textDefault: Property.Color;\n textContrast: Property.Color;\n textInvalid: Property.Color;\n textRed: Property.Color;\n };\n\n type Factory = (primaryColor: ColorInfo) => Colors;\n\n export const getLight: Factory = () => ({\n textSubtle: tinycolor('black').setAlpha(0.51).toHslString(),\n textDefault: tinycolor('black').setAlpha(0.74).toHslString(),\n textContrast: 'black',\n textInvalid: '$red9',\n textRed: '$red10',\n });\n\n export const getDark: Factory = () => ({\n textSubtle: tinycolor('white').setAlpha(0.51).toHslString(),\n textDefault: tinycolor('white').setAlpha(0.74).toHslString(),\n textContrast: 'white',\n textInvalid: '$red9',\n textRed: '$red10',\n });\n}\n"],"names":["Theme"],"mappings":";AAKO,IAAU;AAAA,CAAV,CAAUA,WAAV;AAWQA,SAAA,WAAoB,OAAO;AAAA,IACtC,YAAY,UAAU,OAAO,EAAE,SAAS,IAAI,EAAE,YAAA;AAAA,IAC9C,aAAa,UAAU,OAAO,EAAE,SAAS,IAAI,EAAE,YAAA;AAAA,IAC/C,cAAc;AAAA,IACd,aAAa;AAAA,IACb,SAAS;AAAA,EAAA;AAGEA,SAAA,UAAmB,OAAO;AAAA,IACrC,YAAY,UAAU,OAAO,EAAE,SAAS,IAAI,EAAE,YAAA;AAAA,IAC9C,aAAa,UAAU,OAAO,EAAE,SAAS,IAAI,EAAE,YAAA;AAAA,IAC/C,cAAc;AAAA,IACd,aAAa;AAAA,IACb,SAAS;AAAA,EAAA;AACX,GAzBe,UAAA,QAAA,CAAA,EAAA;"}
|
|
@@ -0,0 +1,167 @@
|
|
|
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 React = require("react");
|
|
6
|
+
const stitches_config = require("../../stitches.config.cjs");
|
|
7
|
+
const Box = require("../Box/Box.cjs");
|
|
8
|
+
const Tooltip = require("../Tooltip/Tooltip.cjs");
|
|
9
|
+
const Label = require("../Label/Label.cjs");
|
|
10
|
+
const Input = require("../Input/Input.cjs");
|
|
11
|
+
const AdornmentGroup = stitches_config.styled("div", {
|
|
12
|
+
display: "flex",
|
|
13
|
+
flexDirection: "row",
|
|
14
|
+
alignItems: "center"
|
|
15
|
+
});
|
|
16
|
+
const StyledExclamationTriangleIcon = stitches_config.styled(reactIcons.ExclamationTriangleIcon, {
|
|
17
|
+
"& + *": {
|
|
18
|
+
marginLeft: "$1"
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
const StyledEyeOpenIcon = stitches_config.styled(reactIcons.EyeOpenIcon, {
|
|
22
|
+
"@hover": {
|
|
23
|
+
"&:hover": {
|
|
24
|
+
cursor: "pointer"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
const StyledEyeClosedIcon = stitches_config.styled(reactIcons.EyeClosedIcon, {
|
|
29
|
+
"@hover": {
|
|
30
|
+
"&:hover": {
|
|
31
|
+
cursor: "pointer"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
const StyledCrossCircledIcon = stitches_config.styled(reactIcons.CrossCircledIcon, {
|
|
36
|
+
"@hover": {
|
|
37
|
+
"&:hover": {
|
|
38
|
+
cursor: "pointer"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
const TextField = React.forwardRef(
|
|
43
|
+
({
|
|
44
|
+
state,
|
|
45
|
+
clearable,
|
|
46
|
+
label: LabelOrComponent,
|
|
47
|
+
id,
|
|
48
|
+
type,
|
|
49
|
+
disabled,
|
|
50
|
+
readOnly,
|
|
51
|
+
onBlur,
|
|
52
|
+
onFocus,
|
|
53
|
+
css,
|
|
54
|
+
...props
|
|
55
|
+
}, forwardedRef) => {
|
|
56
|
+
const inputRef = React.useRef(null);
|
|
57
|
+
React.useImperativeHandle(forwardedRef, () => inputRef.current);
|
|
58
|
+
const [inputHasFocus, setInputHasFocus] = React.useState(false);
|
|
59
|
+
const [innerType, setInnerType] = React.useState(type);
|
|
60
|
+
const isPasswordVisible = React.useMemo(() => innerType !== "password", [innerType]);
|
|
61
|
+
const invalid = React.useMemo(() => state === "invalid", [state]);
|
|
62
|
+
const labelVariant = React.useMemo(() => {
|
|
63
|
+
if (disabled) {
|
|
64
|
+
return "subtle";
|
|
65
|
+
}
|
|
66
|
+
if (invalid) {
|
|
67
|
+
return "invalid";
|
|
68
|
+
}
|
|
69
|
+
if (inputHasFocus) {
|
|
70
|
+
return "contrast";
|
|
71
|
+
}
|
|
72
|
+
return "default";
|
|
73
|
+
}, [invalid, disabled, inputHasFocus]);
|
|
74
|
+
const LabelNode = React.useMemo(() => {
|
|
75
|
+
if (LabelOrComponent === void 0 || LabelOrComponent === null) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
if (typeof LabelOrComponent === "string") {
|
|
79
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Label.Label, { variant: labelVariant, htmlFor: id, children: LabelOrComponent });
|
|
80
|
+
}
|
|
81
|
+
return /* @__PURE__ */ jsxRuntime.jsx(LabelOrComponent, { variant: labelVariant, htmlFor: id });
|
|
82
|
+
}, [LabelOrComponent, labelVariant, id]);
|
|
83
|
+
const isPasswordType = React.useMemo(() => type === "password", [type]);
|
|
84
|
+
const typeOrInnerType = React.useMemo(
|
|
85
|
+
() => isPasswordType ? innerType : type,
|
|
86
|
+
[isPasswordType, type, innerType]
|
|
87
|
+
);
|
|
88
|
+
const hasInnerAdornment = React.useMemo(
|
|
89
|
+
() => clearable || isPasswordType || invalid,
|
|
90
|
+
[clearable, isPasswordType, invalid]
|
|
91
|
+
);
|
|
92
|
+
const hasAdornmentGroup = React.useMemo(
|
|
93
|
+
() => clearable && invalid || clearable && isPasswordType || invalid && isPasswordType,
|
|
94
|
+
[clearable, invalid, isPasswordType]
|
|
95
|
+
);
|
|
96
|
+
const clearDisabled = React.useMemo(() => readOnly || disabled, [readOnly, disabled]);
|
|
97
|
+
const handleClear = React.useCallback(() => {
|
|
98
|
+
const { current } = inputRef;
|
|
99
|
+
if (current) {
|
|
100
|
+
current.clear();
|
|
101
|
+
}
|
|
102
|
+
}, [inputRef]);
|
|
103
|
+
const handleFocus = React.useCallback(
|
|
104
|
+
(e) => {
|
|
105
|
+
if (onFocus) {
|
|
106
|
+
onFocus(e);
|
|
107
|
+
}
|
|
108
|
+
setInputHasFocus(true);
|
|
109
|
+
},
|
|
110
|
+
[onFocus, setInputHasFocus]
|
|
111
|
+
);
|
|
112
|
+
const handleBlur = React.useCallback(
|
|
113
|
+
(e) => {
|
|
114
|
+
if (onBlur) {
|
|
115
|
+
onBlur(e);
|
|
116
|
+
}
|
|
117
|
+
setInputHasFocus(false);
|
|
118
|
+
},
|
|
119
|
+
[onBlur, setInputHasFocus]
|
|
120
|
+
);
|
|
121
|
+
const togglePasswordVisibility = React.useCallback(() => {
|
|
122
|
+
setInnerType((prevInnerType) => prevInnerType === "password" ? void 0 : "password");
|
|
123
|
+
}, [setInnerType]);
|
|
124
|
+
const EndAdornmentWrapper = React.useMemo(
|
|
125
|
+
() => hasAdornmentGroup ? AdornmentGroup : React.Fragment,
|
|
126
|
+
[hasAdornmentGroup]
|
|
127
|
+
);
|
|
128
|
+
const PasswordVisibilityToggleIcon = React.useMemo(
|
|
129
|
+
() => isPasswordVisible ? StyledEyeClosedIcon : StyledEyeOpenIcon,
|
|
130
|
+
[isPasswordVisible]
|
|
131
|
+
);
|
|
132
|
+
const passwordAction = React.useMemo(
|
|
133
|
+
() => isPasswordVisible ? "Hide password" : "Show password",
|
|
134
|
+
[isPasswordVisible]
|
|
135
|
+
);
|
|
136
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Box.Box, { css, children: [
|
|
137
|
+
LabelNode,
|
|
138
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
139
|
+
Input.Input,
|
|
140
|
+
{
|
|
141
|
+
id,
|
|
142
|
+
ref: inputRef,
|
|
143
|
+
endAdornment: hasInnerAdornment && /* @__PURE__ */ jsxRuntime.jsxs(EndAdornmentWrapper, { children: [
|
|
144
|
+
invalid && /* @__PURE__ */ jsxRuntime.jsx(StyledExclamationTriangleIcon, { role: "alert", "aria-label": "Invalid" }),
|
|
145
|
+
isPasswordType && /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, { content: passwordAction, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
146
|
+
PasswordVisibilityToggleIcon,
|
|
147
|
+
{
|
|
148
|
+
"aria-label": passwordAction,
|
|
149
|
+
onClick: togglePasswordVisibility
|
|
150
|
+
}
|
|
151
|
+
) }),
|
|
152
|
+
clearable && !clearDisabled && /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, { content: "Clear", children: /* @__PURE__ */ jsxRuntime.jsx(StyledCrossCircledIcon, { "aria-label": "Clear", onClick: handleClear }) })
|
|
153
|
+
] }),
|
|
154
|
+
state,
|
|
155
|
+
type: typeOrInnerType,
|
|
156
|
+
disabled,
|
|
157
|
+
readOnly,
|
|
158
|
+
onFocus: handleFocus,
|
|
159
|
+
onBlur: handleBlur,
|
|
160
|
+
...props
|
|
161
|
+
}
|
|
162
|
+
)
|
|
163
|
+
] });
|
|
164
|
+
}
|
|
165
|
+
);
|
|
166
|
+
exports.TextField = TextField;
|
|
167
|
+
//# sourceMappingURL=TextField.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.cjs","sources":["../../../components/TextField/TextField.tsx"],"sourcesContent":["import {\n CrossCircledIcon,\n ExclamationTriangleIcon,\n EyeClosedIcon,\n EyeOpenIcon,\n} from '@radix-ui/react-icons';\nimport React from 'react';\n\nimport { styled } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { Input, InputHandle, InputProps, InputVariants } from '../Input';\nimport { Label } from '../Label';\nimport { Tooltip } from '../Tooltip';\n\n// TYPES\nexport interface TextFieldLabelProps {\n variant: 'invalid' | 'subtle' | 'contrast' | 'default';\n htmlFor?: string;\n}\nexport type TextFieldProps = InputProps & {\n type?: string;\n clearable?: boolean;\n label?: string | ((props: TextFieldLabelProps) => JSX.Element);\n};\n\nexport type TextFieldVariants = InputVariants;\n\n// COMPONENTS\nconst AdornmentGroup = styled('div', {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n});\n\nconst StyledExclamationTriangleIcon = styled(ExclamationTriangleIcon, {\n '& + *': {\n marginLeft: '$1',\n },\n});\n\nconst StyledEyeOpenIcon = styled(EyeOpenIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nconst StyledEyeClosedIcon = styled(EyeClosedIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nconst StyledCrossCircledIcon = styled(CrossCircledIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nexport const TextField = React.forwardRef<React.ElementRef<typeof Input>, TextFieldProps>(\n (\n {\n state,\n clearable,\n label: LabelOrComponent,\n id,\n type,\n disabled,\n readOnly,\n onBlur,\n onFocus,\n css,\n ...props\n },\n forwardedRef\n ) => {\n const inputRef = React.useRef<InputHandle | null>(null);\n React.useImperativeHandle(forwardedRef, () => inputRef.current as InputHandle);\n\n const [inputHasFocus, setInputHasFocus] = React.useState(false);\n const [innerType, setInnerType] = React.useState(type);\n const isPasswordVisible = React.useMemo(() => innerType !== 'password', [innerType]);\n\n const invalid = React.useMemo(() => state === 'invalid', [state]);\n\n const labelVariant = React.useMemo(() => {\n if (disabled) {\n return 'subtle';\n }\n if (invalid) {\n return 'invalid';\n }\n if (inputHasFocus) {\n return 'contrast';\n }\n return 'default';\n }, [invalid, disabled, inputHasFocus]);\n\n const LabelNode = React.useMemo(() => {\n if (LabelOrComponent === undefined || LabelOrComponent === null) {\n return null;\n }\n if (typeof LabelOrComponent === 'string') {\n return (\n <Label variant={labelVariant} htmlFor={id}>\n {LabelOrComponent}\n </Label>\n );\n }\n return <LabelOrComponent variant={labelVariant} htmlFor={id} />;\n }, [LabelOrComponent, labelVariant, id]);\n\n const isPasswordType = React.useMemo(() => type === 'password', [type]);\n\n const typeOrInnerType = React.useMemo(\n () => (isPasswordType ? innerType : type),\n [isPasswordType, type, innerType]\n );\n\n const hasInnerAdornment = React.useMemo(\n () => clearable || isPasswordType || invalid,\n [clearable, isPasswordType, invalid]\n );\n\n const hasAdornmentGroup = React.useMemo(\n () => (clearable && invalid) || (clearable && isPasswordType) || (invalid && isPasswordType),\n [clearable, invalid, isPasswordType]\n );\n\n const clearDisabled = React.useMemo(() => readOnly || disabled, [readOnly, disabled]);\n\n const handleClear = React.useCallback(() => {\n const { current } = inputRef;\n if (current) {\n current.clear();\n }\n }, [inputRef]);\n\n const handleFocus = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n if (onFocus) {\n onFocus(e);\n }\n setInputHasFocus(true);\n },\n [onFocus, setInputHasFocus]\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n if (onBlur) {\n onBlur(e);\n }\n setInputHasFocus(false);\n },\n [onBlur, setInputHasFocus]\n );\n\n const togglePasswordVisibility = React.useCallback(() => {\n setInnerType((prevInnerType) => (prevInnerType === 'password' ? undefined : 'password'));\n }, [setInnerType]);\n\n const EndAdornmentWrapper = React.useMemo(\n () => (hasAdornmentGroup ? AdornmentGroup : React.Fragment),\n [hasAdornmentGroup]\n );\n\n const PasswordVisibilityToggleIcon = React.useMemo(\n () => (isPasswordVisible ? StyledEyeClosedIcon : StyledEyeOpenIcon),\n [isPasswordVisible]\n );\n\n const passwordAction = React.useMemo(\n () => (isPasswordVisible ? 'Hide password' : 'Show password'),\n [isPasswordVisible]\n );\n\n return (\n <Box css={css}>\n {LabelNode}\n <Input\n id={id}\n ref={inputRef}\n endAdornment={\n hasInnerAdornment && (\n <EndAdornmentWrapper>\n {invalid && <StyledExclamationTriangleIcon role=\"alert\" aria-label=\"Invalid\" />}\n {isPasswordType && (\n <Tooltip content={passwordAction}>\n <PasswordVisibilityToggleIcon\n aria-label={passwordAction}\n onClick={togglePasswordVisibility}\n />\n </Tooltip>\n )}\n {clearable && !clearDisabled && (\n <Tooltip content=\"Clear\">\n <StyledCrossCircledIcon aria-label=\"Clear\" onClick={handleClear} />\n </Tooltip>\n )}\n </EndAdornmentWrapper>\n )\n }\n state={state}\n type={typeOrInnerType}\n disabled={disabled}\n readOnly={readOnly}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...props}\n />\n </Box>\n );\n }\n);\n"],"names":["styled","ExclamationTriangleIcon","EyeOpenIcon","EyeClosedIcon","CrossCircledIcon","Label","jsx","jsxs","Box","Input","Tooltip"],"mappings":"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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { EyeClosedIcon, EyeOpenIcon, ExclamationTriangleIcon, CrossCircledIcon } from "@radix-ui/react-icons";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { styled } from "../../stitches.config.js";
|
|
5
|
+
import { Box } from "../Box/Box.js";
|
|
6
|
+
import { Tooltip } from "../Tooltip/Tooltip.js";
|
|
7
|
+
import { Label } from "../Label/Label.js";
|
|
8
|
+
import { Input } from "../Input/Input.js";
|
|
9
|
+
const AdornmentGroup = styled("div", {
|
|
10
|
+
display: "flex",
|
|
11
|
+
flexDirection: "row",
|
|
12
|
+
alignItems: "center"
|
|
13
|
+
});
|
|
14
|
+
const StyledExclamationTriangleIcon = styled(ExclamationTriangleIcon, {
|
|
15
|
+
"& + *": {
|
|
16
|
+
marginLeft: "$1"
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const StyledEyeOpenIcon = styled(EyeOpenIcon, {
|
|
20
|
+
"@hover": {
|
|
21
|
+
"&:hover": {
|
|
22
|
+
cursor: "pointer"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
const StyledEyeClosedIcon = styled(EyeClosedIcon, {
|
|
27
|
+
"@hover": {
|
|
28
|
+
"&:hover": {
|
|
29
|
+
cursor: "pointer"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
const StyledCrossCircledIcon = styled(CrossCircledIcon, {
|
|
34
|
+
"@hover": {
|
|
35
|
+
"&:hover": {
|
|
36
|
+
cursor: "pointer"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
const TextField = React.forwardRef(
|
|
41
|
+
({
|
|
42
|
+
state,
|
|
43
|
+
clearable,
|
|
44
|
+
label: LabelOrComponent,
|
|
45
|
+
id,
|
|
46
|
+
type,
|
|
47
|
+
disabled,
|
|
48
|
+
readOnly,
|
|
49
|
+
onBlur,
|
|
50
|
+
onFocus,
|
|
51
|
+
css,
|
|
52
|
+
...props
|
|
53
|
+
}, forwardedRef) => {
|
|
54
|
+
const inputRef = React.useRef(null);
|
|
55
|
+
React.useImperativeHandle(forwardedRef, () => inputRef.current);
|
|
56
|
+
const [inputHasFocus, setInputHasFocus] = React.useState(false);
|
|
57
|
+
const [innerType, setInnerType] = React.useState(type);
|
|
58
|
+
const isPasswordVisible = React.useMemo(() => innerType !== "password", [innerType]);
|
|
59
|
+
const invalid = React.useMemo(() => state === "invalid", [state]);
|
|
60
|
+
const labelVariant = React.useMemo(() => {
|
|
61
|
+
if (disabled) {
|
|
62
|
+
return "subtle";
|
|
63
|
+
}
|
|
64
|
+
if (invalid) {
|
|
65
|
+
return "invalid";
|
|
66
|
+
}
|
|
67
|
+
if (inputHasFocus) {
|
|
68
|
+
return "contrast";
|
|
69
|
+
}
|
|
70
|
+
return "default";
|
|
71
|
+
}, [invalid, disabled, inputHasFocus]);
|
|
72
|
+
const LabelNode = React.useMemo(() => {
|
|
73
|
+
if (LabelOrComponent === void 0 || LabelOrComponent === null) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
if (typeof LabelOrComponent === "string") {
|
|
77
|
+
return /* @__PURE__ */ jsx(Label, { variant: labelVariant, htmlFor: id, children: LabelOrComponent });
|
|
78
|
+
}
|
|
79
|
+
return /* @__PURE__ */ jsx(LabelOrComponent, { variant: labelVariant, htmlFor: id });
|
|
80
|
+
}, [LabelOrComponent, labelVariant, id]);
|
|
81
|
+
const isPasswordType = React.useMemo(() => type === "password", [type]);
|
|
82
|
+
const typeOrInnerType = React.useMemo(
|
|
83
|
+
() => isPasswordType ? innerType : type,
|
|
84
|
+
[isPasswordType, type, innerType]
|
|
85
|
+
);
|
|
86
|
+
const hasInnerAdornment = React.useMemo(
|
|
87
|
+
() => clearable || isPasswordType || invalid,
|
|
88
|
+
[clearable, isPasswordType, invalid]
|
|
89
|
+
);
|
|
90
|
+
const hasAdornmentGroup = React.useMemo(
|
|
91
|
+
() => clearable && invalid || clearable && isPasswordType || invalid && isPasswordType,
|
|
92
|
+
[clearable, invalid, isPasswordType]
|
|
93
|
+
);
|
|
94
|
+
const clearDisabled = React.useMemo(() => readOnly || disabled, [readOnly, disabled]);
|
|
95
|
+
const handleClear = React.useCallback(() => {
|
|
96
|
+
const { current } = inputRef;
|
|
97
|
+
if (current) {
|
|
98
|
+
current.clear();
|
|
99
|
+
}
|
|
100
|
+
}, [inputRef]);
|
|
101
|
+
const handleFocus = React.useCallback(
|
|
102
|
+
(e) => {
|
|
103
|
+
if (onFocus) {
|
|
104
|
+
onFocus(e);
|
|
105
|
+
}
|
|
106
|
+
setInputHasFocus(true);
|
|
107
|
+
},
|
|
108
|
+
[onFocus, setInputHasFocus]
|
|
109
|
+
);
|
|
110
|
+
const handleBlur = React.useCallback(
|
|
111
|
+
(e) => {
|
|
112
|
+
if (onBlur) {
|
|
113
|
+
onBlur(e);
|
|
114
|
+
}
|
|
115
|
+
setInputHasFocus(false);
|
|
116
|
+
},
|
|
117
|
+
[onBlur, setInputHasFocus]
|
|
118
|
+
);
|
|
119
|
+
const togglePasswordVisibility = React.useCallback(() => {
|
|
120
|
+
setInnerType((prevInnerType) => prevInnerType === "password" ? void 0 : "password");
|
|
121
|
+
}, [setInnerType]);
|
|
122
|
+
const EndAdornmentWrapper = React.useMemo(
|
|
123
|
+
() => hasAdornmentGroup ? AdornmentGroup : React.Fragment,
|
|
124
|
+
[hasAdornmentGroup]
|
|
125
|
+
);
|
|
126
|
+
const PasswordVisibilityToggleIcon = React.useMemo(
|
|
127
|
+
() => isPasswordVisible ? StyledEyeClosedIcon : StyledEyeOpenIcon,
|
|
128
|
+
[isPasswordVisible]
|
|
129
|
+
);
|
|
130
|
+
const passwordAction = React.useMemo(
|
|
131
|
+
() => isPasswordVisible ? "Hide password" : "Show password",
|
|
132
|
+
[isPasswordVisible]
|
|
133
|
+
);
|
|
134
|
+
return /* @__PURE__ */ jsxs(Box, { css, children: [
|
|
135
|
+
LabelNode,
|
|
136
|
+
/* @__PURE__ */ jsx(
|
|
137
|
+
Input,
|
|
138
|
+
{
|
|
139
|
+
id,
|
|
140
|
+
ref: inputRef,
|
|
141
|
+
endAdornment: hasInnerAdornment && /* @__PURE__ */ jsxs(EndAdornmentWrapper, { children: [
|
|
142
|
+
invalid && /* @__PURE__ */ jsx(StyledExclamationTriangleIcon, { role: "alert", "aria-label": "Invalid" }),
|
|
143
|
+
isPasswordType && /* @__PURE__ */ jsx(Tooltip, { content: passwordAction, children: /* @__PURE__ */ jsx(
|
|
144
|
+
PasswordVisibilityToggleIcon,
|
|
145
|
+
{
|
|
146
|
+
"aria-label": passwordAction,
|
|
147
|
+
onClick: togglePasswordVisibility
|
|
148
|
+
}
|
|
149
|
+
) }),
|
|
150
|
+
clearable && !clearDisabled && /* @__PURE__ */ jsx(Tooltip, { content: "Clear", children: /* @__PURE__ */ jsx(StyledCrossCircledIcon, { "aria-label": "Clear", onClick: handleClear }) })
|
|
151
|
+
] }),
|
|
152
|
+
state,
|
|
153
|
+
type: typeOrInnerType,
|
|
154
|
+
disabled,
|
|
155
|
+
readOnly,
|
|
156
|
+
onFocus: handleFocus,
|
|
157
|
+
onBlur: handleBlur,
|
|
158
|
+
...props
|
|
159
|
+
}
|
|
160
|
+
)
|
|
161
|
+
] });
|
|
162
|
+
}
|
|
163
|
+
);
|
|
164
|
+
export {
|
|
165
|
+
TextField
|
|
166
|
+
};
|
|
167
|
+
//# sourceMappingURL=TextField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.js","sources":["../../../components/TextField/TextField.tsx"],"sourcesContent":["import {\n CrossCircledIcon,\n ExclamationTriangleIcon,\n EyeClosedIcon,\n EyeOpenIcon,\n} from '@radix-ui/react-icons';\nimport React from 'react';\n\nimport { styled } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { Input, InputHandle, InputProps, InputVariants } from '../Input';\nimport { Label } from '../Label';\nimport { Tooltip } from '../Tooltip';\n\n// TYPES\nexport interface TextFieldLabelProps {\n variant: 'invalid' | 'subtle' | 'contrast' | 'default';\n htmlFor?: string;\n}\nexport type TextFieldProps = InputProps & {\n type?: string;\n clearable?: boolean;\n label?: string | ((props: TextFieldLabelProps) => JSX.Element);\n};\n\nexport type TextFieldVariants = InputVariants;\n\n// COMPONENTS\nconst AdornmentGroup = styled('div', {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n});\n\nconst StyledExclamationTriangleIcon = styled(ExclamationTriangleIcon, {\n '& + *': {\n marginLeft: '$1',\n },\n});\n\nconst StyledEyeOpenIcon = styled(EyeOpenIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nconst StyledEyeClosedIcon = styled(EyeClosedIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nconst StyledCrossCircledIcon = styled(CrossCircledIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nexport const TextField = React.forwardRef<React.ElementRef<typeof Input>, TextFieldProps>(\n (\n {\n state,\n clearable,\n label: LabelOrComponent,\n id,\n type,\n disabled,\n readOnly,\n onBlur,\n onFocus,\n css,\n ...props\n },\n forwardedRef\n ) => {\n const inputRef = React.useRef<InputHandle | null>(null);\n React.useImperativeHandle(forwardedRef, () => inputRef.current as InputHandle);\n\n const [inputHasFocus, setInputHasFocus] = React.useState(false);\n const [innerType, setInnerType] = React.useState(type);\n const isPasswordVisible = React.useMemo(() => innerType !== 'password', [innerType]);\n\n const invalid = React.useMemo(() => state === 'invalid', [state]);\n\n const labelVariant = React.useMemo(() => {\n if (disabled) {\n return 'subtle';\n }\n if (invalid) {\n return 'invalid';\n }\n if (inputHasFocus) {\n return 'contrast';\n }\n return 'default';\n }, [invalid, disabled, inputHasFocus]);\n\n const LabelNode = React.useMemo(() => {\n if (LabelOrComponent === undefined || LabelOrComponent === null) {\n return null;\n }\n if (typeof LabelOrComponent === 'string') {\n return (\n <Label variant={labelVariant} htmlFor={id}>\n {LabelOrComponent}\n </Label>\n );\n }\n return <LabelOrComponent variant={labelVariant} htmlFor={id} />;\n }, [LabelOrComponent, labelVariant, id]);\n\n const isPasswordType = React.useMemo(() => type === 'password', [type]);\n\n const typeOrInnerType = React.useMemo(\n () => (isPasswordType ? innerType : type),\n [isPasswordType, type, innerType]\n );\n\n const hasInnerAdornment = React.useMemo(\n () => clearable || isPasswordType || invalid,\n [clearable, isPasswordType, invalid]\n );\n\n const hasAdornmentGroup = React.useMemo(\n () => (clearable && invalid) || (clearable && isPasswordType) || (invalid && isPasswordType),\n [clearable, invalid, isPasswordType]\n );\n\n const clearDisabled = React.useMemo(() => readOnly || disabled, [readOnly, disabled]);\n\n const handleClear = React.useCallback(() => {\n const { current } = inputRef;\n if (current) {\n current.clear();\n }\n }, [inputRef]);\n\n const handleFocus = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n if (onFocus) {\n onFocus(e);\n }\n setInputHasFocus(true);\n },\n [onFocus, setInputHasFocus]\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n if (onBlur) {\n onBlur(e);\n }\n setInputHasFocus(false);\n },\n [onBlur, setInputHasFocus]\n );\n\n const togglePasswordVisibility = React.useCallback(() => {\n setInnerType((prevInnerType) => (prevInnerType === 'password' ? undefined : 'password'));\n }, [setInnerType]);\n\n const EndAdornmentWrapper = React.useMemo(\n () => (hasAdornmentGroup ? AdornmentGroup : React.Fragment),\n [hasAdornmentGroup]\n );\n\n const PasswordVisibilityToggleIcon = React.useMemo(\n () => (isPasswordVisible ? StyledEyeClosedIcon : StyledEyeOpenIcon),\n [isPasswordVisible]\n );\n\n const passwordAction = React.useMemo(\n () => (isPasswordVisible ? 'Hide password' : 'Show password'),\n [isPasswordVisible]\n );\n\n return (\n <Box css={css}>\n {LabelNode}\n <Input\n id={id}\n ref={inputRef}\n endAdornment={\n hasInnerAdornment && (\n <EndAdornmentWrapper>\n {invalid && <StyledExclamationTriangleIcon role=\"alert\" aria-label=\"Invalid\" />}\n {isPasswordType && (\n <Tooltip content={passwordAction}>\n <PasswordVisibilityToggleIcon\n aria-label={passwordAction}\n onClick={togglePasswordVisibility}\n />\n </Tooltip>\n )}\n {clearable && !clearDisabled && (\n <Tooltip content=\"Clear\">\n <StyledCrossCircledIcon aria-label=\"Clear\" onClick={handleClear} />\n </Tooltip>\n )}\n </EndAdornmentWrapper>\n )\n }\n state={state}\n type={typeOrInnerType}\n disabled={disabled}\n readOnly={readOnly}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...props}\n />\n </Box>\n );\n }\n);\n"],"names":[],"mappings":"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"}
|