@d4gger/design-system 2.7.0 → 3.0.0
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/README.md +116 -136
- package/dist/_internal/BaseDialog.cjs +11 -1
- package/dist/_internal/BaseDialog.cjs.map +2 -2
- package/dist/_internal/BaseDialog.d.cts.map +1 -1
- package/dist/_internal/BaseDialog.d.mts.map +1 -1
- package/dist/_internal/BaseDialog.d.ts.map +1 -1
- package/dist/_internal/BaseDialog.js +11 -1
- package/dist/_internal/BaseDialog.js.map +2 -2
- package/dist/_internal/constants.cjs +1 -1
- package/dist/_internal/constants.cjs.map +2 -2
- package/dist/_internal/constants.d.cts +1 -1
- package/dist/_internal/constants.d.cts.map +1 -1
- package/dist/_internal/constants.d.mts +1 -1
- package/dist/_internal/constants.d.mts.map +1 -1
- package/dist/_internal/constants.d.ts +1 -1
- package/dist/_internal/constants.d.ts.map +1 -1
- package/dist/_internal/constants.js +1 -1
- package/dist/_internal/constants.js.map +2 -2
- package/dist/_internal/props/height.prop.cjs +1 -2
- package/dist/_internal/props/height.prop.cjs.map +2 -2
- package/dist/_internal/props/height.prop.d.cts.map +1 -1
- package/dist/_internal/props/height.prop.d.mts.map +1 -1
- package/dist/_internal/props/height.prop.d.ts.map +1 -1
- package/dist/_internal/props/height.prop.js +1 -2
- package/dist/_internal/props/height.prop.js.map +2 -2
- package/dist/_internal/props/layout.prop.cjs +16 -17
- package/dist/_internal/props/layout.prop.cjs.map +2 -2
- package/dist/_internal/props/layout.prop.d.cts.map +1 -1
- package/dist/_internal/props/layout.prop.d.mts.map +1 -1
- package/dist/_internal/props/layout.prop.d.ts.map +1 -1
- package/dist/_internal/props/layout.prop.js +1 -2
- package/dist/_internal/props/layout.prop.js.map +2 -2
- package/dist/_internal/props/margin.prop.cjs +2 -3
- package/dist/_internal/props/margin.prop.cjs.map +2 -2
- package/dist/_internal/props/margin.prop.d.cts.map +1 -1
- package/dist/_internal/props/margin.prop.d.mts.map +1 -1
- package/dist/_internal/props/margin.prop.d.ts.map +1 -1
- package/dist/_internal/props/margin.prop.js +1 -1
- package/dist/_internal/props/margin.prop.js.map +2 -2
- package/dist/_internal/props/padding.prop.cjs +8 -9
- package/dist/_internal/props/padding.prop.cjs.map +2 -2
- package/dist/_internal/props/padding.prop.d.cts.map +1 -1
- package/dist/_internal/props/padding.prop.d.mts.map +1 -1
- package/dist/_internal/props/padding.prop.d.ts.map +1 -1
- package/dist/_internal/props/padding.prop.js +1 -1
- package/dist/_internal/props/padding.prop.js.map +2 -2
- package/dist/_internal/props/propDef.cjs +11 -0
- package/dist/_internal/props/propDef.cjs.map +2 -2
- package/dist/_internal/props/propDef.d.cts +17 -3
- package/dist/_internal/props/propDef.d.cts.map +1 -1
- package/dist/_internal/props/propDef.d.mts +17 -3
- package/dist/_internal/props/propDef.d.mts.map +1 -1
- package/dist/_internal/props/propDef.d.ts +17 -3
- package/dist/_internal/props/propDef.d.ts.map +1 -1
- package/dist/_internal/props/propDef.js +11 -0
- package/dist/_internal/props/propDef.js.map +2 -2
- package/dist/_internal/props/radius.prop.cjs +2 -2
- package/dist/_internal/props/radius.prop.cjs.map +2 -2
- package/dist/_internal/props/radius.prop.d.cts +1 -1
- package/dist/_internal/props/radius.prop.d.cts.map +1 -1
- package/dist/_internal/props/radius.prop.d.mts +1 -1
- package/dist/_internal/props/radius.prop.d.mts.map +1 -1
- package/dist/_internal/props/radius.prop.d.ts +1 -1
- package/dist/_internal/props/radius.prop.d.ts.map +1 -1
- package/dist/_internal/props/radius.prop.js +1 -1
- package/dist/_internal/props/radius.prop.js.map +2 -2
- package/dist/_internal/props/width.prop.cjs +1 -2
- package/dist/_internal/props/width.prop.cjs.map +2 -2
- package/dist/_internal/props/width.prop.d.cts.map +1 -1
- package/dist/_internal/props/width.prop.d.mts.map +1 -1
- package/dist/_internal/props/width.prop.d.ts.map +1 -1
- package/dist/_internal/props/width.prop.js +1 -2
- package/dist/_internal/props/width.prop.js.map +2 -2
- package/dist/components/alert-dialog.css +7 -0
- package/dist/components/alert.css +24 -0
- package/dist/components/articleNodes/ArticleNodes.cjs.map +2 -2
- package/dist/components/articleNodes/ArticleNodes.d.cts +2 -31
- package/dist/components/articleNodes/ArticleNodes.d.cts.map +1 -1
- package/dist/components/articleNodes/ArticleNodes.d.mts +2 -31
- package/dist/components/articleNodes/ArticleNodes.d.mts.map +1 -1
- package/dist/components/articleNodes/ArticleNodes.d.ts +2 -31
- package/dist/components/articleNodes/ArticleNodes.d.ts.map +1 -1
- package/dist/components/articleNodes/ArticleNodes.js.map +2 -2
- package/dist/components/articleNodes/articleNodes.props.cjs +17 -0
- package/dist/components/articleNodes/articleNodes.props.cjs.map +7 -0
- package/dist/components/articleNodes/articleNodes.props.d.cts +32 -0
- package/dist/components/articleNodes/articleNodes.props.d.cts.map +1 -0
- package/dist/components/articleNodes/articleNodes.props.d.mts +32 -0
- package/dist/components/articleNodes/articleNodes.props.d.mts.map +1 -0
- package/dist/components/articleNodes/articleNodes.props.d.ts +32 -0
- package/dist/components/articleNodes/articleNodes.props.d.ts.map +1 -0
- package/dist/components/articleNodes/articleNodes.props.js +1 -0
- package/dist/components/articleNodes/articleNodes.props.js.map +7 -0
- package/dist/components/avatar.css +14 -3
- package/dist/components/badge/Badge.cjs +1 -1
- package/dist/components/badge/Badge.cjs.map +2 -2
- package/dist/components/badge/Badge.js +1 -1
- package/dist/components/badge/Badge.js.map +2 -2
- package/dist/components/badge/badge.props.cjs +1 -1
- package/dist/components/badge/badge.props.cjs.map +2 -2
- package/dist/components/badge/badge.props.d.cts +1 -1
- package/dist/components/badge/badge.props.d.mts +1 -1
- package/dist/components/badge/badge.props.d.ts +1 -1
- package/dist/components/badge/badge.props.js +1 -1
- package/dist/components/badge/badge.props.js.map +2 -2
- package/dist/components/badge.css +62 -28
- package/dist/components/button/Button.cjs +2 -0
- package/dist/components/button/Button.cjs.map +2 -2
- package/dist/components/button/Button.d.cts.map +1 -1
- package/dist/components/button/Button.d.mts.map +1 -1
- package/dist/components/button/Button.d.ts.map +1 -1
- package/dist/components/button/Button.js +2 -0
- package/dist/components/button/Button.js.map +2 -2
- package/dist/components/button/button.props.cjs +4 -0
- package/dist/components/button/button.props.cjs.map +2 -2
- package/dist/components/button/button.props.d.cts +4 -0
- package/dist/components/button/button.props.d.cts.map +1 -1
- package/dist/components/button/button.props.d.mts +4 -0
- package/dist/components/button/button.props.d.mts.map +1 -1
- package/dist/components/button/button.props.d.ts +4 -0
- package/dist/components/button/button.props.d.ts.map +1 -1
- package/dist/components/button/button.props.js +4 -0
- package/dist/components/button/button.props.js.map +2 -2
- package/dist/components/button.css +37 -7
- package/dist/components/card/Card.cjs +2 -0
- package/dist/components/card/Card.cjs.map +2 -2
- package/dist/components/card/Card.d.cts.map +1 -1
- package/dist/components/card/Card.d.mts.map +1 -1
- package/dist/components/card/Card.d.ts.map +1 -1
- package/dist/components/card/Card.js +2 -0
- package/dist/components/card/Card.js.map +2 -2
- package/dist/components/card/card.props.cjs +12 -1
- package/dist/components/card/card.props.cjs.map +2 -2
- package/dist/components/card/card.props.d.cts +12 -1
- package/dist/components/card/card.props.d.cts.map +1 -1
- package/dist/components/card/card.props.d.mts +12 -1
- package/dist/components/card/card.props.d.mts.map +1 -1
- package/dist/components/card/card.props.d.ts +12 -1
- package/dist/components/card/card.props.d.ts.map +1 -1
- package/dist/components/card/card.props.js +12 -1
- package/dist/components/card/card.props.js.map +2 -2
- package/dist/components/card.css +7 -9
- package/dist/components/carousel.css +21 -7
- package/dist/components/chart/Chart.cjs +76 -14
- package/dist/components/chart/Chart.cjs.map +2 -2
- package/dist/components/chart/Chart.d.cts +42 -5
- package/dist/components/chart/Chart.d.cts.map +1 -1
- package/dist/components/chart/Chart.d.mts +42 -5
- package/dist/components/chart/Chart.d.mts.map +1 -1
- package/dist/components/chart/Chart.d.ts +42 -5
- package/dist/components/chart/Chart.d.ts.map +1 -1
- package/dist/components/chart/Chart.js +80 -14
- package/dist/components/chart/Chart.js.map +2 -2
- package/dist/components/chart.css +20 -4
- package/dist/components/checkbox-cards.css +8 -0
- package/dist/components/checkbox.css +4 -4
- package/dist/components/code.css +9 -6
- package/dist/components/collapsible/Collapsible.cjs +7 -1
- package/dist/components/collapsible/Collapsible.cjs.map +2 -2
- package/dist/components/collapsible/Collapsible.d.cts.map +1 -1
- package/dist/components/collapsible/Collapsible.d.mts.map +1 -1
- package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
- package/dist/components/collapsible/Collapsible.js +7 -1
- package/dist/components/collapsible/Collapsible.js.map +2 -2
- package/dist/components/color-picker.css +3 -2
- package/dist/components/color-swatch.css +16 -4
- package/dist/components/colorPicker/ColorPicker.cjs +14 -0
- package/dist/components/colorPicker/ColorPicker.cjs.map +2 -2
- package/dist/components/colorPicker/ColorPicker.d.cts.map +1 -1
- package/dist/components/colorPicker/ColorPicker.d.mts.map +1 -1
- package/dist/components/colorPicker/ColorPicker.d.ts.map +1 -1
- package/dist/components/colorPicker/ColorPicker.js +14 -0
- package/dist/components/colorPicker/ColorPicker.js.map +2 -2
- package/dist/components/colorSwatch/ColorSwatch.cjs +20 -1
- package/dist/components/colorSwatch/ColorSwatch.cjs.map +2 -2
- package/dist/components/colorSwatch/ColorSwatch.d.cts.map +1 -1
- package/dist/components/colorSwatch/ColorSwatch.d.mts.map +1 -1
- package/dist/components/colorSwatch/ColorSwatch.d.ts.map +1 -1
- package/dist/components/colorSwatch/ColorSwatch.js +20 -1
- package/dist/components/colorSwatch/ColorSwatch.js.map +2 -2
- package/dist/components/combobox/Combobox.cjs +91 -11
- package/dist/components/combobox/Combobox.cjs.map +3 -3
- package/dist/components/combobox/Combobox.d.cts +10 -2
- package/dist/components/combobox/Combobox.d.cts.map +1 -1
- package/dist/components/combobox/Combobox.d.mts +10 -2
- package/dist/components/combobox/Combobox.d.mts.map +1 -1
- package/dist/components/combobox/Combobox.d.ts +10 -2
- package/dist/components/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.js +92 -12
- package/dist/components/combobox/Combobox.js.map +3 -3
- package/dist/components/combobox/combobox.props.cjs +6 -1
- package/dist/components/combobox/combobox.props.cjs.map +2 -2
- package/dist/components/combobox/combobox.props.d.cts +6 -1
- package/dist/components/combobox/combobox.props.d.cts.map +1 -1
- package/dist/components/combobox/combobox.props.d.mts +6 -1
- package/dist/components/combobox/combobox.props.d.mts.map +1 -1
- package/dist/components/combobox/combobox.props.d.ts +6 -1
- package/dist/components/combobox/combobox.props.d.ts.map +1 -1
- package/dist/components/combobox/combobox.props.js +6 -1
- package/dist/components/combobox/combobox.props.js.map +2 -2
- package/dist/components/combobox.css +98 -25
- package/dist/components/command/Command.cjs +10 -4
- package/dist/components/command/Command.cjs.map +2 -2
- package/dist/components/command/Command.d.cts +2 -2
- package/dist/components/command/Command.d.cts.map +1 -1
- package/dist/components/command/Command.d.mts +2 -2
- package/dist/components/command/Command.d.mts.map +1 -1
- package/dist/components/command/Command.d.ts +2 -2
- package/dist/components/command/Command.d.ts.map +1 -1
- package/dist/components/command/Command.js +12 -5
- package/dist/components/command/Command.js.map +2 -2
- package/dist/components/command/command.props.cjs +11 -0
- package/dist/components/command/command.props.cjs.map +2 -2
- package/dist/components/command/command.props.d.cts +11 -1
- package/dist/components/command/command.props.d.cts.map +1 -1
- package/dist/components/command/command.props.d.mts +11 -1
- package/dist/components/command/command.props.d.mts.map +1 -1
- package/dist/components/command/command.props.d.ts +11 -1
- package/dist/components/command/command.props.d.ts.map +1 -1
- package/dist/components/command/command.props.js +11 -0
- package/dist/components/command/command.props.js.map +2 -2
- package/dist/components/command.css +3 -2
- package/dist/components/commentThread/CommentThread.cjs.map +2 -2
- package/dist/components/commentThread/CommentThread.d.cts +5 -20
- package/dist/components/commentThread/CommentThread.d.cts.map +1 -1
- package/dist/components/commentThread/CommentThread.d.mts +5 -20
- package/dist/components/commentThread/CommentThread.d.mts.map +1 -1
- package/dist/components/commentThread/CommentThread.d.ts +5 -20
- package/dist/components/commentThread/CommentThread.d.ts.map +1 -1
- package/dist/components/commentThread/CommentThread.js.map +2 -2
- package/dist/components/commentThread/commentThread.props.cjs +17 -0
- package/dist/components/commentThread/commentThread.props.cjs.map +7 -0
- package/dist/components/commentThread/commentThread.props.d.cts +21 -0
- package/dist/components/commentThread/commentThread.props.d.cts.map +1 -0
- package/dist/components/commentThread/commentThread.props.d.mts +21 -0
- package/dist/components/commentThread/commentThread.props.d.mts.map +1 -0
- package/dist/components/commentThread/commentThread.props.d.ts +21 -0
- package/dist/components/commentThread/commentThread.props.d.ts.map +1 -0
- package/dist/components/commentThread/commentThread.props.js +1 -0
- package/dist/components/commentThread/commentThread.props.js.map +7 -0
- package/dist/components/config-drawer.css +35 -0
- package/dist/components/configDrawer/ConfigDrawer.cjs +47 -23
- package/dist/components/configDrawer/ConfigDrawer.cjs.map +2 -2
- package/dist/components/configDrawer/ConfigDrawer.d.cts +12 -1
- package/dist/components/configDrawer/ConfigDrawer.d.cts.map +1 -1
- package/dist/components/configDrawer/ConfigDrawer.d.mts +12 -1
- package/dist/components/configDrawer/ConfigDrawer.d.mts.map +1 -1
- package/dist/components/configDrawer/ConfigDrawer.d.ts +12 -1
- package/dist/components/configDrawer/ConfigDrawer.d.ts.map +1 -1
- package/dist/components/configDrawer/ConfigDrawer.js +48 -24
- package/dist/components/configDrawer/ConfigDrawer.js.map +2 -2
- package/dist/components/context-menu.css +3 -1
- package/dist/components/control-group.css +142 -0
- package/dist/components/controlGroup/ControlGroup.cjs +56 -0
- package/dist/components/controlGroup/ControlGroup.cjs.map +7 -0
- package/dist/components/controlGroup/ControlGroup.d.cts +16 -0
- package/dist/components/controlGroup/ControlGroup.d.cts.map +1 -0
- package/dist/components/controlGroup/ControlGroup.d.mts +16 -0
- package/dist/components/controlGroup/ControlGroup.d.mts.map +1 -0
- package/dist/components/controlGroup/ControlGroup.d.ts +16 -0
- package/dist/components/controlGroup/ControlGroup.d.ts.map +1 -0
- package/dist/components/controlGroup/ControlGroup.js +26 -0
- package/dist/components/controlGroup/ControlGroup.js.map +7 -0
- package/dist/components/controlGroup/controlGroup.props.cjs +40 -0
- package/dist/components/controlGroup/controlGroup.props.cjs.map +7 -0
- package/dist/components/controlGroup/controlGroup.props.d.cts +18 -0
- package/dist/components/controlGroup/controlGroup.props.d.cts.map +1 -0
- package/dist/components/controlGroup/controlGroup.props.d.mts +18 -0
- package/dist/components/controlGroup/controlGroup.props.d.mts.map +1 -0
- package/dist/components/controlGroup/controlGroup.props.d.ts +18 -0
- package/dist/components/controlGroup/controlGroup.props.d.ts.map +1 -0
- package/dist/components/controlGroup/controlGroup.props.js +20 -0
- package/dist/components/controlGroup/controlGroup.props.js.map +7 -0
- package/dist/components/copy-button.css +6 -7
- package/dist/components/dialog.css +12 -0
- package/dist/components/drawer/Drawer.cjs +0 -12
- package/dist/components/drawer/Drawer.cjs.map +2 -2
- package/dist/components/drawer/Drawer.d.cts +1 -35
- package/dist/components/drawer/Drawer.d.cts.map +1 -1
- package/dist/components/drawer/Drawer.d.mts +1 -35
- package/dist/components/drawer/Drawer.d.mts.map +1 -1
- package/dist/components/drawer/Drawer.d.ts +1 -35
- package/dist/components/drawer/Drawer.d.ts.map +1 -1
- package/dist/components/drawer/Drawer.js +0 -12
- package/dist/components/drawer/Drawer.js.map +2 -2
- package/dist/components/dropdown-menu.css +15 -3
- package/dist/components/dropdownMenu/DropdownMenu.cjs +1 -0
- package/dist/components/dropdownMenu/DropdownMenu.cjs.map +2 -2
- package/dist/components/dropdownMenu/DropdownMenu.d.cts.map +1 -1
- package/dist/components/dropdownMenu/DropdownMenu.d.mts.map +1 -1
- package/dist/components/dropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/dropdownMenu/DropdownMenu.js +1 -0
- package/dist/components/dropdownMenu/DropdownMenu.js.map +2 -2
- package/dist/components/editable/Editable.cjs +50 -7
- package/dist/components/editable/Editable.cjs.map +2 -2
- package/dist/components/editable/Editable.d.cts.map +1 -1
- package/dist/components/editable/Editable.d.mts.map +1 -1
- package/dist/components/editable/Editable.d.ts.map +1 -1
- package/dist/components/editable/Editable.js +50 -7
- package/dist/components/editable/Editable.js.map +2 -2
- package/dist/components/editable/editable.props.cjs +14 -0
- package/dist/components/editable/editable.props.cjs.map +2 -2
- package/dist/components/editable/editable.props.d.cts +13 -0
- package/dist/components/editable/editable.props.d.cts.map +1 -1
- package/dist/components/editable/editable.props.d.mts +13 -0
- package/dist/components/editable/editable.props.d.mts.map +1 -1
- package/dist/components/editable/editable.props.d.ts +13 -0
- package/dist/components/editable/editable.props.d.ts.map +1 -1
- package/dist/components/editable/editable.props.js +14 -0
- package/dist/components/editable/editable.props.js.map +2 -2
- package/dist/components/editable.css +22 -0
- package/dist/components/field/Field.cjs +3 -0
- package/dist/components/field/Field.cjs.map +2 -2
- package/dist/components/field/Field.d.cts.map +1 -1
- package/dist/components/field/Field.d.mts.map +1 -1
- package/dist/components/field/Field.d.ts.map +1 -1
- package/dist/components/field/Field.js +3 -0
- package/dist/components/field/Field.js.map +2 -2
- package/dist/components/field/field.props.cjs +0 -3
- package/dist/components/field/field.props.cjs.map +2 -2
- package/dist/components/field/field.props.d.cts +0 -3
- package/dist/components/field/field.props.d.cts.map +1 -1
- package/dist/components/field/field.props.d.mts +0 -3
- package/dist/components/field/field.props.d.mts.map +1 -1
- package/dist/components/field/field.props.d.ts +0 -3
- package/dist/components/field/field.props.d.ts.map +1 -1
- package/dist/components/field/field.props.js +0 -3
- package/dist/components/field/field.props.js.map +2 -2
- package/dist/components/field.css +4 -27
- package/dist/components/file-upload.css +10 -1
- package/dist/components/fileUpload/FileUpload.cjs +60 -25
- package/dist/components/fileUpload/FileUpload.cjs.map +2 -2
- package/dist/components/fileUpload/FileUpload.d.cts +4 -0
- package/dist/components/fileUpload/FileUpload.d.cts.map +1 -1
- package/dist/components/fileUpload/FileUpload.d.mts +4 -0
- package/dist/components/fileUpload/FileUpload.d.mts.map +1 -1
- package/dist/components/fileUpload/FileUpload.d.ts +4 -0
- package/dist/components/fileUpload/FileUpload.d.ts.map +1 -1
- package/dist/components/fileUpload/FileUpload.js +61 -26
- package/dist/components/fileUpload/FileUpload.js.map +2 -2
- package/dist/components/fileUpload/fileUpload.props.cjs +7 -1
- package/dist/components/fileUpload/fileUpload.props.cjs.map +2 -2
- package/dist/components/fileUpload/fileUpload.props.d.cts +5 -0
- package/dist/components/fileUpload/fileUpload.props.d.cts.map +1 -1
- package/dist/components/fileUpload/fileUpload.props.d.mts +5 -0
- package/dist/components/fileUpload/fileUpload.props.d.mts.map +1 -1
- package/dist/components/fileUpload/fileUpload.props.d.ts +5 -0
- package/dist/components/fileUpload/fileUpload.props.d.ts.map +1 -1
- package/dist/components/fileUpload/fileUpload.props.js +7 -1
- package/dist/components/fileUpload/fileUpload.props.js.map +2 -2
- package/dist/components/filter-bar.css +1 -0
- package/dist/components/flex/Flex.cjs +1 -1
- package/dist/components/flex/Flex.cjs.map +2 -2
- package/dist/components/flex/Flex.d.cts.map +1 -1
- package/dist/components/flex/Flex.d.mts.map +1 -1
- package/dist/components/flex/Flex.d.ts.map +1 -1
- package/dist/components/flex/Flex.js +1 -1
- package/dist/components/flex/Flex.js.map +2 -2
- package/dist/components/flex.css +24 -0
- package/dist/components/floating-panel.css +5 -4
- package/dist/components/fontProvider/FontProvider.cjs +44 -20
- package/dist/components/fontProvider/FontProvider.cjs.map +2 -2
- package/dist/components/fontProvider/FontProvider.d.cts.map +1 -1
- package/dist/components/fontProvider/FontProvider.d.mts.map +1 -1
- package/dist/components/fontProvider/FontProvider.d.ts.map +1 -1
- package/dist/components/fontProvider/FontProvider.js +44 -20
- package/dist/components/fontProvider/FontProvider.js.map +2 -2
- package/dist/components/fontProvider/fontProvider.props.cjs.map +1 -1
- package/dist/components/fontProvider/fontProvider.props.d.cts +1 -0
- package/dist/components/fontProvider/fontProvider.props.d.cts.map +1 -1
- package/dist/components/fontProvider/fontProvider.props.d.mts +1 -0
- package/dist/components/fontProvider/fontProvider.props.d.mts.map +1 -1
- package/dist/components/fontProvider/fontProvider.props.d.ts +1 -0
- package/dist/components/fontProvider/fontProvider.props.d.ts.map +1 -1
- package/dist/components/form/Form.cjs +1 -1
- package/dist/components/form/Form.cjs.map +2 -2
- package/dist/components/form/Form.d.cts +0 -2
- package/dist/components/form/Form.d.cts.map +1 -1
- package/dist/components/form/Form.d.mts +0 -2
- package/dist/components/form/Form.d.mts.map +1 -1
- package/dist/components/form/Form.d.ts +0 -2
- package/dist/components/form/Form.d.ts.map +1 -1
- package/dist/components/form/Form.js +1 -1
- package/dist/components/form/Form.js.map +2 -2
- package/dist/components/form/form.props.cjs +0 -1
- package/dist/components/form/form.props.cjs.map +2 -2
- package/dist/components/form/form.props.d.cts +0 -1
- package/dist/components/form/form.props.d.cts.map +1 -1
- package/dist/components/form/form.props.d.mts +0 -1
- package/dist/components/form/form.props.d.mts.map +1 -1
- package/dist/components/form/form.props.d.ts +0 -1
- package/dist/components/form/form.props.d.ts.map +1 -1
- package/dist/components/form/form.props.js +0 -1
- package/dist/components/form/form.props.js.map +2 -2
- package/dist/components/form.css +0 -8
- package/dist/components/grid/Grid.cjs +4 -3
- package/dist/components/grid/Grid.cjs.map +2 -2
- package/dist/components/grid/Grid.d.cts +1 -1
- package/dist/components/grid/Grid.d.cts.map +1 -1
- package/dist/components/grid/Grid.d.mts +1 -1
- package/dist/components/grid/Grid.d.mts.map +1 -1
- package/dist/components/grid/Grid.d.ts +1 -1
- package/dist/components/grid/Grid.d.ts.map +1 -1
- package/dist/components/grid/Grid.js +4 -3
- package/dist/components/grid/Grid.js.map +2 -2
- package/dist/components/heading.css +14 -0
- package/dist/components/hover-card.css +7 -10
- package/dist/components/hoverCard/HoverCard.cjs +1 -1
- package/dist/components/hoverCard/HoverCard.cjs.map +1 -1
- package/dist/components/hoverCard/HoverCard.js +1 -1
- package/dist/components/hoverCard/HoverCard.js.map +1 -1
- package/dist/components/icon/Icon.cjs +6 -0
- package/dist/components/icon/Icon.cjs.map +2 -2
- package/dist/components/icon/Icon.d.cts +9 -1
- package/dist/components/icon/Icon.d.cts.map +1 -1
- package/dist/components/icon/Icon.d.mts +9 -1
- package/dist/components/icon/Icon.d.mts.map +1 -1
- package/dist/components/icon/Icon.d.ts +9 -1
- package/dist/components/icon/Icon.d.ts.map +1 -1
- package/dist/components/icon/Icon.js +8 -0
- package/dist/components/icon/Icon.js.map +2 -2
- package/dist/components/icon/icons.cjs +4 -0
- package/dist/components/icon/icons.cjs.map +2 -2
- package/dist/components/icon/icons.d.cts +10 -0
- package/dist/components/icon/icons.d.cts.map +1 -1
- package/dist/components/icon/icons.d.mts +10 -0
- package/dist/components/icon/icons.d.mts.map +1 -1
- package/dist/components/icon/icons.d.ts +10 -0
- package/dist/components/icon/icons.d.ts.map +1 -1
- package/dist/components/icon/icons.js +4 -0
- package/dist/components/icon/icons.js.map +2 -2
- package/dist/components/icon-button.css +15 -8
- package/dist/components/iconButton/IconButton.cjs +2 -0
- package/dist/components/iconButton/IconButton.cjs.map +2 -2
- package/dist/components/iconButton/IconButton.d.cts.map +1 -1
- package/dist/components/iconButton/IconButton.d.mts.map +1 -1
- package/dist/components/iconButton/IconButton.d.ts.map +1 -1
- package/dist/components/iconButton/IconButton.js +2 -0
- package/dist/components/iconButton/IconButton.js.map +2 -2
- package/dist/components/iconButton/iconButton.props.cjs +4 -0
- package/dist/components/iconButton/iconButton.props.cjs.map +2 -2
- package/dist/components/iconButton/iconButton.props.d.cts +4 -0
- package/dist/components/iconButton/iconButton.props.d.cts.map +1 -1
- package/dist/components/iconButton/iconButton.props.d.mts +4 -0
- package/dist/components/iconButton/iconButton.props.d.mts.map +1 -1
- package/dist/components/iconButton/iconButton.props.d.ts +4 -0
- package/dist/components/iconButton/iconButton.props.d.ts.map +1 -1
- package/dist/components/iconButton/iconButton.props.js +4 -0
- package/dist/components/iconButton/iconButton.props.js.map +2 -2
- package/dist/components/index.cjs +2 -7
- package/dist/components/index.cjs.map +2 -2
- package/dist/components/index.d.cts +2 -7
- package/dist/components/index.d.cts.map +1 -1
- package/dist/components/index.d.mts +2 -7
- package/dist/components/index.d.mts.map +1 -1
- package/dist/components/index.d.ts +2 -7
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2 -7
- package/dist/components/index.js.map +2 -2
- package/dist/components/input-otp.css +4 -0
- package/dist/components/input.css +16 -3
- package/dist/components/kbd.css +1 -1
- package/dist/components/label/Label.cjs +1 -1
- package/dist/components/label/Label.cjs.map +2 -2
- package/dist/components/label/Label.js +1 -1
- package/dist/components/label/Label.js.map +2 -2
- package/dist/components/label.css +1 -1
- package/dist/components/menu.css +5 -6
- package/dist/components/menubar.css +8 -4
- package/dist/components/native-select.css +4 -15
- package/dist/components/nativeSelect/NativeSelect.cjs +3 -4
- package/dist/components/nativeSelect/NativeSelect.cjs.map +2 -2
- package/dist/components/nativeSelect/NativeSelect.d.cts.map +1 -1
- package/dist/components/nativeSelect/NativeSelect.d.mts.map +1 -1
- package/dist/components/nativeSelect/NativeSelect.d.ts.map +1 -1
- package/dist/components/nativeSelect/NativeSelect.js +3 -4
- package/dist/components/nativeSelect/NativeSelect.js.map +2 -2
- package/dist/components/nativeSelect/nativeSelect.props.cjs +0 -8
- package/dist/components/nativeSelect/nativeSelect.props.cjs.map +2 -2
- package/dist/components/nativeSelect/nativeSelect.props.d.cts +0 -7
- package/dist/components/nativeSelect/nativeSelect.props.d.cts.map +1 -1
- package/dist/components/nativeSelect/nativeSelect.props.d.mts +0 -7
- package/dist/components/nativeSelect/nativeSelect.props.d.mts.map +1 -1
- package/dist/components/nativeSelect/nativeSelect.props.d.ts +0 -7
- package/dist/components/nativeSelect/nativeSelect.props.d.ts.map +1 -1
- package/dist/components/nativeSelect/nativeSelect.props.js +0 -8
- package/dist/components/nativeSelect/nativeSelect.props.js.map +2 -2
- package/dist/components/navigation-menu.css +67 -44
- package/dist/components/navigationMenu/NavigationMenu.cjs +87 -5
- package/dist/components/navigationMenu/NavigationMenu.cjs.map +2 -2
- package/dist/components/navigationMenu/NavigationMenu.d.cts.map +1 -1
- package/dist/components/navigationMenu/NavigationMenu.d.mts.map +1 -1
- package/dist/components/navigationMenu/NavigationMenu.d.ts.map +1 -1
- package/dist/components/navigationMenu/NavigationMenu.js +87 -5
- package/dist/components/navigationMenu/NavigationMenu.js.map +2 -2
- package/dist/components/notification-center.css +3 -2
- package/dist/components/number-input.css +44 -3
- package/dist/components/numberInput/NumberInput.cjs +106 -14
- package/dist/components/numberInput/NumberInput.cjs.map +2 -2
- package/dist/components/numberInput/NumberInput.d.cts +2 -0
- package/dist/components/numberInput/NumberInput.d.cts.map +1 -1
- package/dist/components/numberInput/NumberInput.d.mts +2 -0
- package/dist/components/numberInput/NumberInput.d.mts.map +1 -1
- package/dist/components/numberInput/NumberInput.d.ts +2 -0
- package/dist/components/numberInput/NumberInput.d.ts.map +1 -1
- package/dist/components/numberInput/NumberInput.js +107 -15
- package/dist/components/numberInput/NumberInput.js.map +2 -2
- package/dist/components/numberInput/numberInput.props.cjs +20 -0
- package/dist/components/numberInput/numberInput.props.cjs.map +2 -2
- package/dist/components/numberInput/numberInput.props.d.cts +18 -0
- package/dist/components/numberInput/numberInput.props.d.cts.map +1 -1
- package/dist/components/numberInput/numberInput.props.d.mts +18 -0
- package/dist/components/numberInput/numberInput.props.d.mts.map +1 -1
- package/dist/components/numberInput/numberInput.props.d.ts +18 -0
- package/dist/components/numberInput/numberInput.props.d.ts.map +1 -1
- package/dist/components/numberInput/numberInput.props.js +20 -0
- package/dist/components/numberInput/numberInput.props.js.map +2 -2
- package/dist/components/password-input.css +4 -2
- package/dist/components/phone-input.css +230 -0
- package/dist/components/phoneInput/PhoneInput.cjs +247 -0
- package/dist/components/phoneInput/PhoneInput.cjs.map +7 -0
- package/dist/components/phoneInput/PhoneInput.d.cts +24 -0
- package/dist/components/phoneInput/PhoneInput.d.cts.map +1 -0
- package/dist/components/phoneInput/PhoneInput.d.mts +24 -0
- package/dist/components/phoneInput/PhoneInput.d.mts.map +1 -0
- package/dist/components/phoneInput/PhoneInput.d.ts +24 -0
- package/dist/components/phoneInput/PhoneInput.d.ts.map +1 -0
- package/dist/components/phoneInput/PhoneInput.js +217 -0
- package/dist/components/phoneInput/PhoneInput.js.map +7 -0
- package/dist/components/phoneInput/phoneInput.props.cjs +40 -0
- package/dist/components/phoneInput/phoneInput.props.cjs.map +7 -0
- package/dist/components/phoneInput/phoneInput.props.d.cts +18 -0
- package/dist/components/phoneInput/phoneInput.props.d.cts.map +1 -0
- package/dist/components/phoneInput/phoneInput.props.d.mts +18 -0
- package/dist/components/phoneInput/phoneInput.props.d.mts.map +1 -0
- package/dist/components/phoneInput/phoneInput.props.d.ts +18 -0
- package/dist/components/phoneInput/phoneInput.props.d.ts.map +1 -0
- package/dist/components/phoneInput/phoneInput.props.js +20 -0
- package/dist/components/phoneInput/phoneInput.props.js.map +7 -0
- package/dist/components/pills/Pills.cjs +11 -2
- package/dist/components/pills/Pills.cjs.map +2 -2
- package/dist/components/pills/Pills.d.cts.map +1 -1
- package/dist/components/pills/Pills.d.mts.map +1 -1
- package/dist/components/pills/Pills.d.ts.map +1 -1
- package/dist/components/pills/Pills.js +11 -2
- package/dist/components/pills/Pills.js.map +2 -2
- package/dist/components/pills/pills.props.cjs +6 -1
- package/dist/components/pills/pills.props.cjs.map +2 -2
- package/dist/components/pills/pills.props.d.cts +6 -1
- package/dist/components/pills/pills.props.d.cts.map +1 -1
- package/dist/components/pills/pills.props.d.mts +6 -1
- package/dist/components/pills/pills.props.d.mts.map +1 -1
- package/dist/components/pills/pills.props.d.ts +6 -1
- package/dist/components/pills/pills.props.d.ts.map +1 -1
- package/dist/components/pills/pills.props.js +6 -1
- package/dist/components/pills/pills.props.js.map +2 -2
- package/dist/components/pills.css +40 -1
- package/dist/components/popover/Popover.cjs +1 -1
- package/dist/components/popover/Popover.cjs.map +1 -1
- package/dist/components/popover/Popover.js +1 -1
- package/dist/components/popover/Popover.js.map +1 -1
- package/dist/components/popover.css +10 -0
- package/dist/components/progress.css +6 -2
- package/dist/components/prose/Prose.cjs.map +2 -2
- package/dist/components/prose/Prose.d.cts +2 -5
- package/dist/components/prose/Prose.d.cts.map +1 -1
- package/dist/components/prose/Prose.d.mts +2 -5
- package/dist/components/prose/Prose.d.mts.map +1 -1
- package/dist/components/prose/Prose.d.ts +2 -5
- package/dist/components/prose/Prose.d.ts.map +1 -1
- package/dist/components/prose/Prose.js.map +2 -2
- package/dist/components/prose/prose.props.cjs +17 -0
- package/dist/components/prose/prose.props.cjs.map +7 -0
- package/dist/components/prose/prose.props.d.cts +7 -0
- package/dist/components/prose/prose.props.d.cts.map +1 -0
- package/dist/components/prose/prose.props.d.mts +7 -0
- package/dist/components/prose/prose.props.d.mts.map +1 -0
- package/dist/components/prose/prose.props.d.ts +7 -0
- package/dist/components/prose/prose.props.d.ts.map +1 -0
- package/dist/components/prose/prose.props.js +1 -0
- package/dist/components/prose/prose.props.js.map +7 -0
- package/dist/components/radio-cards.css +8 -0
- package/dist/components/rating/Rating.cjs +2 -1
- package/dist/components/rating/Rating.cjs.map +2 -2
- package/dist/components/rating/Rating.d.cts.map +1 -1
- package/dist/components/rating/Rating.d.mts.map +1 -1
- package/dist/components/rating/Rating.d.ts.map +1 -1
- package/dist/components/rating/Rating.js +2 -1
- package/dist/components/rating/Rating.js.map +2 -2
- package/dist/components/result/Result.cjs.map +2 -2
- package/dist/components/result/Result.d.cts +2 -11
- package/dist/components/result/Result.d.cts.map +1 -1
- package/dist/components/result/Result.d.mts +2 -11
- package/dist/components/result/Result.d.mts.map +1 -1
- package/dist/components/result/Result.d.ts +2 -11
- package/dist/components/result/Result.d.ts.map +1 -1
- package/dist/components/result/Result.js.map +2 -2
- package/dist/components/result/result.props.cjs +17 -0
- package/dist/components/result/result.props.cjs.map +7 -0
- package/dist/components/result/result.props.d.cts +13 -0
- package/dist/components/result/result.props.d.cts.map +1 -0
- package/dist/components/result/result.props.d.mts +13 -0
- package/dist/components/result/result.props.d.mts.map +1 -0
- package/dist/components/result/result.props.d.ts +13 -0
- package/dist/components/result/result.props.d.ts.map +1 -0
- package/dist/components/result/result.props.js +1 -0
- package/dist/components/result/result.props.js.map +7 -0
- package/dist/components/result.css +1 -0
- package/dist/components/searchBar/SearchBar.cjs +2 -0
- package/dist/components/searchBar/SearchBar.cjs.map +2 -2
- package/dist/components/searchBar/SearchBar.d.cts.map +1 -1
- package/dist/components/searchBar/SearchBar.d.mts.map +1 -1
- package/dist/components/searchBar/SearchBar.d.ts.map +1 -1
- package/dist/components/searchBar/SearchBar.js +3 -1
- package/dist/components/searchBar/SearchBar.js.map +2 -2
- package/dist/components/searchBar/searchBar.props.cjs +4 -0
- package/dist/components/searchBar/searchBar.props.cjs.map +2 -2
- package/dist/components/searchBar/searchBar.props.d.cts +4 -0
- package/dist/components/searchBar/searchBar.props.d.cts.map +1 -1
- package/dist/components/searchBar/searchBar.props.d.mts +4 -0
- package/dist/components/searchBar/searchBar.props.d.mts.map +1 -1
- package/dist/components/searchBar/searchBar.props.d.ts +4 -0
- package/dist/components/searchBar/searchBar.props.d.ts.map +1 -1
- package/dist/components/searchBar/searchBar.props.js +4 -0
- package/dist/components/searchBar/searchBar.props.js.map +2 -2
- package/dist/components/section/section.props.cjs +8 -0
- package/dist/components/section/section.props.cjs.map +2 -2
- package/dist/components/section/section.props.d.cts +6 -0
- package/dist/components/section/section.props.d.cts.map +1 -1
- package/dist/components/section/section.props.d.mts +6 -0
- package/dist/components/section/section.props.d.mts.map +1 -1
- package/dist/components/section/section.props.d.ts +6 -0
- package/dist/components/section/section.props.d.ts.map +1 -1
- package/dist/components/section/section.props.js +8 -0
- package/dist/components/section/section.props.js.map +2 -2
- package/dist/components/segmented-control.css +93 -53
- package/dist/components/segmented-meter.css +6 -3
- package/dist/components/segmentedControl/SegmentedControl.cjs +105 -13
- package/dist/components/segmentedControl/SegmentedControl.cjs.map +2 -2
- package/dist/components/segmentedControl/SegmentedControl.d.cts +1 -0
- package/dist/components/segmentedControl/SegmentedControl.d.cts.map +1 -1
- package/dist/components/segmentedControl/SegmentedControl.d.mts +1 -0
- package/dist/components/segmentedControl/SegmentedControl.d.mts.map +1 -1
- package/dist/components/segmentedControl/SegmentedControl.d.ts +1 -0
- package/dist/components/segmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/components/segmentedControl/SegmentedControl.js +106 -14
- package/dist/components/segmentedControl/SegmentedControl.js.map +2 -2
- package/dist/components/segmentedControl/segmentedControl.props.cjs +7 -1
- package/dist/components/segmentedControl/segmentedControl.props.cjs.map +2 -2
- package/dist/components/segmentedControl/segmentedControl.props.d.cts +6 -1
- package/dist/components/segmentedControl/segmentedControl.props.d.cts.map +1 -1
- package/dist/components/segmentedControl/segmentedControl.props.d.mts +6 -1
- package/dist/components/segmentedControl/segmentedControl.props.d.mts.map +1 -1
- package/dist/components/segmentedControl/segmentedControl.props.d.ts +6 -1
- package/dist/components/segmentedControl/segmentedControl.props.d.ts.map +1 -1
- package/dist/components/segmentedControl/segmentedControl.props.js +7 -1
- package/dist/components/segmentedControl/segmentedControl.props.js.map +2 -2
- package/dist/components/select/Select.cjs +76 -16
- package/dist/components/select/Select.cjs.map +3 -3
- package/dist/components/select/Select.d.cts +5 -2
- package/dist/components/select/Select.d.cts.map +1 -1
- package/dist/components/select/Select.d.mts +5 -2
- package/dist/components/select/Select.d.mts.map +1 -1
- package/dist/components/select/Select.d.ts +5 -2
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/components/select/Select.js +76 -16
- package/dist/components/select/Select.js.map +3 -3
- package/dist/components/select/select.props.cjs +5 -1
- package/dist/components/select/select.props.cjs.map +2 -2
- package/dist/components/select/select.props.d.cts +8 -4
- package/dist/components/select/select.props.d.cts.map +1 -1
- package/dist/components/select/select.props.d.mts +8 -4
- package/dist/components/select/select.props.d.mts.map +1 -1
- package/dist/components/select/select.props.d.ts +8 -4
- package/dist/components/select/select.props.d.ts.map +1 -1
- package/dist/components/select/select.props.js +5 -1
- package/dist/components/select/select.props.js.map +2 -2
- package/dist/components/select.css +142 -16
- package/dist/components/separator.css +8 -2
- package/dist/components/sidebar/Sidebar.cjs +513 -113
- package/dist/components/sidebar/Sidebar.cjs.map +2 -2
- package/dist/components/sidebar/Sidebar.d.cts +61 -5
- package/dist/components/sidebar/Sidebar.d.cts.map +1 -1
- package/dist/components/sidebar/Sidebar.d.mts +61 -5
- package/dist/components/sidebar/Sidebar.d.mts.map +1 -1
- package/dist/components/sidebar/Sidebar.d.ts +61 -5
- package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
- package/dist/components/sidebar/Sidebar.js +514 -113
- package/dist/components/sidebar/Sidebar.js.map +2 -2
- package/dist/components/sidebar/sidebar.props.cjs +32 -0
- package/dist/components/sidebar/sidebar.props.cjs.map +2 -2
- package/dist/components/sidebar/sidebar.props.d.cts +34 -1
- package/dist/components/sidebar/sidebar.props.d.cts.map +1 -1
- package/dist/components/sidebar/sidebar.props.d.mts +34 -1
- package/dist/components/sidebar/sidebar.props.d.mts.map +1 -1
- package/dist/components/sidebar/sidebar.props.d.ts +34 -1
- package/dist/components/sidebar/sidebar.props.d.ts.map +1 -1
- package/dist/components/sidebar/sidebar.props.js +32 -0
- package/dist/components/sidebar/sidebar.props.js.map +2 -2
- package/dist/components/sidebar.css +408 -51
- package/dist/components/skeleton/Skeleton.cjs +1 -1
- package/dist/components/skeleton/Skeleton.cjs.map +2 -2
- package/dist/components/skeleton/Skeleton.js +1 -1
- package/dist/components/skeleton/Skeleton.js.map +2 -2
- package/dist/components/skeleton.css +9 -3
- package/dist/components/slider.css +15 -7
- package/dist/components/sortable-list.css +1 -0
- package/dist/components/sortableList/SortableList.cjs +7 -2
- package/dist/components/sortableList/SortableList.cjs.map +2 -2
- package/dist/components/sortableList/SortableList.d.cts +2 -19
- package/dist/components/sortableList/SortableList.d.cts.map +1 -1
- package/dist/components/sortableList/SortableList.d.mts +2 -19
- package/dist/components/sortableList/SortableList.d.mts.map +1 -1
- package/dist/components/sortableList/SortableList.d.ts +2 -19
- package/dist/components/sortableList/SortableList.d.ts.map +1 -1
- package/dist/components/sortableList/SortableList.js +7 -2
- package/dist/components/sortableList/SortableList.js.map +2 -2
- package/dist/components/sortableList/sortableList.props.cjs +17 -0
- package/dist/components/sortableList/sortableList.props.cjs.map +7 -0
- package/dist/components/sortableList/sortableList.props.d.cts +21 -0
- package/dist/components/sortableList/sortableList.props.d.cts.map +1 -0
- package/dist/components/sortableList/sortableList.props.d.mts +21 -0
- package/dist/components/sortableList/sortableList.props.d.mts.map +1 -0
- package/dist/components/sortableList/sortableList.props.d.ts +21 -0
- package/dist/components/sortableList/sortableList.props.d.ts.map +1 -0
- package/dist/components/sortableList/sortableList.props.js +1 -0
- package/dist/components/sortableList/sortableList.props.js.map +7 -0
- package/dist/components/spinner/Spinner.cjs +22 -3
- package/dist/components/spinner/Spinner.cjs.map +2 -2
- package/dist/components/spinner/Spinner.d.cts.map +1 -1
- package/dist/components/spinner/Spinner.d.mts.map +1 -1
- package/dist/components/spinner/Spinner.d.ts.map +1 -1
- package/dist/components/spinner/Spinner.js +22 -3
- package/dist/components/spinner/Spinner.js.map +2 -2
- package/dist/components/spinner/spinner.props.cjs +10 -0
- package/dist/components/spinner/spinner.props.cjs.map +2 -2
- package/dist/components/spinner/spinner.props.d.cts +9 -0
- package/dist/components/spinner/spinner.props.d.cts.map +1 -1
- package/dist/components/spinner/spinner.props.d.mts +9 -0
- package/dist/components/spinner/spinner.props.d.mts.map +1 -1
- package/dist/components/spinner/spinner.props.d.ts +9 -0
- package/dist/components/spinner/spinner.props.d.ts.map +1 -1
- package/dist/components/spinner/spinner.props.js +10 -0
- package/dist/components/spinner/spinner.props.js.map +2 -2
- package/dist/components/spinner.css +38 -0
- package/dist/components/stepper.css +63 -8
- package/dist/components/switch/Switch.cjs +1 -5
- package/dist/components/switch/Switch.cjs.map +2 -2
- package/dist/components/switch/Switch.d.cts.map +1 -1
- package/dist/components/switch/Switch.d.mts.map +1 -1
- package/dist/components/switch/Switch.d.ts.map +1 -1
- package/dist/components/switch/Switch.js +1 -5
- package/dist/components/switch/Switch.js.map +2 -2
- package/dist/components/switch.css +38 -16
- package/dist/components/tableOfContents/TableOfContents.cjs.map +2 -2
- package/dist/components/tableOfContents/TableOfContents.d.cts +2 -12
- package/dist/components/tableOfContents/TableOfContents.d.cts.map +1 -1
- package/dist/components/tableOfContents/TableOfContents.d.mts +2 -12
- package/dist/components/tableOfContents/TableOfContents.d.mts.map +1 -1
- package/dist/components/tableOfContents/TableOfContents.d.ts +2 -12
- package/dist/components/tableOfContents/TableOfContents.d.ts.map +1 -1
- package/dist/components/tableOfContents/TableOfContents.js.map +2 -2
- package/dist/components/tableOfContents/tableOfContents.props.cjs +17 -0
- package/dist/components/tableOfContents/tableOfContents.props.cjs.map +7 -0
- package/dist/components/tableOfContents/tableOfContents.props.d.cts +14 -0
- package/dist/components/tableOfContents/tableOfContents.props.d.cts.map +1 -0
- package/dist/components/tableOfContents/tableOfContents.props.d.mts +14 -0
- package/dist/components/tableOfContents/tableOfContents.props.d.mts.map +1 -0
- package/dist/components/tableOfContents/tableOfContents.props.d.ts +14 -0
- package/dist/components/tableOfContents/tableOfContents.props.d.ts.map +1 -0
- package/dist/components/tableOfContents/tableOfContents.props.js +1 -0
- package/dist/components/tableOfContents/tableOfContents.props.js.map +7 -0
- package/dist/components/tabs.css +1 -1
- package/dist/components/tag/Tag.cjs +75 -0
- package/dist/components/tag/Tag.cjs.map +7 -0
- package/dist/components/tag/Tag.d.cts +12 -0
- package/dist/components/tag/Tag.d.cts.map +1 -0
- package/dist/components/tag/Tag.d.mts +12 -0
- package/dist/components/tag/Tag.d.mts.map +1 -0
- package/dist/components/tag/Tag.d.ts +12 -0
- package/dist/components/tag/Tag.d.ts.map +1 -0
- package/dist/components/tag/Tag.js +45 -0
- package/dist/components/tag/Tag.js.map +7 -0
- package/dist/components/tag/tag.props.cjs +52 -0
- package/dist/components/tag/tag.props.cjs.map +7 -0
- package/dist/components/tag/tag.props.d.cts +32 -0
- package/dist/components/tag/tag.props.d.cts.map +1 -0
- package/dist/components/tag/tag.props.d.mts +32 -0
- package/dist/components/tag/tag.props.d.mts.map +1 -0
- package/dist/components/tag/tag.props.d.ts +32 -0
- package/dist/components/tag/tag.props.d.ts.map +1 -0
- package/dist/components/tag/tag.props.js +32 -0
- package/dist/components/tag/tag.props.js.map +7 -0
- package/dist/components/tag.css +106 -0
- package/dist/components/tags-input.css +31 -9
- package/dist/components/tagsInput/TagsInput.cjs +43 -9
- package/dist/components/tagsInput/TagsInput.cjs.map +2 -2
- package/dist/components/tagsInput/TagsInput.d.cts.map +1 -1
- package/dist/components/tagsInput/TagsInput.d.mts.map +1 -1
- package/dist/components/tagsInput/TagsInput.d.ts.map +1 -1
- package/dist/components/tagsInput/TagsInput.js +43 -9
- package/dist/components/tagsInput/TagsInput.js.map +2 -2
- package/dist/components/tagsInput/tagsInput.props.cjs +20 -0
- package/dist/components/tagsInput/tagsInput.props.cjs.map +2 -2
- package/dist/components/tagsInput/tagsInput.props.d.cts +20 -0
- package/dist/components/tagsInput/tagsInput.props.d.cts.map +1 -1
- package/dist/components/tagsInput/tagsInput.props.d.mts +20 -0
- package/dist/components/tagsInput/tagsInput.props.d.mts.map +1 -1
- package/dist/components/tagsInput/tagsInput.props.d.ts +20 -0
- package/dist/components/tagsInput/tagsInput.props.d.ts.map +1 -1
- package/dist/components/tagsInput/tagsInput.props.js +20 -0
- package/dist/components/tagsInput/tagsInput.props.js.map +2 -2
- package/dist/components/text-area-field.css +177 -0
- package/dist/components/text-field.css +39 -2
- package/dist/components/text.css +9 -0
- package/dist/components/textArea/textArea.props.cjs +1 -1
- package/dist/components/textArea/textArea.props.cjs.map +2 -2
- package/dist/components/textArea/textArea.props.d.cts +1 -1
- package/dist/components/textArea/textArea.props.d.mts +1 -1
- package/dist/components/textArea/textArea.props.d.ts +1 -1
- package/dist/components/textArea/textArea.props.js +1 -1
- package/dist/components/textArea/textArea.props.js.map +2 -2
- package/dist/components/textAreaField/TextAreaField.cjs +231 -0
- package/dist/components/textAreaField/TextAreaField.cjs.map +7 -0
- package/dist/components/textAreaField/TextAreaField.d.cts +24 -0
- package/dist/components/textAreaField/TextAreaField.d.cts.map +1 -0
- package/dist/components/textAreaField/TextAreaField.d.mts +24 -0
- package/dist/components/textAreaField/TextAreaField.d.mts.map +1 -0
- package/dist/components/textAreaField/TextAreaField.d.ts +24 -0
- package/dist/components/textAreaField/TextAreaField.d.ts.map +1 -0
- package/dist/components/textAreaField/TextAreaField.js +201 -0
- package/dist/components/textAreaField/TextAreaField.js.map +7 -0
- package/dist/components/textAreaField/textAreaField.props.cjs +68 -0
- package/dist/components/textAreaField/textAreaField.props.cjs.map +7 -0
- package/dist/components/textAreaField/textAreaField.props.d.cts +44 -0
- package/dist/components/textAreaField/textAreaField.props.d.cts.map +1 -0
- package/dist/components/textAreaField/textAreaField.props.d.mts +44 -0
- package/dist/components/textAreaField/textAreaField.props.d.mts.map +1 -0
- package/dist/components/textAreaField/textAreaField.props.d.ts +44 -0
- package/dist/components/textAreaField/textAreaField.props.d.ts.map +1 -0
- package/dist/components/textAreaField/textAreaField.props.js +48 -0
- package/dist/components/textAreaField/textAreaField.props.js.map +7 -0
- package/dist/components/textField/TextField.cjs +3 -2
- package/dist/components/textField/TextField.cjs.map +2 -2
- package/dist/components/textField/TextField.d.cts +1 -0
- package/dist/components/textField/TextField.d.cts.map +1 -1
- package/dist/components/textField/TextField.d.mts +1 -0
- package/dist/components/textField/TextField.d.mts.map +1 -1
- package/dist/components/textField/TextField.d.ts +1 -0
- package/dist/components/textField/TextField.d.ts.map +1 -1
- package/dist/components/textField/TextField.js +3 -2
- package/dist/components/textField/TextField.js.map +2 -2
- package/dist/components/textarea.css +12 -3
- package/dist/components/theme-panel.css +2 -1
- package/dist/components/themeProvider/ThemeProvider.cjs +22 -1
- package/dist/components/themeProvider/ThemeProvider.cjs.map +2 -2
- package/dist/components/themeProvider/ThemeProvider.d.cts.map +1 -1
- package/dist/components/themeProvider/ThemeProvider.d.mts.map +1 -1
- package/dist/components/themeProvider/ThemeProvider.d.ts.map +1 -1
- package/dist/components/themeProvider/ThemeProvider.js +22 -1
- package/dist/components/themeProvider/ThemeProvider.js.map +2 -2
- package/dist/components/themeProvider/ThemeScript.cjs +1 -1
- package/dist/components/themeProvider/ThemeScript.cjs.map +2 -2
- package/dist/components/themeProvider/ThemeScript.d.cts.map +1 -1
- package/dist/components/themeProvider/ThemeScript.d.mts.map +1 -1
- package/dist/components/themeProvider/ThemeScript.d.ts.map +1 -1
- package/dist/components/themeProvider/ThemeScript.js +1 -1
- package/dist/components/themeProvider/ThemeScript.js.map +2 -2
- package/dist/components/time-picker.css +3 -2
- package/dist/components/toast/Toast.d.cts +1 -1
- package/dist/components/toast/Toast.d.mts +1 -1
- package/dist/components/toast/Toast.d.ts +1 -1
- package/dist/components/toast/toast.props.cjs +1 -1
- package/dist/components/toast/toast.props.cjs.map +2 -2
- package/dist/components/toast/toast.props.d.cts +2 -2
- package/dist/components/toast/toast.props.d.cts.map +1 -1
- package/dist/components/toast/toast.props.d.mts +2 -2
- package/dist/components/toast/toast.props.d.mts.map +1 -1
- package/dist/components/toast/toast.props.d.ts +2 -2
- package/dist/components/toast/toast.props.d.ts.map +1 -1
- package/dist/components/toast/toast.props.js +1 -1
- package/dist/components/toast/toast.props.js.map +2 -2
- package/dist/components/toast.css +29 -2
- package/dist/components/toggle-group.css +33 -0
- package/dist/components/toggle-tip.css +5 -4
- package/dist/components/tooltip/Tooltip.cjs +4 -1
- package/dist/components/tooltip/Tooltip.cjs.map +2 -2
- package/dist/components/tooltip/Tooltip.d.cts +4 -1
- package/dist/components/tooltip/Tooltip.d.cts.map +1 -1
- package/dist/components/tooltip/Tooltip.d.mts +4 -1
- package/dist/components/tooltip/Tooltip.d.mts.map +1 -1
- package/dist/components/tooltip/Tooltip.d.ts +4 -1
- package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/tooltip/Tooltip.js +5 -2
- package/dist/components/tooltip/Tooltip.js.map +2 -2
- package/dist/components/tooltip.css +10 -3
- package/dist/components.css +5 -42
- package/dist/docs/README.md +154 -0
- package/dist/docs/component-contract.md +224 -0
- package/dist/docs/component-index.json +1095 -0
- package/dist/docs/{accessible-icon.md → components/accessible-icon.md} +1 -8
- package/dist/docs/{accordion.md → components/accordion.md} +1 -8
- package/dist/docs/{alert-dialog.md → components/alert-dialog.md} +2 -9
- package/dist/docs/{alert.md → components/alert.md} +1 -8
- package/dist/docs/{article-nodes.md → components/article-nodes.md} +0 -2
- package/dist/docs/{aspect-ratio.md → components/aspect-ratio.md} +1 -8
- package/dist/docs/{avatar.md → components/avatar.md} +1 -8
- package/dist/docs/{badge.md → components/badge.md} +10 -17
- package/dist/docs/{blockquote.md → components/blockquote.md} +3 -8
- package/dist/docs/{box.md → components/box.md} +2 -9
- package/dist/docs/{breadcrumb.md → components/breadcrumb.md} +1 -8
- package/dist/docs/{button-group.md → components/button-group.md} +1 -8
- package/dist/docs/{button.md → components/button.md} +22 -23
- package/dist/docs/{calendar.md → components/calendar.md} +1 -8
- package/dist/docs/{callout.md → components/callout.md} +1 -8
- package/dist/docs/{card.md → components/card.md} +6 -9
- package/dist/docs/{carousel.md → components/carousel.md} +6 -11
- package/dist/docs/{chart.md → components/chart.md} +48 -19
- package/dist/docs/{checkbox-cards.md → components/checkbox-cards.md} +1 -6
- package/dist/docs/{checkbox-group.md → components/checkbox-group.md} +1 -8
- package/dist/docs/{checkbox.md → components/checkbox.md} +1 -8
- package/dist/docs/{code-input.md → components/code-input.md} +0 -7
- package/dist/docs/{code.md → components/code.md} +11 -18
- package/dist/docs/{collapsible.md → components/collapsible.md} +1 -8
- package/dist/docs/{color-picker.md → components/color-picker.md} +1 -8
- package/dist/docs/{color-swatch.md → components/color-swatch.md} +9 -10
- package/dist/docs/{combobox.md → components/combobox.md} +28 -30
- package/dist/docs/{command.md → components/command.md} +5 -10
- package/dist/docs/{comment-thread.md → components/comment-thread.md} +0 -2
- package/dist/docs/{config-drawer.md → components/config-drawer.md} +13 -14
- package/dist/docs/{container.md → components/container.md} +3 -10
- package/dist/docs/{context-menu.md → components/context-menu.md} +2 -12
- package/dist/docs/components/control-group.md +261 -0
- package/dist/docs/{copy-button.md → components/copy-button.md} +10 -17
- package/dist/docs/{copy-field.md → components/copy-field.md} +0 -7
- package/dist/docs/{data-list.md → components/data-list.md} +1 -8
- package/dist/docs/{data-table.md → components/data-table.md} +1 -8
- package/dist/docs/{date-picker.md → components/date-picker.md} +1 -8
- package/dist/docs/{dialog.md → components/dialog.md} +3 -10
- package/dist/docs/{direction-provider.md → components/direction-provider.md} +1 -7
- package/dist/docs/{drawer.md → components/drawer.md} +3 -9
- package/dist/docs/{dropdown-menu.md → components/dropdown-menu.md} +3 -13
- package/dist/docs/{editable.md → components/editable.md} +4 -6
- package/dist/docs/{em.md → components/em.md} +3 -8
- package/dist/docs/{empty-state.md → components/empty-state.md} +1 -8
- package/dist/docs/{field.md → components/field.md} +10 -14
- package/dist/docs/{file-upload.md → components/file-upload.md} +32 -23
- package/dist/docs/{filter-bar.md → components/filter-bar.md} +0 -7
- package/dist/docs/{flex.md → components/flex.md} +2 -9
- package/dist/docs/{floating-panel.md → components/floating-panel.md} +3 -8
- package/dist/docs/{font-provider.md → components/font-provider.md} +23 -24
- package/dist/docs/{form.md → components/form.md} +5 -10
- package/dist/docs/{grid.md → components/grid.md} +2 -8
- package/dist/docs/{heading.md → components/heading.md} +6 -11
- package/dist/docs/{hover-card.md → components/hover-card.md} +4 -11
- package/dist/docs/{icon-button.md → components/icon-button.md} +1 -8
- package/dist/docs/{icon.md → components/icon.md} +1 -8
- package/dist/docs/{input-group.md → components/input-group.md} +1 -8
- package/dist/docs/{input-otp.md → components/input-otp.md} +6 -10
- package/dist/docs/{input.md → components/input.md} +1 -8
- package/dist/docs/{inset.md → components/inset.md} +1 -8
- package/dist/docs/{item.md → components/item.md} +1 -8
- package/dist/docs/{kbd.md → components/kbd.md} +3 -10
- package/dist/docs/{label.md → components/label.md} +1 -8
- package/dist/docs/{layout-props.md → components/layout-props.md} +2 -9
- package/dist/docs/{link.md → components/link.md} +15 -22
- package/dist/docs/{marquee.md → components/marquee.md} +1 -6
- package/dist/docs/{menu.md → components/menu.md} +8 -14
- package/dist/docs/{menubar.md → components/menubar.md} +3 -13
- package/dist/docs/{metric.md → components/metric.md} +0 -7
- package/dist/docs/{native-select.md → components/native-select.md} +19 -31
- package/dist/docs/{navigation-menu.md → components/navigation-menu.md} +34 -36
- package/dist/docs/{notification-center.md → components/notification-center.md} +3 -10
- package/dist/docs/{number-input.md → components/number-input.md} +11 -12
- package/dist/docs/{page-content.md → components/page-content.md} +1 -8
- package/dist/docs/{page-header.md → components/page-header.md} +1 -8
- package/dist/docs/{pagination.md → components/pagination.md} +1 -9
- package/dist/docs/{password-input.md → components/password-input.md} +5 -11
- package/dist/docs/components/phone-input.md +74 -0
- package/dist/docs/{pills.md → components/pills.md} +6 -12
- package/dist/docs/{popover.md → components/popover.md} +6 -12
- package/dist/docs/{progress.md → components/progress.md} +1 -8
- package/dist/docs/{prose.md → components/prose.md} +0 -2
- package/dist/docs/{qr-code.md → components/qr-code.md} +2 -7
- package/dist/docs/{quote.md → components/quote.md} +3 -8
- package/dist/docs/{radio-cards.md → components/radio-cards.md} +1 -6
- package/dist/docs/{radio-group.md → components/radio-group.md} +1 -8
- package/dist/docs/{rating.md → components/rating.md} +1 -8
- package/dist/docs/{resizable.md → components/resizable.md} +1 -8
- package/dist/docs/{result.md → components/result.md} +0 -2
- package/dist/docs/{rich-text-editor.md → components/rich-text-editor.md} +1 -8
- package/dist/docs/{scroll-area.md → components/scroll-area.md} +1 -8
- package/dist/docs/{search-bar.md → components/search-bar.md} +5 -11
- package/dist/docs/{section.md → components/section.md} +1 -8
- package/dist/docs/components/segmented-control.md +253 -0
- package/dist/docs/{segmented-meter.md → components/segmented-meter.md} +1 -8
- package/dist/docs/{select.md → components/select.md} +23 -29
- package/dist/docs/{separator.md → components/separator.md} +1 -8
- package/dist/docs/{shared.md → components/shared.md} +2 -7
- package/dist/docs/{sidebar.md → components/sidebar.md} +88 -30
- package/dist/docs/{skeleton.md → components/skeleton.md} +1 -8
- package/dist/docs/{slider.md → components/slider.md} +1 -8
- package/dist/docs/{slot.md → components/slot.md} +1 -8
- package/dist/docs/{sonner.md → components/sonner.md} +1 -8
- package/dist/docs/{sortable-list.md → components/sortable-list.md} +9 -2
- package/dist/docs/{spinner.md → components/spinner.md} +9 -10
- package/dist/docs/{stack.md → components/stack.md} +2 -9
- package/dist/docs/{stat-card.md → components/stat-card.md} +1 -8
- package/dist/docs/{status.md → components/status.md} +1 -6
- package/dist/docs/{stepper.md → components/stepper.md} +1 -8
- package/dist/docs/{strong.md → components/strong.md} +3 -8
- package/dist/docs/{switch.md → components/switch.md} +1 -8
- package/dist/docs/{tab-nav.md → components/tab-nav.md} +2 -7
- package/dist/docs/{table-of-contents.md → components/table-of-contents.md} +0 -2
- package/dist/docs/{table.md → components/table.md} +1 -8
- package/dist/docs/{tabs.md → components/tabs.md} +1 -9
- package/dist/docs/components/tag.md +88 -0
- package/dist/docs/{tags-input.md → components/tags-input.md} +6 -6
- package/dist/docs/components/text-area-field.md +183 -0
- package/dist/docs/{text-area.md → components/text-area.md} +6 -11
- package/dist/docs/{text-field.md → components/text-field.md} +9 -12
- package/dist/docs/{text.md → components/text.md} +6 -11
- package/dist/docs/{theme-panel.md → components/theme-panel.md} +4 -11
- package/dist/docs/{theme-provider.md → components/theme-provider.md} +7 -13
- package/dist/docs/{theme.md → components/theme.md} +9 -15
- package/dist/docs/{time-picker.md → components/time-picker.md} +1 -8
- package/dist/docs/{timeline.md → components/timeline.md} +1 -8
- package/dist/docs/{toast.md → components/toast.md} +3 -10
- package/dist/docs/{toggle-group.md → components/toggle-group.md} +1 -8
- package/dist/docs/{toggle-tip.md → components/toggle-tip.md} +5 -10
- package/dist/docs/{toggle.md → components/toggle.md} +1 -8
- package/dist/docs/{toolbar.md → components/toolbar.md} +1 -8
- package/dist/docs/{tooltip.md → components/tooltip.md} +4 -11
- package/dist/docs/{tree-view.md → components/tree-view.md} +1 -6
- package/dist/docs/{typography.md → components/typography.md} +9 -11
- package/dist/docs/{visually-hidden.md → components/visually-hidden.md} +1 -7
- package/dist/docs/consumer-guide.md +84 -31
- package/dist/docs/theme-guide.md +20 -20
- package/dist/flags.css +266 -0
- package/dist/fonts.css +1 -0
- package/dist/foundations/Typography.cjs.map +2 -2
- package/dist/foundations/Typography.d.cts +1 -1
- package/dist/foundations/Typography.d.cts.map +1 -1
- package/dist/foundations/Typography.d.mts +1 -1
- package/dist/foundations/Typography.d.mts.map +1 -1
- package/dist/foundations/Typography.d.ts +1 -1
- package/dist/foundations/Typography.d.ts.map +1 -1
- package/dist/foundations/Typography.js.map +2 -2
- package/dist/foundations/index.cjs +1 -0
- package/dist/foundations/index.cjs.map +2 -2
- package/dist/foundations/index.d.cts +1 -0
- package/dist/foundations/index.d.cts.map +1 -1
- package/dist/foundations/index.d.mts +1 -0
- package/dist/foundations/index.d.mts.map +1 -1
- package/dist/foundations/index.d.ts +1 -0
- package/dist/foundations/index.d.ts.map +1 -1
- package/dist/foundations/index.js +1 -0
- package/dist/foundations/index.js.map +2 -2
- package/dist/generated/tokens.cjs +67 -8
- package/dist/generated/tokens.cjs.map +2 -2
- package/dist/generated/tokens.d.cts.map +1 -1
- package/dist/generated/tokens.d.mts.map +1 -1
- package/dist/generated/tokens.d.ts.map +1 -1
- package/dist/generated/tokens.js +67 -8
- package/dist/generated/tokens.js.map +2 -2
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +2 -2
- package/dist/index.d.cts +1 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +2 -2
- package/dist/layout/Layout.cjs +6 -1
- package/dist/layout/Layout.cjs.map +2 -2
- package/dist/layout/Layout.d.cts.map +1 -1
- package/dist/layout/Layout.d.mts.map +1 -1
- package/dist/layout/Layout.d.ts.map +1 -1
- package/dist/layout/Layout.js +6 -1
- package/dist/layout/Layout.js.map +2 -2
- package/dist/layout/layout.props.cjs +30 -40
- package/dist/layout/layout.props.cjs.map +2 -2
- package/dist/layout/layout.props.d.cts +3 -11
- package/dist/layout/layout.props.d.cts.map +1 -1
- package/dist/layout/layout.props.d.mts +3 -11
- package/dist/layout/layout.props.d.mts.map +1 -1
- package/dist/layout/layout.props.d.ts +3 -11
- package/dist/layout/layout.props.d.ts.map +1 -1
- package/dist/layout/layout.props.js +2 -11
- package/dist/layout/layout.props.js.map +2 -2
- package/dist/motion.css +497 -0
- package/dist/reset.css +37 -0
- package/dist/styles.css +3902 -1186
- package/dist/tailwind.css +1 -1
- package/dist/tokens.css +776 -359
- package/dist/utilities.css +28 -3
- package/package.json +130 -20
- package/dist/components/sheet/Sheet.cjs +0 -269
- package/dist/components/sheet/Sheet.cjs.map +0 -7
- package/dist/components/sheet/Sheet.d.cts +0 -83
- package/dist/components/sheet/Sheet.d.cts.map +0 -1
- package/dist/components/sheet/Sheet.d.mts +0 -83
- package/dist/components/sheet/Sheet.d.mts.map +0 -1
- package/dist/components/sheet/Sheet.d.ts +0 -83
- package/dist/components/sheet/Sheet.d.ts.map +0 -1
- package/dist/components/sheet/Sheet.js +0 -244
- package/dist/components/sheet/Sheet.js.map +0 -7
- package/dist/components/sheet/sheet.props.cjs +0 -59
- package/dist/components/sheet/sheet.props.cjs.map +0 -7
- package/dist/components/sheet/sheet.props.d.cts +0 -52
- package/dist/components/sheet/sheet.props.d.cts.map +0 -1
- package/dist/components/sheet/sheet.props.d.mts +0 -52
- package/dist/components/sheet/sheet.props.d.mts.map +0 -1
- package/dist/components/sheet/sheet.props.d.ts +0 -52
- package/dist/components/sheet/sheet.props.d.ts.map +0 -1
- package/dist/components/sheet/sheet.props.js +0 -39
- package/dist/components/sheet/sheet.props.js.map +0 -7
- package/dist/components/sheet.css +0 -123
- package/dist/docs/HIERARCHY.md +0 -29
- package/dist/docs/component-roster.md +0 -224
- package/dist/docs/component-spec-template.md +0 -256
- package/dist/docs/index.md +0 -149
- package/dist/docs/segmented-control.md +0 -211
- package/dist/docs/sheet.md +0 -326
- package/dist/docs/sidebar-guide.md +0 -732
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/textAreaField/textAreaField.props.ts"],
|
|
4
|
+
"sourcesContent": ["import { asChildPropDef } from '../../_internal/props/asChild.prop'\n\nimport type { PropDef } from '../../_internal/props/propDef'\n\nconst textAreaFieldVariants = ['classic', 'surface', 'soft'] as const\nconst textAreaFieldSizes = ['sm', 'md', 'lg'] as const\nconst textAreaFieldResizeValues = ['none', 'vertical', 'horizontal', 'both'] as const\nconst textAreaFieldRadiusValues = ['none', 'sm', 'md', 'lg'] as const\n\nconst textAreaFieldPropDefs = {\n ...asChildPropDef,\n variant: {\n type: 'enum',\n values: textAreaFieldVariants,\n default: 'surface',\n },\n size: {\n type: 'enum',\n values: textAreaFieldSizes,\n default: 'md',\n },\n invalid: {\n type: 'boolean',\n default: false,\n },\n resize: {\n type: 'enum',\n values: textAreaFieldResizeValues,\n default: 'vertical',\n },\n showCount: {\n type: 'boolean',\n default: true,\n },\n maxLength: {\n type: 'number',\n },\n color: {\n type: 'enum | string',\n values: [] as const,\n default: undefined,\n },\n radius: {\n type: 'enum',\n values: textAreaFieldRadiusValues,\n default: undefined,\n },\n} satisfies {\n asChild: PropDef\n variant: PropDef<(typeof textAreaFieldVariants)[number]>\n size: PropDef<(typeof textAreaFieldSizes)[number]>\n invalid: PropDef\n resize: PropDef<(typeof textAreaFieldResizeValues)[number]>\n showCount: PropDef\n maxLength: PropDef\n color: PropDef<string>\n radius: PropDef<(typeof textAreaFieldRadiusValues)[number]>\n}\n\nexport { textAreaFieldPropDefs }\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,sBAAsB;AAI/B,MAAM,wBAAwB,CAAC,WAAW,WAAW,MAAM;AAC3D,MAAM,qBAAqB,CAAC,MAAM,MAAM,IAAI;AAC5C,MAAM,4BAA4B,CAAC,QAAQ,YAAY,cAAc,MAAM;AAC3E,MAAM,4BAA4B,CAAC,QAAQ,MAAM,MAAM,IAAI;AAE3D,MAAM,wBAAwB;AAAA,EAC5B,GAAG;AAAA,EACH,SAAS;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,WAAW;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,SAAS;AAAA,EACX;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -107,13 +107,14 @@ const TextFieldInput = React.forwardRef(
|
|
|
107
107
|
);
|
|
108
108
|
TextFieldInput.displayName = "TextFieldInput";
|
|
109
109
|
const TextFieldSlot = React.forwardRef(
|
|
110
|
-
({ className, ...props }, forwardedRef) => {
|
|
110
|
+
({ className, side, ...props }, forwardedRef) => {
|
|
111
111
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
112
112
|
"div",
|
|
113
113
|
{
|
|
114
114
|
...props,
|
|
115
115
|
ref: forwardedRef,
|
|
116
|
-
className: (0, import_classnames.default)("dsx-text-field__slot", className)
|
|
116
|
+
className: (0, import_classnames.default)("dsx-text-field__slot", className),
|
|
117
|
+
"data-side": side
|
|
117
118
|
}
|
|
118
119
|
);
|
|
119
120
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/textField/TextField.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { textFieldPropDefs } from './textField.props'\nimport { Label } from '../label/Label'\nimport { Text } from '../text/Text'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype TextFieldContextValue = {\n id?: string\n invalid?: boolean\n}\n\nconst TextFieldContext = React.createContext<TextFieldContextValue>({})\n\nfunction useTextFieldContext() {\n return React.useContext(TextFieldContext)\n}\n\ntype TextFieldRootElement = React.ComponentRef<'div'>\ntype TextFieldRootOwnProps = GetPropDefTypes<typeof textFieldPropDefs> & {\n id?: string\n label?: string\n helperText?: string\n errorText?: string\n}\n\ninterface TextFieldRootProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'color'>, TextFieldRootOwnProps {}\n\nconst TextFieldRoot = React.forwardRef<TextFieldRootElement, TextFieldRootProps>((props, forwardedRef) => {\n const {\n asChild,\n children,\n className,\n color,\n density = 'md',\n errorText,\n helperText,\n id,\n invalid = false,\n label,\n radius,\n variant = 'surface',\n ...textFieldProps\n } = extractProps(props, textFieldPropDefs)\n\n const Comp = asChild ? Slot : 'div'\n\n return (\n <TextFieldContext.Provider value={React.useMemo(() => ({ id, invalid }), [id, invalid])}>\n <Comp\n {...textFieldProps}\n ref={forwardedRef}\n className={classNames(\n 'dsx-text-field',\n `dsx-text-field--${density}`,\n `dsx-text-field--${variant}`,\n invalid && 'dsx-text-field--invalid',\n className,\n )}\n data-accent-color={color}\n data-radius={radius}\n data-size={density}\n data-variant={variant}\n >\n {label ? (\n <Label htmlFor={id} className=\"dsx-text-field__label\">\n {label}\n </Label>\n ) : null}\n <div className=\"dsx-text-field__shell\">\n {children}\n </div>\n {errorText && invalid ? (\n <Text variant=\"label-small\" className=\"dsx-text-field__error\">\n {errorText}\n </Text>\n ) : null}\n {helperText && !invalid ? (\n <Text variant=\"label-small\" tone=\"muted\" className=\"dsx-text-field__helper\">\n {helperText}\n </Text>\n ) : null}\n </Comp>\n </TextFieldContext.Provider>\n )\n})\nTextFieldRoot.displayName = 'TextField'\n\ntype TextFieldInputElement = React.ComponentRef<'input'>\n\ninterface TextFieldInputProps extends React.ComponentPropsWithoutRef<'input'> {}\n\nconst TextFieldInput = React.forwardRef<TextFieldInputElement, TextFieldInputProps>(\n ({ className, ...props }, forwardedRef) => {\n const { id, invalid } = useTextFieldContext()\n\n return (\n <input\n {...props}\n id={id}\n ref={forwardedRef}\n className={classNames('dsx-text-field__input', className)}\n aria-invalid={invalid || undefined}\n />\n )\n },\n)\nTextFieldInput.displayName = 'TextFieldInput'\n\ntype TextFieldSlotElement = React.ComponentRef<'div'>\n\ninterface TextFieldSlotProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst TextFieldSlot = React.forwardRef<TextFieldSlotElement, TextFieldSlotProps>(\n ({ className, ...props }, forwardedRef) => {\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('dsx-text-field__slot', className)}\n />\n )\n },\n)\nTextFieldSlot.displayName = 'TextFieldSlot'\n\nconst TextField: typeof TextFieldRoot & {\n Input: typeof TextFieldInput\n Slot: typeof TextFieldSlot\n} = Object.assign(TextFieldRoot, {\n Input: TextFieldInput,\n Slot: TextFieldSlot,\n})\n\nexport { TextField, TextFieldInput, TextFieldRoot, TextFieldSlot }\nexport type { TextFieldInputProps, TextFieldRootProps, TextFieldSlotProps }\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,YAAuB;AACvB,wBAAuB;AACvB,wBAAqB;AAErB,0BAA6B;AAC7B,uBAAkC;AAClC,mBAAsB;AACtB,kBAAqB;AA8Cf;AArCN,MAAM,mBAAmB,MAAM,cAAqC,CAAC,CAAC;AAEtE,SAAS,sBAAsB;AAC7B,SAAO,MAAM,WAAW,gBAAgB;AAC1C;AAYA,MAAM,gBAAgB,MAAM,WAAqD,CAAC,OAAO,iBAAiB;AACxG,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,GAAG;AAAA,EACL,QAAI,kCAAa,OAAO,kCAAiB;AAEzC,QAAM,OAAO,UAAU,yBAAO;AAE9B,SACE,4CAAC,iBAAiB,UAAjB,EAA0B,OAAO,MAAM,QAAQ,OAAO,EAAE,IAAI,QAAQ,IAAI,CAAC,IAAI,OAAO,CAAC,GACpF;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,eAAW,kBAAAA;AAAA,QACT;AAAA,QACA,mBAAmB,OAAO;AAAA,QAC1B,mBAAmB,OAAO;AAAA,QAC1B,WAAW;AAAA,QACX;AAAA,MACF;AAAA,MACA,qBAAmB;AAAA,MACnB,eAAa;AAAA,MACb,aAAW;AAAA,MACX,gBAAc;AAAA,MAEb;AAAA,gBACC,4CAAC,sBAAM,SAAS,IAAI,WAAU,yBAC3B,iBACH,IACE;AAAA,QACJ,4CAAC,SAAI,WAAU,yBACZ,UACH;AAAA,QACC,aAAa,UACZ,4CAAC,oBAAK,SAAQ,eAAc,WAAU,yBACnC,qBACH,IACE;AAAA,QACH,cAAc,CAAC,UACd,4CAAC,oBAAK,SAAQ,eAAc,MAAK,SAAQ,WAAU,0BAChD,sBACH,IACE;AAAA;AAAA;AAAA,EACN,GACF;AAEJ,CAAC;AACD,cAAc,cAAc;AAM5B,MAAM,iBAAiB,MAAM;AAAA,EAC3B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,iBAAiB;AACzC,UAAM,EAAE,IAAI,QAAQ,IAAI,oBAAoB;AAE5C,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA,KAAK;AAAA,QACL,eAAW,kBAAAA,SAAW,yBAAyB,SAAS;AAAA,QACxD,gBAAc,WAAW;AAAA;AAAA,IAC3B;AAAA,EAEJ;AACF;AACA,eAAe,cAAc;
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { textFieldPropDefs } from './textField.props'\nimport { Label } from '../label/Label'\nimport { Text } from '../text/Text'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype TextFieldContextValue = {\n id?: string\n invalid?: boolean\n}\n\nconst TextFieldContext = React.createContext<TextFieldContextValue>({})\n\nfunction useTextFieldContext() {\n return React.useContext(TextFieldContext)\n}\n\ntype TextFieldRootElement = React.ComponentRef<'div'>\ntype TextFieldRootOwnProps = GetPropDefTypes<typeof textFieldPropDefs> & {\n id?: string\n label?: string\n helperText?: string\n errorText?: string\n}\n\ninterface TextFieldRootProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'color'>, TextFieldRootOwnProps {}\n\nconst TextFieldRoot = React.forwardRef<TextFieldRootElement, TextFieldRootProps>((props, forwardedRef) => {\n const {\n asChild,\n children,\n className,\n color,\n density = 'md',\n errorText,\n helperText,\n id,\n invalid = false,\n label,\n radius,\n variant = 'surface',\n ...textFieldProps\n } = extractProps(props, textFieldPropDefs)\n\n const Comp = asChild ? Slot : 'div'\n\n return (\n <TextFieldContext.Provider value={React.useMemo(() => ({ id, invalid }), [id, invalid])}>\n <Comp\n {...textFieldProps}\n ref={forwardedRef}\n className={classNames(\n 'dsx-text-field',\n `dsx-text-field--${density}`,\n `dsx-text-field--${variant}`,\n invalid && 'dsx-text-field--invalid',\n className,\n )}\n data-accent-color={color}\n data-radius={radius}\n data-size={density}\n data-variant={variant}\n >\n {label ? (\n <Label htmlFor={id} className=\"dsx-text-field__label\">\n {label}\n </Label>\n ) : null}\n <div className=\"dsx-text-field__shell\">\n {children}\n </div>\n {errorText && invalid ? (\n <Text variant=\"label-small\" className=\"dsx-text-field__error\">\n {errorText}\n </Text>\n ) : null}\n {helperText && !invalid ? (\n <Text variant=\"label-small\" tone=\"muted\" className=\"dsx-text-field__helper\">\n {helperText}\n </Text>\n ) : null}\n </Comp>\n </TextFieldContext.Provider>\n )\n})\nTextFieldRoot.displayName = 'TextField'\n\ntype TextFieldInputElement = React.ComponentRef<'input'>\n\ninterface TextFieldInputProps extends React.ComponentPropsWithoutRef<'input'> {}\n\nconst TextFieldInput = React.forwardRef<TextFieldInputElement, TextFieldInputProps>(\n ({ className, ...props }, forwardedRef) => {\n const { id, invalid } = useTextFieldContext()\n\n return (\n <input\n {...props}\n id={id}\n ref={forwardedRef}\n className={classNames('dsx-text-field__input', className)}\n aria-invalid={invalid || undefined}\n />\n )\n },\n)\nTextFieldInput.displayName = 'TextFieldInput'\n\ntype TextFieldSlotElement = React.ComponentRef<'div'>\n\ninterface TextFieldSlotProps extends React.ComponentPropsWithoutRef<'div'> {\n side?: 'left' | 'right'\n}\n\nconst TextFieldSlot = React.forwardRef<TextFieldSlotElement, TextFieldSlotProps>(\n ({ className, side, ...props }, forwardedRef) => {\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('dsx-text-field__slot', className)}\n data-side={side}\n />\n )\n },\n)\nTextFieldSlot.displayName = 'TextFieldSlot'\n\nconst TextField: typeof TextFieldRoot & {\n Input: typeof TextFieldInput\n Slot: typeof TextFieldSlot\n} = Object.assign(TextFieldRoot, {\n Input: TextFieldInput,\n Slot: TextFieldSlot,\n})\n\nexport { TextField, TextFieldInput, TextFieldRoot, TextFieldSlot }\nexport type { TextFieldInputProps, TextFieldRootProps, TextFieldSlotProps }\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,YAAuB;AACvB,wBAAuB;AACvB,wBAAqB;AAErB,0BAA6B;AAC7B,uBAAkC;AAClC,mBAAsB;AACtB,kBAAqB;AA8Cf;AArCN,MAAM,mBAAmB,MAAM,cAAqC,CAAC,CAAC;AAEtE,SAAS,sBAAsB;AAC7B,SAAO,MAAM,WAAW,gBAAgB;AAC1C;AAYA,MAAM,gBAAgB,MAAM,WAAqD,CAAC,OAAO,iBAAiB;AACxG,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,GAAG;AAAA,EACL,QAAI,kCAAa,OAAO,kCAAiB;AAEzC,QAAM,OAAO,UAAU,yBAAO;AAE9B,SACE,4CAAC,iBAAiB,UAAjB,EAA0B,OAAO,MAAM,QAAQ,OAAO,EAAE,IAAI,QAAQ,IAAI,CAAC,IAAI,OAAO,CAAC,GACpF;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,eAAW,kBAAAA;AAAA,QACT;AAAA,QACA,mBAAmB,OAAO;AAAA,QAC1B,mBAAmB,OAAO;AAAA,QAC1B,WAAW;AAAA,QACX;AAAA,MACF;AAAA,MACA,qBAAmB;AAAA,MACnB,eAAa;AAAA,MACb,aAAW;AAAA,MACX,gBAAc;AAAA,MAEb;AAAA,gBACC,4CAAC,sBAAM,SAAS,IAAI,WAAU,yBAC3B,iBACH,IACE;AAAA,QACJ,4CAAC,SAAI,WAAU,yBACZ,UACH;AAAA,QACC,aAAa,UACZ,4CAAC,oBAAK,SAAQ,eAAc,WAAU,yBACnC,qBACH,IACE;AAAA,QACH,cAAc,CAAC,UACd,4CAAC,oBAAK,SAAQ,eAAc,MAAK,SAAQ,WAAU,0BAChD,sBACH,IACE;AAAA;AAAA;AAAA,EACN,GACF;AAEJ,CAAC;AACD,cAAc,cAAc;AAM5B,MAAM,iBAAiB,MAAM;AAAA,EAC3B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,iBAAiB;AACzC,UAAM,EAAE,IAAI,QAAQ,IAAI,oBAAoB;AAE5C,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA,KAAK;AAAA,QACL,eAAW,kBAAAA,SAAW,yBAAyB,SAAS;AAAA,QACxD,gBAAc,WAAW;AAAA;AAAA,IAC3B;AAAA,EAEJ;AACF;AACA,eAAe,cAAc;AAQ7B,MAAM,gBAAgB,MAAM;AAAA,EAC1B,CAAC,EAAE,WAAW,MAAM,GAAG,MAAM,GAAG,iBAAiB;AAC/C,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,eAAW,kBAAAA,SAAW,wBAAwB,SAAS;AAAA,QACvD,aAAW;AAAA;AAAA,IACb;AAAA,EAEJ;AACF;AACA,cAAc,cAAc;AAE5B,MAAM,YAGF,OAAO,OAAO,eAAe;AAAA,EAC/B,OAAO;AAAA,EACP,MAAM;AACR,CAAC;",
|
|
6
6
|
"names": ["classNames"]
|
|
7
7
|
}
|
|
@@ -14,6 +14,7 @@ interface TextFieldInputProps extends React.ComponentPropsWithoutRef<'input'> {
|
|
|
14
14
|
}
|
|
15
15
|
declare const TextFieldInput: React.ForwardRefExoticComponent<TextFieldInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
16
16
|
interface TextFieldSlotProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
17
|
+
side?: 'left' | 'right';
|
|
17
18
|
}
|
|
18
19
|
declare const TextFieldSlot: React.ForwardRefExoticComponent<TextFieldSlotProps & React.RefAttributes<HTMLDivElement>>;
|
|
19
20
|
declare const TextField: typeof TextFieldRoot & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.d.cts","sourceRoot":"","sources":["../../../src/components/textField/TextField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAIrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAcpE,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,iBAAiB,CAAC,GAAG;IACvE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,UAAU,kBAAmB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB;CAAG;AAEnH,QAAA,MAAM,aAAa,2FAyDjB,CAAA;AAKF,UAAU,mBAAoB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC;CAAG;AAEhF,QAAA,MAAM,cAAc,8FAcnB,CAAA;AAKD,UAAU,kBAAmB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"TextField.d.cts","sourceRoot":"","sources":["../../../src/components/textField/TextField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAIrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAcpE,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,iBAAiB,CAAC,GAAG;IACvE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,UAAU,kBAAmB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB;CAAG;AAEnH,QAAA,MAAM,aAAa,2FAyDjB,CAAA;AAKF,UAAU,mBAAoB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC;CAAG;AAEhF,QAAA,MAAM,cAAc,8FAcnB,CAAA;AAKD,UAAU,kBAAmB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACxE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACxB;AAED,QAAA,MAAM,aAAa,2FAWlB,CAAA;AAGD,QAAA,MAAM,SAAS,EAAE,OAAO,aAAa,GAAG;IACtC,KAAK,EAAE,OAAO,cAAc,CAAA;IAC5B,IAAI,EAAE,OAAO,aAAa,CAAA;CAI1B,CAAA;AAEF,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,CAAA;AAClE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -14,6 +14,7 @@ interface TextFieldInputProps extends React.ComponentPropsWithoutRef<'input'> {
|
|
|
14
14
|
}
|
|
15
15
|
declare const TextFieldInput: React.ForwardRefExoticComponent<TextFieldInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
16
16
|
interface TextFieldSlotProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
17
|
+
side?: 'left' | 'right';
|
|
17
18
|
}
|
|
18
19
|
declare const TextFieldSlot: React.ForwardRefExoticComponent<TextFieldSlotProps & React.RefAttributes<HTMLDivElement>>;
|
|
19
20
|
declare const TextField: typeof TextFieldRoot & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.d.mts","sourceRoot":"","sources":["../../../src/components/textField/TextField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAIrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAcpE,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,iBAAiB,CAAC,GAAG;IACvE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,UAAU,kBAAmB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB;CAAG;AAEnH,QAAA,MAAM,aAAa,2FAyDjB,CAAA;AAKF,UAAU,mBAAoB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC;CAAG;AAEhF,QAAA,MAAM,cAAc,8FAcnB,CAAA;AAKD,UAAU,kBAAmB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"TextField.d.mts","sourceRoot":"","sources":["../../../src/components/textField/TextField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAIrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAcpE,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,iBAAiB,CAAC,GAAG;IACvE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,UAAU,kBAAmB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB;CAAG;AAEnH,QAAA,MAAM,aAAa,2FAyDjB,CAAA;AAKF,UAAU,mBAAoB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC;CAAG;AAEhF,QAAA,MAAM,cAAc,8FAcnB,CAAA;AAKD,UAAU,kBAAmB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACxE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACxB;AAED,QAAA,MAAM,aAAa,2FAWlB,CAAA;AAGD,QAAA,MAAM,SAAS,EAAE,OAAO,aAAa,GAAG;IACtC,KAAK,EAAE,OAAO,cAAc,CAAA;IAC5B,IAAI,EAAE,OAAO,aAAa,CAAA;CAI1B,CAAA;AAEF,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,CAAA;AAClE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -14,6 +14,7 @@ interface TextFieldInputProps extends React.ComponentPropsWithoutRef<'input'> {
|
|
|
14
14
|
}
|
|
15
15
|
declare const TextFieldInput: React.ForwardRefExoticComponent<TextFieldInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
16
16
|
interface TextFieldSlotProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
17
|
+
side?: 'left' | 'right';
|
|
17
18
|
}
|
|
18
19
|
declare const TextFieldSlot: React.ForwardRefExoticComponent<TextFieldSlotProps & React.RefAttributes<HTMLDivElement>>;
|
|
19
20
|
declare const TextField: typeof TextFieldRoot & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/components/textField/TextField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAIrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAcpE,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,iBAAiB,CAAC,GAAG;IACvE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,UAAU,kBAAmB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB;CAAG;AAEnH,QAAA,MAAM,aAAa,2FAyDjB,CAAA;AAKF,UAAU,mBAAoB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC;CAAG;AAEhF,QAAA,MAAM,cAAc,8FAcnB,CAAA;AAKD,UAAU,kBAAmB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/components/textField/TextField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAIrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAcpE,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,iBAAiB,CAAC,GAAG;IACvE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,UAAU,kBAAmB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB;CAAG;AAEnH,QAAA,MAAM,aAAa,2FAyDjB,CAAA;AAKF,UAAU,mBAAoB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC;CAAG;AAEhF,QAAA,MAAM,cAAc,8FAcnB,CAAA;AAKD,UAAU,kBAAmB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACxE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACxB;AAED,QAAA,MAAM,aAAa,2FAWlB,CAAA;AAGD,QAAA,MAAM,SAAS,EAAE,OAAO,aAAa,GAAG;IACtC,KAAK,EAAE,OAAO,cAAc,CAAA;IAC5B,IAAI,EAAE,OAAO,aAAa,CAAA;CAI1B,CAAA;AAEF,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,CAAA;AAClE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -71,13 +71,14 @@ const TextFieldInput = React.forwardRef(
|
|
|
71
71
|
);
|
|
72
72
|
TextFieldInput.displayName = "TextFieldInput";
|
|
73
73
|
const TextFieldSlot = React.forwardRef(
|
|
74
|
-
({ className, ...props }, forwardedRef) => {
|
|
74
|
+
({ className, side, ...props }, forwardedRef) => {
|
|
75
75
|
return /* @__PURE__ */ jsx(
|
|
76
76
|
"div",
|
|
77
77
|
{
|
|
78
78
|
...props,
|
|
79
79
|
ref: forwardedRef,
|
|
80
|
-
className: classNames("dsx-text-field__slot", className)
|
|
80
|
+
className: classNames("dsx-text-field__slot", className),
|
|
81
|
+
"data-side": side
|
|
81
82
|
}
|
|
82
83
|
);
|
|
83
84
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/textField/TextField.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { textFieldPropDefs } from './textField.props'\nimport { Label } from '../label/Label'\nimport { Text } from '../text/Text'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype TextFieldContextValue = {\n id?: string\n invalid?: boolean\n}\n\nconst TextFieldContext = React.createContext<TextFieldContextValue>({})\n\nfunction useTextFieldContext() {\n return React.useContext(TextFieldContext)\n}\n\ntype TextFieldRootElement = React.ComponentRef<'div'>\ntype TextFieldRootOwnProps = GetPropDefTypes<typeof textFieldPropDefs> & {\n id?: string\n label?: string\n helperText?: string\n errorText?: string\n}\n\ninterface TextFieldRootProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'color'>, TextFieldRootOwnProps {}\n\nconst TextFieldRoot = React.forwardRef<TextFieldRootElement, TextFieldRootProps>((props, forwardedRef) => {\n const {\n asChild,\n children,\n className,\n color,\n density = 'md',\n errorText,\n helperText,\n id,\n invalid = false,\n label,\n radius,\n variant = 'surface',\n ...textFieldProps\n } = extractProps(props, textFieldPropDefs)\n\n const Comp = asChild ? Slot : 'div'\n\n return (\n <TextFieldContext.Provider value={React.useMemo(() => ({ id, invalid }), [id, invalid])}>\n <Comp\n {...textFieldProps}\n ref={forwardedRef}\n className={classNames(\n 'dsx-text-field',\n `dsx-text-field--${density}`,\n `dsx-text-field--${variant}`,\n invalid && 'dsx-text-field--invalid',\n className,\n )}\n data-accent-color={color}\n data-radius={radius}\n data-size={density}\n data-variant={variant}\n >\n {label ? (\n <Label htmlFor={id} className=\"dsx-text-field__label\">\n {label}\n </Label>\n ) : null}\n <div className=\"dsx-text-field__shell\">\n {children}\n </div>\n {errorText && invalid ? (\n <Text variant=\"label-small\" className=\"dsx-text-field__error\">\n {errorText}\n </Text>\n ) : null}\n {helperText && !invalid ? (\n <Text variant=\"label-small\" tone=\"muted\" className=\"dsx-text-field__helper\">\n {helperText}\n </Text>\n ) : null}\n </Comp>\n </TextFieldContext.Provider>\n )\n})\nTextFieldRoot.displayName = 'TextField'\n\ntype TextFieldInputElement = React.ComponentRef<'input'>\n\ninterface TextFieldInputProps extends React.ComponentPropsWithoutRef<'input'> {}\n\nconst TextFieldInput = React.forwardRef<TextFieldInputElement, TextFieldInputProps>(\n ({ className, ...props }, forwardedRef) => {\n const { id, invalid } = useTextFieldContext()\n\n return (\n <input\n {...props}\n id={id}\n ref={forwardedRef}\n className={classNames('dsx-text-field__input', className)}\n aria-invalid={invalid || undefined}\n />\n )\n },\n)\nTextFieldInput.displayName = 'TextFieldInput'\n\ntype TextFieldSlotElement = React.ComponentRef<'div'>\n\ninterface TextFieldSlotProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst TextFieldSlot = React.forwardRef<TextFieldSlotElement, TextFieldSlotProps>(\n ({ className, ...props }, forwardedRef) => {\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('dsx-text-field__slot', className)}\n />\n )\n },\n)\nTextFieldSlot.displayName = 'TextFieldSlot'\n\nconst TextField: typeof TextFieldRoot & {\n Input: typeof TextFieldInput\n Slot: typeof TextFieldSlot\n} = Object.assign(TextFieldRoot, {\n Input: TextFieldInput,\n Slot: TextFieldSlot,\n})\n\nexport { TextField, TextFieldInput, TextFieldRoot, TextFieldSlot }\nexport type { TextFieldInputProps, TextFieldRootProps, TextFieldSlotProps }\n"],
|
|
5
|
-
"mappings": ";AAEA,YAAY,WAAW;AACvB,OAAO,gBAAgB;AACvB,SAAS,YAAY;AAErB,SAAS,oBAAoB;AAC7B,SAAS,yBAAyB;AAClC,SAAS,aAAa;AACtB,SAAS,YAAY;AA8Cf,SAgBI,KAhBJ;AArCN,MAAM,mBAAmB,MAAM,cAAqC,CAAC,CAAC;AAEtE,SAAS,sBAAsB;AAC7B,SAAO,MAAM,WAAW,gBAAgB;AAC1C;AAYA,MAAM,gBAAgB,MAAM,WAAqD,CAAC,OAAO,iBAAiB;AACxG,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,GAAG;AAAA,EACL,IAAI,aAAa,OAAO,iBAAiB;AAEzC,QAAM,OAAO,UAAU,OAAO;AAE9B,SACE,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,MAAM,QAAQ,OAAO,EAAE,IAAI,QAAQ,IAAI,CAAC,IAAI,OAAO,CAAC,GACpF;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,WAAW;AAAA,QACT;AAAA,QACA,mBAAmB,OAAO;AAAA,QAC1B,mBAAmB,OAAO;AAAA,QAC1B,WAAW;AAAA,QACX;AAAA,MACF;AAAA,MACA,qBAAmB;AAAA,MACnB,eAAa;AAAA,MACb,aAAW;AAAA,MACX,gBAAc;AAAA,MAEb;AAAA,gBACC,oBAAC,SAAM,SAAS,IAAI,WAAU,yBAC3B,iBACH,IACE;AAAA,QACJ,oBAAC,SAAI,WAAU,yBACZ,UACH;AAAA,QACC,aAAa,UACZ,oBAAC,QAAK,SAAQ,eAAc,WAAU,yBACnC,qBACH,IACE;AAAA,QACH,cAAc,CAAC,UACd,oBAAC,QAAK,SAAQ,eAAc,MAAK,SAAQ,WAAU,0BAChD,sBACH,IACE;AAAA;AAAA;AAAA,EACN,GACF;AAEJ,CAAC;AACD,cAAc,cAAc;AAM5B,MAAM,iBAAiB,MAAM;AAAA,EAC3B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,iBAAiB;AACzC,UAAM,EAAE,IAAI,QAAQ,IAAI,oBAAoB;AAE5C,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA,KAAK;AAAA,QACL,WAAW,WAAW,yBAAyB,SAAS;AAAA,QACxD,gBAAc,WAAW;AAAA;AAAA,IAC3B;AAAA,EAEJ;AACF;AACA,eAAe,cAAc;
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { textFieldPropDefs } from './textField.props'\nimport { Label } from '../label/Label'\nimport { Text } from '../text/Text'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype TextFieldContextValue = {\n id?: string\n invalid?: boolean\n}\n\nconst TextFieldContext = React.createContext<TextFieldContextValue>({})\n\nfunction useTextFieldContext() {\n return React.useContext(TextFieldContext)\n}\n\ntype TextFieldRootElement = React.ComponentRef<'div'>\ntype TextFieldRootOwnProps = GetPropDefTypes<typeof textFieldPropDefs> & {\n id?: string\n label?: string\n helperText?: string\n errorText?: string\n}\n\ninterface TextFieldRootProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'color'>, TextFieldRootOwnProps {}\n\nconst TextFieldRoot = React.forwardRef<TextFieldRootElement, TextFieldRootProps>((props, forwardedRef) => {\n const {\n asChild,\n children,\n className,\n color,\n density = 'md',\n errorText,\n helperText,\n id,\n invalid = false,\n label,\n radius,\n variant = 'surface',\n ...textFieldProps\n } = extractProps(props, textFieldPropDefs)\n\n const Comp = asChild ? Slot : 'div'\n\n return (\n <TextFieldContext.Provider value={React.useMemo(() => ({ id, invalid }), [id, invalid])}>\n <Comp\n {...textFieldProps}\n ref={forwardedRef}\n className={classNames(\n 'dsx-text-field',\n `dsx-text-field--${density}`,\n `dsx-text-field--${variant}`,\n invalid && 'dsx-text-field--invalid',\n className,\n )}\n data-accent-color={color}\n data-radius={radius}\n data-size={density}\n data-variant={variant}\n >\n {label ? (\n <Label htmlFor={id} className=\"dsx-text-field__label\">\n {label}\n </Label>\n ) : null}\n <div className=\"dsx-text-field__shell\">\n {children}\n </div>\n {errorText && invalid ? (\n <Text variant=\"label-small\" className=\"dsx-text-field__error\">\n {errorText}\n </Text>\n ) : null}\n {helperText && !invalid ? (\n <Text variant=\"label-small\" tone=\"muted\" className=\"dsx-text-field__helper\">\n {helperText}\n </Text>\n ) : null}\n </Comp>\n </TextFieldContext.Provider>\n )\n})\nTextFieldRoot.displayName = 'TextField'\n\ntype TextFieldInputElement = React.ComponentRef<'input'>\n\ninterface TextFieldInputProps extends React.ComponentPropsWithoutRef<'input'> {}\n\nconst TextFieldInput = React.forwardRef<TextFieldInputElement, TextFieldInputProps>(\n ({ className, ...props }, forwardedRef) => {\n const { id, invalid } = useTextFieldContext()\n\n return (\n <input\n {...props}\n id={id}\n ref={forwardedRef}\n className={classNames('dsx-text-field__input', className)}\n aria-invalid={invalid || undefined}\n />\n )\n },\n)\nTextFieldInput.displayName = 'TextFieldInput'\n\ntype TextFieldSlotElement = React.ComponentRef<'div'>\n\ninterface TextFieldSlotProps extends React.ComponentPropsWithoutRef<'div'> {\n side?: 'left' | 'right'\n}\n\nconst TextFieldSlot = React.forwardRef<TextFieldSlotElement, TextFieldSlotProps>(\n ({ className, side, ...props }, forwardedRef) => {\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('dsx-text-field__slot', className)}\n data-side={side}\n />\n )\n },\n)\nTextFieldSlot.displayName = 'TextFieldSlot'\n\nconst TextField: typeof TextFieldRoot & {\n Input: typeof TextFieldInput\n Slot: typeof TextFieldSlot\n} = Object.assign(TextFieldRoot, {\n Input: TextFieldInput,\n Slot: TextFieldSlot,\n})\n\nexport { TextField, TextFieldInput, TextFieldRoot, TextFieldSlot }\nexport type { TextFieldInputProps, TextFieldRootProps, TextFieldSlotProps }\n"],
|
|
5
|
+
"mappings": ";AAEA,YAAY,WAAW;AACvB,OAAO,gBAAgB;AACvB,SAAS,YAAY;AAErB,SAAS,oBAAoB;AAC7B,SAAS,yBAAyB;AAClC,SAAS,aAAa;AACtB,SAAS,YAAY;AA8Cf,SAgBI,KAhBJ;AArCN,MAAM,mBAAmB,MAAM,cAAqC,CAAC,CAAC;AAEtE,SAAS,sBAAsB;AAC7B,SAAO,MAAM,WAAW,gBAAgB;AAC1C;AAYA,MAAM,gBAAgB,MAAM,WAAqD,CAAC,OAAO,iBAAiB;AACxG,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,GAAG;AAAA,EACL,IAAI,aAAa,OAAO,iBAAiB;AAEzC,QAAM,OAAO,UAAU,OAAO;AAE9B,SACE,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,MAAM,QAAQ,OAAO,EAAE,IAAI,QAAQ,IAAI,CAAC,IAAI,OAAO,CAAC,GACpF;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,WAAW;AAAA,QACT;AAAA,QACA,mBAAmB,OAAO;AAAA,QAC1B,mBAAmB,OAAO;AAAA,QAC1B,WAAW;AAAA,QACX;AAAA,MACF;AAAA,MACA,qBAAmB;AAAA,MACnB,eAAa;AAAA,MACb,aAAW;AAAA,MACX,gBAAc;AAAA,MAEb;AAAA,gBACC,oBAAC,SAAM,SAAS,IAAI,WAAU,yBAC3B,iBACH,IACE;AAAA,QACJ,oBAAC,SAAI,WAAU,yBACZ,UACH;AAAA,QACC,aAAa,UACZ,oBAAC,QAAK,SAAQ,eAAc,WAAU,yBACnC,qBACH,IACE;AAAA,QACH,cAAc,CAAC,UACd,oBAAC,QAAK,SAAQ,eAAc,MAAK,SAAQ,WAAU,0BAChD,sBACH,IACE;AAAA;AAAA;AAAA,EACN,GACF;AAEJ,CAAC;AACD,cAAc,cAAc;AAM5B,MAAM,iBAAiB,MAAM;AAAA,EAC3B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,iBAAiB;AACzC,UAAM,EAAE,IAAI,QAAQ,IAAI,oBAAoB;AAE5C,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA,KAAK;AAAA,QACL,WAAW,WAAW,yBAAyB,SAAS;AAAA,QACxD,gBAAc,WAAW;AAAA;AAAA,IAC3B;AAAA,EAEJ;AACF;AACA,eAAe,cAAc;AAQ7B,MAAM,gBAAgB,MAAM;AAAA,EAC1B,CAAC,EAAE,WAAW,MAAM,GAAG,MAAM,GAAG,iBAAiB;AAC/C,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,WAAW,WAAW,wBAAwB,SAAS;AAAA,QACvD,aAAW;AAAA;AAAA,IACb;AAAA,EAEJ;AACF;AACA,cAAc,cAAc;AAE5B,MAAM,YAGF,OAAO,OAAO,eAAe;AAAA,EAC/B,OAAO;AAAA,EACP,MAAM;AACR,CAAC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -41,13 +41,22 @@
|
|
|
41
41
|
font-size: var(--dsx-typography-body-large-font-size);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
/* Variant — classic:
|
|
44
|
+
/* Variant — classic: raised fill + elevation over the default surface shell. */
|
|
45
45
|
.dsx-textarea[data-variant='classic'] {
|
|
46
|
-
|
|
46
|
+
background: var(--dsx-color-surface-raised);
|
|
47
|
+
box-shadow: var(--dsx-shadow-elevation-2);
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
/* Variant — soft: tinted background, no border */
|
|
50
51
|
.dsx-textarea[data-variant='soft'] {
|
|
51
|
-
background: var(--dsx-color-
|
|
52
|
+
background: var(--dsx-color-accent-surface);
|
|
52
53
|
border-color: transparent;
|
|
53
54
|
}
|
|
55
|
+
|
|
56
|
+
/* No resize-grip styling: the bare primitive keeps the platform-native grip.
|
|
57
|
+
Painted chrome on the native resizer box proved unkeepable across zoom and
|
|
58
|
+
engines (seven iterations); the designed grip lives in TextAreaField. */
|
|
59
|
+
.dsx-textarea[data-radius='none'] { border-radius: 0; }
|
|
60
|
+
.dsx-textarea[data-radius='sm'] { border-radius: var(--dsx-rounded-sm); }
|
|
61
|
+
.dsx-textarea[data-radius='md'] { border-radius: var(--dsx-rounded-md); }
|
|
62
|
+
.dsx-textarea[data-radius='lg'] { border-radius: var(--dsx-rounded-lg); }
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
gap: var(--dsx-space-xs);
|
|
7
7
|
padding: var(--dsx-space-md);
|
|
8
8
|
border-radius: var(--dsx-rounded-lg);
|
|
9
|
-
background: var(--dsx-color-
|
|
9
|
+
background: var(--dsx-color-panel-translucent);
|
|
10
|
+
backdrop-filter: var(--dsx-effect-panel-glass-backdrop-filter);
|
|
10
11
|
border: var(--dsx-border-width-sm) solid var(--dsx-color-outline-variant);
|
|
11
12
|
font-family: var(--dsx-typography-body-medium-font-family), sans-serif;
|
|
12
13
|
}
|
|
@@ -38,6 +38,14 @@ var import_Theme = require("../../foundations/Theme");
|
|
|
38
38
|
var import_constants = require("../../_internal/constants");
|
|
39
39
|
var import_themeProvider = require("./themeProvider.props");
|
|
40
40
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
41
|
+
function getTelegramWebApp() {
|
|
42
|
+
if (typeof window === "undefined") return void 0;
|
|
43
|
+
return window.Telegram?.WebApp;
|
|
44
|
+
}
|
|
45
|
+
function getTelegramColorScheme() {
|
|
46
|
+
const scheme = getTelegramWebApp()?.colorScheme;
|
|
47
|
+
return scheme === "light" || scheme === "dark" ? scheme : void 0;
|
|
48
|
+
}
|
|
41
49
|
const defaultDimensions = {
|
|
42
50
|
accentColor: "rift",
|
|
43
51
|
density: "comfortable",
|
|
@@ -50,7 +58,7 @@ const defaultDimensions = {
|
|
|
50
58
|
const ThemeProviderContext = React.createContext(null);
|
|
51
59
|
function getSystemTheme() {
|
|
52
60
|
if (typeof window === "undefined") return "light";
|
|
53
|
-
return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
61
|
+
return getTelegramColorScheme() ?? (window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");
|
|
54
62
|
}
|
|
55
63
|
function getStoredDimensions(storageKey, defaults) {
|
|
56
64
|
if (typeof window === "undefined") return defaults;
|
|
@@ -83,6 +91,7 @@ function ThemeProvider({
|
|
|
83
91
|
scaling: scalingProp,
|
|
84
92
|
storageKey
|
|
85
93
|
}) {
|
|
94
|
+
if (!storageKey) throw new Error("ThemeProvider requires a storageKey");
|
|
86
95
|
const defaults = {
|
|
87
96
|
accentColor: accentColorProp ?? defaultDimensions.accentColor,
|
|
88
97
|
density: densityProp ?? defaultDimensions.density,
|
|
@@ -121,6 +130,18 @@ function ThemeProvider({
|
|
|
121
130
|
}, [foundationThemeValue]);
|
|
122
131
|
React.useEffect(() => {
|
|
123
132
|
if (typeof window === "undefined" || dimensions.mode !== "system") return;
|
|
133
|
+
const telegramWebApp = getTelegramWebApp();
|
|
134
|
+
if (telegramWebApp?.onEvent) {
|
|
135
|
+
const updateFromTelegram = () => {
|
|
136
|
+
const scheme = getTelegramColorScheme();
|
|
137
|
+
if (scheme) setSystemTheme(scheme);
|
|
138
|
+
};
|
|
139
|
+
updateFromTelegram();
|
|
140
|
+
telegramWebApp.onEvent("themeChanged", updateFromTelegram);
|
|
141
|
+
return () => {
|
|
142
|
+
telegramWebApp.offEvent?.("themeChanged", updateFromTelegram);
|
|
143
|
+
};
|
|
144
|
+
}
|
|
124
145
|
const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
|
|
125
146
|
const updateTheme = () => {
|
|
126
147
|
setSystemTheme(mediaQuery.matches ? "dark" : "light");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/themeProvider/ThemeProvider.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\n\nimport {\n applyThemeToDocument,\n ThemeContext,\n type ThemeAccentColor,\n type ThemeContextValue as FoundationThemeContextValue,\n type ThemeGrayColor,\n type ThemePanelBackground,\n type ThemeRadius,\n type ThemeScaling,\n} from '../../foundations/Theme'\n\nimport { ACCENT_COLOR_VALUES } from '../../_internal/constants'\nimport { type ThemeProviderProps } from './themeProvider.props'\n\nexport type ThemePreference = 'light' | 'dark' | 'system'\n\ntype ThemeDimensions = {\n accentColor: ThemeAccentColor\n density: 'comfortable' | 'compact'\n grayColor: ThemeGrayColor\n mode: ThemePreference\n panelBackground: ThemePanelBackground\n radius: ThemeRadius\n scaling: ThemeScaling\n}\n\nconst defaultDimensions: ThemeDimensions = {\n accentColor: 'rift',\n density: 'comfortable',\n grayColor: 'auto',\n mode: 'system',\n panelBackground: 'translucent',\n radius: 'md',\n scaling: '100',\n}\n\ntype ThemeContextValue = {\n accentColor: ThemeAccentColor\n density: 'comfortable' | 'compact'\n grayColor: ThemeGrayColor\n mode: ThemePreference\n panelBackground: ThemePanelBackground\n radius: ThemeRadius\n resolvedTheme: 'light' | 'dark'\n scaling: ThemeScaling\n setAccentColor: (value: ThemeAccentColor) => void\n setDensity: (value: 'comfortable' | 'compact') => void\n setGrayColor: (value: ThemeGrayColor) => void\n setMode: React.Dispatch<React.SetStateAction<ThemePreference>>\n setPanelBackground: (value: ThemePanelBackground) => void\n setRadius: (value: ThemeRadius) => void\n setScaling: (value: ThemeScaling) => void\n setTheme: React.Dispatch<React.SetStateAction<ThemePreference>>\n theme: ThemePreference\n}\n\nconst ThemeProviderContext = React.createContext<ThemeContextValue | null>(null)\n\nfunction getSystemTheme(): 'light' | 'dark' {\n if (typeof window === 'undefined') return 'light'\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n}\n\nfunction getStoredDimensions(storageKey: string, defaults: ThemeDimensions): ThemeDimensions {\n if (typeof window === 'undefined') return defaults\n\n try {\n const stored = window.localStorage.getItem(storageKey)\n if (!stored) return defaults\n\n const parsed = JSON.parse(stored) as Partial<ThemeDimensions>\n // A previous accent-tier naming scheme (amber/silver/bronze) can still be\n // sitting in a returning user's localStorage. Guard against replaying an\n // unrecognized value into `data-accent-color` \u2014 there is no CSS override\n // block for it, so it silently inherits whatever accent happens to be\n // ambient instead of a real, intentional tier.\n const storedAccentColor =\n parsed.accentColor && (ACCENT_COLOR_VALUES as readonly string[]).includes(parsed.accentColor)\n ? parsed.accentColor\n : undefined\n return {\n accentColor: storedAccentColor ?? defaults.accentColor,\n density: parsed.density ?? defaults.density,\n grayColor: parsed.grayColor ?? defaults.grayColor,\n mode: parsed.mode ?? defaults.mode,\n panelBackground: parsed.panelBackground ?? defaults.panelBackground,\n radius: parsed.radius ?? defaults.radius,\n scaling: parsed.scaling ?? defaults.scaling,\n }\n } catch {\n return defaults\n }\n}\n\nexport function ThemeProvider({\n accentColor: accentColorProp,\n children,\n defaultTheme = 'system',\n density: densityProp,\n grayColor: grayColorProp,\n panelBackground: panelBackgroundProp,\n radius: radiusProp,\n scaling: scalingProp,\n storageKey,\n}: ThemeProviderProps) {\n const defaults: ThemeDimensions = {\n accentColor: accentColorProp ?? defaultDimensions.accentColor,\n density: densityProp ?? defaultDimensions.density,\n grayColor: grayColorProp ?? defaultDimensions.grayColor,\n mode: defaultTheme,\n panelBackground: panelBackgroundProp ?? defaultDimensions.panelBackground,\n radius: radiusProp ?? defaultDimensions.radius,\n scaling: scalingProp ?? defaultDimensions.scaling,\n }\n\n // Start with SSR-safe defaults so server and client initial renders match.\n // Stored preferences and system theme are applied after mount to avoid hydration mismatches.\n const [dimensions, setDimensions] = React.useState<ThemeDimensions>(defaults)\n const [systemTheme, setSystemTheme] = React.useState<'light' | 'dark'>('light')\n\n const resolvedTheme = dimensions.mode === 'system' ? systemTheme : dimensions.mode\n\n // After hydration: restore stored preferences and detect system theme.\n // A layout effect (not `useEffect`) so this \u2014 and the document-attribute\n // effect below, also promoted to a layout effect \u2014 resolve synchronously\n // before the browser paints. Splitting document application into a plain\n // `useEffect` would let the browser paint the SSR-safe 'light' default\n // first, since passive effects run after paint: exactly the flash this\n // fix closes. ThemeScript (see ThemeScript.tsx) closes the earlier gap,\n // before hydration even starts.\n React.useLayoutEffect(() => {\n setDimensions(getStoredDimensions(storageKey, defaults))\n setSystemTheme(getSystemTheme())\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n // Persist all dimensions to localStorage\n React.useEffect(() => {\n if (typeof window === 'undefined') return\n window.localStorage.setItem(storageKey, JSON.stringify(dimensions))\n }, [storageKey, dimensions])\n\n const foundationThemeValue = React.useMemo<FoundationThemeContextValue>(\n () => ({\n accentColor: dimensions.accentColor,\n density: dimensions.density,\n grayColor: dimensions.grayColor,\n hasBackground: true,\n mode: resolvedTheme,\n panelBackground: dimensions.panelBackground,\n radius: dimensions.radius,\n scaling: dimensions.scaling,\n }),\n [dimensions, resolvedTheme],\n )\n\n // Apply data attributes to document. useLayoutEffect, not useEffect \u2014 see\n // the restore effect above for why: this must resolve before paint.\n React.useLayoutEffect(() => {\n return applyThemeToDocument(foundationThemeValue)\n }, [foundationThemeValue])\n\n // Listen for system theme changes\n React.useEffect(() => {\n if (typeof window === 'undefined' || dimensions.mode !== 'system') return\n\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n const updateTheme = () => {\n setSystemTheme(mediaQuery.matches ? 'dark' : 'light')\n }\n\n updateTheme()\n mediaQuery.addEventListener('change', updateTheme)\n\n return () => {\n mediaQuery.removeEventListener('change', updateTheme)\n }\n }, [dimensions.mode])\n\n const setMode = React.useCallback(\n (action: React.SetStateAction<ThemePreference>) => {\n setDimensions((prev) => ({\n ...prev,\n mode: typeof action === 'function' ? action(prev.mode) : action,\n }))\n },\n [],\n )\n\n const setAccentColor = React.useCallback((value: ThemeAccentColor) => {\n setDimensions((prev) => ({ ...prev, accentColor: value }))\n }, [])\n\n const setDensity = React.useCallback((value: 'comfortable' | 'compact') => {\n setDimensions((prev) => ({ ...prev, density: value }))\n }, [])\n\n const setGrayColor = React.useCallback((value: ThemeGrayColor) => {\n setDimensions((prev) => ({ ...prev, grayColor: value }))\n }, [])\n\n const setPanelBackground = React.useCallback((value: ThemePanelBackground) => {\n setDimensions((prev) => ({ ...prev, panelBackground: value }))\n }, [])\n\n const setRadius = React.useCallback((value: ThemeRadius) => {\n setDimensions((prev) => ({ ...prev, radius: value }))\n }, [])\n\n const setScaling = React.useCallback((value: ThemeScaling) => {\n setDimensions((prev) => ({ ...prev, scaling: value }))\n }, [])\n\n const contextValue = React.useMemo<ThemeContextValue>(\n () => ({\n accentColor: dimensions.accentColor,\n density: dimensions.density,\n grayColor: dimensions.grayColor,\n mode: dimensions.mode,\n panelBackground: dimensions.panelBackground,\n radius: dimensions.radius,\n resolvedTheme,\n scaling: dimensions.scaling,\n setAccentColor,\n setDensity,\n setGrayColor,\n setMode,\n setPanelBackground,\n setRadius,\n setScaling,\n setTheme: setMode,\n theme: dimensions.mode,\n }),\n [\n dimensions,\n resolvedTheme,\n setAccentColor,\n setDensity,\n setGrayColor,\n setMode,\n setPanelBackground,\n setRadius,\n setScaling,\n ],\n )\n\n return (\n <ThemeContext.Provider value={foundationThemeValue}>\n <ThemeProviderContext.Provider value={contextValue}>{children}</ThemeProviderContext.Provider>\n </ThemeContext.Provider>\n )\n}\n\nexport function useTheme() {\n const context = React.useContext(ThemeProviderContext)\n\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider')\n }\n\n return context\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,YAAuB;AAEvB,mBASO;AAEP,uBAAoC;AACpC,2BAAwC;
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\n\nimport {\n applyThemeToDocument,\n ThemeContext,\n type ThemeAccentColor,\n type ThemeContextValue as FoundationThemeContextValue,\n type ThemeGrayColor,\n type ThemePanelBackground,\n type ThemeRadius,\n type ThemeScaling,\n} from '../../foundations/Theme'\n\nimport { ACCENT_COLOR_VALUES } from '../../_internal/constants'\nimport { type ThemeProviderProps } from './themeProvider.props'\n\nexport type ThemePreference = 'light' | 'dark' | 'system'\n\n// Kept local and unexported (not `declare global`): a consumer that also\n// installs a Telegram SDK's own types (e.g. `@telegram-apps/sdk`,\n// `@twa-dev/sdk`) would collide with a global `Window.Telegram` augmentation\n// shipped from this package. Reading through a narrow structural type at the\n// access site avoids that entirely while still getting type safety here.\ntype MinimalTelegramWebApp = {\n colorScheme?: 'light' | 'dark'\n offEvent?: (eventType: 'themeChanged', callback: () => void) => void\n onEvent?: (eventType: 'themeChanged', callback: () => void) => void\n}\n\nfunction getTelegramWebApp(): MinimalTelegramWebApp | undefined {\n if (typeof window === 'undefined') return undefined\n return (window as typeof window & { Telegram?: { WebApp?: MinimalTelegramWebApp } }).Telegram?.WebApp\n}\n\nfunction getTelegramColorScheme(): 'light' | 'dark' | undefined {\n const scheme = getTelegramWebApp()?.colorScheme\n return scheme === 'light' || scheme === 'dark' ? scheme : undefined\n}\n\ntype ThemeDimensions = {\n accentColor: ThemeAccentColor\n density: 'comfortable' | 'compact'\n grayColor: ThemeGrayColor\n mode: ThemePreference\n panelBackground: ThemePanelBackground\n radius: ThemeRadius\n scaling: ThemeScaling\n}\n\nconst defaultDimensions: ThemeDimensions = {\n accentColor: 'rift',\n density: 'comfortable',\n grayColor: 'auto',\n mode: 'system',\n panelBackground: 'translucent',\n radius: 'md',\n scaling: '100',\n}\n\ntype ThemeContextValue = {\n accentColor: ThemeAccentColor\n density: 'comfortable' | 'compact'\n grayColor: ThemeGrayColor\n mode: ThemePreference\n panelBackground: ThemePanelBackground\n radius: ThemeRadius\n resolvedTheme: 'light' | 'dark'\n scaling: ThemeScaling\n setAccentColor: (value: ThemeAccentColor) => void\n setDensity: (value: 'comfortable' | 'compact') => void\n setGrayColor: (value: ThemeGrayColor) => void\n setMode: React.Dispatch<React.SetStateAction<ThemePreference>>\n setPanelBackground: (value: ThemePanelBackground) => void\n setRadius: (value: ThemeRadius) => void\n setScaling: (value: ThemeScaling) => void\n setTheme: React.Dispatch<React.SetStateAction<ThemePreference>>\n theme: ThemePreference\n}\n\nconst ThemeProviderContext = React.createContext<ThemeContextValue | null>(null)\n\nfunction getSystemTheme(): 'light' | 'dark' {\n if (typeof window === 'undefined') return 'light'\n return getTelegramColorScheme() ?? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')\n}\n\nfunction getStoredDimensions(storageKey: string, defaults: ThemeDimensions): ThemeDimensions {\n if (typeof window === 'undefined') return defaults\n\n try {\n const stored = window.localStorage.getItem(storageKey)\n if (!stored) return defaults\n\n const parsed = JSON.parse(stored) as Partial<ThemeDimensions>\n // A previous accent-tier naming scheme (amber/silver/bronze) can still be\n // sitting in a returning user's localStorage. Guard against replaying an\n // unrecognized value into `data-accent-color` \u2014 there is no CSS override\n // block for it, so it silently inherits whatever accent happens to be\n // ambient instead of a real, intentional tier.\n const storedAccentColor =\n parsed.accentColor && (ACCENT_COLOR_VALUES as readonly string[]).includes(parsed.accentColor)\n ? parsed.accentColor\n : undefined\n return {\n accentColor: storedAccentColor ?? defaults.accentColor,\n density: parsed.density ?? defaults.density,\n grayColor: parsed.grayColor ?? defaults.grayColor,\n mode: parsed.mode ?? defaults.mode,\n panelBackground: parsed.panelBackground ?? defaults.panelBackground,\n radius: parsed.radius ?? defaults.radius,\n scaling: parsed.scaling ?? defaults.scaling,\n }\n } catch {\n return defaults\n }\n}\n\nexport function ThemeProvider({\n accentColor: accentColorProp,\n children,\n defaultTheme = 'system',\n density: densityProp,\n grayColor: grayColorProp,\n panelBackground: panelBackgroundProp,\n radius: radiusProp,\n scaling: scalingProp,\n storageKey,\n}: ThemeProviderProps) {\n if (!storageKey) throw new Error('ThemeProvider requires a storageKey')\n const defaults: ThemeDimensions = {\n accentColor: accentColorProp ?? defaultDimensions.accentColor,\n density: densityProp ?? defaultDimensions.density,\n grayColor: grayColorProp ?? defaultDimensions.grayColor,\n mode: defaultTheme,\n panelBackground: panelBackgroundProp ?? defaultDimensions.panelBackground,\n radius: radiusProp ?? defaultDimensions.radius,\n scaling: scalingProp ?? defaultDimensions.scaling,\n }\n\n // Start with SSR-safe defaults so server and client initial renders match.\n // Stored preferences and system theme are applied after mount to avoid hydration mismatches.\n const [dimensions, setDimensions] = React.useState<ThemeDimensions>(defaults)\n const [systemTheme, setSystemTheme] = React.useState<'light' | 'dark'>('light')\n\n const resolvedTheme = dimensions.mode === 'system' ? systemTheme : dimensions.mode\n\n // After hydration: restore stored preferences and detect system theme.\n // A layout effect (not `useEffect`) so this \u2014 and the document-attribute\n // effect below, also promoted to a layout effect \u2014 resolve synchronously\n // before the browser paints. Splitting document application into a plain\n // `useEffect` would let the browser paint the SSR-safe 'light' default\n // first, since passive effects run after paint: exactly the flash this\n // fix closes. ThemeScript (see ThemeScript.tsx) closes the earlier gap,\n // before hydration even starts.\n React.useLayoutEffect(() => {\n setDimensions(getStoredDimensions(storageKey, defaults))\n setSystemTheme(getSystemTheme())\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n // Persist all dimensions to localStorage\n React.useEffect(() => {\n if (typeof window === 'undefined') return\n window.localStorage.setItem(storageKey, JSON.stringify(dimensions))\n }, [storageKey, dimensions])\n\n const foundationThemeValue = React.useMemo<FoundationThemeContextValue>(\n () => ({\n accentColor: dimensions.accentColor,\n density: dimensions.density,\n grayColor: dimensions.grayColor,\n hasBackground: true,\n mode: resolvedTheme,\n panelBackground: dimensions.panelBackground,\n radius: dimensions.radius,\n scaling: dimensions.scaling,\n }),\n [dimensions, resolvedTheme],\n )\n\n // Apply data attributes to document. useLayoutEffect, not useEffect \u2014 see\n // the restore effect above for why: this must resolve before paint.\n React.useLayoutEffect(() => {\n return applyThemeToDocument(foundationThemeValue)\n }, [foundationThemeValue])\n\n // Listen for system theme changes. Inside a Telegram Mini App WebView,\n // `prefers-color-scheme` reflects the OS theme, not the Telegram client's\n // own theme (a user can run light-mode Telegram on a dark-mode phone, or\n // vice versa) \u2014 `Telegram.WebApp`'s `colorScheme` + `themeChanged` event is\n // the actual signal, and take priority whenever the WebApp bridge exists.\n React.useEffect(() => {\n if (typeof window === 'undefined' || dimensions.mode !== 'system') return\n\n const telegramWebApp = getTelegramWebApp()\n if (telegramWebApp?.onEvent) {\n const updateFromTelegram = () => {\n const scheme = getTelegramColorScheme()\n if (scheme) setSystemTheme(scheme)\n }\n\n updateFromTelegram()\n telegramWebApp.onEvent('themeChanged', updateFromTelegram)\n\n return () => {\n telegramWebApp.offEvent?.('themeChanged', updateFromTelegram)\n }\n }\n\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n const updateTheme = () => {\n setSystemTheme(mediaQuery.matches ? 'dark' : 'light')\n }\n\n updateTheme()\n mediaQuery.addEventListener('change', updateTheme)\n\n return () => {\n mediaQuery.removeEventListener('change', updateTheme)\n }\n }, [dimensions.mode])\n\n const setMode = React.useCallback(\n (action: React.SetStateAction<ThemePreference>) => {\n setDimensions((prev) => ({\n ...prev,\n mode: typeof action === 'function' ? action(prev.mode) : action,\n }))\n },\n [],\n )\n\n const setAccentColor = React.useCallback((value: ThemeAccentColor) => {\n setDimensions((prev) => ({ ...prev, accentColor: value }))\n }, [])\n\n const setDensity = React.useCallback((value: 'comfortable' | 'compact') => {\n setDimensions((prev) => ({ ...prev, density: value }))\n }, [])\n\n const setGrayColor = React.useCallback((value: ThemeGrayColor) => {\n setDimensions((prev) => ({ ...prev, grayColor: value }))\n }, [])\n\n const setPanelBackground = React.useCallback((value: ThemePanelBackground) => {\n setDimensions((prev) => ({ ...prev, panelBackground: value }))\n }, [])\n\n const setRadius = React.useCallback((value: ThemeRadius) => {\n setDimensions((prev) => ({ ...prev, radius: value }))\n }, [])\n\n const setScaling = React.useCallback((value: ThemeScaling) => {\n setDimensions((prev) => ({ ...prev, scaling: value }))\n }, [])\n\n const contextValue = React.useMemo<ThemeContextValue>(\n () => ({\n accentColor: dimensions.accentColor,\n density: dimensions.density,\n grayColor: dimensions.grayColor,\n mode: dimensions.mode,\n panelBackground: dimensions.panelBackground,\n radius: dimensions.radius,\n resolvedTheme,\n scaling: dimensions.scaling,\n setAccentColor,\n setDensity,\n setGrayColor,\n setMode,\n setPanelBackground,\n setRadius,\n setScaling,\n setTheme: setMode,\n theme: dimensions.mode,\n }),\n [\n dimensions,\n resolvedTheme,\n setAccentColor,\n setDensity,\n setGrayColor,\n setMode,\n setPanelBackground,\n setRadius,\n setScaling,\n ],\n )\n\n return (\n <ThemeContext.Provider value={foundationThemeValue}>\n <ThemeProviderContext.Provider value={contextValue}>{children}</ThemeProviderContext.Provider>\n </ThemeContext.Provider>\n )\n}\n\nexport function useTheme() {\n const context = React.useContext(ThemeProviderContext)\n\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider')\n }\n\n return context\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.d.cts","sourceRoot":"","sources":["../../../src/components/themeProvider/ThemeProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAGL,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"ThemeProvider.d.cts","sourceRoot":"","sources":["../../../src/components/themeProvider/ThemeProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAGL,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;AA2CzD,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,gBAAgB,CAAA;IAC7B,OAAO,EAAE,aAAa,GAAG,SAAS,CAAA;IAClC,SAAS,EAAE,cAAc,CAAA;IACzB,IAAI,EAAE,eAAe,CAAA;IACrB,eAAe,EAAE,oBAAoB,CAAA;IACrC,MAAM,EAAE,WAAW,CAAA;IACnB,aAAa,EAAE,OAAO,GAAG,MAAM,CAAA;IAC/B,OAAO,EAAE,YAAY,CAAA;IACrB,cAAc,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACjD,UAAU,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,KAAK,IAAI,CAAA;IACtD,YAAY,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;IAC7C,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAA;IAC9D,kBAAkB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAA;IACzD,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IACvC,UAAU,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;IACzC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAA;IAC/D,KAAK,EAAE,eAAe,CAAA;CACvB,CAAA;AAwCD,wBAAgB,aAAa,CAAC,EAC5B,WAAW,EAAE,eAAe,EAC5B,QAAQ,EACR,YAAuB,EACvB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,eAAe,EAAE,mBAAmB,EACpC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,UAAU,GACX,EAAE,kBAAkB,2CAuKpB;AAED,wBAAgB,QAAQ,sBAQvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.d.mts","sourceRoot":"","sources":["../../../src/components/themeProvider/ThemeProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAGL,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"ThemeProvider.d.mts","sourceRoot":"","sources":["../../../src/components/themeProvider/ThemeProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAGL,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;AA2CzD,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,gBAAgB,CAAA;IAC7B,OAAO,EAAE,aAAa,GAAG,SAAS,CAAA;IAClC,SAAS,EAAE,cAAc,CAAA;IACzB,IAAI,EAAE,eAAe,CAAA;IACrB,eAAe,EAAE,oBAAoB,CAAA;IACrC,MAAM,EAAE,WAAW,CAAA;IACnB,aAAa,EAAE,OAAO,GAAG,MAAM,CAAA;IAC/B,OAAO,EAAE,YAAY,CAAA;IACrB,cAAc,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACjD,UAAU,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,KAAK,IAAI,CAAA;IACtD,YAAY,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;IAC7C,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAA;IAC9D,kBAAkB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAA;IACzD,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IACvC,UAAU,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;IACzC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAA;IAC/D,KAAK,EAAE,eAAe,CAAA;CACvB,CAAA;AAwCD,wBAAgB,aAAa,CAAC,EAC5B,WAAW,EAAE,eAAe,EAC5B,QAAQ,EACR,YAAuB,EACvB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,eAAe,EAAE,mBAAmB,EACpC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,UAAU,GACX,EAAE,kBAAkB,2CAuKpB;AAED,wBAAgB,QAAQ,sBAQvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../../src/components/themeProvider/ThemeProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAGL,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../../src/components/themeProvider/ThemeProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAGL,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;AA2CzD,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,gBAAgB,CAAA;IAC7B,OAAO,EAAE,aAAa,GAAG,SAAS,CAAA;IAClC,SAAS,EAAE,cAAc,CAAA;IACzB,IAAI,EAAE,eAAe,CAAA;IACrB,eAAe,EAAE,oBAAoB,CAAA;IACrC,MAAM,EAAE,WAAW,CAAA;IACnB,aAAa,EAAE,OAAO,GAAG,MAAM,CAAA;IAC/B,OAAO,EAAE,YAAY,CAAA;IACrB,cAAc,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACjD,UAAU,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,KAAK,IAAI,CAAA;IACtD,YAAY,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;IAC7C,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAA;IAC9D,kBAAkB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAA;IACzD,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IACvC,UAAU,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;IACzC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAA;IAC/D,KAAK,EAAE,eAAe,CAAA;CACvB,CAAA;AAwCD,wBAAgB,aAAa,CAAC,EAC5B,WAAW,EAAE,eAAe,EAC5B,QAAQ,EACR,YAAuB,EACvB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,eAAe,EAAE,mBAAmB,EACpC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,UAAU,GACX,EAAE,kBAAkB,2CAuKpB;AAED,wBAAgB,QAAQ,sBAQvB"}
|
|
@@ -7,6 +7,14 @@ import {
|
|
|
7
7
|
import { ACCENT_COLOR_VALUES } from "../../_internal/constants.js";
|
|
8
8
|
import {} from "./themeProvider.props.js";
|
|
9
9
|
import { jsx } from "react/jsx-runtime";
|
|
10
|
+
function getTelegramWebApp() {
|
|
11
|
+
if (typeof window === "undefined") return void 0;
|
|
12
|
+
return window.Telegram?.WebApp;
|
|
13
|
+
}
|
|
14
|
+
function getTelegramColorScheme() {
|
|
15
|
+
const scheme = getTelegramWebApp()?.colorScheme;
|
|
16
|
+
return scheme === "light" || scheme === "dark" ? scheme : void 0;
|
|
17
|
+
}
|
|
10
18
|
const defaultDimensions = {
|
|
11
19
|
accentColor: "rift",
|
|
12
20
|
density: "comfortable",
|
|
@@ -19,7 +27,7 @@ const defaultDimensions = {
|
|
|
19
27
|
const ThemeProviderContext = React.createContext(null);
|
|
20
28
|
function getSystemTheme() {
|
|
21
29
|
if (typeof window === "undefined") return "light";
|
|
22
|
-
return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
30
|
+
return getTelegramColorScheme() ?? (window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");
|
|
23
31
|
}
|
|
24
32
|
function getStoredDimensions(storageKey, defaults) {
|
|
25
33
|
if (typeof window === "undefined") return defaults;
|
|
@@ -52,6 +60,7 @@ function ThemeProvider({
|
|
|
52
60
|
scaling: scalingProp,
|
|
53
61
|
storageKey
|
|
54
62
|
}) {
|
|
63
|
+
if (!storageKey) throw new Error("ThemeProvider requires a storageKey");
|
|
55
64
|
const defaults = {
|
|
56
65
|
accentColor: accentColorProp ?? defaultDimensions.accentColor,
|
|
57
66
|
density: densityProp ?? defaultDimensions.density,
|
|
@@ -90,6 +99,18 @@ function ThemeProvider({
|
|
|
90
99
|
}, [foundationThemeValue]);
|
|
91
100
|
React.useEffect(() => {
|
|
92
101
|
if (typeof window === "undefined" || dimensions.mode !== "system") return;
|
|
102
|
+
const telegramWebApp = getTelegramWebApp();
|
|
103
|
+
if (telegramWebApp?.onEvent) {
|
|
104
|
+
const updateFromTelegram = () => {
|
|
105
|
+
const scheme = getTelegramColorScheme();
|
|
106
|
+
if (scheme) setSystemTheme(scheme);
|
|
107
|
+
};
|
|
108
|
+
updateFromTelegram();
|
|
109
|
+
telegramWebApp.onEvent("themeChanged", updateFromTelegram);
|
|
110
|
+
return () => {
|
|
111
|
+
telegramWebApp.offEvent?.("themeChanged", updateFromTelegram);
|
|
112
|
+
};
|
|
113
|
+
}
|
|
93
114
|
const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
|
|
94
115
|
const updateTheme = () => {
|
|
95
116
|
setSystemTheme(mediaQuery.matches ? "dark" : "light");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/themeProvider/ThemeProvider.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\n\nimport {\n applyThemeToDocument,\n ThemeContext,\n type ThemeAccentColor,\n type ThemeContextValue as FoundationThemeContextValue,\n type ThemeGrayColor,\n type ThemePanelBackground,\n type ThemeRadius,\n type ThemeScaling,\n} from '../../foundations/Theme'\n\nimport { ACCENT_COLOR_VALUES } from '../../_internal/constants'\nimport { type ThemeProviderProps } from './themeProvider.props'\n\nexport type ThemePreference = 'light' | 'dark' | 'system'\n\ntype ThemeDimensions = {\n accentColor: ThemeAccentColor\n density: 'comfortable' | 'compact'\n grayColor: ThemeGrayColor\n mode: ThemePreference\n panelBackground: ThemePanelBackground\n radius: ThemeRadius\n scaling: ThemeScaling\n}\n\nconst defaultDimensions: ThemeDimensions = {\n accentColor: 'rift',\n density: 'comfortable',\n grayColor: 'auto',\n mode: 'system',\n panelBackground: 'translucent',\n radius: 'md',\n scaling: '100',\n}\n\ntype ThemeContextValue = {\n accentColor: ThemeAccentColor\n density: 'comfortable' | 'compact'\n grayColor: ThemeGrayColor\n mode: ThemePreference\n panelBackground: ThemePanelBackground\n radius: ThemeRadius\n resolvedTheme: 'light' | 'dark'\n scaling: ThemeScaling\n setAccentColor: (value: ThemeAccentColor) => void\n setDensity: (value: 'comfortable' | 'compact') => void\n setGrayColor: (value: ThemeGrayColor) => void\n setMode: React.Dispatch<React.SetStateAction<ThemePreference>>\n setPanelBackground: (value: ThemePanelBackground) => void\n setRadius: (value: ThemeRadius) => void\n setScaling: (value: ThemeScaling) => void\n setTheme: React.Dispatch<React.SetStateAction<ThemePreference>>\n theme: ThemePreference\n}\n\nconst ThemeProviderContext = React.createContext<ThemeContextValue | null>(null)\n\nfunction getSystemTheme(): 'light' | 'dark' {\n if (typeof window === 'undefined') return 'light'\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n}\n\nfunction getStoredDimensions(storageKey: string, defaults: ThemeDimensions): ThemeDimensions {\n if (typeof window === 'undefined') return defaults\n\n try {\n const stored = window.localStorage.getItem(storageKey)\n if (!stored) return defaults\n\n const parsed = JSON.parse(stored) as Partial<ThemeDimensions>\n // A previous accent-tier naming scheme (amber/silver/bronze) can still be\n // sitting in a returning user's localStorage. Guard against replaying an\n // unrecognized value into `data-accent-color` \u2014 there is no CSS override\n // block for it, so it silently inherits whatever accent happens to be\n // ambient instead of a real, intentional tier.\n const storedAccentColor =\n parsed.accentColor && (ACCENT_COLOR_VALUES as readonly string[]).includes(parsed.accentColor)\n ? parsed.accentColor\n : undefined\n return {\n accentColor: storedAccentColor ?? defaults.accentColor,\n density: parsed.density ?? defaults.density,\n grayColor: parsed.grayColor ?? defaults.grayColor,\n mode: parsed.mode ?? defaults.mode,\n panelBackground: parsed.panelBackground ?? defaults.panelBackground,\n radius: parsed.radius ?? defaults.radius,\n scaling: parsed.scaling ?? defaults.scaling,\n }\n } catch {\n return defaults\n }\n}\n\nexport function ThemeProvider({\n accentColor: accentColorProp,\n children,\n defaultTheme = 'system',\n density: densityProp,\n grayColor: grayColorProp,\n panelBackground: panelBackgroundProp,\n radius: radiusProp,\n scaling: scalingProp,\n storageKey,\n}: ThemeProviderProps) {\n const defaults: ThemeDimensions = {\n accentColor: accentColorProp ?? defaultDimensions.accentColor,\n density: densityProp ?? defaultDimensions.density,\n grayColor: grayColorProp ?? defaultDimensions.grayColor,\n mode: defaultTheme,\n panelBackground: panelBackgroundProp ?? defaultDimensions.panelBackground,\n radius: radiusProp ?? defaultDimensions.radius,\n scaling: scalingProp ?? defaultDimensions.scaling,\n }\n\n // Start with SSR-safe defaults so server and client initial renders match.\n // Stored preferences and system theme are applied after mount to avoid hydration mismatches.\n const [dimensions, setDimensions] = React.useState<ThemeDimensions>(defaults)\n const [systemTheme, setSystemTheme] = React.useState<'light' | 'dark'>('light')\n\n const resolvedTheme = dimensions.mode === 'system' ? systemTheme : dimensions.mode\n\n // After hydration: restore stored preferences and detect system theme.\n // A layout effect (not `useEffect`) so this \u2014 and the document-attribute\n // effect below, also promoted to a layout effect \u2014 resolve synchronously\n // before the browser paints. Splitting document application into a plain\n // `useEffect` would let the browser paint the SSR-safe 'light' default\n // first, since passive effects run after paint: exactly the flash this\n // fix closes. ThemeScript (see ThemeScript.tsx) closes the earlier gap,\n // before hydration even starts.\n React.useLayoutEffect(() => {\n setDimensions(getStoredDimensions(storageKey, defaults))\n setSystemTheme(getSystemTheme())\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n // Persist all dimensions to localStorage\n React.useEffect(() => {\n if (typeof window === 'undefined') return\n window.localStorage.setItem(storageKey, JSON.stringify(dimensions))\n }, [storageKey, dimensions])\n\n const foundationThemeValue = React.useMemo<FoundationThemeContextValue>(\n () => ({\n accentColor: dimensions.accentColor,\n density: dimensions.density,\n grayColor: dimensions.grayColor,\n hasBackground: true,\n mode: resolvedTheme,\n panelBackground: dimensions.panelBackground,\n radius: dimensions.radius,\n scaling: dimensions.scaling,\n }),\n [dimensions, resolvedTheme],\n )\n\n // Apply data attributes to document. useLayoutEffect, not useEffect \u2014 see\n // the restore effect above for why: this must resolve before paint.\n React.useLayoutEffect(() => {\n return applyThemeToDocument(foundationThemeValue)\n }, [foundationThemeValue])\n\n // Listen for system theme changes\n React.useEffect(() => {\n if (typeof window === 'undefined' || dimensions.mode !== 'system') return\n\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n const updateTheme = () => {\n setSystemTheme(mediaQuery.matches ? 'dark' : 'light')\n }\n\n updateTheme()\n mediaQuery.addEventListener('change', updateTheme)\n\n return () => {\n mediaQuery.removeEventListener('change', updateTheme)\n }\n }, [dimensions.mode])\n\n const setMode = React.useCallback(\n (action: React.SetStateAction<ThemePreference>) => {\n setDimensions((prev) => ({\n ...prev,\n mode: typeof action === 'function' ? action(prev.mode) : action,\n }))\n },\n [],\n )\n\n const setAccentColor = React.useCallback((value: ThemeAccentColor) => {\n setDimensions((prev) => ({ ...prev, accentColor: value }))\n }, [])\n\n const setDensity = React.useCallback((value: 'comfortable' | 'compact') => {\n setDimensions((prev) => ({ ...prev, density: value }))\n }, [])\n\n const setGrayColor = React.useCallback((value: ThemeGrayColor) => {\n setDimensions((prev) => ({ ...prev, grayColor: value }))\n }, [])\n\n const setPanelBackground = React.useCallback((value: ThemePanelBackground) => {\n setDimensions((prev) => ({ ...prev, panelBackground: value }))\n }, [])\n\n const setRadius = React.useCallback((value: ThemeRadius) => {\n setDimensions((prev) => ({ ...prev, radius: value }))\n }, [])\n\n const setScaling = React.useCallback((value: ThemeScaling) => {\n setDimensions((prev) => ({ ...prev, scaling: value }))\n }, [])\n\n const contextValue = React.useMemo<ThemeContextValue>(\n () => ({\n accentColor: dimensions.accentColor,\n density: dimensions.density,\n grayColor: dimensions.grayColor,\n mode: dimensions.mode,\n panelBackground: dimensions.panelBackground,\n radius: dimensions.radius,\n resolvedTheme,\n scaling: dimensions.scaling,\n setAccentColor,\n setDensity,\n setGrayColor,\n setMode,\n setPanelBackground,\n setRadius,\n setScaling,\n setTheme: setMode,\n theme: dimensions.mode,\n }),\n [\n dimensions,\n resolvedTheme,\n setAccentColor,\n setDensity,\n setGrayColor,\n setMode,\n setPanelBackground,\n setRadius,\n setScaling,\n ],\n )\n\n return (\n <ThemeContext.Provider value={foundationThemeValue}>\n <ThemeProviderContext.Provider value={contextValue}>{children}</ThemeProviderContext.Provider>\n </ThemeContext.Provider>\n )\n}\n\nexport function useTheme() {\n const context = React.useContext(ThemeProviderContext)\n\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider')\n }\n\n return context\n}\n"],
|
|
5
|
-
"mappings": ";AAEA,YAAY,WAAW;AAEvB;AAAA,EACE;AAAA,EACA;AAAA,OAOK;AAEP,SAAS,2BAA2B;AACpC,eAAwC;
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\n\nimport {\n applyThemeToDocument,\n ThemeContext,\n type ThemeAccentColor,\n type ThemeContextValue as FoundationThemeContextValue,\n type ThemeGrayColor,\n type ThemePanelBackground,\n type ThemeRadius,\n type ThemeScaling,\n} from '../../foundations/Theme'\n\nimport { ACCENT_COLOR_VALUES } from '../../_internal/constants'\nimport { type ThemeProviderProps } from './themeProvider.props'\n\nexport type ThemePreference = 'light' | 'dark' | 'system'\n\n// Kept local and unexported (not `declare global`): a consumer that also\n// installs a Telegram SDK's own types (e.g. `@telegram-apps/sdk`,\n// `@twa-dev/sdk`) would collide with a global `Window.Telegram` augmentation\n// shipped from this package. Reading through a narrow structural type at the\n// access site avoids that entirely while still getting type safety here.\ntype MinimalTelegramWebApp = {\n colorScheme?: 'light' | 'dark'\n offEvent?: (eventType: 'themeChanged', callback: () => void) => void\n onEvent?: (eventType: 'themeChanged', callback: () => void) => void\n}\n\nfunction getTelegramWebApp(): MinimalTelegramWebApp | undefined {\n if (typeof window === 'undefined') return undefined\n return (window as typeof window & { Telegram?: { WebApp?: MinimalTelegramWebApp } }).Telegram?.WebApp\n}\n\nfunction getTelegramColorScheme(): 'light' | 'dark' | undefined {\n const scheme = getTelegramWebApp()?.colorScheme\n return scheme === 'light' || scheme === 'dark' ? scheme : undefined\n}\n\ntype ThemeDimensions = {\n accentColor: ThemeAccentColor\n density: 'comfortable' | 'compact'\n grayColor: ThemeGrayColor\n mode: ThemePreference\n panelBackground: ThemePanelBackground\n radius: ThemeRadius\n scaling: ThemeScaling\n}\n\nconst defaultDimensions: ThemeDimensions = {\n accentColor: 'rift',\n density: 'comfortable',\n grayColor: 'auto',\n mode: 'system',\n panelBackground: 'translucent',\n radius: 'md',\n scaling: '100',\n}\n\ntype ThemeContextValue = {\n accentColor: ThemeAccentColor\n density: 'comfortable' | 'compact'\n grayColor: ThemeGrayColor\n mode: ThemePreference\n panelBackground: ThemePanelBackground\n radius: ThemeRadius\n resolvedTheme: 'light' | 'dark'\n scaling: ThemeScaling\n setAccentColor: (value: ThemeAccentColor) => void\n setDensity: (value: 'comfortable' | 'compact') => void\n setGrayColor: (value: ThemeGrayColor) => void\n setMode: React.Dispatch<React.SetStateAction<ThemePreference>>\n setPanelBackground: (value: ThemePanelBackground) => void\n setRadius: (value: ThemeRadius) => void\n setScaling: (value: ThemeScaling) => void\n setTheme: React.Dispatch<React.SetStateAction<ThemePreference>>\n theme: ThemePreference\n}\n\nconst ThemeProviderContext = React.createContext<ThemeContextValue | null>(null)\n\nfunction getSystemTheme(): 'light' | 'dark' {\n if (typeof window === 'undefined') return 'light'\n return getTelegramColorScheme() ?? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')\n}\n\nfunction getStoredDimensions(storageKey: string, defaults: ThemeDimensions): ThemeDimensions {\n if (typeof window === 'undefined') return defaults\n\n try {\n const stored = window.localStorage.getItem(storageKey)\n if (!stored) return defaults\n\n const parsed = JSON.parse(stored) as Partial<ThemeDimensions>\n // A previous accent-tier naming scheme (amber/silver/bronze) can still be\n // sitting in a returning user's localStorage. Guard against replaying an\n // unrecognized value into `data-accent-color` \u2014 there is no CSS override\n // block for it, so it silently inherits whatever accent happens to be\n // ambient instead of a real, intentional tier.\n const storedAccentColor =\n parsed.accentColor && (ACCENT_COLOR_VALUES as readonly string[]).includes(parsed.accentColor)\n ? parsed.accentColor\n : undefined\n return {\n accentColor: storedAccentColor ?? defaults.accentColor,\n density: parsed.density ?? defaults.density,\n grayColor: parsed.grayColor ?? defaults.grayColor,\n mode: parsed.mode ?? defaults.mode,\n panelBackground: parsed.panelBackground ?? defaults.panelBackground,\n radius: parsed.radius ?? defaults.radius,\n scaling: parsed.scaling ?? defaults.scaling,\n }\n } catch {\n return defaults\n }\n}\n\nexport function ThemeProvider({\n accentColor: accentColorProp,\n children,\n defaultTheme = 'system',\n density: densityProp,\n grayColor: grayColorProp,\n panelBackground: panelBackgroundProp,\n radius: radiusProp,\n scaling: scalingProp,\n storageKey,\n}: ThemeProviderProps) {\n if (!storageKey) throw new Error('ThemeProvider requires a storageKey')\n const defaults: ThemeDimensions = {\n accentColor: accentColorProp ?? defaultDimensions.accentColor,\n density: densityProp ?? defaultDimensions.density,\n grayColor: grayColorProp ?? defaultDimensions.grayColor,\n mode: defaultTheme,\n panelBackground: panelBackgroundProp ?? defaultDimensions.panelBackground,\n radius: radiusProp ?? defaultDimensions.radius,\n scaling: scalingProp ?? defaultDimensions.scaling,\n }\n\n // Start with SSR-safe defaults so server and client initial renders match.\n // Stored preferences and system theme are applied after mount to avoid hydration mismatches.\n const [dimensions, setDimensions] = React.useState<ThemeDimensions>(defaults)\n const [systemTheme, setSystemTheme] = React.useState<'light' | 'dark'>('light')\n\n const resolvedTheme = dimensions.mode === 'system' ? systemTheme : dimensions.mode\n\n // After hydration: restore stored preferences and detect system theme.\n // A layout effect (not `useEffect`) so this \u2014 and the document-attribute\n // effect below, also promoted to a layout effect \u2014 resolve synchronously\n // before the browser paints. Splitting document application into a plain\n // `useEffect` would let the browser paint the SSR-safe 'light' default\n // first, since passive effects run after paint: exactly the flash this\n // fix closes. ThemeScript (see ThemeScript.tsx) closes the earlier gap,\n // before hydration even starts.\n React.useLayoutEffect(() => {\n setDimensions(getStoredDimensions(storageKey, defaults))\n setSystemTheme(getSystemTheme())\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n // Persist all dimensions to localStorage\n React.useEffect(() => {\n if (typeof window === 'undefined') return\n window.localStorage.setItem(storageKey, JSON.stringify(dimensions))\n }, [storageKey, dimensions])\n\n const foundationThemeValue = React.useMemo<FoundationThemeContextValue>(\n () => ({\n accentColor: dimensions.accentColor,\n density: dimensions.density,\n grayColor: dimensions.grayColor,\n hasBackground: true,\n mode: resolvedTheme,\n panelBackground: dimensions.panelBackground,\n radius: dimensions.radius,\n scaling: dimensions.scaling,\n }),\n [dimensions, resolvedTheme],\n )\n\n // Apply data attributes to document. useLayoutEffect, not useEffect \u2014 see\n // the restore effect above for why: this must resolve before paint.\n React.useLayoutEffect(() => {\n return applyThemeToDocument(foundationThemeValue)\n }, [foundationThemeValue])\n\n // Listen for system theme changes. Inside a Telegram Mini App WebView,\n // `prefers-color-scheme` reflects the OS theme, not the Telegram client's\n // own theme (a user can run light-mode Telegram on a dark-mode phone, or\n // vice versa) \u2014 `Telegram.WebApp`'s `colorScheme` + `themeChanged` event is\n // the actual signal, and take priority whenever the WebApp bridge exists.\n React.useEffect(() => {\n if (typeof window === 'undefined' || dimensions.mode !== 'system') return\n\n const telegramWebApp = getTelegramWebApp()\n if (telegramWebApp?.onEvent) {\n const updateFromTelegram = () => {\n const scheme = getTelegramColorScheme()\n if (scheme) setSystemTheme(scheme)\n }\n\n updateFromTelegram()\n telegramWebApp.onEvent('themeChanged', updateFromTelegram)\n\n return () => {\n telegramWebApp.offEvent?.('themeChanged', updateFromTelegram)\n }\n }\n\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n const updateTheme = () => {\n setSystemTheme(mediaQuery.matches ? 'dark' : 'light')\n }\n\n updateTheme()\n mediaQuery.addEventListener('change', updateTheme)\n\n return () => {\n mediaQuery.removeEventListener('change', updateTheme)\n }\n }, [dimensions.mode])\n\n const setMode = React.useCallback(\n (action: React.SetStateAction<ThemePreference>) => {\n setDimensions((prev) => ({\n ...prev,\n mode: typeof action === 'function' ? action(prev.mode) : action,\n }))\n },\n [],\n )\n\n const setAccentColor = React.useCallback((value: ThemeAccentColor) => {\n setDimensions((prev) => ({ ...prev, accentColor: value }))\n }, [])\n\n const setDensity = React.useCallback((value: 'comfortable' | 'compact') => {\n setDimensions((prev) => ({ ...prev, density: value }))\n }, [])\n\n const setGrayColor = React.useCallback((value: ThemeGrayColor) => {\n setDimensions((prev) => ({ ...prev, grayColor: value }))\n }, [])\n\n const setPanelBackground = React.useCallback((value: ThemePanelBackground) => {\n setDimensions((prev) => ({ ...prev, panelBackground: value }))\n }, [])\n\n const setRadius = React.useCallback((value: ThemeRadius) => {\n setDimensions((prev) => ({ ...prev, radius: value }))\n }, [])\n\n const setScaling = React.useCallback((value: ThemeScaling) => {\n setDimensions((prev) => ({ ...prev, scaling: value }))\n }, [])\n\n const contextValue = React.useMemo<ThemeContextValue>(\n () => ({\n accentColor: dimensions.accentColor,\n density: dimensions.density,\n grayColor: dimensions.grayColor,\n mode: dimensions.mode,\n panelBackground: dimensions.panelBackground,\n radius: dimensions.radius,\n resolvedTheme,\n scaling: dimensions.scaling,\n setAccentColor,\n setDensity,\n setGrayColor,\n setMode,\n setPanelBackground,\n setRadius,\n setScaling,\n setTheme: setMode,\n theme: dimensions.mode,\n }),\n [\n dimensions,\n resolvedTheme,\n setAccentColor,\n setDensity,\n setGrayColor,\n setMode,\n setPanelBackground,\n setRadius,\n setScaling,\n ],\n )\n\n return (\n <ThemeContext.Provider value={foundationThemeValue}>\n <ThemeProviderContext.Provider value={contextValue}>{children}</ThemeProviderContext.Provider>\n </ThemeContext.Provider>\n )\n}\n\nexport function useTheme() {\n const context = React.useContext(ThemeProviderContext)\n\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider')\n }\n\n return context\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -55,7 +55,7 @@ function getThemeInitScript(options) {
|
|
|
55
55
|
radius: defaultRadius,
|
|
56
56
|
scaling: defaultScaling
|
|
57
57
|
};
|
|
58
|
-
return `(function(){try{var k=${JSON.stringify(storageKey)};var d=${JSON.stringify(defaults)};var validAccent=${JSON.stringify(import_constants.ACCENT_COLOR_VALUES)};var s=null;try{var r=window.localStorage.getItem(k);if(r)s=JSON.parse(r);}catch(e){}var storedAccent=(s&&s.accentColor&&validAccent.indexOf(s.accentColor)!==-1)?s.accentColor:null;var dims={mode:(s&&s.mode)||d.mode,density:(s&&s.density)||d.density,scaling:(s&&s.scaling)||d.scaling,accentColor:storedAccent||d.accentColor,grayColor:(s&&s.grayColor)||d.grayColor,radius:(s&&s.radius)||d.radius,panelBackground:(s&&s.panelBackground)||d.panelBackground};var m=dims.mode;if(m==="system"){m=(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches)?"dark":"light";}var root=document.documentElement;root.setAttribute("data-dsx-theme",m);root.setAttribute("data-dsx-density",dims.density);root.setAttribute("data-dsx-scaling",dims.scaling);root.setAttribute("data-accent-color",dims.accentColor);root.setAttribute("data-gray-color",dims.grayColor);root.setAttribute("data-radius",dims.radius);root.setAttribute("data-panel-background",dims.panelBackground);root.setAttribute("data-has-background","true");root.style.colorScheme=m;}catch(e){}})();`;
|
|
58
|
+
return `(function(){try{var k=${JSON.stringify(storageKey)};var d=${JSON.stringify(defaults)};var validAccent=${JSON.stringify(import_constants.ACCENT_COLOR_VALUES)};var s=null;try{var r=window.localStorage.getItem(k);if(r)s=JSON.parse(r);}catch(e){}var storedAccent=(s&&s.accentColor&&validAccent.indexOf(s.accentColor)!==-1)?s.accentColor:null;var dims={mode:(s&&s.mode)||d.mode,density:(s&&s.density)||d.density,scaling:(s&&s.scaling)||d.scaling,accentColor:storedAccent||d.accentColor,grayColor:(s&&s.grayColor)||d.grayColor,radius:(s&&s.radius)||d.radius,panelBackground:(s&&s.panelBackground)||d.panelBackground};var m=dims.mode;if(m==="system"){var tgScheme;try{tgScheme=window.Telegram&&window.Telegram.WebApp&&window.Telegram.WebApp.colorScheme;}catch(e){}if(tgScheme==="light"||tgScheme==="dark"){m=tgScheme;}else{m=(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches)?"dark":"light";}}var root=document.documentElement;root.setAttribute("data-dsx-theme",m);root.setAttribute("data-dsx-density",dims.density);root.setAttribute("data-dsx-scaling",dims.scaling);root.setAttribute("data-accent-color",dims.accentColor);root.setAttribute("data-gray-color",dims.grayColor);root.setAttribute("data-radius",dims.radius);root.setAttribute("data-panel-background",dims.panelBackground);root.setAttribute("data-has-background","true");root.style.colorScheme=m;}catch(e){}})();`;
|
|
59
59
|
}
|
|
60
60
|
function ThemeScript({ nonce, ...options }) {
|
|
61
61
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/themeProvider/ThemeScript.tsx"],
|
|
4
|
-
"sourcesContent": ["import { ACCENT_COLOR_VALUES } from '../../_internal/constants'\nimport {\n type ThemeAccentColor,\n type ThemeGrayColor,\n type ThemePanelBackground,\n type ThemeRadius,\n type ThemeScaling,\n} from '../../foundations/Theme'\n\nimport { type ThemePreference } from './themeProvider.props'\n\nexport type ThemeScriptOptions = {\n defaultAccentColor?: ThemeAccentColor\n defaultDensity?: 'comfortable' | 'compact'\n defaultGrayColor?: ThemeGrayColor\n defaultPanelBackground?: ThemePanelBackground\n defaultRadius?: ThemeRadius\n defaultScaling?: ThemeScaling\n defaultTheme?: ThemePreference\n storageKey: string\n}\n\nconst SCRIPT_DEFAULTS: Required<Omit<ThemeScriptOptions, 'storageKey'>> = {\n defaultAccentColor: 'rift',\n defaultDensity: 'comfortable',\n defaultGrayColor: 'auto',\n defaultPanelBackground: 'translucent',\n defaultRadius: 'md',\n defaultScaling: '100',\n defaultTheme: 'system',\n}\n\n/**\n * Returns the JS source for a blocking, pre-hydration script that reads the\n * same storageKey ThemeProvider persists to (falling back to matchMedia for\n * `system`) and applies the document attribute contract to `<html>` before\n * first paint. `document.body` does not exist yet when this runs in <head>;\n * ThemeProvider's own mount-time effect mirrors the same attributes onto\n * `<body>` once it exists \u2014 see ThemeProvider.tsx.\n */\nexport function getThemeInitScript(options: ThemeScriptOptions): string {\n const {\n storageKey,\n defaultAccentColor = SCRIPT_DEFAULTS.defaultAccentColor,\n defaultDensity = SCRIPT_DEFAULTS.defaultDensity,\n defaultGrayColor = SCRIPT_DEFAULTS.defaultGrayColor,\n defaultPanelBackground = SCRIPT_DEFAULTS.defaultPanelBackground,\n defaultRadius = SCRIPT_DEFAULTS.defaultRadius,\n defaultScaling = SCRIPT_DEFAULTS.defaultScaling,\n defaultTheme = SCRIPT_DEFAULTS.defaultTheme,\n } = options\n\n const defaults = {\n accentColor: defaultAccentColor,\n density: defaultDensity,\n grayColor: defaultGrayColor,\n mode: defaultTheme,\n panelBackground: defaultPanelBackground,\n radius: defaultRadius,\n scaling: defaultScaling,\n }\n\n // Kept as a plain string (not a template literal interpolating live values)\n // so JSON.stringify is the only thing crossing the JS/string boundary \u2014\n // storageKey and defaults are trusted app config, never user input, but\n // this keeps the emitted script free of unescaped interpolation regardless.\n return `(function(){try{` +\n `var k=${JSON.stringify(storageKey)};` +\n `var d=${JSON.stringify(defaults)};` +\n `var validAccent=${JSON.stringify(ACCENT_COLOR_VALUES)};` +\n `var s=null;` +\n `try{var r=window.localStorage.getItem(k);if(r)s=JSON.parse(r);}catch(e){}` +\n // A previous accent-tier naming scheme (amber/silver/bronze) can still be\n // sitting in a returning user's localStorage. Reject anything not in the\n // current allowlist so a stale value can't drive data-accent-color into\n // a state with no matching CSS override block.\n `var storedAccent=(s&&s.accentColor&&validAccent.indexOf(s.accentColor)!==-1)?s.accentColor:null;` +\n `var dims={` +\n `mode:(s&&s.mode)||d.mode,` +\n `density:(s&&s.density)||d.density,` +\n `scaling:(s&&s.scaling)||d.scaling,` +\n `accentColor:storedAccent||d.accentColor,` +\n `grayColor:(s&&s.grayColor)||d.grayColor,` +\n `radius:(s&&s.radius)||d.radius,` +\n `panelBackground:(s&&s.panelBackground)||d.panelBackground` +\n `};` +\n `var m=dims.mode;` +\n `if(m===\"system\"){m=(window.matchMedia&&window.matchMedia(\"(prefers-color-scheme: dark)\").matches)?\"dark\":\"light\";}` +\n `var root=document.documentElement;` +\n `root.setAttribute(\"data-dsx-theme\",m);` +\n `root.setAttribute(\"data-dsx-density\",dims.density);` +\n `root.setAttribute(\"data-dsx-scaling\",dims.scaling);` +\n `root.setAttribute(\"data-accent-color\",dims.accentColor);` +\n `root.setAttribute(\"data-gray-color\",dims.grayColor);` +\n `root.setAttribute(\"data-radius\",dims.radius);` +\n `root.setAttribute(\"data-panel-background\",dims.panelBackground);` +\n `root.setAttribute(\"data-has-background\",\"true\");` +\n `root.style.colorScheme=m;` +\n `}catch(e){}})();`\n}\n\nexport type ThemeScriptProps = ThemeScriptOptions & {\n nonce?: string\n}\n\n/**\n * Place inside the SSR document <head>, before any content that reads theme\n * tokens \u2014 e.g. Next.js `app/layout.tsx`'s `<head>`, or a custom `_document`.\n * Pass the same `storageKey` (and any `default*` overrides) given to\n * ThemeProvider so both read/write the identical stored-preference schema.\n * The host `<html>` element needs `suppressHydrationWarning` since this\n * script sets attributes on it before React hydrates.\n */\nexport function ThemeScript({ nonce, ...options }: ThemeScriptProps) {\n return (\n <script\n nonce={nonce}\n // eslint-disable-next-line react/no-danger -- static, options-derived script; no user input crosses this boundary\n dangerouslySetInnerHTML={{ __html: getThemeInitScript(options) }}\n />\n )\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAoC;AACpC,mBAMO;AAEP,2BAAqC;
|
|
4
|
+
"sourcesContent": ["import { ACCENT_COLOR_VALUES } from '../../_internal/constants'\nimport {\n type ThemeAccentColor,\n type ThemeGrayColor,\n type ThemePanelBackground,\n type ThemeRadius,\n type ThemeScaling,\n} from '../../foundations/Theme'\n\nimport { type ThemePreference } from './themeProvider.props'\n\nexport type ThemeScriptOptions = {\n defaultAccentColor?: ThemeAccentColor\n defaultDensity?: 'comfortable' | 'compact'\n defaultGrayColor?: ThemeGrayColor\n defaultPanelBackground?: ThemePanelBackground\n defaultRadius?: ThemeRadius\n defaultScaling?: ThemeScaling\n defaultTheme?: ThemePreference\n storageKey: string\n}\n\nconst SCRIPT_DEFAULTS: Required<Omit<ThemeScriptOptions, 'storageKey'>> = {\n defaultAccentColor: 'rift',\n defaultDensity: 'comfortable',\n defaultGrayColor: 'auto',\n defaultPanelBackground: 'translucent',\n defaultRadius: 'md',\n defaultScaling: '100',\n defaultTheme: 'system',\n}\n\n/**\n * Returns the JS source for a blocking, pre-hydration script that reads the\n * same storageKey ThemeProvider persists to (falling back to matchMedia for\n * `system`) and applies the document attribute contract to `<html>` before\n * first paint. `document.body` does not exist yet when this runs in <head>;\n * ThemeProvider's own mount-time effect mirrors the same attributes onto\n * `<body>` once it exists \u2014 see ThemeProvider.tsx.\n */\nexport function getThemeInitScript(options: ThemeScriptOptions): string {\n const {\n storageKey,\n defaultAccentColor = SCRIPT_DEFAULTS.defaultAccentColor,\n defaultDensity = SCRIPT_DEFAULTS.defaultDensity,\n defaultGrayColor = SCRIPT_DEFAULTS.defaultGrayColor,\n defaultPanelBackground = SCRIPT_DEFAULTS.defaultPanelBackground,\n defaultRadius = SCRIPT_DEFAULTS.defaultRadius,\n defaultScaling = SCRIPT_DEFAULTS.defaultScaling,\n defaultTheme = SCRIPT_DEFAULTS.defaultTheme,\n } = options\n\n const defaults = {\n accentColor: defaultAccentColor,\n density: defaultDensity,\n grayColor: defaultGrayColor,\n mode: defaultTheme,\n panelBackground: defaultPanelBackground,\n radius: defaultRadius,\n scaling: defaultScaling,\n }\n\n // Kept as a plain string (not a template literal interpolating live values)\n // so JSON.stringify is the only thing crossing the JS/string boundary \u2014\n // storageKey and defaults are trusted app config, never user input, but\n // this keeps the emitted script free of unescaped interpolation regardless.\n return `(function(){try{` +\n `var k=${JSON.stringify(storageKey)};` +\n `var d=${JSON.stringify(defaults)};` +\n `var validAccent=${JSON.stringify(ACCENT_COLOR_VALUES)};` +\n `var s=null;` +\n `try{var r=window.localStorage.getItem(k);if(r)s=JSON.parse(r);}catch(e){}` +\n // A previous accent-tier naming scheme (amber/silver/bronze) can still be\n // sitting in a returning user's localStorage. Reject anything not in the\n // current allowlist so a stale value can't drive data-accent-color into\n // a state with no matching CSS override block.\n `var storedAccent=(s&&s.accentColor&&validAccent.indexOf(s.accentColor)!==-1)?s.accentColor:null;` +\n `var dims={` +\n `mode:(s&&s.mode)||d.mode,` +\n `density:(s&&s.density)||d.density,` +\n `scaling:(s&&s.scaling)||d.scaling,` +\n `accentColor:storedAccent||d.accentColor,` +\n `grayColor:(s&&s.grayColor)||d.grayColor,` +\n `radius:(s&&s.radius)||d.radius,` +\n `panelBackground:(s&&s.panelBackground)||d.panelBackground` +\n `};` +\n `var m=dims.mode;` +\n `if(m===\"system\"){` +\n // Telegram Mini App WebViews: `Telegram.WebApp.colorScheme` reflects the\n // Telegram client's own theme, which can diverge from the OS theme\n // `prefers-color-scheme` reports (light-mode Telegram on a dark-mode\n // phone, or vice versa) \u2014 check it first; matchMedia is the fallback for\n // a plain browser embed. Mirrors ThemeProvider.tsx's runtime detection.\n `var tgScheme;` +\n `try{tgScheme=window.Telegram&&window.Telegram.WebApp&&window.Telegram.WebApp.colorScheme;}catch(e){}` +\n `if(tgScheme===\"light\"||tgScheme===\"dark\"){m=tgScheme;}` +\n `else{m=(window.matchMedia&&window.matchMedia(\"(prefers-color-scheme: dark)\").matches)?\"dark\":\"light\";}` +\n `}` +\n `var root=document.documentElement;` +\n `root.setAttribute(\"data-dsx-theme\",m);` +\n `root.setAttribute(\"data-dsx-density\",dims.density);` +\n `root.setAttribute(\"data-dsx-scaling\",dims.scaling);` +\n `root.setAttribute(\"data-accent-color\",dims.accentColor);` +\n `root.setAttribute(\"data-gray-color\",dims.grayColor);` +\n `root.setAttribute(\"data-radius\",dims.radius);` +\n `root.setAttribute(\"data-panel-background\",dims.panelBackground);` +\n `root.setAttribute(\"data-has-background\",\"true\");` +\n `root.style.colorScheme=m;` +\n `}catch(e){}})();`\n}\n\nexport type ThemeScriptProps = ThemeScriptOptions & {\n nonce?: string\n}\n\n/**\n * Place inside the SSR document <head>, before any content that reads theme\n * tokens \u2014 e.g. Next.js `app/layout.tsx`'s `<head>`, or a custom `_document`.\n * Pass the same `storageKey` (and any `default*` overrides) given to\n * ThemeProvider so both read/write the identical stored-preference schema.\n * The host `<html>` element needs `suppressHydrationWarning` since this\n * script sets attributes on it before React hydrates.\n */\nexport function ThemeScript({ nonce, ...options }: ThemeScriptProps) {\n return (\n <script\n nonce={nonce}\n // eslint-disable-next-line react/no-danger -- static, options-derived script; no user input crosses this boundary\n dangerouslySetInnerHTML={{ __html: getThemeInitScript(options) }}\n />\n )\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAoC;AACpC,mBAMO;AAEP,2BAAqC;AAoHjC;AAvGJ,MAAM,kBAAoE;AAAA,EACxE,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,wBAAwB;AAAA,EACxB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,cAAc;AAChB;AAUO,SAAS,mBAAmB,SAAqC;AACtE,QAAM;AAAA,IACJ;AAAA,IACA,qBAAqB,gBAAgB;AAAA,IACrC,iBAAiB,gBAAgB;AAAA,IACjC,mBAAmB,gBAAgB;AAAA,IACnC,yBAAyB,gBAAgB;AAAA,IACzC,gBAAgB,gBAAgB;AAAA,IAChC,iBAAiB,gBAAgB;AAAA,IACjC,eAAe,gBAAgB;AAAA,EACjC,IAAI;AAEJ,QAAM,WAAW;AAAA,IACf,aAAa;AAAA,IACb,SAAS;AAAA,IACT,WAAW;AAAA,IACX,MAAM;AAAA,IACN,iBAAiB;AAAA,IACjB,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAMA,SAAO,yBACI,KAAK,UAAU,UAAU,CAAC,UAC1B,KAAK,UAAU,QAAQ,CAAC,oBACd,KAAK,UAAU,oCAAmB,CAAC;AAwC1D;AAcO,SAAS,YAAY,EAAE,OAAO,GAAG,QAAQ,GAAqB;AACnE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MAEA,yBAAyB,EAAE,QAAQ,mBAAmB,OAAO,EAAE;AAAA;AAAA,EACjE;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeScript.d.cts","sourceRoot":"","sources":["../../../src/components/themeProvider/ThemeScript.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kBAAkB,CAAC,EAAE,gBAAgB,CAAA;IACrC,cAAc,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IAC1C,gBAAgB,CAAC,EAAE,cAAc,CAAA;IACjC,sBAAsB,CAAC,EAAE,oBAAoB,CAAA;IAC7C,aAAa,CAAC,EAAE,WAAW,CAAA;IAC3B,cAAc,CAAC,EAAE,YAAY,CAAA;IAC7B,YAAY,CAAC,EAAE,eAAe,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAYD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"ThemeScript.d.cts","sourceRoot":"","sources":["../../../src/components/themeProvider/ThemeScript.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kBAAkB,CAAC,EAAE,gBAAgB,CAAA;IACrC,cAAc,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IAC1C,gBAAgB,CAAC,EAAE,cAAc,CAAA;IACjC,sBAAsB,CAAC,EAAE,oBAAoB,CAAA;IAC7C,aAAa,CAAC,EAAE,WAAW,CAAA;IAC3B,cAAc,CAAC,EAAE,YAAY,CAAA;IAC7B,YAAY,CAAC,EAAE,eAAe,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAYD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAqEtE;AAED,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,gBAAgB,2CAQlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeScript.d.mts","sourceRoot":"","sources":["../../../src/components/themeProvider/ThemeScript.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kBAAkB,CAAC,EAAE,gBAAgB,CAAA;IACrC,cAAc,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IAC1C,gBAAgB,CAAC,EAAE,cAAc,CAAA;IACjC,sBAAsB,CAAC,EAAE,oBAAoB,CAAA;IAC7C,aAAa,CAAC,EAAE,WAAW,CAAA;IAC3B,cAAc,CAAC,EAAE,YAAY,CAAA;IAC7B,YAAY,CAAC,EAAE,eAAe,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAYD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"ThemeScript.d.mts","sourceRoot":"","sources":["../../../src/components/themeProvider/ThemeScript.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kBAAkB,CAAC,EAAE,gBAAgB,CAAA;IACrC,cAAc,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IAC1C,gBAAgB,CAAC,EAAE,cAAc,CAAA;IACjC,sBAAsB,CAAC,EAAE,oBAAoB,CAAA;IAC7C,aAAa,CAAC,EAAE,WAAW,CAAA;IAC3B,cAAc,CAAC,EAAE,YAAY,CAAA;IAC7B,YAAY,CAAC,EAAE,eAAe,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAYD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAqEtE;AAED,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,gBAAgB,2CAQlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeScript.d.ts","sourceRoot":"","sources":["../../../src/components/themeProvider/ThemeScript.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kBAAkB,CAAC,EAAE,gBAAgB,CAAA;IACrC,cAAc,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IAC1C,gBAAgB,CAAC,EAAE,cAAc,CAAA;IACjC,sBAAsB,CAAC,EAAE,oBAAoB,CAAA;IAC7C,aAAa,CAAC,EAAE,WAAW,CAAA;IAC3B,cAAc,CAAC,EAAE,YAAY,CAAA;IAC7B,YAAY,CAAC,EAAE,eAAe,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAYD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"ThemeScript.d.ts","sourceRoot":"","sources":["../../../src/components/themeProvider/ThemeScript.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kBAAkB,CAAC,EAAE,gBAAgB,CAAA;IACrC,cAAc,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IAC1C,gBAAgB,CAAC,EAAE,cAAc,CAAA;IACjC,sBAAsB,CAAC,EAAE,oBAAoB,CAAA;IAC7C,aAAa,CAAC,EAAE,WAAW,CAAA;IAC3B,cAAc,CAAC,EAAE,YAAY,CAAA;IAC7B,YAAY,CAAC,EAAE,eAAe,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAYD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAqEtE;AAED,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,gBAAgB,2CAQlE"}
|