@tempoxyz/ds 0.2.6 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/fonts/JetBrainsMono-Bold-latin.woff2 +0 -0
- package/dist/fonts/JetBrainsMono-Bold-other.woff2 +0 -0
- package/dist/fonts/JetBrainsMono-Bold.woff2 +0 -0
- package/dist/fonts/JetBrainsMono-Medium-latin.woff2 +0 -0
- package/dist/fonts/JetBrainsMono-Medium-other.woff2 +0 -0
- package/dist/fonts/JetBrainsMono-Medium.woff2 +0 -0
- package/dist/fonts/JetBrainsMono-Regular-latin.woff2 +0 -0
- package/dist/fonts/JetBrainsMono-Regular-other.woff2 +0 -0
- package/dist/fonts/JetBrainsMono-Regular.woff2 +0 -0
- package/dist/fonts/JetBrainsMono-SemiBold-latin.woff2 +0 -0
- package/dist/fonts/JetBrainsMono-SemiBold-other.woff2 +0 -0
- package/dist/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
- package/dist/fonts/Pilat-Black-latin.woff2 +0 -0
- package/dist/fonts/Pilat-Black-other.woff2 +0 -0
- package/dist/fonts/Pilat-Black.woff2 +0 -0
- package/dist/fonts/Pilat-Bold-latin.woff2 +0 -0
- package/dist/fonts/Pilat-Bold-other.woff2 +0 -0
- package/dist/fonts/Pilat-Bold.woff2 +0 -0
- package/dist/fonts/Pilat-Book-latin.woff2 +0 -0
- package/dist/fonts/Pilat-Book-other.woff2 +0 -0
- package/dist/fonts/Pilat-Book.woff2 +0 -0
- package/dist/fonts/Pilat-Demi-latin.woff2 +0 -0
- package/dist/fonts/Pilat-Demi-other.woff2 +0 -0
- package/dist/fonts/Pilat-Demi.woff2 +0 -0
- package/dist/fonts/Pilat-Heavy-latin.woff2 +0 -0
- package/dist/fonts/Pilat-Heavy-other.woff2 +0 -0
- package/dist/fonts/Pilat-Heavy.woff2 +0 -0
- package/dist/fonts/Pilat-Light-latin.woff2 +0 -0
- package/dist/fonts/Pilat-Light-other.woff2 +0 -0
- package/dist/fonts/Pilat-Light.woff2 +0 -0
- package/dist/fonts/Pilat-Regular-latin.woff2 +0 -0
- package/dist/fonts/Pilat-Regular-other.woff2 +0 -0
- package/dist/fonts/Pilat-Regular.woff2 +0 -0
- package/dist/fonts/Pilat-Thin-latin.woff2 +0 -0
- package/dist/fonts/Pilat-Thin-other.woff2 +0 -0
- package/dist/fonts/Pilat-Thin.woff2 +0 -0
- package/dist/oxlint/rules/PreferComponent.js +6 -6
- package/dist/oxlint/rules/PreferComponent.js.map +1 -1
- package/dist/web/components/Accordion.css +1 -1
- package/dist/web/components/Accordion.d.ts +7 -7
- package/dist/web/components/Accordion.js.map +1 -1
- package/dist/web/components/Accordion.js.zyzz.json +1 -1
- package/dist/web/components/AgentLogo.css +1 -0
- package/dist/web/components/AgentLogo.d.ts +206 -0
- package/dist/web/components/AgentLogo.d.ts.map +1 -0
- package/dist/web/components/AgentLogo.js +86 -0
- package/dist/web/components/AgentLogo.js.map +1 -0
- package/dist/web/components/AgentLogo.js.zyzz.json +1 -0
- package/dist/web/components/Alert.css +1 -0
- package/dist/web/components/Alert.d.ts +161 -0
- package/dist/web/components/Alert.d.ts.map +1 -0
- package/dist/web/components/Alert.js +97 -0
- package/dist/web/components/Alert.js.map +1 -0
- package/dist/web/components/Alert.js.zyzz.json +1 -0
- package/dist/web/components/AlertDialog.d.ts +40 -28
- package/dist/web/components/AlertDialog.d.ts.map +1 -1
- package/dist/web/components/AlertDialog.js +31 -36
- package/dist/web/components/AlertDialog.js.map +1 -1
- package/dist/web/components/AlertDialog.js.zyzz.json +1 -1
- package/dist/web/components/Amount.css +1 -1
- package/dist/web/components/Amount.d.ts +5 -5
- package/dist/web/components/Amount.d.ts.map +1 -1
- package/dist/web/components/Amount.js.map +1 -1
- package/dist/web/components/Amount.js.zyzz.json +1 -1
- package/dist/web/components/AmountInput.css +1 -1
- package/dist/web/components/AmountInput.d.ts +20 -39
- package/dist/web/components/AmountInput.d.ts.map +1 -1
- package/dist/web/components/AmountInput.js +31 -37
- package/dist/web/components/AmountInput.js.map +1 -1
- package/dist/web/components/AmountInput.js.zyzz.json +1 -1
- package/dist/web/components/AppShell.css +1 -1
- package/dist/web/components/AppShell.d.ts +172 -28
- package/dist/web/components/AppShell.d.ts.map +1 -1
- package/dist/web/components/AppShell.js +89 -29
- package/dist/web/components/AppShell.js.map +1 -1
- package/dist/web/components/AppShell.js.zyzz.json +1 -1
- package/dist/web/components/AssetChip.css +1 -0
- package/dist/web/components/AssetChip.d.ts +38 -0
- package/dist/web/components/AssetChip.d.ts.map +1 -0
- package/dist/web/components/AssetChip.js +47 -0
- package/dist/web/components/AssetChip.js.map +1 -0
- package/dist/web/components/AssetChip.js.zyzz.json +1 -0
- package/dist/web/components/Autocomplete.d.ts +2 -2
- package/dist/web/components/Autocomplete.js +4 -4
- package/dist/web/components/Autocomplete.js.map +1 -1
- package/dist/web/components/Autocomplete.js.zyzz.json +1 -1
- package/dist/web/components/Avatar.css +1 -1
- package/dist/web/components/Avatar.d.ts +40 -115
- package/dist/web/components/Avatar.d.ts.map +1 -1
- package/dist/web/components/Avatar.js +19 -32
- package/dist/web/components/Avatar.js.map +1 -1
- package/dist/web/components/Avatar.js.zyzz.json +1 -1
- package/dist/web/components/Badge.css +1 -0
- package/dist/web/components/Badge.d.ts +134 -0
- package/dist/web/components/Badge.d.ts.map +1 -0
- package/dist/web/components/Badge.js +38 -0
- package/dist/web/components/Badge.js.map +1 -0
- package/dist/web/components/Badge.js.zyzz.json +1 -0
- package/dist/web/components/Banner.css +1 -1
- package/dist/web/components/Banner.d.ts +12 -12
- package/dist/web/components/Banner.d.ts.map +1 -1
- package/dist/web/components/Banner.js +5 -5
- package/dist/web/components/Banner.js.map +1 -1
- package/dist/web/components/Banner.js.zyzz.json +1 -1
- package/dist/web/components/BarChart.css +1 -0
- package/dist/web/components/BarChart.d.ts +155 -0
- package/dist/web/components/BarChart.d.ts.map +1 -0
- package/dist/web/components/BarChart.js +119 -0
- package/dist/web/components/BarChart.js.map +1 -0
- package/dist/web/components/BarChart.js.zyzz.json +1 -0
- package/dist/web/components/Breadcrumbs.css +1 -1
- package/dist/web/components/Breadcrumbs.d.ts +6 -6
- package/dist/web/components/Breadcrumbs.js.map +1 -1
- package/dist/web/components/Breadcrumbs.js.zyzz.json +1 -1
- package/dist/web/components/Button.css +1 -1
- package/dist/web/components/Button.d.ts +167 -32
- package/dist/web/components/Button.d.ts.map +1 -1
- package/dist/web/components/Button.js +14 -9
- package/dist/web/components/Button.js.map +1 -1
- package/dist/web/components/Button.js.zyzz.json +1 -1
- package/dist/web/components/ButtonGroup.css +1 -0
- package/dist/web/components/ButtonGroup.d.ts +56 -0
- package/dist/web/components/ButtonGroup.d.ts.map +1 -0
- package/dist/web/components/ButtonGroup.js +33 -0
- package/dist/web/components/ButtonGroup.js.map +1 -0
- package/dist/web/components/ButtonGroup.js.zyzz.json +1 -0
- package/dist/web/components/Calendar.css +1 -1
- package/dist/web/components/Calendar.d.ts.map +1 -1
- package/dist/web/components/Calendar.js +7 -7
- package/dist/web/components/Calendar.js.map +1 -1
- package/dist/web/components/Calendar.js.zyzz.json +1 -1
- package/dist/web/components/Checkbox.css +1 -1
- package/dist/web/components/Checkbox.d.ts +11 -11
- package/dist/web/components/Checkbox.d.ts.map +1 -1
- package/dist/web/components/Checkbox.js +4 -1
- package/dist/web/components/Checkbox.js.map +1 -1
- package/dist/web/components/Checkbox.js.zyzz.json +1 -1
- package/dist/web/components/CheckboxGroup.js.zyzz.json +1 -1
- package/dist/web/components/ChoiceGroup.css +1 -1
- package/dist/web/components/ChoiceGroup.d.ts +44 -16
- package/dist/web/components/ChoiceGroup.d.ts.map +1 -1
- package/dist/web/components/ChoiceGroup.js +32 -8
- package/dist/web/components/ChoiceGroup.js.map +1 -1
- package/dist/web/components/ChoiceGroup.js.zyzz.json +1 -1
- package/dist/web/components/Choicebox.css +1 -1
- package/dist/web/components/Choicebox.d.ts +9 -9
- package/dist/web/components/Choicebox.d.ts.map +1 -1
- package/dist/web/components/Choicebox.js +6 -6
- package/dist/web/components/Choicebox.js.map +1 -1
- package/dist/web/components/Choicebox.js.zyzz.json +1 -1
- package/dist/web/components/Combobox.css +1 -1
- package/dist/web/components/Combobox.d.ts +2 -2
- package/dist/web/components/Combobox.d.ts.map +1 -1
- package/dist/web/components/Combobox.js +8 -8
- package/dist/web/components/Combobox.js.map +1 -1
- package/dist/web/components/Combobox.js.zyzz.json +1 -1
- package/dist/web/components/Container.js.zyzz.json +1 -1
- package/dist/web/components/CopyButton.js +1 -1
- package/dist/web/components/CopyButton.js.map +1 -1
- package/dist/web/components/CopyButton.js.zyzz.json +1 -1
- package/dist/web/components/DatePicker.css +1 -1
- package/dist/web/components/DatePicker.d.ts +37 -56
- package/dist/web/components/DatePicker.d.ts.map +1 -1
- package/dist/web/components/DatePicker.js +7 -7
- package/dist/web/components/DatePicker.js.map +1 -1
- package/dist/web/components/DatePicker.js.zyzz.json +1 -1
- package/dist/web/components/Dialog.css +1 -1
- package/dist/web/components/Dialog.d.ts +189 -20
- package/dist/web/components/Dialog.d.ts.map +1 -1
- package/dist/web/components/Dialog.js +93 -26
- package/dist/web/components/Dialog.js.map +1 -1
- package/dist/web/components/Dialog.js.zyzz.json +1 -1
- package/dist/web/components/Drawer.css +1 -1
- package/dist/web/components/Drawer.d.ts +7 -2
- package/dist/web/components/Drawer.d.ts.map +1 -1
- package/dist/web/components/Drawer.js +12 -6
- package/dist/web/components/Drawer.js.map +1 -1
- package/dist/web/components/Drawer.js.zyzz.json +1 -1
- package/dist/web/components/Empty.css +1 -1
- package/dist/web/components/Empty.d.ts +2 -0
- package/dist/web/components/Empty.d.ts.map +1 -1
- package/dist/web/components/Empty.js +5 -3
- package/dist/web/components/Empty.js.map +1 -1
- package/dist/web/components/Empty.js.zyzz.json +1 -1
- package/dist/web/components/Field.css +1 -1
- package/dist/web/components/Field.d.ts +16 -21
- package/dist/web/components/Field.d.ts.map +1 -1
- package/dist/web/components/Field.js +38 -36
- package/dist/web/components/Field.js.map +1 -1
- package/dist/web/components/Field.js.zyzz.json +1 -1
- package/dist/web/components/Fieldset.css +1 -1
- package/dist/web/components/Fieldset.d.ts +9 -18
- package/dist/web/components/Fieldset.d.ts.map +1 -1
- package/dist/web/components/Fieldset.js +11 -14
- package/dist/web/components/Fieldset.js.map +1 -1
- package/dist/web/components/Fieldset.js.zyzz.json +1 -1
- package/dist/web/components/Frame.css +1 -1
- package/dist/web/components/Frame.d.ts +13 -19
- package/dist/web/components/Frame.d.ts.map +1 -1
- package/dist/web/components/Frame.js +8 -8
- package/dist/web/components/Frame.js.map +1 -1
- package/dist/web/components/Frame.js.zyzz.json +1 -1
- package/dist/web/components/Gauge.css +1 -1
- package/dist/web/components/Gauge.d.ts +2 -2
- package/dist/web/components/Gauge.d.ts.map +1 -1
- package/dist/web/components/Gauge.js.map +1 -1
- package/dist/web/components/Gauge.js.zyzz.json +1 -1
- package/dist/web/components/Grid.js.zyzz.json +1 -1
- package/dist/web/components/Hex.css +1 -1
- package/dist/web/components/Hex.d.ts +11 -53
- package/dist/web/components/Hex.d.ts.map +1 -1
- package/dist/web/components/Hex.js +5 -7
- package/dist/web/components/Hex.js.map +1 -1
- package/dist/web/components/Hex.js.zyzz.json +1 -1
- package/dist/web/components/IconTile.css +1 -0
- package/dist/web/components/IconTile.d.ts +62 -0
- package/dist/web/components/IconTile.d.ts.map +1 -0
- package/dist/web/components/IconTile.js +28 -0
- package/dist/web/components/IconTile.js.map +1 -0
- package/dist/web/components/IconTile.js.zyzz.json +1 -0
- package/dist/web/components/Identicon.css +1 -1
- package/dist/web/components/Identicon.d.ts +1 -8
- package/dist/web/components/Identicon.d.ts.map +1 -1
- package/dist/web/components/Identicon.js +1 -4
- package/dist/web/components/Identicon.js.map +1 -1
- package/dist/web/components/Identicon.js.zyzz.json +1 -1
- package/dist/web/components/Inline.js.zyzz.json +1 -1
- package/dist/web/components/Inset.js.zyzz.json +1 -1
- package/dist/web/components/Kbd.css +1 -1
- package/dist/web/components/Kbd.d.ts +7 -7
- package/dist/web/components/Kbd.js.map +1 -1
- package/dist/web/components/Kbd.js.zyzz.json +1 -1
- package/dist/web/components/ListGroup.css +1 -0
- package/dist/web/components/ListGroup.d.ts +530 -0
- package/dist/web/components/ListGroup.d.ts.map +1 -0
- package/dist/web/components/ListGroup.js +270 -0
- package/dist/web/components/ListGroup.js.map +1 -0
- package/dist/web/components/ListGroup.js.zyzz.json +1 -0
- package/dist/web/components/LoadingDots.css +1 -1
- package/dist/web/components/LoadingDots.d.ts.map +1 -1
- package/dist/web/components/LoadingDots.js +2 -2
- package/dist/web/components/LoadingDots.js.map +1 -1
- package/dist/web/components/LoadingDots.js.zyzz.json +1 -1
- package/dist/web/components/Menu.css +1 -1
- package/dist/web/components/Menu.d.ts +39 -20
- package/dist/web/components/Menu.d.ts.map +1 -1
- package/dist/web/components/Menu.js +12 -7
- package/dist/web/components/Menu.js.map +1 -1
- package/dist/web/components/Menu.js.zyzz.json +1 -1
- package/dist/web/components/NetworkLogo.css +1 -0
- package/dist/web/components/NetworkLogo.d.ts +58 -0
- package/dist/web/components/NetworkLogo.d.ts.map +1 -0
- package/dist/web/components/NetworkLogo.js +40 -0
- package/dist/web/components/NetworkLogo.js.map +1 -0
- package/dist/web/components/NetworkLogo.js.zyzz.json +1 -0
- package/dist/web/components/NumberField.css +1 -1
- package/dist/web/components/NumberField.d.ts +3 -3
- package/dist/web/components/NumberField.d.ts.map +1 -1
- package/dist/web/components/NumberField.js +5 -5
- package/dist/web/components/NumberField.js.map +1 -1
- package/dist/web/components/NumberField.js.zyzz.json +1 -1
- package/dist/web/components/OtpField.css +1 -1
- package/dist/web/components/OtpField.d.ts +8 -68
- package/dist/web/components/OtpField.d.ts.map +1 -1
- package/dist/web/components/OtpField.js +12 -9
- package/dist/web/components/OtpField.js.map +1 -1
- package/dist/web/components/OtpField.js.zyzz.json +1 -1
- package/dist/web/components/Pagination.css +1 -1
- package/dist/web/components/Pagination.d.ts +16 -14
- package/dist/web/components/Pagination.d.ts.map +1 -1
- package/dist/web/components/Pagination.js +3 -3
- package/dist/web/components/Pagination.js.map +1 -1
- package/dist/web/components/Pagination.js.zyzz.json +1 -1
- package/dist/web/components/Popover.css +1 -1
- package/dist/web/components/Popover.js.map +1 -1
- package/dist/web/components/Popover.js.zyzz.json +1 -1
- package/dist/web/components/Progress.css +1 -1
- package/dist/web/components/Progress.d.ts +2 -2
- package/dist/web/components/Progress.d.ts.map +1 -1
- package/dist/web/components/Progress.js +5 -5
- package/dist/web/components/Progress.js.map +1 -1
- package/dist/web/components/Progress.js.zyzz.json +1 -1
- package/dist/web/components/Qr.css +1 -1
- package/dist/web/components/Qr.d.ts +1 -1
- package/dist/web/components/Qr.js.map +1 -1
- package/dist/web/components/Qr.js.zyzz.json +1 -1
- package/dist/web/components/RadioGroup.css +1 -1
- package/dist/web/components/RadioGroup.d.ts.map +1 -1
- package/dist/web/components/RadioGroup.js +2 -2
- package/dist/web/components/RadioGroup.js.map +1 -1
- package/dist/web/components/RadioGroup.js.zyzz.json +1 -1
- package/dist/web/components/SecretValue.css +1 -1
- package/dist/web/components/SecretValue.d.ts +7 -7
- package/dist/web/components/SecretValue.js +1 -1
- package/dist/web/components/SecretValue.js.map +1 -1
- package/dist/web/components/SecretValue.js.zyzz.json +1 -1
- package/dist/web/components/Select.css +1 -1
- package/dist/web/components/Select.d.ts +64 -2
- package/dist/web/components/Select.d.ts.map +1 -1
- package/dist/web/components/Select.js +26 -9
- package/dist/web/components/Select.js.map +1 -1
- package/dist/web/components/Select.js.zyzz.json +1 -1
- package/dist/web/components/Separator.css +1 -1
- package/dist/web/components/Separator.d.ts +17 -3
- package/dist/web/components/Separator.d.ts.map +1 -1
- package/dist/web/components/Separator.js +40 -5
- package/dist/web/components/Separator.js.map +1 -1
- package/dist/web/components/Separator.js.zyzz.json +1 -1
- package/dist/web/components/SidebarMenu.css +1 -1
- package/dist/web/components/SidebarMenu.d.ts +238 -39
- package/dist/web/components/SidebarMenu.d.ts.map +1 -1
- package/dist/web/components/SidebarMenu.js +123 -20
- package/dist/web/components/SidebarMenu.js.map +1 -1
- package/dist/web/components/SidebarMenu.js.zyzz.json +1 -1
- package/dist/web/components/Skeleton.css +1 -1
- package/dist/web/components/Skeleton.d.ts +5 -3
- package/dist/web/components/Skeleton.d.ts.map +1 -1
- package/dist/web/components/Skeleton.js +1 -1
- package/dist/web/components/Skeleton.js.map +1 -1
- package/dist/web/components/Skeleton.js.zyzz.json +1 -1
- package/dist/web/components/Slider.css +1 -1
- package/dist/web/components/Slider.d.ts.map +1 -1
- package/dist/web/components/Slider.js +5 -5
- package/dist/web/components/Slider.js.map +1 -1
- package/dist/web/components/Slider.js.zyzz.json +1 -1
- package/dist/web/components/Snippet.css +1 -1
- package/dist/web/components/Snippet.d.ts +27 -65
- package/dist/web/components/Snippet.d.ts.map +1 -1
- package/dist/web/components/Snippet.js +47 -10
- package/dist/web/components/Snippet.js.map +1 -1
- package/dist/web/components/Snippet.js.zyzz.json +1 -1
- package/dist/web/components/Spinner.css +1 -1
- package/dist/web/components/Spinner.d.ts +25 -16
- package/dist/web/components/Spinner.d.ts.map +1 -1
- package/dist/web/components/Spinner.js +11 -6
- package/dist/web/components/Spinner.js.map +1 -1
- package/dist/web/components/Spinner.js.zyzz.json +1 -1
- package/dist/web/components/SplitBar.css +1 -0
- package/dist/web/components/SplitBar.d.ts +99 -0
- package/dist/web/components/SplitBar.d.ts.map +1 -0
- package/dist/web/components/SplitBar.js +49 -0
- package/dist/web/components/SplitBar.js.map +1 -0
- package/dist/web/components/SplitBar.js.zyzz.json +1 -0
- package/dist/web/components/SplitButton.css +1 -1
- package/dist/web/components/SplitButton.d.ts +4 -1
- package/dist/web/components/SplitButton.d.ts.map +1 -1
- package/dist/web/components/SplitButton.js +2 -2
- package/dist/web/components/SplitButton.js.map +1 -1
- package/dist/web/components/SplitButton.js.zyzz.json +1 -1
- package/dist/web/components/Stack.js.zyzz.json +1 -1
- package/dist/web/components/StatusChip.css +1 -0
- package/dist/web/components/StatusChip.d.ts +162 -0
- package/dist/web/components/StatusChip.d.ts.map +1 -0
- package/dist/web/components/StatusChip.js +37 -0
- package/dist/web/components/StatusChip.js.map +1 -0
- package/dist/web/components/StatusChip.js.zyzz.json +1 -0
- package/dist/web/components/StatusRow.css +1 -0
- package/dist/web/components/StatusRow.d.ts +121 -0
- package/dist/web/components/StatusRow.d.ts.map +1 -0
- package/dist/web/components/StatusRow.js +75 -0
- package/dist/web/components/StatusRow.js.map +1 -0
- package/dist/web/components/StatusRow.js.zyzz.json +1 -0
- package/dist/web/components/Stepper.css +1 -1
- package/dist/web/components/Stepper.d.ts +10 -7
- package/dist/web/components/Stepper.d.ts.map +1 -1
- package/dist/web/components/Stepper.js +5 -4
- package/dist/web/components/Stepper.js.map +1 -1
- package/dist/web/components/Stepper.js.zyzz.json +1 -1
- package/dist/web/components/Surface.css +1 -1
- package/dist/web/components/Surface.d.ts +123 -101
- package/dist/web/components/Surface.d.ts.map +1 -1
- package/dist/web/components/Surface.js +20 -10
- package/dist/web/components/Surface.js.map +1 -1
- package/dist/web/components/Surface.js.zyzz.json +1 -1
- package/dist/web/components/Switch.css +1 -1
- package/dist/web/components/Switch.d.ts +14 -18
- package/dist/web/components/Switch.d.ts.map +1 -1
- package/dist/web/components/Switch.js +13 -15
- package/dist/web/components/Switch.js.map +1 -1
- package/dist/web/components/Switch.js.zyzz.json +1 -1
- package/dist/web/components/Table.css +1 -1
- package/dist/web/components/Table.d.ts +152 -67
- package/dist/web/components/Table.d.ts.map +1 -1
- package/dist/web/components/Table.js +92 -24
- package/dist/web/components/Table.js.map +1 -1
- package/dist/web/components/Table.js.zyzz.json +1 -1
- package/dist/web/components/Tabs.css +1 -1
- package/dist/web/components/Tabs.d.ts +49 -42
- package/dist/web/components/Tabs.d.ts.map +1 -1
- package/dist/web/components/Tabs.js +45 -14
- package/dist/web/components/Tabs.js.map +1 -1
- package/dist/web/components/Tabs.js.zyzz.json +1 -1
- package/dist/web/components/TempoLogo.css +1 -0
- package/dist/web/components/TempoLogo.d.ts +47 -0
- package/dist/web/components/TempoLogo.d.ts.map +1 -0
- package/dist/web/components/TempoLogo.js +48 -0
- package/dist/web/components/TempoLogo.js.map +1 -0
- package/dist/web/components/TempoLogo.js.zyzz.json +1 -0
- package/dist/web/components/TextInput.css +1 -0
- package/dist/web/components/{Input.d.ts → TextInput.d.ts} +27 -18
- package/dist/web/components/TextInput.d.ts.map +1 -0
- package/dist/web/components/TextInput.js +138 -0
- package/dist/web/components/TextInput.js.map +1 -0
- package/dist/web/components/TextInput.js.zyzz.json +1 -0
- package/dist/web/components/Textarea.css +1 -1
- package/dist/web/components/Textarea.d.ts +29 -74
- package/dist/web/components/Textarea.d.ts.map +1 -1
- package/dist/web/components/Textarea.js +5 -12
- package/dist/web/components/Textarea.js.map +1 -1
- package/dist/web/components/Textarea.js.zyzz.json +1 -1
- package/dist/web/components/Toast.css +1 -1
- package/dist/web/components/Toast.d.ts +4 -4
- package/dist/web/components/Toast.d.ts.map +1 -1
- package/dist/web/components/Toast.js +9 -9
- package/dist/web/components/Toast.js.map +1 -1
- package/dist/web/components/Toast.js.zyzz.json +1 -1
- package/dist/web/components/Token.css +1 -1
- package/dist/web/components/Token.d.ts +32 -90
- package/dist/web/components/Token.d.ts.map +1 -1
- package/dist/web/components/Token.js +27 -89
- package/dist/web/components/Token.js.map +1 -1
- package/dist/web/components/Token.js.zyzz.json +1 -1
- package/dist/web/components/TokenLogo.css +1 -0
- package/dist/web/components/TokenLogo.d.ts +117 -0
- package/dist/web/components/TokenLogo.d.ts.map +1 -0
- package/dist/web/components/TokenLogo.js +112 -0
- package/dist/web/components/TokenLogo.js.map +1 -0
- package/dist/web/components/TokenLogo.js.zyzz.json +1 -0
- package/dist/web/components/Tooltip.css +1 -1
- package/dist/web/components/Tooltip.js.map +1 -1
- package/dist/web/components/Tooltip.js.zyzz.json +1 -1
- package/dist/web/components/VerificationCode.css +1 -0
- package/dist/web/components/VerificationCode.d.ts +47 -0
- package/dist/web/components/VerificationCode.d.ts.map +1 -0
- package/dist/web/components/VerificationCode.js +55 -0
- package/dist/web/components/VerificationCode.js.map +1 -0
- package/dist/web/components/VerificationCode.js.zyzz.json +1 -0
- package/dist/web/components/Visual.css +1 -0
- package/dist/web/components/Visual.d.ts +65 -0
- package/dist/web/components/Visual.d.ts.map +1 -0
- package/dist/web/components/Visual.js +51 -0
- package/dist/web/components/Visual.js.map +1 -0
- package/dist/web/components/Visual.js.zyzz.json +1 -0
- package/dist/web/components/internal/Field.css +1 -1
- package/dist/web/components/internal/Field.d.ts +41 -87
- package/dist/web/components/internal/Field.d.ts.map +1 -1
- package/dist/web/components/internal/Field.js +8 -7
- package/dist/web/components/internal/Field.js.map +1 -1
- package/dist/web/components/internal/Field.js.zyzz.json +1 -1
- package/dist/web/components/internal/InputGroup.css +1 -1
- package/dist/web/components/internal/InputGroup.d.ts +38 -99
- package/dist/web/components/internal/InputGroup.d.ts.map +1 -1
- package/dist/web/components/internal/InputGroup.js +6 -6
- package/dist/web/components/internal/InputGroup.js.map +1 -1
- package/dist/web/components/internal/InputGroup.js.zyzz.json +1 -1
- package/dist/web/components/internal/Listbox.css +1 -1
- package/dist/web/components/internal/Listbox.d.ts +8 -8
- package/dist/web/components/internal/Listbox.js.map +1 -1
- package/dist/web/components/internal/Listbox.js.zyzz.json +1 -1
- package/dist/web/components/internal/RowDisabled.d.ts +3 -0
- package/dist/web/components/internal/RowDisabled.d.ts.map +1 -0
- package/dist/web/components/internal/RowDisabled.js +9 -0
- package/dist/web/components/internal/RowDisabled.js.map +1 -0
- package/dist/web/components/internal/RowsSize.d.ts +2 -3
- package/dist/web/components/internal/RowsSize.d.ts.map +1 -1
- package/dist/web/components/internal/RowsSize.js +3 -3
- package/dist/web/components/internal/RowsSize.js.map +1 -1
- package/dist/web/components/internal/TabBar.d.ts +33 -0
- package/dist/web/components/internal/TabBar.d.ts.map +1 -0
- package/dist/web/components/internal/TabBar.js +30 -0
- package/dist/web/components/internal/TabBar.js.map +1 -0
- package/dist/web/components/internal/Text.d.ts +9 -0
- package/dist/web/components/internal/Text.d.ts.map +1 -0
- package/dist/web/components/internal/Text.js +35 -0
- package/dist/web/components/internal/Text.js.map +1 -0
- package/dist/web/index.d.ts +18 -6
- package/dist/web/index.d.ts.map +1 -1
- package/dist/web/index.js +18 -6
- package/dist/web/index.js.map +1 -1
- package/dist/web/index.js.zyzz.json +1 -1
- package/dist/web/vars.d.ts +612 -704
- package/dist/web/vars.d.ts.map +1 -1
- package/dist/web/vars.js +7 -6
- package/dist/web/vars.js.map +1 -1
- package/dist/web/vars.js.zyzz.json +1 -1
- package/dist/web/zyzz.config.d.ts +3041 -3506
- package/dist/web/zyzz.config.d.ts.map +1 -1
- package/dist/web/zyzz.config.js +29 -3
- package/dist/web/zyzz.config.js.map +1 -1
- package/dist/web/zyzz.config.js.zyzz.json +1 -1
- package/package.json +149 -5
- package/src/fonts/JetBrainsMono-Bold-latin.woff2 +0 -0
- package/src/fonts/JetBrainsMono-Bold-other.woff2 +0 -0
- package/src/fonts/JetBrainsMono-Bold.woff2 +0 -0
- package/src/fonts/JetBrainsMono-Medium-latin.woff2 +0 -0
- package/src/fonts/JetBrainsMono-Medium-other.woff2 +0 -0
- package/src/fonts/JetBrainsMono-Medium.woff2 +0 -0
- package/src/fonts/{Geist-OFL.txt → JetBrainsMono-OFL.txt} +4 -3
- package/src/fonts/JetBrainsMono-Regular-latin.woff2 +0 -0
- package/src/fonts/JetBrainsMono-Regular-other.woff2 +0 -0
- package/src/fonts/JetBrainsMono-Regular.woff2 +0 -0
- package/src/fonts/JetBrainsMono-SemiBold-latin.woff2 +0 -0
- package/src/fonts/JetBrainsMono-SemiBold-other.woff2 +0 -0
- package/src/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
- package/src/fonts/Pilat-Black-latin.woff2 +0 -0
- package/src/fonts/Pilat-Black-other.woff2 +0 -0
- package/src/fonts/Pilat-Black.woff2 +0 -0
- package/src/fonts/Pilat-Bold-latin.woff2 +0 -0
- package/src/fonts/Pilat-Bold-other.woff2 +0 -0
- package/src/fonts/Pilat-Bold.woff2 +0 -0
- package/src/fonts/Pilat-Book-latin.woff2 +0 -0
- package/src/fonts/Pilat-Book-other.woff2 +0 -0
- package/src/fonts/Pilat-Book.woff2 +0 -0
- package/src/fonts/Pilat-Demi-latin.woff2 +0 -0
- package/src/fonts/Pilat-Demi-other.woff2 +0 -0
- package/src/fonts/Pilat-Demi.woff2 +0 -0
- package/src/fonts/Pilat-Heavy-latin.woff2 +0 -0
- package/src/fonts/Pilat-Heavy-other.woff2 +0 -0
- package/src/fonts/Pilat-Heavy.woff2 +0 -0
- package/src/fonts/Pilat-Light-latin.woff2 +0 -0
- package/src/fonts/Pilat-Light-other.woff2 +0 -0
- package/src/fonts/Pilat-Light.woff2 +0 -0
- package/src/fonts/Pilat-Regular-latin.woff2 +0 -0
- package/src/fonts/Pilat-Regular-other.woff2 +0 -0
- package/src/fonts/Pilat-Regular.woff2 +0 -0
- package/src/fonts/Pilat-Thin-latin.woff2 +0 -0
- package/src/fonts/Pilat-Thin-other.woff2 +0 -0
- package/src/fonts/Pilat-Thin.woff2 +0 -0
- package/src/fonts/README.md +15 -2
- package/src/oxlint/rules/PreferComponent.ts +6 -6
- package/src/web/README.md +7 -7
- package/src/web/components/Accordion.tsx +8 -8
- package/src/web/components/AgentLogo.tsx +330 -0
- package/src/web/components/Alert.tsx +321 -0
- package/src/web/components/AlertDialog.tsx +47 -111
- package/src/web/components/Amount.tsx +6 -6
- package/src/web/components/AmountInput.tsx +59 -134
- package/src/web/components/AppShell.tsx +367 -43
- package/src/web/components/AssetChip.tsx +110 -0
- package/src/web/components/Autocomplete.tsx +4 -4
- package/src/web/components/Avatar.tsx +42 -119
- package/src/web/components/Badge.tsx +122 -0
- package/src/web/components/Banner.tsx +13 -11
- package/src/web/components/BarChart.tsx +427 -0
- package/src/web/components/Breadcrumbs.tsx +7 -7
- package/src/web/components/Button.tsx +159 -41
- package/src/web/components/ButtonGroup.tsx +59 -0
- package/src/web/components/Calendar.tsx +15 -13
- package/src/web/components/Checkbox.tsx +14 -11
- package/src/web/components/ChoiceGroup.tsx +107 -26
- package/src/web/components/Choicebox.tsx +30 -28
- package/src/web/components/Combobox.tsx +10 -8
- package/src/web/components/CopyButton.tsx +1 -1
- package/src/web/components/DatePicker.tsx +42 -61
- package/src/web/components/Dialog.tsx +273 -71
- package/src/web/components/Drawer.tsx +45 -18
- package/src/web/components/Empty.tsx +13 -8
- package/src/web/components/Field.tsx +78 -132
- package/src/web/components/Fieldset.tsx +16 -37
- package/src/web/components/Frame.tsx +13 -20
- package/src/web/components/Gauge.tsx +4 -4
- package/src/web/components/Hex.tsx +13 -56
- package/src/web/components/IconTile.tsx +57 -0
- package/src/web/components/Identicon.tsx +1 -10
- package/src/web/components/Kbd.tsx +8 -8
- package/src/web/components/ListGroup.tsx +857 -0
- package/src/web/components/LoadingDots.tsx +1 -0
- package/src/web/components/Menu.tsx +50 -35
- package/src/web/components/NetworkLogo.tsx +208 -0
- package/src/web/components/NumberField.tsx +18 -33
- package/src/web/components/OtpField.tsx +51 -102
- package/src/web/components/Pagination.tsx +16 -14
- package/src/web/components/Popover.tsx +8 -8
- package/src/web/components/Progress.tsx +7 -5
- package/src/web/components/Qr.tsx +1 -1
- package/src/web/components/RadioGroup.tsx +9 -7
- package/src/web/components/SecretValue.tsx +11 -11
- package/src/web/components/Select.tsx +89 -26
- package/src/web/components/Separator.tsx +95 -7
- package/src/web/components/SidebarMenu.tsx +390 -53
- package/src/web/components/Skeleton.tsx +5 -5
- package/src/web/components/Slider.tsx +12 -6
- package/src/web/components/Snippet.tsx +134 -75
- package/src/web/components/Spinner.tsx +38 -12
- package/src/web/components/SplitBar.tsx +158 -0
- package/src/web/components/SplitButton.tsx +26 -17
- package/src/web/components/StatusChip.tsx +138 -0
- package/src/web/components/StatusRow.tsx +162 -0
- package/src/web/components/Stepper.tsx +11 -8
- package/src/web/components/Surface.tsx +172 -93
- package/src/web/components/Switch.tsx +25 -29
- package/src/web/components/Table.tsx +281 -70
- package/src/web/components/Tabs.tsx +93 -50
- package/src/web/components/TempoLogo.tsx +89 -0
- package/src/web/components/{Input.tsx → TextInput.tsx} +87 -118
- package/src/web/components/Textarea.tsx +33 -78
- package/src/web/components/Toast.tsx +24 -22
- package/src/web/components/Token.tsx +106 -172
- package/src/web/components/TokenLogo.tsx +217 -0
- package/src/web/components/Tooltip.tsx +3 -3
- package/src/web/components/VerificationCode.tsx +97 -0
- package/src/web/components/Visual.tsx +166 -0
- package/src/web/components/internal/Field.ts +63 -72
- package/src/web/components/internal/InputGroup.ts +44 -101
- package/src/web/components/internal/Listbox.ts +20 -20
- package/src/web/components/internal/RowDisabled.ts +9 -0
- package/src/web/components/internal/RowsSize.ts +3 -5
- package/src/web/components/internal/TabBar.ts +52 -0
- package/src/web/components/internal/Text.ts +39 -0
- package/src/web/components/visuals/Passkey.svg +21 -0
- package/src/web/index.ts +18 -6
- package/src/web/logos/Base.svg +10 -0
- package/src/web/logos/Ethereum.svg +16 -0
- package/src/web/logos/HyperEVM.svg +27 -0
- package/src/web/logos/Polygon.svg +15 -0
- package/src/web/logos/README.md +14 -0
- package/src/web/logos/Solana.svg +11 -0
- package/src/web/logos/Tempo.svg +11 -0
- package/src/web/vars.ts +493 -534
- package/src/web/zyzz.config.ts +255 -12
- package/dist/fonts/GeistMono-Variable.woff2 +0 -0
- package/dist/web/components/AlertDialog.css +0 -1
- package/dist/web/components/Callout.css +0 -1
- package/dist/web/components/Callout.d.ts +0 -161
- package/dist/web/components/Callout.d.ts.map +0 -1
- package/dist/web/components/Callout.js +0 -83
- package/dist/web/components/Callout.js.map +0 -1
- package/dist/web/components/Callout.js.zyzz.json +0 -1
- package/dist/web/components/IconChip.css +0 -1
- package/dist/web/components/IconChip.d.ts +0 -53
- package/dist/web/components/IconChip.d.ts.map +0 -1
- package/dist/web/components/IconChip.js +0 -27
- package/dist/web/components/IconChip.js.map +0 -1
- package/dist/web/components/IconChip.js.zyzz.json +0 -1
- package/dist/web/components/Input.css +0 -1
- package/dist/web/components/Input.d.ts.map +0 -1
- package/dist/web/components/Input.js +0 -118
- package/dist/web/components/Input.js.map +0 -1
- package/dist/web/components/Input.js.zyzz.json +0 -1
- package/dist/web/components/Rows.css +0 -1
- package/dist/web/components/Rows.d.ts +0 -484
- package/dist/web/components/Rows.d.ts.map +0 -1
- package/dist/web/components/Rows.js +0 -171
- package/dist/web/components/Rows.js.map +0 -1
- package/dist/web/components/Rows.js.zyzz.json +0 -1
- package/dist/web/components/Tag.css +0 -1
- package/dist/web/components/Tag.d.ts +0 -171
- package/dist/web/components/Tag.d.ts.map +0 -1
- package/dist/web/components/Tag.js +0 -52
- package/dist/web/components/Tag.js.map +0 -1
- package/dist/web/components/Tag.js.zyzz.json +0 -1
- package/dist/web/components/internal/FieldVariant.d.ts +0 -4
- package/dist/web/components/internal/FieldVariant.d.ts.map +0 -1
- package/dist/web/components/internal/FieldVariant.js +0 -4
- package/dist/web/components/internal/FieldVariant.js.map +0 -1
- package/src/fonts/GeistMono-Variable.woff2 +0 -0
- package/src/web/components/Callout.tsx +0 -241
- package/src/web/components/IconChip.tsx +0 -54
- package/src/web/components/Rows.tsx +0 -588
- package/src/web/components/Tag.tsx +0 -149
- package/src/web/components/internal/FieldVariant.ts +0 -6
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { ComponentPropsWithRef } from 'react'
|
|
2
2
|
import type * as zyzz from 'zyzz'
|
|
3
|
-
import {
|
|
3
|
+
import { keyframes } from 'zyzz/web'
|
|
4
|
+
import { ChevronDown } from '../icons/ChevronDown.js'
|
|
5
|
+
import { style, variants, vars } from '../zyzz.config.js'
|
|
4
6
|
|
|
5
7
|
/**
|
|
6
8
|
* A native `table` with styled parts. It renders the same element as `Table.Root` and accepts the
|
|
@@ -9,7 +11,13 @@ import { variants } from '../zyzz.config.js'
|
|
|
9
11
|
*
|
|
10
12
|
* - Use it for tabular data only, never for layout.
|
|
11
13
|
* - Name the table with `Table.Caption`, which renders below the rows.
|
|
12
|
-
* -
|
|
14
|
+
* - Each row pads its cells 12px at its edges and keeps 12px between their content.
|
|
15
|
+
* - The last column aligns to the end. Set `justify="end"` on other amount columns to match, or
|
|
16
|
+
* `justify="start"` on a last cell to keep it at the start.
|
|
17
|
+
* - Set a second line in `Table.Subtitle`, and lead a cell with a `TokenLogo` or a
|
|
18
|
+
* `Table.LeadTile`.
|
|
19
|
+
* - For a sortable column, set `aria-sort` on its `Table.HeaderCell` and put a `Table.SortButton`
|
|
20
|
+
* in it.
|
|
13
21
|
* - With `interactive`, make each clickable row reachable by keyboard through a link or button.
|
|
14
22
|
*
|
|
15
23
|
* @example
|
|
@@ -18,18 +26,24 @@ import { variants } from '../zyzz.config.js'
|
|
|
18
26
|
* <Table.Head>
|
|
19
27
|
* <Table.Row>
|
|
20
28
|
* <Table.HeaderCell>Recipient</Table.HeaderCell>
|
|
21
|
-
* <Table.HeaderCell>
|
|
29
|
+
* <Table.HeaderCell aria-sort="descending">
|
|
30
|
+
* <Table.SortButton>Amount</Table.SortButton>
|
|
31
|
+
* </Table.HeaderCell>
|
|
22
32
|
* </Table.Row>
|
|
23
33
|
* </Table.Head>
|
|
24
34
|
* <Table.Body>
|
|
25
35
|
* <Table.Row>
|
|
26
|
-
* <Table.Cell>
|
|
27
|
-
*
|
|
36
|
+
* <Table.Cell>
|
|
37
|
+
* Ada
|
|
38
|
+
* <Table.Subtitle>Rent</Table.Subtitle>
|
|
39
|
+
* </Table.Cell>
|
|
40
|
+
* <Table.Cell>120.00</Table.Cell>
|
|
28
41
|
* </Table.Row>
|
|
29
42
|
* </Table.Body>
|
|
30
43
|
* </Table>
|
|
31
44
|
*
|
|
32
45
|
* @see {@link https://www.w3.org/WAI/ARIA/apg/patterns/table/ | WAI-ARIA APG Table pattern}
|
|
46
|
+
* @see {@link https://www.w3.org/WAI/ARIA/apg/patterns/table/examples/sortable-table/ | WAI-ARIA APG Sortable Table example}
|
|
33
47
|
* @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/table | MDN table element}
|
|
34
48
|
* @see {@link https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html | WCAG 2.2 Info and Relationships}
|
|
35
49
|
* @see {@link https://www.w3.org/WAI/WCAG22/Understanding/meaningful-sequence.html | WCAG 2.2 Meaningful Sequence}
|
|
@@ -50,7 +64,11 @@ export namespace Table {
|
|
|
50
64
|
export type Props = ComponentPropsWithRef<'tbody'>
|
|
51
65
|
}
|
|
52
66
|
|
|
53
|
-
/**
|
|
67
|
+
/**
|
|
68
|
+
* The table's accessible name, rendered as a `caption` below the rows, such as a note on hidden
|
|
69
|
+
* rows with an action. An icon in it takes the tertiary color, apart from the icons of its
|
|
70
|
+
* buttons and links.
|
|
71
|
+
*/
|
|
54
72
|
export function Caption(props: Caption.Props) {
|
|
55
73
|
const { className, vars, ...attributes } = props
|
|
56
74
|
|
|
@@ -63,17 +81,28 @@ export namespace Table {
|
|
|
63
81
|
}
|
|
64
82
|
|
|
65
83
|
/**
|
|
66
|
-
* A data cell. `
|
|
67
|
-
*
|
|
68
|
-
*
|
|
84
|
+
* A data cell, with its text in the primary color. `muted` sets the text in the tertiary color,
|
|
85
|
+
* `status` colors it `negative`, `positive` or `warning`, `numeric` sets tabular figures, and
|
|
86
|
+
* `mono` sets monospace type. A `Table.Subtitle` keeps its own type and color. Pair a status
|
|
87
|
+
* color with text that carries the same meaning. A `StatusChip` in a cell sits 8px inside the
|
|
88
|
+
* edges of the cell's content.
|
|
69
89
|
*/
|
|
70
90
|
export function Cell(props: Cell.Props) {
|
|
71
|
-
const { className, justify, mono, numeric, status, vars, ...attributes } = props
|
|
91
|
+
const { className, justify, mono, muted, numeric, status, vars, ...attributes } = props
|
|
72
92
|
|
|
73
93
|
return (
|
|
74
94
|
<td
|
|
75
95
|
{...attributes}
|
|
76
|
-
{...styles.cell({
|
|
96
|
+
{...styles.cell({
|
|
97
|
+
className,
|
|
98
|
+
justify,
|
|
99
|
+
mono,
|
|
100
|
+
muted,
|
|
101
|
+
numeric,
|
|
102
|
+
status,
|
|
103
|
+
style: props.style,
|
|
104
|
+
vars,
|
|
105
|
+
})}
|
|
77
106
|
/>
|
|
78
107
|
)
|
|
79
108
|
}
|
|
@@ -97,7 +126,9 @@ export namespace Table {
|
|
|
97
126
|
|
|
98
127
|
/**
|
|
99
128
|
* A column header with `scope="col"` by default. Pass `scope="row"` for a row header. Its text
|
|
100
|
-
* renders in the `
|
|
129
|
+
* renders in the tertiary color and the smaller `body.b3Strong` set, apart from the primary
|
|
130
|
+
* `body.b2` body cells. `aria-sort="ascending"` or `"descending"` marks the sorted column and
|
|
131
|
+
* sets its text in the primary color.
|
|
101
132
|
*/
|
|
102
133
|
export function HeaderCell(props: HeaderCell.Props) {
|
|
103
134
|
const { className, justify, vars, ...attributes } = props
|
|
@@ -116,12 +147,28 @@ export namespace Table {
|
|
|
116
147
|
}
|
|
117
148
|
|
|
118
149
|
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
|
|
150
|
+
* A 32px rounded-square `span` that centers a 16px icon at the start of a cell, beside two lines
|
|
151
|
+
* of text. It adds no semantics, so the text beside it names the row.
|
|
152
|
+
*/
|
|
153
|
+
export function LeadTile(props: LeadTile.Props) {
|
|
154
|
+
const { className, vars, ...attributes } = props
|
|
155
|
+
|
|
156
|
+
return <span {...attributes} {...styles.leadTile({ className, style: props.style, vars })} />
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
export namespace LeadTile {
|
|
160
|
+
export type Props = ComponentPropsWithRef<'span'> & zyzz.Props.Variants<typeof styles.leadTile>
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* The `table` element and its row styles. `size` sets 32, 40 or 56px body rows. Rows draw a
|
|
165
|
+
* divider inset by their padding, except the last one. Pass `dividers={false}` to drop the
|
|
166
|
+
* dividers, and `interactive` to fill a hovered row and outline a focus-visible one. An
|
|
167
|
+
* interactive table clips each body row to its 12px corners, so a popup in a cell renders in a
|
|
168
|
+
* portal.
|
|
122
169
|
*/
|
|
123
170
|
export function Root(props: Root.Props) {
|
|
124
|
-
const { className, dividers,
|
|
171
|
+
const { className, dividers, interactive, size, vars, ...attributes } = props
|
|
125
172
|
|
|
126
173
|
// `Surface` reads the size to inset the last row's text by its own padding.
|
|
127
174
|
return (
|
|
@@ -131,10 +178,8 @@ export namespace Table {
|
|
|
131
178
|
{...styles.root({
|
|
132
179
|
className,
|
|
133
180
|
dividers,
|
|
134
|
-
fade,
|
|
135
181
|
interactive,
|
|
136
182
|
size,
|
|
137
|
-
striped,
|
|
138
183
|
style: props.style,
|
|
139
184
|
vars,
|
|
140
185
|
})}
|
|
@@ -146,6 +191,7 @@ export namespace Table {
|
|
|
146
191
|
export type Props = ComponentPropsWithRef<'table'> & zyzz.Props.Variants<typeof styles.root>
|
|
147
192
|
}
|
|
148
193
|
|
|
194
|
+
/** A row. `aria-busy` marks a row of `Skeleton` placeholders, which draw their fill alone. */
|
|
149
195
|
export function Row(props: Row.Props) {
|
|
150
196
|
return <tr {...props} />
|
|
151
197
|
}
|
|
@@ -153,48 +199,92 @@ export namespace Table {
|
|
|
153
199
|
export namespace Row {
|
|
154
200
|
export type Props = ComponentPropsWithRef<'tr'>
|
|
155
201
|
}
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* A `button` that fills its `Table.HeaderCell` and sorts the column, with a chevron after its
|
|
205
|
+
* label. The chevron shows at reduced opacity on hover and focus, and in full once the header
|
|
206
|
+
* cell sets `aria-sort="ascending"` or `"descending"`. It points up for an ascending sort. The
|
|
207
|
+
* button handles no sorting itself, so update `aria-sort` in its `onClick`.
|
|
208
|
+
*/
|
|
209
|
+
export function SortButton(props: SortButton.Props) {
|
|
210
|
+
const { children, className, vars, ...attributes } = props
|
|
211
|
+
|
|
212
|
+
return (
|
|
213
|
+
<button
|
|
214
|
+
type="button"
|
|
215
|
+
{...attributes}
|
|
216
|
+
{...styles.sortButton({ className, style: props.style, vars })}
|
|
217
|
+
>
|
|
218
|
+
<span {...styles.sortLabel()}>
|
|
219
|
+
{children}
|
|
220
|
+
<ChevronDown {...styles.sortIcon()} />
|
|
221
|
+
</span>
|
|
222
|
+
</button>
|
|
223
|
+
)
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
export namespace SortButton {
|
|
227
|
+
export type Props = ComponentPropsWithRef<'button'> &
|
|
228
|
+
zyzz.Props.Variants<typeof styles.sortButton>
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/** The second line of a cell, such as the token amount below a value, in secondary `body.b3`. */
|
|
232
|
+
export function Subtitle(props: Subtitle.Props) {
|
|
233
|
+
const { className, vars, ...attributes } = props
|
|
234
|
+
|
|
235
|
+
return <div {...attributes} {...styles.subtitle({ className, style: props.style, vars })} />
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
export namespace Subtitle {
|
|
239
|
+
export type Props = ComponentPropsWithRef<'div'> & zyzz.Props.Variants<typeof styles.subtitle>
|
|
240
|
+
}
|
|
156
241
|
}
|
|
157
242
|
|
|
243
|
+
const fill = keyframes({ from: { opacity: 0 }, to: { opacity: 1 } }, { id: 'tds/web/table/fill' })
|
|
244
|
+
|
|
158
245
|
namespace styles {
|
|
159
246
|
export const caption = variants(
|
|
160
247
|
{
|
|
161
248
|
base: {
|
|
162
249
|
captionSide: 'bottom',
|
|
163
|
-
color: '
|
|
164
|
-
|
|
165
|
-
|
|
250
|
+
color: 'content.secondary',
|
|
251
|
+
paddingBlockEnd: '4',
|
|
252
|
+
paddingBlockStart: '12',
|
|
253
|
+
paddingInline: '12',
|
|
166
254
|
textAlign: 'start',
|
|
167
|
-
typography: '
|
|
255
|
+
typography: 'body.b3',
|
|
256
|
+
selectors: {
|
|
257
|
+
// `:where` keeps the specificity of the caption, so an icon's own class still applies.
|
|
258
|
+
'& :where(svg:not(:is(a, button) svg))': { color: 'content.tertiary' },
|
|
259
|
+
},
|
|
168
260
|
},
|
|
169
261
|
},
|
|
170
262
|
{ id: 'tds/web/table/caption' },
|
|
171
263
|
)
|
|
172
264
|
|
|
265
|
+
// Cells pad 6px at each side, so the content of neighboring cells sits 12px apart. The root
|
|
266
|
+
// pads the cells at the edges of a row by 12px.
|
|
173
267
|
export const cell = variants(
|
|
174
268
|
{
|
|
175
269
|
base: {
|
|
176
270
|
boxSizing: 'border-box',
|
|
177
|
-
color: '
|
|
271
|
+
color: 'content.primary',
|
|
178
272
|
height: '56',
|
|
179
273
|
paddingBlock: '12',
|
|
180
|
-
paddingInline: '
|
|
274
|
+
paddingInline: '6',
|
|
275
|
+
textAlign: 'start',
|
|
181
276
|
verticalAlign: 'middle',
|
|
182
277
|
},
|
|
183
|
-
defaultVariants: {
|
|
278
|
+
defaultVariants: { mono: false, muted: false, numeric: false },
|
|
184
279
|
variants: {
|
|
185
280
|
justify: { end: { textAlign: 'end' }, start: { textAlign: 'start' } },
|
|
186
|
-
mono: { false: {}, true: { typography: '
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
true: {
|
|
190
|
-
color: 'foreground',
|
|
191
|
-
fontVariantNumeric: 'tabular-nums !custom',
|
|
192
|
-
},
|
|
193
|
-
},
|
|
281
|
+
mono: { false: {}, true: { typography: 'mono.m1', fontSize: '14' } },
|
|
282
|
+
muted: { false: {}, true: { color: 'content.tertiary' } },
|
|
283
|
+
numeric: { false: {}, true: { fontVariantNumeric: 'tabular-nums !custom' } },
|
|
194
284
|
status: {
|
|
195
|
-
negative: { color: '
|
|
196
|
-
positive: { color: '
|
|
197
|
-
warning: { color: '
|
|
285
|
+
negative: { color: 'content.negative' },
|
|
286
|
+
positive: { color: 'content.positive' },
|
|
287
|
+
warning: { color: 'content.warning' },
|
|
198
288
|
},
|
|
199
289
|
},
|
|
200
290
|
},
|
|
@@ -211,7 +301,7 @@ namespace styles {
|
|
|
211
301
|
true: {
|
|
212
302
|
selectors: {
|
|
213
303
|
'& th': {
|
|
214
|
-
backgroundColor: 'background.
|
|
304
|
+
backgroundColor: 'background.elevated',
|
|
215
305
|
insetBlockStart: '0',
|
|
216
306
|
position: 'sticky',
|
|
217
307
|
zIndex: '1 !custom',
|
|
@@ -227,13 +317,18 @@ namespace styles {
|
|
|
227
317
|
export const headerCell = variants(
|
|
228
318
|
{
|
|
229
319
|
base: {
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
320
|
+
color: 'content.tertiary',
|
|
321
|
+
paddingBlock: '8',
|
|
322
|
+
paddingInline: '6',
|
|
323
|
+
textAlign: 'start',
|
|
324
|
+
transitionDuration: '160',
|
|
325
|
+
transitionProperty: 'color',
|
|
326
|
+
transitionTimingFunction: 'snappy',
|
|
327
|
+
typography: 'body.b3Strong',
|
|
328
|
+
selectors: {
|
|
329
|
+
'&:is([aria-sort="ascending"], [aria-sort="descending"])': { color: 'content.primary' },
|
|
330
|
+
},
|
|
235
331
|
},
|
|
236
|
-
defaultVariants: { justify: 'start' },
|
|
237
332
|
variants: {
|
|
238
333
|
justify: { end: { textAlign: 'end' }, start: { textAlign: 'start' } },
|
|
239
334
|
},
|
|
@@ -241,57 +336,112 @@ namespace styles {
|
|
|
241
336
|
{ id: 'tds/web/table/header-cell' },
|
|
242
337
|
)
|
|
243
338
|
|
|
339
|
+
export const leadTile = style(
|
|
340
|
+
{
|
|
341
|
+
alignItems: 'center',
|
|
342
|
+
backgroundColor: 'container.regular',
|
|
343
|
+
borderRadius: '2xs',
|
|
344
|
+
boxSizing: 'border-box',
|
|
345
|
+
color: 'content.primary',
|
|
346
|
+
display: 'inline-flex',
|
|
347
|
+
flexShrink: '0 !custom',
|
|
348
|
+
fontSize: '16',
|
|
349
|
+
height: '32',
|
|
350
|
+
justifyContent: 'center',
|
|
351
|
+
verticalAlign: 'middle',
|
|
352
|
+
width: '32',
|
|
353
|
+
},
|
|
354
|
+
{ id: 'tds/web/table/lead-tile' },
|
|
355
|
+
)
|
|
356
|
+
|
|
244
357
|
export const root = variants(
|
|
245
358
|
{
|
|
246
359
|
base: {
|
|
247
360
|
borderCollapse: 'separate',
|
|
248
361
|
borderSpacing: '0',
|
|
249
|
-
color: '
|
|
250
|
-
typography: '
|
|
362
|
+
color: 'content.primary',
|
|
363
|
+
typography: 'body.b2',
|
|
251
364
|
width: '100% !custom',
|
|
252
365
|
selectors: {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
'&
|
|
258
|
-
|
|
366
|
+
// A row has no padding of its own, so the cells at its edges pad its 12px.
|
|
367
|
+
'& tr > :first-child': { paddingInlineStart: '12' },
|
|
368
|
+
'& tr > :last-child': { paddingInlineEnd: '12' },
|
|
369
|
+
// A cell with an explicit `justify` carries `data-justify` and keeps its own alignment.
|
|
370
|
+
'& tr > :last-child:not([data-justify])': { textAlign: 'end' },
|
|
371
|
+
// A status chip carries `data-intent`, as its dot does, and sits 8px inside the edges of
|
|
372
|
+
// the content.
|
|
373
|
+
'& td [data-intent]:not([data-intent] *)': { marginBlock: '8' },
|
|
374
|
+
// The placeholders of a loading row draw their fill without the sweep, which a shown
|
|
375
|
+
// `Skeleton` paints in its `::after`.
|
|
376
|
+
'& tbody tr[aria-busy="true"] [data-show]::after': { display: 'none' },
|
|
259
377
|
},
|
|
260
378
|
},
|
|
261
379
|
defaultVariants: {
|
|
262
380
|
dividers: true,
|
|
263
|
-
fade: false,
|
|
264
381
|
interactive: false,
|
|
265
382
|
size: 'medium',
|
|
266
|
-
striped: false,
|
|
267
383
|
},
|
|
268
384
|
variants: {
|
|
385
|
+
// A row draws its divider in the 1px that its cells leave below their padding, inset by
|
|
386
|
+
// the 12px padding of the row.
|
|
269
387
|
dividers: {
|
|
270
|
-
false: { selectors: { '& tbody td': { borderBlockEnd: 'none !custom' } } },
|
|
271
|
-
true: {},
|
|
272
|
-
},
|
|
273
|
-
fade: {
|
|
274
388
|
false: {},
|
|
275
389
|
true: {
|
|
276
|
-
|
|
390
|
+
selectors: {
|
|
391
|
+
'& tbody tr:not(:last-child)': { position: 'relative' },
|
|
392
|
+
'& tbody tr:not(:last-child) > :is(td, th)': {
|
|
393
|
+
borderBlockEnd: '1px solid transparent !custom',
|
|
394
|
+
},
|
|
395
|
+
'& tbody tr:not(:last-child)::after': {
|
|
396
|
+
backgroundColor: 'line.secondary',
|
|
397
|
+
content: '"" !custom',
|
|
398
|
+
height: '1',
|
|
399
|
+
insetBlockEnd: '0',
|
|
400
|
+
insetInline: '12',
|
|
401
|
+
position: 'absolute',
|
|
402
|
+
transitionDuration: '160',
|
|
403
|
+
transitionProperty: 'background-color',
|
|
404
|
+
transitionTimingFunction: 'snappy',
|
|
405
|
+
},
|
|
406
|
+
},
|
|
277
407
|
},
|
|
278
408
|
},
|
|
409
|
+
// A hovered row paints container.subtle over background.elevated, rounded by its clip, so
|
|
410
|
+
// the opaque fill hides the dividers above and below it. Chromium gives a row's `::before`
|
|
411
|
+
// a column of its own, so the `::after` that draws the divider also draws the subtle layer,
|
|
412
|
+
// behind the cells, and fades it in with a keyframe instead of from the divider color.
|
|
279
413
|
interactive: {
|
|
280
414
|
false: {},
|
|
281
415
|
true: {
|
|
282
416
|
selectors: {
|
|
283
417
|
'& tbody tr': {
|
|
418
|
+
borderRadius: 'xs',
|
|
419
|
+
// The clip rounds the fill of the row by radius xs, which a row background ignores.
|
|
420
|
+
clipPath: 'inset(0 round 12px) !custom',
|
|
284
421
|
outlineColor: 'transparent !custom',
|
|
285
422
|
outlineOffset: '0',
|
|
286
423
|
outlineStyle: 'solid !custom',
|
|
287
424
|
outlineWidth: '2',
|
|
425
|
+
position: 'relative',
|
|
288
426
|
transitionDuration: '160',
|
|
289
427
|
transitionProperty: 'background-color, outline-color, outline-offset',
|
|
290
428
|
transitionTimingFunction: 'snappy',
|
|
291
429
|
},
|
|
292
|
-
'& tbody tr:hover': { backgroundColor: '
|
|
430
|
+
'& tbody tr:hover': { backgroundColor: 'background.elevated' },
|
|
431
|
+
'& tbody tr:hover::after': {
|
|
432
|
+
animation: `${fill} 160ms ${vars.ease.snappy} !custom`,
|
|
433
|
+
backgroundColor: 'container.subtle',
|
|
434
|
+
borderRadius: 'xs',
|
|
435
|
+
content: '"" !custom',
|
|
436
|
+
height: 'auto !custom',
|
|
437
|
+
inset: '0',
|
|
438
|
+
position: 'absolute',
|
|
439
|
+
transitionProperty: 'none',
|
|
440
|
+
zIndex: '-1 !custom',
|
|
441
|
+
},
|
|
442
|
+
'& tbody tr:has(+ tr:hover)::after': { backgroundColor: 'transparent !custom' },
|
|
293
443
|
'& tbody tr:focus-visible': {
|
|
294
|
-
outlineColor: '
|
|
444
|
+
outlineColor: 'border.focus',
|
|
295
445
|
outlineOffset: '-2',
|
|
296
446
|
},
|
|
297
447
|
'& tbody tr:is([tabindex], [role="button"], [data-href]):hover': {
|
|
@@ -305,24 +455,85 @@ namespace styles {
|
|
|
305
455
|
},
|
|
306
456
|
},
|
|
307
457
|
},
|
|
308
|
-
// Body rows follow the shared control scale: 32, 40 and 56px.
|
|
458
|
+
// Body rows follow the shared control scale: 32, 40 and 56px. Header cells keep 8px above
|
|
459
|
+
// and below their text, apart from small tables. Cells keep their typography.
|
|
309
460
|
size: {
|
|
310
461
|
large: {},
|
|
311
|
-
medium: {
|
|
312
|
-
selectors: { '& :is(td, th)': { paddingBlock: '8' }, '& td': { height: '40' } },
|
|
313
|
-
},
|
|
462
|
+
medium: { selectors: { '& td': { height: '40', paddingBlock: '8' } } },
|
|
314
463
|
small: {
|
|
315
464
|
selectors: { '& :is(td, th)': { paddingBlock: '4' }, '& td': { height: '32' } },
|
|
316
465
|
},
|
|
317
466
|
},
|
|
318
|
-
striped: {
|
|
319
|
-
false: {},
|
|
320
|
-
true: {
|
|
321
|
-
selectors: { '& tbody tr:nth-child(even)': { backgroundColor: 'grayAlpha.100' } },
|
|
322
|
-
},
|
|
323
|
-
},
|
|
324
467
|
},
|
|
325
468
|
},
|
|
326
469
|
{ id: 'tds/web/table/root' },
|
|
327
470
|
)
|
|
471
|
+
|
|
472
|
+
export const sortButton = style(
|
|
473
|
+
{
|
|
474
|
+
backgroundColor: 'transparent !custom',
|
|
475
|
+
border: 'none !custom',
|
|
476
|
+
borderRadius: '3xs',
|
|
477
|
+
boxSizing: 'border-box',
|
|
478
|
+
color: 'content.tertiary',
|
|
479
|
+
cursor: 'pointer',
|
|
480
|
+
display: 'block',
|
|
481
|
+
margin: '0',
|
|
482
|
+
outlineColor: 'transparent !custom',
|
|
483
|
+
outlineOffset: '0',
|
|
484
|
+
outlineStyle: 'solid !custom',
|
|
485
|
+
outlineWidth: '2',
|
|
486
|
+
padding: '0',
|
|
487
|
+
// The label follows the alignment of its header cell.
|
|
488
|
+
textAlign: 'inherit !custom',
|
|
489
|
+
transitionDuration: '160',
|
|
490
|
+
transitionProperty: 'color, outline-color, outline-offset',
|
|
491
|
+
transitionTimingFunction: 'snappy',
|
|
492
|
+
typography: 'body.b3Strong',
|
|
493
|
+
width: '100% !custom',
|
|
494
|
+
selectors: {
|
|
495
|
+
'&:is(:hover, :focus-visible):not(:disabled), [aria-sort="ascending"] > &, [aria-sort="descending"] > &':
|
|
496
|
+
{ color: 'content.primary' },
|
|
497
|
+
// A disabled button sorts nothing, so it keeps its resting look under the pointer.
|
|
498
|
+
'&:disabled': { cursor: 'default' },
|
|
499
|
+
'&:focus-visible': { outlineColor: 'border.focus', outlineOffset: '2' },
|
|
500
|
+
},
|
|
501
|
+
'@media (prefers-reduced-motion: reduce)': { transitionProperty: 'color, outline-color' },
|
|
502
|
+
},
|
|
503
|
+
{ id: 'tds/web/table/sort-button' },
|
|
504
|
+
)
|
|
505
|
+
|
|
506
|
+
export const sortIcon = style(
|
|
507
|
+
{
|
|
508
|
+
color: 'content.tertiary',
|
|
509
|
+
display: 'none',
|
|
510
|
+
flexShrink: '0 !custom',
|
|
511
|
+
fontSize: '12',
|
|
512
|
+
opacity: '0.4 !custom',
|
|
513
|
+
transitionDuration: '160',
|
|
514
|
+
transitionProperty: 'opacity, rotate',
|
|
515
|
+
transitionTimingFunction: 'snappy',
|
|
516
|
+
selectors: {
|
|
517
|
+
// The icon sits in the label of the button, in the header cell.
|
|
518
|
+
':is(:hover, :focus-visible):not(:disabled) > * > &': { display: 'block' },
|
|
519
|
+
':is([aria-sort="ascending"], [aria-sort="descending"]) > * > * > &': {
|
|
520
|
+
display: 'block',
|
|
521
|
+
opacity: '1 !custom',
|
|
522
|
+
},
|
|
523
|
+
'[aria-sort="ascending"] > * > * > &': { rotate: '180deg !custom' },
|
|
524
|
+
},
|
|
525
|
+
'@media (prefers-reduced-motion: reduce)': { transitionProperty: 'opacity' },
|
|
526
|
+
},
|
|
527
|
+
{ id: 'tds/web/table/sort-icon' },
|
|
528
|
+
)
|
|
529
|
+
|
|
530
|
+
export const sortLabel = style(
|
|
531
|
+
{ alignItems: 'center', columnGap: '4', display: 'inline-flex' },
|
|
532
|
+
{ id: 'tds/web/table/sort-label' },
|
|
533
|
+
)
|
|
534
|
+
|
|
535
|
+
export const subtitle = style(
|
|
536
|
+
{ color: 'content.secondary', marginBlockStart: '2', typography: 'body.b3' },
|
|
537
|
+
{ id: 'tds/web/table/subtitle' },
|
|
538
|
+
)
|
|
328
539
|
}
|