@tempoxyz/ds 0.2.0 → 0.2.4
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 +36 -0
- package/dist/mobile/components/Avatar.d.ts +1 -1
- package/dist/mobile/components/Avatar.d.ts.map +1 -1
- package/dist/mobile/components/Avatar.js.map +1 -1
- package/dist/mobile/components/Button.d.ts +2 -2
- package/dist/mobile/components/Button.d.ts.map +1 -1
- package/dist/mobile/components/Button.js +6 -2
- package/dist/mobile/components/Button.js.map +1 -1
- package/dist/mobile/components/CodeInput.d.ts +1 -1
- package/dist/mobile/components/CodeInput.d.ts.map +1 -1
- package/dist/mobile/components/CodeInput.js.map +1 -1
- package/dist/mobile/components/IconButton.d.ts +2 -2
- package/dist/mobile/components/IconButton.d.ts.map +1 -1
- package/dist/mobile/components/IconButton.js +6 -2
- package/dist/mobile/components/IconButton.js.map +1 -1
- package/dist/mobile/components/Skeleton.d.ts.map +1 -1
- package/dist/mobile/components/Skeleton.js.map +1 -1
- package/dist/mobile/components/Spinner.d.ts +4 -4
- package/dist/mobile/components/Spinner.d.ts.map +1 -1
- package/dist/mobile/components/Spinner.js +3 -3
- package/dist/mobile/components/Spinner.js.map +1 -1
- package/dist/mobile/components/TextButton.d.ts.map +1 -1
- package/dist/mobile/components/TextButton.js +7 -2
- package/dist/mobile/components/TextButton.js.map +1 -1
- package/dist/mobile/components/TextInput.d.ts.map +1 -1
- package/dist/mobile/components/TextInput.js +1 -1
- package/dist/mobile/components/TextInput.js.map +1 -1
- package/dist/mobile/components/Toast.d.ts +1 -1
- package/dist/mobile/components/Toast.d.ts.map +1 -1
- package/dist/mobile/components/Toast.js +1 -1
- package/dist/mobile/components/Toast.js.map +1 -1
- package/dist/mobile/components/Toggle.d.ts +2 -2
- package/dist/mobile/components/Toggle.js +2 -2
- package/dist/mobile/components/Toggle.js.map +1 -1
- package/dist/mobile/vars.d.ts +24 -0
- package/dist/mobile/vars.d.ts.map +1 -1
- package/dist/mobile/vars.js +12 -0
- package/dist/mobile/vars.js.map +1 -1
- package/dist/mobile/zyzz.config.d.ts +96 -0
- package/dist/mobile/zyzz.config.d.ts.map +1 -1
- package/dist/oxlint/index.d.ts +43 -0
- package/dist/oxlint/index.d.ts.map +1 -0
- package/dist/oxlint/index.js +68 -0
- package/dist/oxlint/index.js.map +1 -0
- package/dist/oxlint/internal/Imports.d.ts +22 -0
- package/dist/oxlint/internal/Imports.d.ts.map +1 -0
- package/dist/oxlint/internal/Imports.js +52 -0
- package/dist/oxlint/internal/Imports.js.map +1 -0
- package/dist/oxlint/rules/NoCrossSurface.d.ts +16 -0
- package/dist/oxlint/rules/NoCrossSurface.d.ts.map +1 -0
- package/dist/oxlint/rules/NoCrossSurface.js +55 -0
- package/dist/oxlint/rules/NoCrossSurface.js.map +1 -0
- package/dist/oxlint/rules/NoInternalImports.d.ts +8 -0
- package/dist/oxlint/rules/NoInternalImports.d.ts.map +1 -0
- package/dist/oxlint/rules/NoInternalImports.js +22 -0
- package/dist/oxlint/rules/NoInternalImports.js.map +1 -0
- package/dist/oxlint/rules/NoRawValues.d.ts +9 -0
- package/dist/oxlint/rules/NoRawValues.d.ts.map +1 -0
- package/dist/oxlint/rules/NoRawValues.js +73 -0
- package/dist/oxlint/rules/NoRawValues.js.map +1 -0
- package/dist/oxlint/rules/PreferComponent.d.ts +16 -0
- package/dist/oxlint/rules/PreferComponent.d.ts.map +1 -0
- package/dist/oxlint/rules/PreferComponent.js +92 -0
- package/dist/oxlint/rules/PreferComponent.js.map +1 -0
- package/dist/oxlint/rules/RequireAccessibleName.d.ts +9 -0
- package/dist/oxlint/rules/RequireAccessibleName.d.ts.map +1 -0
- package/dist/oxlint/rules/RequireAccessibleName.js +104 -0
- package/dist/oxlint/rules/RequireAccessibleName.js.map +1 -0
- 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/AlertDialog.css +1 -1
- package/dist/web/components/AlertDialog.d.ts.map +1 -1
- package/dist/web/components/AlertDialog.js +1 -1
- package/dist/web/components/AlertDialog.js.map +1 -1
- package/dist/web/components/AlertDialog.js.zyzz.json +1 -1
- package/dist/web/components/Amount.d.ts +10 -3
- package/dist/web/components/Amount.d.ts.map +1 -1
- package/dist/web/components/Amount.js +19 -9
- 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 +15 -2
- package/dist/web/components/AmountInput.d.ts.map +1 -1
- package/dist/web/components/AmountInput.js +43 -12
- 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 +10 -10
- package/dist/web/components/AppShell.js.map +1 -1
- package/dist/web/components/AppShell.js.zyzz.json +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 +3 -3
- package/dist/web/components/Avatar.js.map +1 -1
- package/dist/web/components/Avatar.js.zyzz.json +1 -1
- package/dist/web/components/Banner.css +1 -1
- package/dist/web/components/Banner.js +3 -3
- package/dist/web/components/Banner.js.map +1 -1
- package/dist/web/components/Banner.js.zyzz.json +1 -1
- package/dist/web/components/Breadcrumbs.css +1 -1
- package/dist/web/components/Breadcrumbs.d.ts +4 -4
- 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 +12 -11
- package/dist/web/components/Button.d.ts.map +1 -1
- package/dist/web/components/Button.js +2 -2
- package/dist/web/components/Button.js.map +1 -1
- package/dist/web/components/Button.js.zyzz.json +1 -1
- 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 -5
- package/dist/web/components/Calendar.js.map +1 -1
- package/dist/web/components/Calendar.js.zyzz.json +1 -1
- package/dist/web/components/Callout.css +1 -1
- package/dist/web/components/Callout.d.ts +6 -6
- package/dist/web/components/Callout.d.ts.map +1 -1
- package/dist/web/components/Callout.js +5 -2
- package/dist/web/components/Callout.js.map +1 -1
- package/dist/web/components/Callout.js.zyzz.json +1 -1
- package/dist/web/components/Checkbox.css +1 -1
- package/dist/web/components/Checkbox.d.ts +8 -8
- 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 +2 -2
- package/dist/web/components/ChoiceGroup.d.ts.map +1 -1
- package/dist/web/components/ChoiceGroup.js +2 -2
- 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 +4 -4
- package/dist/web/components/Choicebox.js +1 -1
- 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.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.zyzz.json +1 -1
- package/dist/web/components/DatePicker.css +1 -1
- package/dist/web/components/DatePicker.d.ts +20 -20
- package/dist/web/components/DatePicker.d.ts.map +1 -1
- package/dist/web/components/DatePicker.js +2 -2
- 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.map +1 -1
- package/dist/web/components/Dialog.js +3 -3
- 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.js +2 -2
- package/dist/web/components/Drawer.js.map +1 -1
- package/dist/web/components/Drawer.js.zyzz.json +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 +7 -0
- package/dist/web/components/Field.d.ts.map +1 -1
- package/dist/web/components/Field.js +25 -3
- package/dist/web/components/Field.js.map +1 -1
- package/dist/web/components/Field.js.zyzz.json +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 +27 -10
- package/dist/web/components/Frame.d.ts.map +1 -1
- package/dist/web/components/Frame.js +12 -5
- 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.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 +5 -5
- package/dist/web/components/Hex.js +1 -1
- package/dist/web/components/Hex.js.map +1 -1
- package/dist/web/components/Hex.js.zyzz.json +1 -1
- package/dist/web/components/IconChip.css +1 -1
- package/dist/web/components/IconChip.d.ts +1 -1
- package/dist/web/components/IconChip.js.map +1 -1
- package/dist/web/components/IconChip.js.zyzz.json +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/Input.css +1 -1
- package/dist/web/components/Input.js.map +1 -1
- package/dist/web/components/Input.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 +32 -10
- package/dist/web/components/Kbd.d.ts.map +1 -1
- package/dist/web/components/Kbd.js +55 -13
- package/dist/web/components/Kbd.js.map +1 -1
- package/dist/web/components/Kbd.js.zyzz.json +1 -1
- package/dist/web/components/LoadingDots.css +1 -1
- package/dist/web/components/LoadingDots.d.ts +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 +11 -11
- package/dist/web/components/Menu.d.ts.map +1 -1
- package/dist/web/components/Menu.js +2 -2
- package/dist/web/components/Menu.js.map +1 -1
- package/dist/web/components/Menu.js.zyzz.json +1 -1
- package/dist/web/components/NumberField.css +1 -1
- package/dist/web/components/NumberField.js +1 -1
- 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.map +1 -1
- package/dist/web/components/OtpField.js +1 -1
- 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 +13 -13
- package/dist/web/components/Pagination.js +1 -1
- 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.d.ts.map +1 -1
- package/dist/web/components/Popover.js +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.js.map +1 -1
- package/dist/web/components/Progress.js.zyzz.json +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 +4 -4
- package/dist/web/components/RadioGroup.js.map +1 -1
- package/dist/web/components/RadioGroup.js.zyzz.json +1 -1
- package/dist/web/components/Rows.css +1 -1
- package/dist/web/components/Rows.d.ts +7 -7
- package/dist/web/components/Rows.d.ts.map +1 -1
- package/dist/web/components/Rows.js +3 -3
- package/dist/web/components/Rows.js.map +1 -1
- package/dist/web/components/Rows.js.zyzz.json +1 -1
- package/dist/web/components/SecretValue.css +1 -1
- package/dist/web/components/SecretValue.d.ts +4 -4
- 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.js.map +1 -1
- package/dist/web/components/Select.js.zyzz.json +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 +11 -11
- package/dist/web/components/SidebarMenu.d.ts.map +1 -1
- package/dist/web/components/SidebarMenu.js +1 -1
- package/dist/web/components/SidebarMenu.js.map +1 -1
- package/dist/web/components/SidebarMenu.js.zyzz.json +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.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 +4 -4
- package/dist/web/components/Snippet.js +2 -2
- package/dist/web/components/Snippet.js.map +1 -1
- package/dist/web/components/Snippet.js.zyzz.json +1 -1
- package/dist/web/components/Spinner.js.zyzz.json +1 -1
- package/dist/web/components/SplitButton.css +1 -1
- package/dist/web/components/SplitButton.d.ts.map +1 -1
- package/dist/web/components/SplitButton.js +1 -1
- 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/Stepper.css +1 -1
- package/dist/web/components/Stepper.d.ts +1 -1
- 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 +46 -46
- package/dist/web/components/Surface.js +2 -2
- 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 -14
- package/dist/web/components/Switch.d.ts.map +1 -1
- 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 +10 -7
- package/dist/web/components/Table.d.ts.map +1 -1
- package/dist/web/components/Table.js +5 -2
- 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 +14 -14
- package/dist/web/components/Tabs.js +1 -1
- package/dist/web/components/Tabs.js.map +1 -1
- package/dist/web/components/Tabs.js.zyzz.json +1 -1
- package/dist/web/components/Tag.css +1 -1
- package/dist/web/components/Tag.d.ts +10 -10
- package/dist/web/components/Tag.js +1 -1
- package/dist/web/components/Tag.js.map +1 -1
- package/dist/web/components/Tag.js.zyzz.json +1 -1
- package/dist/web/components/Textarea.css +1 -1
- package/dist/web/components/Textarea.d.ts +15 -15
- 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.map +1 -1
- package/dist/web/components/Toast.js +7 -3
- package/dist/web/components/Toast.js.map +1 -1
- package/dist/web/components/Toast.js.zyzz.json +1 -1
- package/dist/web/components/Token.js.zyzz.json +1 -1
- package/dist/web/components/Tooltip.css +1 -1
- package/dist/web/components/Tooltip.d.ts.map +1 -1
- package/dist/web/components/Tooltip.js +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/internal/Field.css +1 -1
- package/dist/web/components/internal/Field.d.ts +7 -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 +12 -12
- package/dist/web/components/internal/InputGroup.d.ts.map +1 -1
- package/dist/web/components/internal/InputGroup.js +1 -1
- 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 +9 -9
- package/dist/web/components/internal/Listbox.d.ts.map +1 -1
- package/dist/web/components/internal/Listbox.js +1 -1
- package/dist/web/components/internal/Listbox.js.map +1 -1
- package/dist/web/components/internal/Listbox.js.zyzz.json +1 -1
- package/dist/web/icons/BadgeX.d.ts.map +1 -1
- package/dist/web/icons/BadgeX.js.map +1 -1
- package/dist/web/icons/InfinityIcon.d.ts.map +1 -1
- package/dist/web/icons/InfinityIcon.js.map +1 -1
- package/dist/web/icons/LightMode.d.ts.map +1 -1
- package/dist/web/icons/LightMode.js.map +1 -1
- package/dist/web/icons/OctagonAlert.d.ts.map +1 -1
- package/dist/web/icons/OctagonAlert.js.map +1 -1
- package/dist/web/icons/Unlink.d.ts.map +1 -1
- package/dist/web/icons/Unlink.js.map +1 -1
- package/dist/web/index.js.zyzz.json +1 -1
- package/dist/web/vars.d.ts +91 -0
- package/dist/web/vars.d.ts.map +1 -1
- package/dist/web/vars.js.map +1 -1
- package/dist/web/vars.js.zyzz.json +1 -1
- package/dist/web/zyzz.config.d.ts +455 -0
- package/dist/web/zyzz.config.d.ts.map +1 -1
- package/dist/web/zyzz.config.js.zyzz.json +1 -1
- package/package.json +7 -1
- package/src/mobile/components/Avatar.tsx +2 -2
- package/src/mobile/components/Button.tsx +6 -3
- package/src/mobile/components/CodeInput.tsx +2 -2
- package/src/mobile/components/IconButton.tsx +6 -3
- package/src/mobile/components/Skeleton.tsx +1 -1
- package/src/mobile/components/Spinner.tsx +4 -5
- package/src/mobile/components/TextButton.tsx +6 -2
- package/src/mobile/components/TextInput.tsx +1 -1
- package/src/mobile/components/Toast.tsx +1 -2
- package/src/mobile/components/Toggle.tsx +2 -2
- package/src/mobile/vars.ts +14 -0
- package/src/oxlint/index.ts +89 -0
- package/src/oxlint/internal/Imports.ts +68 -0
- package/src/oxlint/rules/NoCrossSurface.ts +71 -0
- package/src/oxlint/rules/NoInternalImports.ts +25 -0
- package/src/oxlint/rules/NoRawValues.ts +76 -0
- package/src/oxlint/rules/PreferComponent.ts +113 -0
- package/src/oxlint/rules/RequireAccessibleName.ts +132 -0
- package/src/web/components/Accordion.tsx +8 -8
- package/src/web/components/AlertDialog.tsx +11 -8
- package/src/web/components/Amount.tsx +29 -9
- package/src/web/components/AmountInput.tsx +60 -24
- package/src/web/components/AppShell.tsx +23 -23
- package/src/web/components/Avatar.tsx +3 -3
- package/src/web/components/Banner.tsx +16 -16
- package/src/web/components/Breadcrumbs.tsx +4 -4
- package/src/web/components/Button.tsx +15 -12
- package/src/web/components/Calendar.tsx +10 -11
- package/src/web/components/Callout.tsx +19 -16
- package/src/web/components/Checkbox.tsx +9 -9
- package/src/web/components/ChoiceGroup.tsx +13 -14
- package/src/web/components/Choicebox.tsx +21 -21
- package/src/web/components/Combobox.tsx +3 -3
- package/src/web/components/DatePicker.tsx +25 -25
- package/src/web/components/Dialog.tsx +28 -19
- package/src/web/components/Drawer.tsx +8 -8
- package/src/web/components/Field.tsx +46 -11
- package/src/web/components/Frame.tsx +30 -9
- package/src/web/components/Gauge.tsx +1 -1
- package/src/web/components/Hex.tsx +5 -5
- package/src/web/components/IconChip.tsx +1 -1
- package/src/web/components/Input.tsx +11 -11
- package/src/web/components/Kbd.tsx +77 -21
- package/src/web/components/LoadingDots.tsx +4 -4
- package/src/web/components/Menu.tsx +17 -14
- package/src/web/components/NumberField.tsx +17 -17
- package/src/web/components/OtpField.tsx +14 -6
- package/src/web/components/Pagination.tsx +13 -13
- package/src/web/components/Popover.tsx +14 -11
- package/src/web/components/Progress.tsx +2 -2
- package/src/web/components/RadioGroup.tsx +11 -11
- package/src/web/components/Rows.tsx +8 -9
- package/src/web/components/SecretValue.tsx +4 -4
- package/src/web/components/Select.tsx +2 -2
- package/src/web/components/SidebarMenu.tsx +14 -15
- package/src/web/components/Slider.tsx +6 -7
- package/src/web/components/Snippet.tsx +9 -9
- package/src/web/components/SplitButton.tsx +17 -5
- package/src/web/components/Stepper.tsx +1 -1
- package/src/web/components/Surface.tsx +47 -47
- package/src/web/components/Switch.tsx +21 -23
- package/src/web/components/Table.tsx +11 -7
- package/src/web/components/Tabs.tsx +14 -14
- package/src/web/components/Tag.tsx +12 -12
- package/src/web/components/Textarea.tsx +15 -15
- package/src/web/components/Toast.tsx +28 -21
- package/src/web/components/Tooltip.tsx +12 -9
- package/src/web/components/internal/Field.ts +20 -20
- package/src/web/components/internal/InputGroup.ts +13 -14
- package/src/web/components/internal/Listbox.ts +19 -16
- package/src/web/icons/BadgeX.tsx +1 -1
- package/src/web/icons/InfinityIcon.tsx +1 -1
- package/src/web/icons/LightMode.tsx +1 -1
- package/src/web/icons/OctagonAlert.tsx +1 -1
- package/src/web/icons/Unlink.tsx +1 -1
- package/src/web/vars.ts +81 -2
|
@@ -118,18 +118,18 @@ namespace styles {
|
|
|
118
118
|
display: 'flex',
|
|
119
119
|
minWidth: '0',
|
|
120
120
|
position: 'relative',
|
|
121
|
-
transitionDuration: '200ms, 160ms',
|
|
122
|
-
transitionProperty: 'background-color,
|
|
121
|
+
transitionDuration: '200ms, 160ms !custom',
|
|
122
|
+
transitionProperty: 'background-color, scale',
|
|
123
123
|
transitionTimingFunction: 'snappy',
|
|
124
124
|
selectors: {
|
|
125
125
|
// Inner buttons keep their own hover, so the block only reacts beside them.
|
|
126
126
|
'&:hover:not(:has(button:hover))': { backgroundColor: 'grayAlpha.200' },
|
|
127
|
-
'&:active:not(:has(button:active))': {
|
|
127
|
+
'&:active:not(:has(button:active))': { scale: 'press' },
|
|
128
128
|
'&[data-copied]': { backgroundColor: 'green.200' },
|
|
129
129
|
},
|
|
130
130
|
'@media (prefers-reduced-motion: reduce)': {
|
|
131
131
|
transitionProperty: 'background-color',
|
|
132
|
-
selectors: { '&:active:not(:has(button:active))': {
|
|
132
|
+
selectors: { '&:active:not(:has(button:active))': { scale: 'none !custom' } },
|
|
133
133
|
},
|
|
134
134
|
},
|
|
135
135
|
defaultVariants: { size: 'medium' },
|
|
@@ -298,7 +298,7 @@ namespace styles {
|
|
|
298
298
|
display: 'inline-flex',
|
|
299
299
|
flexShrink: '0 !custom',
|
|
300
300
|
fontSize: '16',
|
|
301
|
-
transitionDuration: '
|
|
301
|
+
transitionDuration: '200',
|
|
302
302
|
transitionProperty: 'transform !custom',
|
|
303
303
|
transitionTimingFunction: 'spring',
|
|
304
304
|
selectors: {
|
|
@@ -321,7 +321,7 @@ namespace styles {
|
|
|
321
321
|
textOverflow: 'ellipsis',
|
|
322
322
|
whiteSpace: 'nowrap',
|
|
323
323
|
selectors: {
|
|
324
|
-
'&[data-placeholder]': { color: 'gray.
|
|
324
|
+
'&[data-placeholder]': { color: 'gray.900' },
|
|
325
325
|
'[data-variant="card"] > &': {
|
|
326
326
|
typography: 'heading.24',
|
|
327
327
|
},
|
|
@@ -204,7 +204,7 @@ namespace styles {
|
|
|
204
204
|
{
|
|
205
205
|
color: 'gray.900',
|
|
206
206
|
marginInlineStart: 'auto !custom',
|
|
207
|
-
transitionDuration: '
|
|
207
|
+
transitionDuration: '240',
|
|
208
208
|
transitionProperty: 'transform',
|
|
209
209
|
transitionTimingFunction: 'spring',
|
|
210
210
|
selectors: { '[data-panel-open] > &': { transform: 'rotate(90deg) !custom' } },
|
|
@@ -222,7 +222,7 @@ namespace styles {
|
|
|
222
222
|
selectors: {
|
|
223
223
|
// Groups sit 24px below preceding content, and a divider separates adjacent groups.
|
|
224
224
|
'* + &': { marginTop: '20' },
|
|
225
|
-
'[data-sidebar-menu-size="small"] &': { rowGap: '
|
|
225
|
+
'[data-sidebar-menu-size="small"] &': { rowGap: '2' },
|
|
226
226
|
'[data-sidebar-menu-size="small"] * + &': { marginTop: '12' },
|
|
227
227
|
'& + &': {
|
|
228
228
|
borderTopColor: 'grayAlpha.200',
|
|
@@ -266,16 +266,15 @@ namespace styles {
|
|
|
266
266
|
minHeight: '40',
|
|
267
267
|
minWidth: '0',
|
|
268
268
|
outlineColor: 'transparent !custom',
|
|
269
|
-
outlineOffset: '
|
|
269
|
+
outlineOffset: '0',
|
|
270
270
|
outlineStyle: 'solid !custom',
|
|
271
|
-
outlineWidth: '
|
|
271
|
+
outlineWidth: '2',
|
|
272
272
|
paddingBlock: '8',
|
|
273
273
|
paddingInline: '12',
|
|
274
274
|
textAlign: 'start',
|
|
275
275
|
textDecoration: 'none !custom',
|
|
276
|
-
transitionDuration: '
|
|
277
|
-
transitionProperty:
|
|
278
|
-
'background-color, color, outline-color, outline-offset, transform !custom',
|
|
276
|
+
transitionDuration: '160',
|
|
277
|
+
transitionProperty: 'background-color, color, outline-color, outline-offset, scale !custom',
|
|
279
278
|
transitionTimingFunction: 'snappy',
|
|
280
279
|
typography: 'label.14.strong',
|
|
281
280
|
width: '100% !custom',
|
|
@@ -293,13 +292,13 @@ namespace styles {
|
|
|
293
292
|
typography: 'label.14.strong',
|
|
294
293
|
},
|
|
295
294
|
'[data-sidebar-menu-size="small"] & > svg': { fontSize: '16' },
|
|
296
|
-
'&:active': {
|
|
297
|
-
'&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '-
|
|
295
|
+
'&:active': { scale: 'press' },
|
|
296
|
+
'&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '-2' },
|
|
298
297
|
'&:hover': { backgroundColor: 'grayAlpha.100', color: 'foreground' },
|
|
299
298
|
},
|
|
300
299
|
'@media (prefers-reduced-motion: reduce)': {
|
|
301
300
|
transitionProperty: 'background-color, color, outline-color !custom',
|
|
302
|
-
selectors: { '&:active': {
|
|
301
|
+
selectors: { '&:active': { scale: 'none !custom' } },
|
|
303
302
|
},
|
|
304
303
|
},
|
|
305
304
|
defaultVariants: { active: false },
|
|
@@ -317,7 +316,7 @@ namespace styles {
|
|
|
317
316
|
{
|
|
318
317
|
base: { display: 'flex', flexDirection: 'column', minWidth: '0', rowGap: '4' },
|
|
319
318
|
defaultVariants: { size: 'medium' },
|
|
320
|
-
variants: { size: { large: {}, medium: {}, small: { rowGap: '
|
|
319
|
+
variants: { size: { large: {}, medium: {}, small: { rowGap: '2' } } },
|
|
321
320
|
},
|
|
322
321
|
{ id: 'tds/web/sidebar-menu' },
|
|
323
322
|
)
|
|
@@ -333,8 +332,8 @@ namespace styles {
|
|
|
333
332
|
selectors: {
|
|
334
333
|
'[data-sidebar-menu-size="small"] &': {
|
|
335
334
|
paddingInlineStart: '24',
|
|
336
|
-
paddingTop: '
|
|
337
|
-
rowGap: '
|
|
335
|
+
paddingTop: '2',
|
|
336
|
+
rowGap: '2',
|
|
338
337
|
},
|
|
339
338
|
},
|
|
340
339
|
},
|
|
@@ -347,11 +346,11 @@ namespace styles {
|
|
|
347
346
|
height: 'var(--collapsible-panel-height) !custom',
|
|
348
347
|
overflow: 'hidden',
|
|
349
348
|
// Revealing content needs its measured height, which a transform cannot provide.
|
|
350
|
-
transitionDuration: '
|
|
349
|
+
transitionDuration: '240',
|
|
351
350
|
transitionProperty: 'height, opacity',
|
|
352
351
|
transitionTimingFunction: 'spring',
|
|
353
352
|
selectors: {
|
|
354
|
-
'&[data-ending-style]': { transitionDuration: '
|
|
353
|
+
'&[data-ending-style]': { transitionDuration: '180' },
|
|
355
354
|
'&[data-ending-style], &[data-starting-style]': {
|
|
356
355
|
height: '0',
|
|
357
356
|
opacity: '0 !custom',
|
|
@@ -193,7 +193,7 @@ namespace styles {
|
|
|
193
193
|
{
|
|
194
194
|
boxSizing: 'border-box',
|
|
195
195
|
width: '100% !custom',
|
|
196
|
-
selectors: { '&[data-disabled]': { opacity: '
|
|
196
|
+
selectors: { '&[data-disabled]': { opacity: 'disabled' } },
|
|
197
197
|
},
|
|
198
198
|
{ id: 'tds/web/slider' },
|
|
199
199
|
)
|
|
@@ -202,20 +202,19 @@ namespace styles {
|
|
|
202
202
|
{
|
|
203
203
|
backgroundColor: 'white',
|
|
204
204
|
borderRadius: 'full',
|
|
205
|
-
boxShadow:
|
|
206
|
-
'0 0 0 1px rgb(0 0 0 / 0.04), 0 2px 8px rgb(0 0 0 / 0.16), 0 1px 2px rgb(0 0 0 / 0.12) !custom',
|
|
205
|
+
boxShadow: 'thumb',
|
|
207
206
|
boxSizing: 'border-box',
|
|
208
207
|
height: '24',
|
|
209
208
|
outlineColor: 'transparent !custom',
|
|
210
|
-
outlineOffset: '
|
|
209
|
+
outlineOffset: '0',
|
|
211
210
|
outlineStyle: 'solid !custom',
|
|
212
|
-
outlineWidth: '
|
|
213
|
-
transitionDuration: '
|
|
211
|
+
outlineWidth: '2',
|
|
212
|
+
transitionDuration: '200',
|
|
214
213
|
transitionProperty: 'outline-color, outline-offset, transform',
|
|
215
214
|
transitionTimingFunction: 'snappy',
|
|
216
215
|
width: '24',
|
|
217
216
|
selectors: {
|
|
218
|
-
'&:has(:focus-visible)': { outlineColor: 'blue.700', outlineOffset: '
|
|
217
|
+
'&:has(:focus-visible)': { outlineColor: 'blue.700', outlineOffset: '2' },
|
|
219
218
|
'&[data-dragging]': { transform: 'scale(1.08) !custom' },
|
|
220
219
|
},
|
|
221
220
|
'@media (prefers-reduced-motion: reduce)': {
|
|
@@ -70,7 +70,7 @@ export namespace Snippet {
|
|
|
70
70
|
|
|
71
71
|
namespace styles {
|
|
72
72
|
export const prompt = style(
|
|
73
|
-
{ color: 'gray.
|
|
73
|
+
{ color: 'gray.900', flexShrink: '0 !custom', userSelect: 'none' },
|
|
74
74
|
{ id: 'tds/web/snippet/prompt' },
|
|
75
75
|
)
|
|
76
76
|
|
|
@@ -86,19 +86,19 @@ namespace styles {
|
|
|
86
86
|
display: 'flex',
|
|
87
87
|
minWidth: '0',
|
|
88
88
|
position: 'relative',
|
|
89
|
-
transitionDuration: '200ms, 160ms',
|
|
90
|
-
transitionProperty: 'background-color,
|
|
89
|
+
transitionDuration: '200ms, 160ms !custom',
|
|
90
|
+
transitionProperty: 'background-color, scale',
|
|
91
91
|
transitionTimingFunction: 'snappy',
|
|
92
92
|
typography: 'label.14.mono',
|
|
93
93
|
selectors: {
|
|
94
94
|
// Inner buttons keep their own hover, so the block only reacts beside them.
|
|
95
95
|
'&:hover:not(:has(button:hover))': { backgroundColor: 'grayAlpha.200' },
|
|
96
|
-
'&:active:not(:has(button:active))': {
|
|
96
|
+
'&:active:not(:has(button:active))': { scale: 'press' },
|
|
97
97
|
'&[data-copied]': { backgroundColor: 'green.200' },
|
|
98
98
|
},
|
|
99
99
|
'@media (prefers-reduced-motion: reduce)': {
|
|
100
100
|
transitionProperty: 'background-color',
|
|
101
|
-
selectors: { '&:active:not(:has(button:active))': {
|
|
101
|
+
selectors: { '&:active:not(:has(button:active))': { scale: 'none !custom' } },
|
|
102
102
|
},
|
|
103
103
|
},
|
|
104
104
|
defaultVariants: { size: 'medium' },
|
|
@@ -136,16 +136,16 @@ namespace styles {
|
|
|
136
136
|
fontFamily: 'mono',
|
|
137
137
|
minWidth: '0',
|
|
138
138
|
outlineColor: 'transparent !custom',
|
|
139
|
-
outlineOffset: '
|
|
139
|
+
outlineOffset: '0',
|
|
140
140
|
outlineStyle: 'solid !custom',
|
|
141
|
-
outlineWidth: '
|
|
141
|
+
outlineWidth: '2',
|
|
142
142
|
overflowX: 'auto',
|
|
143
|
-
transitionDuration: '
|
|
143
|
+
transitionDuration: '160',
|
|
144
144
|
transitionProperty: 'outline-color, outline-offset',
|
|
145
145
|
transitionTimingFunction: 'snappy',
|
|
146
146
|
whiteSpace: 'nowrap',
|
|
147
147
|
selectors: {
|
|
148
|
-
'&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '
|
|
148
|
+
'&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2' },
|
|
149
149
|
},
|
|
150
150
|
'@media (prefers-reduced-motion: reduce)': { transitionProperty: 'outline-color' },
|
|
151
151
|
},
|
|
@@ -96,15 +96,27 @@ namespace styles {
|
|
|
96
96
|
display: 'inline-flex',
|
|
97
97
|
selectors: {
|
|
98
98
|
'& > :first-child': {
|
|
99
|
-
borderBottomRightRadius: '0
|
|
100
|
-
borderTopRightRadius: '0
|
|
99
|
+
borderBottomRightRadius: '0',
|
|
100
|
+
borderTopRightRadius: '0',
|
|
101
101
|
},
|
|
102
|
+
// The trigger is a segment of the group, so its outer corners follow the action's size
|
|
103
|
+
// radius rather than the circle of an icon button.
|
|
102
104
|
'& > [aria-haspopup]': {
|
|
103
|
-
borderBottomLeftRadius: '0
|
|
104
|
-
|
|
105
|
+
borderBottomLeftRadius: '0',
|
|
106
|
+
borderBottomRightRadius: '12',
|
|
107
|
+
borderTopLeftRadius: '0',
|
|
108
|
+
borderTopRightRadius: '12',
|
|
109
|
+
},
|
|
110
|
+
'& > [aria-haspopup][data-size="large"]': {
|
|
111
|
+
borderBottomRightRadius: '16',
|
|
112
|
+
borderTopRightRadius: '16',
|
|
113
|
+
},
|
|
114
|
+
'& > [aria-haspopup][data-size="small"]': {
|
|
115
|
+
borderBottomRightRadius: '8',
|
|
116
|
+
borderTopRightRadius: '8',
|
|
105
117
|
},
|
|
106
118
|
'& > [aria-haspopup] > svg': {
|
|
107
|
-
transitionDuration: '
|
|
119
|
+
transitionDuration: '240',
|
|
108
120
|
transitionProperty: 'transform',
|
|
109
121
|
transitionTimingFunction: 'spring',
|
|
110
122
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useRender } from '@base-ui/react/use-render'
|
|
2
2
|
import type { ComponentPropsWithRef } from 'react'
|
|
3
3
|
import type * as zyzz from 'zyzz'
|
|
4
|
-
import { variants } from '../zyzz.config.js'
|
|
4
|
+
import { variants, vars } from '../zyzz.config.js'
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* A card container that renders a `div` by default. Pass `render` to swap the element, such as a
|
|
@@ -123,18 +123,18 @@ namespace styles {
|
|
|
123
123
|
// A trailing text button bleeds by its inline padding, so its label aligns with the content
|
|
124
124
|
// edge, but never past the surface padding.
|
|
125
125
|
'& > [data-variant="text"]:not([data-shape="icon"]):last-child': {
|
|
126
|
-
marginInlineEnd: '-
|
|
126
|
+
marginInlineEnd: '-20',
|
|
127
127
|
},
|
|
128
128
|
'& > [data-variant="text"][data-size="small"]:not([data-shape="icon"]):last-child': {
|
|
129
|
-
marginInlineEnd: '-
|
|
129
|
+
marginInlineEnd: '-12',
|
|
130
130
|
},
|
|
131
131
|
'& > [data-variant="text"][data-size="large"]:not([data-shape="icon"]):last-child': {
|
|
132
|
-
marginInlineEnd: '-
|
|
132
|
+
marginInlineEnd: '-24',
|
|
133
133
|
},
|
|
134
134
|
'[data-surface-size="medium"] > & > [data-variant="text"]:is([data-size="medium"], [data-size="large"]):not([data-shape="icon"]):last-child':
|
|
135
|
-
{ marginInlineEnd: '-
|
|
135
|
+
{ marginInlineEnd: '-16' },
|
|
136
136
|
'[data-surface-size="small"] > & > [data-variant="text"]:is([data-size="medium"], [data-size="large"]):not([data-shape="icon"]):last-child':
|
|
137
|
-
{ marginInlineEnd: '-
|
|
137
|
+
{ marginInlineEnd: '-12' },
|
|
138
138
|
},
|
|
139
139
|
},
|
|
140
140
|
},
|
|
@@ -158,15 +158,15 @@ namespace styles {
|
|
|
158
158
|
cursor: 'pointer',
|
|
159
159
|
font: 'inherit !custom',
|
|
160
160
|
outlineColor: 'transparent !custom',
|
|
161
|
-
outlineOffset: '
|
|
161
|
+
outlineOffset: '2',
|
|
162
162
|
outlineStyle: 'solid !custom',
|
|
163
|
-
outlineWidth: '
|
|
163
|
+
outlineWidth: '2',
|
|
164
164
|
padding: '0',
|
|
165
165
|
textDecorationColor: 'transparent !custom',
|
|
166
166
|
textDecorationLine: 'underline !custom',
|
|
167
167
|
textDecorationThickness: '1px !custom',
|
|
168
168
|
textUnderlineOffset: '4px !custom',
|
|
169
|
-
transitionDuration: '
|
|
169
|
+
transitionDuration: '160',
|
|
170
170
|
transitionProperty: 'color, outline-color, text-decoration-color',
|
|
171
171
|
transitionTimingFunction: 'snappy',
|
|
172
172
|
},
|
|
@@ -187,12 +187,12 @@ namespace styles {
|
|
|
187
187
|
color: 'foreground',
|
|
188
188
|
display: 'block',
|
|
189
189
|
outlineColor: 'transparent !custom',
|
|
190
|
-
outlineOffset: '
|
|
190
|
+
outlineOffset: '0',
|
|
191
191
|
outlineStyle: 'solid !custom',
|
|
192
|
-
outlineWidth: '
|
|
192
|
+
outlineWidth: '2',
|
|
193
193
|
textAlign: 'start',
|
|
194
|
-
transitionDuration: '
|
|
195
|
-
transitionProperty: 'background-color, opacity, outline-color, outline-offset,
|
|
194
|
+
transitionDuration: '160',
|
|
195
|
+
transitionProperty: 'background-color, opacity, outline-color, outline-offset, scale',
|
|
196
196
|
transitionTimingFunction: 'snappy',
|
|
197
197
|
typography: 'copy.14',
|
|
198
198
|
selectors: {
|
|
@@ -207,11 +207,11 @@ namespace styles {
|
|
|
207
207
|
},
|
|
208
208
|
'&:is(button, a[href], [role="button"]):active:not(:disabled, [aria-disabled="true"])': {
|
|
209
209
|
backgroundColor: 'gray.200',
|
|
210
|
-
|
|
210
|
+
scale: 'press',
|
|
211
211
|
},
|
|
212
212
|
'&:is(button, a[href], [role="button"]):focus-visible': {
|
|
213
213
|
outlineColor: 'blue.700',
|
|
214
|
-
outlineOffset: '
|
|
214
|
+
outlineOffset: '2',
|
|
215
215
|
},
|
|
216
216
|
// Edge-to-edge row fills would otherwise cross the rounded corners. A table clips rather
|
|
217
217
|
// than hides its overflow, so a sticky header still sticks to the scrolling ancestor.
|
|
@@ -227,14 +227,14 @@ namespace styles {
|
|
|
227
227
|
height: 'auto !custom',
|
|
228
228
|
},
|
|
229
229
|
'& > table[data-size="large"]:last-child:not(:has(> caption)) > tbody > tr:last-child > td':
|
|
230
|
-
{ paddingBlockStart: '
|
|
230
|
+
{ paddingBlockStart: '18' },
|
|
231
231
|
'& > table[data-size="medium"]:last-child:not(:has(> caption)) > tbody > tr:last-child > td':
|
|
232
|
-
{ paddingBlockStart: '
|
|
232
|
+
{ paddingBlockStart: '10' },
|
|
233
233
|
'& > table[data-size="small"]:last-child:not(:has(> caption)) > tbody > tr:last-child > td':
|
|
234
|
-
{ paddingBlockStart: '
|
|
234
|
+
{ paddingBlockStart: '6' },
|
|
235
235
|
'&:disabled, &[aria-disabled="true"]': {
|
|
236
236
|
cursor: 'default',
|
|
237
|
-
opacity: '
|
|
237
|
+
opacity: 'disabled',
|
|
238
238
|
pointerEvents: 'none',
|
|
239
239
|
},
|
|
240
240
|
},
|
|
@@ -242,7 +242,7 @@ namespace styles {
|
|
|
242
242
|
transitionProperty: 'background-color, opacity, outline-color',
|
|
243
243
|
selectors: {
|
|
244
244
|
'&:is(button, a[href], [role="button"]):active:not(:disabled, [aria-disabled="true"])':
|
|
245
|
-
{
|
|
245
|
+
{ scale: 'none !custom' },
|
|
246
246
|
},
|
|
247
247
|
},
|
|
248
248
|
},
|
|
@@ -258,22 +258,22 @@ namespace styles {
|
|
|
258
258
|
borderRadius: '16',
|
|
259
259
|
padding: '24',
|
|
260
260
|
selectors: {
|
|
261
|
-
'& > table, & > [data-rows]': { marginInline: '-
|
|
262
|
-
'& > [data-rows]': { marginBlock: '-
|
|
263
|
-
'& > table': { width:
|
|
261
|
+
'& > table, & > [data-rows]': { marginInline: '-24' },
|
|
262
|
+
'& > [data-rows]': { marginBlock: '-12' },
|
|
263
|
+
'& > table': { width: `calc(100% + ${vars.spacing['48']}) !custom` },
|
|
264
264
|
'& > table > caption, & > table tr > :first-child': {
|
|
265
|
-
paddingInlineStart: '
|
|
265
|
+
paddingInlineStart: '24',
|
|
266
266
|
},
|
|
267
|
-
'& > table tr > :last-child': { paddingInlineEnd: '
|
|
268
|
-
'& > table:first-child:has(> thead)': { marginBlockStart: '-
|
|
267
|
+
'& > table tr > :last-child': { paddingInlineEnd: '24' },
|
|
268
|
+
'& > table:first-child:has(> thead)': { marginBlockStart: '-24' },
|
|
269
269
|
'& > table:first-child > thead > tr:first-child > th': {
|
|
270
|
-
paddingBlockStart: '
|
|
270
|
+
paddingBlockStart: '24',
|
|
271
271
|
},
|
|
272
272
|
'& > table:last-child:not(:has(> caption))': {
|
|
273
|
-
marginBlockEnd: '-
|
|
273
|
+
marginBlockEnd: '-24',
|
|
274
274
|
},
|
|
275
275
|
'& > table:last-child:not(:has(> caption)) > tbody > tr:last-child > td': {
|
|
276
|
-
paddingBlockEnd: '
|
|
276
|
+
paddingBlockEnd: '24',
|
|
277
277
|
},
|
|
278
278
|
},
|
|
279
279
|
},
|
|
@@ -281,22 +281,22 @@ namespace styles {
|
|
|
281
281
|
borderRadius: '12',
|
|
282
282
|
padding: '16',
|
|
283
283
|
selectors: {
|
|
284
|
-
'& > table, & > [data-rows]': { marginInline: '-
|
|
285
|
-
'& > [data-rows]': { marginBlock: '-
|
|
286
|
-
'& > table': { width:
|
|
284
|
+
'& > table, & > [data-rows]': { marginInline: '-16' },
|
|
285
|
+
'& > [data-rows]': { marginBlock: '-8' },
|
|
286
|
+
'& > table': { width: `calc(100% + ${vars.spacing['32']}) !custom` },
|
|
287
287
|
'& > table > caption, & > table tr > :first-child': {
|
|
288
|
-
paddingInlineStart: '
|
|
288
|
+
paddingInlineStart: '16',
|
|
289
289
|
},
|
|
290
|
-
'& > table tr > :last-child': { paddingInlineEnd: '
|
|
291
|
-
'& > table:first-child:has(> thead)': { marginBlockStart: '-
|
|
290
|
+
'& > table tr > :last-child': { paddingInlineEnd: '16' },
|
|
291
|
+
'& > table:first-child:has(> thead)': { marginBlockStart: '-16' },
|
|
292
292
|
'& > table:first-child > thead > tr:first-child > th': {
|
|
293
|
-
paddingBlockStart: '
|
|
293
|
+
paddingBlockStart: '16',
|
|
294
294
|
},
|
|
295
295
|
'& > table:last-child:not(:has(> caption))': {
|
|
296
|
-
marginBlockEnd: '-
|
|
296
|
+
marginBlockEnd: '-16',
|
|
297
297
|
},
|
|
298
298
|
'& > table:last-child:not(:has(> caption)) > tbody > tr:last-child > td': {
|
|
299
|
-
paddingBlockEnd: '
|
|
299
|
+
paddingBlockEnd: '16',
|
|
300
300
|
},
|
|
301
301
|
},
|
|
302
302
|
},
|
|
@@ -304,22 +304,22 @@ namespace styles {
|
|
|
304
304
|
borderRadius: '8',
|
|
305
305
|
padding: '12',
|
|
306
306
|
selectors: {
|
|
307
|
-
'& > table, & > [data-rows]': { marginInline: '-
|
|
308
|
-
'& > [data-rows]': { marginBlock: '-
|
|
309
|
-
'& > table': { width:
|
|
307
|
+
'& > table, & > [data-rows]': { marginInline: '-12' },
|
|
308
|
+
'& > [data-rows]': { marginBlock: '-6' },
|
|
309
|
+
'& > table': { width: `calc(100% + ${vars.spacing['24']}) !custom` },
|
|
310
310
|
'& > table > caption, & > table tr > :first-child': {
|
|
311
|
-
paddingInlineStart: '
|
|
311
|
+
paddingInlineStart: '12',
|
|
312
312
|
},
|
|
313
|
-
'& > table tr > :last-child': { paddingInlineEnd: '
|
|
314
|
-
'& > table:first-child:has(> thead)': { marginBlockStart: '-
|
|
313
|
+
'& > table tr > :last-child': { paddingInlineEnd: '12' },
|
|
314
|
+
'& > table:first-child:has(> thead)': { marginBlockStart: '-12' },
|
|
315
315
|
'& > table:first-child > thead > tr:first-child > th': {
|
|
316
|
-
paddingBlockStart: '
|
|
316
|
+
paddingBlockStart: '12',
|
|
317
317
|
},
|
|
318
318
|
'& > table:last-child:not(:has(> caption))': {
|
|
319
|
-
marginBlockEnd: '-
|
|
319
|
+
marginBlockEnd: '-12',
|
|
320
320
|
},
|
|
321
321
|
'& > table:last-child:not(:has(> caption)) > tbody > tr:last-child > td': {
|
|
322
|
-
paddingBlockEnd: '
|
|
322
|
+
paddingBlockEnd: '12',
|
|
323
323
|
},
|
|
324
324
|
},
|
|
325
325
|
},
|
|
@@ -84,7 +84,7 @@ namespace styles {
|
|
|
84
84
|
flexShrink: '0 !custom',
|
|
85
85
|
height: '24px !custom',
|
|
86
86
|
// The thumb stretches its width while pressed, which a transform would distort.
|
|
87
|
-
transitionDuration: '
|
|
87
|
+
transitionDuration: '240',
|
|
88
88
|
transitionProperty: 'background-color, box-shadow, translate, width',
|
|
89
89
|
transitionTimingFunction: 'overshoot',
|
|
90
90
|
width: '24px !custom',
|
|
@@ -94,22 +94,18 @@ namespace styles {
|
|
|
94
94
|
boxShadow: 'none !custom',
|
|
95
95
|
translate: '22px 0 !custom',
|
|
96
96
|
},
|
|
97
|
-
'[data-size="large"] > &': { height: '
|
|
98
|
-
'[data-size="large"] > &[data-checked]': { translate: '
|
|
99
|
-
'[data-size="large"]:active:not([data-disabled]) > &': { width: '
|
|
100
|
-
'[data-size="large"]:active:not([data-disabled]) > &[data-checked]': {
|
|
101
|
-
translate: '24px 0 !custom',
|
|
102
|
-
},
|
|
97
|
+
'[data-size="large"] > &': { height: '30', width: '30' },
|
|
98
|
+
'[data-size="large"] > &[data-checked]': { translate: '30' },
|
|
99
|
+
'[data-size="large"]:active:not([data-disabled]) > &': { width: '36' },
|
|
100
|
+
'[data-size="large"]:active:not([data-disabled]) > &[data-checked]': { translate: '24' },
|
|
103
101
|
'[data-size="medium"]:active:not([data-disabled]) > &': { width: '30px !custom' },
|
|
104
102
|
'[data-size="medium"]:active:not([data-disabled]) > &[data-checked]': {
|
|
105
103
|
translate: '16px 0 !custom',
|
|
106
104
|
},
|
|
107
|
-
'[data-size="small"] > &': { height: '
|
|
108
|
-
'[data-size="small"] > &[data-checked]': { translate: '
|
|
109
|
-
'[data-size="small"]:active:not([data-disabled]) > &': { width: '
|
|
110
|
-
'[data-size="small"]:active:not([data-disabled]) > &[data-checked]': {
|
|
111
|
-
translate: '12px 0 !custom',
|
|
112
|
-
},
|
|
105
|
+
'[data-size="small"] > &': { height: '20', width: '20' },
|
|
106
|
+
'[data-size="small"] > &[data-checked]': { translate: '16' },
|
|
107
|
+
'[data-size="small"]:active:not([data-disabled]) > &': { width: '24' },
|
|
108
|
+
'[data-size="small"]:active:not([data-disabled]) > &[data-checked]': { translate: '12' },
|
|
113
109
|
},
|
|
114
110
|
'@media (prefers-reduced-motion: reduce)': {
|
|
115
111
|
transitionProperty: 'background-color, box-shadow',
|
|
@@ -129,24 +125,24 @@ namespace styles {
|
|
|
129
125
|
display: 'inline-flex',
|
|
130
126
|
flexShrink: '0 !custom',
|
|
131
127
|
outlineColor: 'transparent !custom',
|
|
132
|
-
outlineOffset: '
|
|
128
|
+
outlineOffset: '0',
|
|
133
129
|
outlineStyle: 'solid !custom',
|
|
134
|
-
outlineWidth: '
|
|
130
|
+
outlineWidth: '2',
|
|
135
131
|
position: 'relative',
|
|
136
|
-
transitionDuration: '
|
|
132
|
+
transitionDuration: '160',
|
|
137
133
|
transitionProperty: 'background-color, opacity, outline-color, outline-offset',
|
|
138
134
|
transitionTimingFunction: 'snappy',
|
|
139
135
|
selectors: {
|
|
140
|
-
'&::after': { content: '"" !custom', inset: '-
|
|
141
|
-
'&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '
|
|
136
|
+
'&::after': { content: '"" !custom', inset: '-8', position: 'absolute' },
|
|
137
|
+
'&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2' },
|
|
142
138
|
'&:hover:not([data-disabled]):not([data-checked])': { backgroundColor: 'grayAlpha.300' },
|
|
143
139
|
'&[data-checked]': { backgroundColor: 'foreground' },
|
|
144
|
-
'&[data-checked]:hover:not([data-disabled])': { opacity: '
|
|
145
|
-
'&[data-disabled]': { cursor: 'default', opacity: '
|
|
140
|
+
'&[data-checked]:hover:not([data-disabled])': { opacity: 'hover' },
|
|
141
|
+
'&[data-disabled]': { cursor: 'default', opacity: 'disabled' },
|
|
146
142
|
'&[data-invalid]': {
|
|
147
143
|
outlineColor: 'red.800',
|
|
148
144
|
outlineStyle: 'solid !custom',
|
|
149
|
-
outlineWidth: '
|
|
145
|
+
outlineWidth: '1',
|
|
150
146
|
},
|
|
151
147
|
'[data-variant="setting"] > &': {
|
|
152
148
|
alignSelf: 'center !custom',
|
|
@@ -162,9 +158,11 @@ namespace styles {
|
|
|
162
158
|
defaultVariants: { size: 'medium' },
|
|
163
159
|
variants: {
|
|
164
160
|
size: {
|
|
165
|
-
large: { height: '
|
|
161
|
+
large: { height: '38', padding: '4', width: '68' },
|
|
162
|
+
// The track, thumb, and checked translation of each size add up exactly, so a size uses
|
|
163
|
+
// tokens or px throughout. Medium stays in px, since its 3px padding has no spacing step.
|
|
166
164
|
medium: { height: '30px !custom', padding: '3px !custom', width: '52px !custom' },
|
|
167
|
-
small: { height: '
|
|
165
|
+
small: { height: '24', padding: '2', width: '40' },
|
|
168
166
|
},
|
|
169
167
|
},
|
|
170
168
|
},
|
|
@@ -95,7 +95,10 @@ export namespace Table {
|
|
|
95
95
|
export type Props = ComponentPropsWithRef<'thead'> & zyzz.Props.Variants<typeof styles.head>
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
/**
|
|
98
|
+
/**
|
|
99
|
+
* A column header with `scope="col"` by default. Pass `scope="row"` for a row header. Its text
|
|
100
|
+
* renders in the `label.14.strong` set, heavier than the `copy.14` body cells.
|
|
101
|
+
*/
|
|
99
102
|
export function HeaderCell(props: HeaderCell.Props) {
|
|
100
103
|
const { className, justify, vars, ...attributes } = props
|
|
101
104
|
|
|
@@ -224,10 +227,11 @@ namespace styles {
|
|
|
224
227
|
export const headerCell = variants(
|
|
225
228
|
{
|
|
226
229
|
base: {
|
|
227
|
-
|
|
230
|
+
// Body cells share gray.900, the lightest gray step at 4.5:1, so weight separates the header.
|
|
231
|
+
color: 'gray.900',
|
|
228
232
|
paddingBlock: '12',
|
|
229
233
|
paddingInline: '16',
|
|
230
|
-
typography: '
|
|
234
|
+
typography: 'label.14.strong',
|
|
231
235
|
},
|
|
232
236
|
defaultVariants: { justify: 'start' },
|
|
233
237
|
variants: {
|
|
@@ -278,17 +282,17 @@ namespace styles {
|
|
|
278
282
|
selectors: {
|
|
279
283
|
'& tbody tr': {
|
|
280
284
|
outlineColor: 'transparent !custom',
|
|
281
|
-
outlineOffset: '
|
|
285
|
+
outlineOffset: '0',
|
|
282
286
|
outlineStyle: 'solid !custom',
|
|
283
|
-
outlineWidth: '
|
|
284
|
-
transitionDuration: '
|
|
287
|
+
outlineWidth: '2',
|
|
288
|
+
transitionDuration: '160',
|
|
285
289
|
transitionProperty: 'background-color, outline-color, outline-offset',
|
|
286
290
|
transitionTimingFunction: 'snappy',
|
|
287
291
|
},
|
|
288
292
|
'& tbody tr:hover': { backgroundColor: 'grayAlpha.100' },
|
|
289
293
|
'& tbody tr:focus-visible': {
|
|
290
294
|
outlineColor: 'blue.700',
|
|
291
|
-
outlineOffset: '-
|
|
295
|
+
outlineOffset: '-2',
|
|
292
296
|
},
|
|
293
297
|
'& tbody tr:is([tabindex], [role="button"], [data-href]):hover': {
|
|
294
298
|
cursor: 'pointer',
|