@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
|
@@ -1 +1 @@
|
|
|
1
|
-
.z-tds_2f_web-tds_2f_web_2f_kbd_2f_hidden-clip-path-0{clip-path:inset(50%)}.z-tds_2f_web-tds_2f_web_2f_kbd_2f_hidden-h-1{height:var(--z-tds_2f_web-spacing-1,1px)}.z-tds_2f_web-tds_2f_web_2f_kbd_2f_hidden-overflow-2{overflow:hidden}.z-tds_2f_web-tds_2f_web_2f_kbd_2f_hidden-position-3{position:absolute}.z-tds_2f_web-tds_2f_web_2f_kbd_2f_hidden-white-space-4{white-space:nowrap}.z-tds_2f_web-tds_2f_web_2f_kbd_2f_hidden-w-5{width:var(--z-tds_2f_web-spacing-1,1px)}.z-tds_2f_web-tds_2f_web_2f_kbd-align-items-0{align-items:center}.z-tds_2f_web-tds_2f_web_2f_kbd-bg-1{background-color:var(--z-tds_2f_web-color-grayAlpha-100,light-dark(#0000000d,#ffffff12))}.z-tds_2f_web-tds_2f_web_2f_kbd-border-radius-2{border-radius:var(--z-tds_2f_web-radius-6,.375rem)}.z-tds_2f_web-tds_2f_web_2f_kbd-box-shadow-3{box-shadow:var(--z-tds_2f_web-shadow-raised,0 1px 2px #0000000f, 0 1px 1px #0000000a)}.z-tds_2f_web-tds_2f_web_2f_kbd-box-sizing-4{box-sizing:border-box}.z-tds_2f_web-tds_2f_web_2f_kbd-text-5{color:var(--z-tds_2f_web-color-gray-900,light-dark(#4d4d4d,#bcbbbb))}.z-tds_2f_web-tds_2f_web_2f_kbd-column-gap-6{column-gap:var(--z-tds_2f_web-spacing-4,.25rem)}.z-tds_2f_web-tds_2f_web_2f_kbd-display-7{display:inline-flex}.z-tds_2f_web-tds_2f_web_2f_kbd-justify-content-8{justify-content:center}.z-tds_2f_web-tds_2f_web_2f_kbd-h-9{&:where([data-size=large]){height:var(--z-tds_2f_web-spacing-32,2rem)}}.z-tds_2f_web-tds_2f_web_2f_kbd-min-width-10{&:where([data-size=large]){min-width:var(--z-tds_2f_web-spacing-32,2rem)}}.z-tds_2f_web-tds_2f_web_2f_kbd-padding-inline-11{&:where([data-size=large]){padding-inline:var(--z-tds_2f_web-spacing-8,.5rem)}}.z-tds_2f_web-tds_2f_web_2f_kbd-font-family-12{&:where([data-size=large]){font-family:var(--z-tds_2f_web-typography-label-14-fontFamily,Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji")}}.z-tds_2f_web-tds_2f_web_2f_kbd-font-size-13{&:where([data-size=large]){font-size:var(--z-tds_2f_web-typography-label-14-fontSize,14px)}}.z-tds_2f_web-tds_2f_web_2f_kbd-font-weight-14{&:where([data-size=large]){font-weight:var(--z-tds_2f_web-typography-label-14-fontWeight,450)}}.z-tds_2f_web-tds_2f_web_2f_kbd-letter-spacing-15{&:where([data-size=large]){letter-spacing:var(--z-tds_2f_web-typography-label-14-letterSpacing,-.09px)}}.z-tds_2f_web-tds_2f_web_2f_kbd-line-height-16{&:where([data-size=large]){line-height:var(--z-tds_2f_web-typography-label-14-lineHeight,20px)}}.z-tds_2f_web-tds_2f_web_2f_kbd-h-17{&:where([data-size=medium]){height:var(--z-tds_2f_web-spacing-24,1.5rem)}}.z-tds_2f_web-tds_2f_web_2f_kbd-min-width-18{&:where([data-size=medium]){min-width:var(--z-tds_2f_web-spacing-24,1.5rem)}}.z-tds_2f_web-tds_2f_web_2f_kbd-padding-inline-19{&:where([data-size=medium]){padding-inline:
|
|
1
|
+
.z-tds_2f_web-tds_2f_web_2f_kbd_2f_hidden-clip-path-0{clip-path:inset(50%)}.z-tds_2f_web-tds_2f_web_2f_kbd_2f_hidden-h-1{height:var(--z-tds_2f_web-spacing-1,1px)}.z-tds_2f_web-tds_2f_web_2f_kbd_2f_hidden-overflow-2{overflow:hidden}.z-tds_2f_web-tds_2f_web_2f_kbd_2f_hidden-position-3{position:absolute}.z-tds_2f_web-tds_2f_web_2f_kbd_2f_hidden-white-space-4{white-space:nowrap}.z-tds_2f_web-tds_2f_web_2f_kbd_2f_hidden-w-5{width:var(--z-tds_2f_web-spacing-1,1px)}.z-tds_2f_web-tds_2f_web_2f_kbd-align-items-0{align-items:center}.z-tds_2f_web-tds_2f_web_2f_kbd-bg-1{background-color:var(--z-tds_2f_web-color-grayAlpha-100,light-dark(#0000000d,#ffffff12))}.z-tds_2f_web-tds_2f_web_2f_kbd-border-radius-2{border-radius:var(--z-tds_2f_web-radius-6,.375rem)}.z-tds_2f_web-tds_2f_web_2f_kbd-box-shadow-3{box-shadow:var(--z-tds_2f_web-shadow-raised,0 1px 2px #0000000f, 0 1px 1px #0000000a)}.z-tds_2f_web-tds_2f_web_2f_kbd-box-sizing-4{box-sizing:border-box}.z-tds_2f_web-tds_2f_web_2f_kbd-text-5{color:var(--z-tds_2f_web-color-gray-900,light-dark(#4d4d4d,#bcbbbb))}.z-tds_2f_web-tds_2f_web_2f_kbd-column-gap-6{column-gap:var(--z-tds_2f_web-spacing-4,.25rem)}.z-tds_2f_web-tds_2f_web_2f_kbd-display-7{display:inline-flex}.z-tds_2f_web-tds_2f_web_2f_kbd-justify-content-8{justify-content:center}.z-tds_2f_web-tds_2f_web_2f_kbd-h-9{&:where([data-size=large]){height:var(--z-tds_2f_web-spacing-32,2rem)}}.z-tds_2f_web-tds_2f_web_2f_kbd-min-width-10{&:where([data-size=large]){min-width:var(--z-tds_2f_web-spacing-32,2rem)}}.z-tds_2f_web-tds_2f_web_2f_kbd-padding-inline-11{&:where([data-size=large]){padding-inline:var(--z-tds_2f_web-spacing-8,.5rem)}}.z-tds_2f_web-tds_2f_web_2f_kbd-font-family-12{&:where([data-size=large]){font-family:var(--z-tds_2f_web-typography-label-14-fontFamily,Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji")}}.z-tds_2f_web-tds_2f_web_2f_kbd-font-size-13{&:where([data-size=large]){font-size:var(--z-tds_2f_web-typography-label-14-fontSize,14px)}}.z-tds_2f_web-tds_2f_web_2f_kbd-font-weight-14{&:where([data-size=large]){font-weight:var(--z-tds_2f_web-typography-label-14-fontWeight,450)}}.z-tds_2f_web-tds_2f_web_2f_kbd-letter-spacing-15{&:where([data-size=large]){letter-spacing:var(--z-tds_2f_web-typography-label-14-letterSpacing,-.09px)}}.z-tds_2f_web-tds_2f_web_2f_kbd-line-height-16{&:where([data-size=large]){line-height:var(--z-tds_2f_web-typography-label-14-lineHeight,20px)}}.z-tds_2f_web-tds_2f_web_2f_kbd-h-17{&:where([data-size=medium]){height:var(--z-tds_2f_web-spacing-24,1.5rem)}}.z-tds_2f_web-tds_2f_web_2f_kbd-min-width-18{&:where([data-size=medium]){min-width:var(--z-tds_2f_web-spacing-24,1.5rem)}}.z-tds_2f_web-tds_2f_web_2f_kbd-padding-inline-19{&:where([data-size=medium]){padding-inline:var(--z-tds_2f_web-spacing-6,.375rem)}}.z-tds_2f_web-tds_2f_web_2f_kbd-font-family-20{&:where([data-size=medium]){font-family:var(--z-tds_2f_web-typography-label-12-fontFamily,Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji")}}.z-tds_2f_web-tds_2f_web_2f_kbd-font-size-21{&:where([data-size=medium]){font-size:var(--z-tds_2f_web-typography-label-12-fontSize,12px)}}.z-tds_2f_web-tds_2f_web_2f_kbd-font-weight-22{&:where([data-size=medium]){font-weight:var(--z-tds_2f_web-typography-label-12-fontWeight,450)}}.z-tds_2f_web-tds_2f_web_2f_kbd-letter-spacing-23{&:where([data-size=medium]){letter-spacing:var(--z-tds_2f_web-typography-label-12-letterSpacing,.01px)}}.z-tds_2f_web-tds_2f_web_2f_kbd-line-height-24{&:where([data-size=medium]){line-height:var(--z-tds_2f_web-typography-label-12-lineHeight,16px)}}.z-tds_2f_web-tds_2f_web_2f_kbd-h-25{&:where([data-size=small]){height:var(--z-tds_2f_web-spacing-20,1.25rem)}}.z-tds_2f_web-tds_2f_web_2f_kbd-min-width-26{&:where([data-size=small]){min-width:var(--z-tds_2f_web-spacing-20,1.25rem)}}.z-tds_2f_web-tds_2f_web_2f_kbd-padding-inline-27{&:where([data-size=small]){padding-inline:var(--z-tds_2f_web-spacing-4,.25rem)}}.z-tds_2f_web-tds_2f_web_2f_kbd-font-family-28{&:where([data-size=small]){font-family:var(--z-tds_2f_web-typography-label-12-fontFamily,Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji")}}.z-tds_2f_web-tds_2f_web_2f_kbd-font-size-29{&:where([data-size=small]){font-size:var(--z-tds_2f_web-typography-label-12-fontSize,12px)}}.z-tds_2f_web-tds_2f_web_2f_kbd-font-weight-30{&:where([data-size=small]){font-weight:var(--z-tds_2f_web-typography-label-12-fontWeight,450)}}.z-tds_2f_web-tds_2f_web_2f_kbd-letter-spacing-31{&:where([data-size=small]){letter-spacing:var(--z-tds_2f_web-typography-label-12-letterSpacing,.01px)}}.z-tds_2f_web-tds_2f_web_2f_kbd-line-height-32{&:where([data-size=small]){line-height:var(--z-tds_2f_web-typography-label-12-lineHeight,16px)}}
|
|
@@ -1,15 +1,28 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ComponentPropsWithRef } from 'react';
|
|
2
2
|
import type * as zyzz from 'zyzz';
|
|
3
|
+
declare const modifiers: {
|
|
4
|
+
readonly apple: readonly [readonly ['ctrl', '⌃', 'Control'], readonly ['alt', '⌥', 'Option'], readonly ['shift', '⇧', 'Shift'], readonly ['meta', '⌘', 'Command']];
|
|
5
|
+
readonly linux: readonly [readonly ['meta', 'Super', 'Super'], readonly ['ctrl', 'Ctrl', 'Control'], readonly ['alt', 'Alt', 'Alt'], readonly ['shift', 'Shift', 'Shift']];
|
|
6
|
+
readonly windows: readonly [readonly ['meta', 'Win', 'Windows'], readonly ['ctrl', 'Ctrl', 'Control'], readonly ['alt', 'Alt', 'Alt'], readonly ['shift', 'Shift', 'Shift']];
|
|
7
|
+
};
|
|
3
8
|
/**
|
|
4
|
-
* Shows a key or shortcut in a native `kbd` element. Each modifier prop adds
|
|
5
|
-
* children
|
|
6
|
-
*
|
|
9
|
+
* Shows a key or shortcut in a native `kbd` element. Each modifier prop adds a label before the
|
|
10
|
+
* children in the platform's conventional order: glyphs ordered Control, Option, Shift, Command on
|
|
11
|
+
* Apple platforms, and names ordered Win (Super on Linux), Ctrl, Alt, Shift elsewhere. Labels are
|
|
12
|
+
* hidden from assistive tech, which reads the visually hidden name instead, so `<Kbd mod>K</Kbd>`
|
|
13
|
+
* reads as `Command K` on a Mac and `Control K` on Windows.
|
|
14
|
+
*
|
|
15
|
+
* Without `platform`, the server and hydration render Apple glyphs, then the client switches to the
|
|
16
|
+
* browser's platform. If the request identifies the platform, such as in the `Sec-CH-UA-Platform`
|
|
17
|
+
* header, map it to `apple`, `linux`, or `windows` and pass it as `platform`, so the markup never
|
|
18
|
+
* changes. Any other value falls back to the browser's platform.
|
|
7
19
|
*
|
|
8
20
|
* - Pass the main key as children and modifiers as props, rather than typing glyphs into children.
|
|
21
|
+
* - Use `mod` for shortcuts that take Command on Apple platforms and Ctrl elsewhere.
|
|
9
22
|
* - Single-character shortcuts need a way to turn them off or remap them.
|
|
10
23
|
*
|
|
11
24
|
* @example
|
|
12
|
-
* <Kbd
|
|
25
|
+
* <Kbd mod shift>
|
|
13
26
|
* P
|
|
14
27
|
* </Kbd>
|
|
15
28
|
*
|
|
@@ -20,13 +33,22 @@ import type * as zyzz from 'zyzz';
|
|
|
20
33
|
export declare function Kbd(props: Kbd.Props): import("react").JSX.Element;
|
|
21
34
|
export declare namespace Kbd {
|
|
22
35
|
type Props = ComponentPropsWithRef<'kbd'> & zyzz.Props.Variants<typeof styles.kbd> & {
|
|
23
|
-
/** Adds
|
|
36
|
+
/** Adds `⌥` (Option) on Apple platforms and Alt elsewhere. */
|
|
24
37
|
alt?: boolean | undefined;
|
|
25
|
-
/** Adds
|
|
38
|
+
/** Adds `⌃` (Control) on Apple platforms and Ctrl elsewhere. */
|
|
26
39
|
ctrl?: boolean | undefined;
|
|
27
|
-
/** Adds
|
|
40
|
+
/** Adds `⌘` (Command) on Apple platforms, Win on Windows, and Super on Linux. */
|
|
28
41
|
meta?: boolean | undefined;
|
|
29
|
-
/** Adds
|
|
42
|
+
/** Adds the primary shortcut modifier: `⌘` (Command) on Apple platforms and Ctrl elsewhere. */
|
|
43
|
+
mod?: boolean | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Selects the modifier labels, names and order. Defaults to the browser's platform, read after
|
|
46
|
+
* hydration, and to `apple` on the server. Browsers on other platforms, such as Android or
|
|
47
|
+
* ChromeOS, use the `linux` names. Any other value, such as a raw `Sec-CH-UA-Platform` header,
|
|
48
|
+
* falls back to the default.
|
|
49
|
+
*/
|
|
50
|
+
platform?: keyof typeof modifiers | undefined;
|
|
51
|
+
/** Adds `⇧` (Shift) on Apple platforms and Shift elsewhere. */
|
|
30
52
|
shift?: boolean | undefined;
|
|
31
53
|
};
|
|
32
54
|
}
|
|
@@ -59,7 +81,7 @@ declare namespace styles {
|
|
|
59
81
|
readonly medium: {
|
|
60
82
|
readonly height: "24";
|
|
61
83
|
readonly minWidth: "24";
|
|
62
|
-
readonly paddingInline: "
|
|
84
|
+
readonly paddingInline: "6";
|
|
63
85
|
readonly typography: "label.12";
|
|
64
86
|
};
|
|
65
87
|
readonly small: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Kbd.d.ts","sourceRoot":"","sources":["../../../src/web/components/Kbd.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Kbd.d.ts","sourceRoot":"","sources":["../../../src/web/components/Kbd.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAwB,MAAM,OAAO,CAAA;AACxE,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAA;AAIjC,QAAA,MAAM,SAAS;aACb,KAAK,sBACF,MAAM,EAAE,GAAG,EAAE,SAAS,aACtB,KAAK,EAAE,GAAG,EAAE,QAAQ,aACpB,OAAO,EAAE,GAAG,EAAE,OAAO,aACrB,MAAM,EAAE,GAAG,EAAE,SAAS;aAEzB,KAAK,sBACF,MAAM,EAAE,OAAO,EAAE,OAAO,aACxB,MAAM,EAAE,MAAM,EAAE,SAAS,aACzB,KAAK,EAAE,KAAK,EAAE,KAAK,aACnB,OAAO,EAAE,OAAO,EAAE,OAAO;aAE5B,OAAO,sBACJ,MAAM,EAAE,KAAK,EAAE,SAAS,aACxB,MAAM,EAAE,MAAM,EAAE,SAAS,aACzB,KAAK,EAAE,KAAK,EAAE,KAAK,aACnB,OAAO,EAAE,OAAO,EAAE,OAAO;CAEpB,CAAA;AAeV;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,+BA6BnC;AAED,yBAAiB,GAAG,CAAC;IACnB,KAAY,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAC9C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG;QACvC,8DAA8D;QAC9D,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACzB,gEAAgE;QAChE,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC1B,iFAAiF;QACjF,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC1B,+FAA+F;QAC/F,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACzB;;;;;WAKG;QACH,QAAQ,CAAC,EAAE,MAAM,OAAO,SAAS,GAAG,SAAS,CAAA;QAC7C,+DAA+D;QAC/D,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAC5B,CAAA;CACJ;AAED,kBAAU,MAAM,CAAC;IACR,MAAM,MAAM,gCAUlB,CAAA;IAEM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA8Bf,CAAA;CACF"}
|
|
@@ -1,23 +1,56 @@
|
|
|
1
1
|
|
|
2
2
|
import { Props as __zyzzProps, Recipe as __zyzzRecipe } from 'zyzz/runtime';
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { useSyncExternalStore } from 'react';
|
|
4
5
|
import { style, variants } from '../zyzz.config.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
[
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
]
|
|
6
|
+
// Each platform lists its modifiers in its own conventional order, as label and spoken name.
|
|
7
|
+
const modifiers = {
|
|
8
|
+
apple: [
|
|
9
|
+
['ctrl', '⌃', 'Control'],
|
|
10
|
+
['alt', '⌥', 'Option'],
|
|
11
|
+
['shift', '⇧', 'Shift'],
|
|
12
|
+
['meta', '⌘', 'Command'],
|
|
13
|
+
],
|
|
14
|
+
linux: [
|
|
15
|
+
['meta', 'Super', 'Super'],
|
|
16
|
+
['ctrl', 'Ctrl', 'Control'],
|
|
17
|
+
['alt', 'Alt', 'Alt'],
|
|
18
|
+
['shift', 'Shift', 'Shift'],
|
|
19
|
+
],
|
|
20
|
+
windows: [
|
|
21
|
+
['meta', 'Win', 'Windows'],
|
|
22
|
+
['ctrl', 'Ctrl', 'Control'],
|
|
23
|
+
['alt', 'Alt', 'Alt'],
|
|
24
|
+
['shift', 'Shift', 'Shift'],
|
|
25
|
+
],
|
|
26
|
+
};
|
|
27
|
+
// The server snapshot keeps server and hydration markup identical. React then re-renders with the
|
|
28
|
+
// browser's platform.
|
|
29
|
+
function usePlatform() {
|
|
30
|
+
return useSyncExternalStore(() => () => { }, () => {
|
|
31
|
+
if (/Macintosh|iPad|iPhone|iPod/.test(navigator.userAgent))
|
|
32
|
+
return 'apple';
|
|
33
|
+
return navigator.userAgent.includes('Windows') ? 'windows' : 'linux';
|
|
34
|
+
}, () => 'apple');
|
|
35
|
+
}
|
|
11
36
|
/**
|
|
12
|
-
* Shows a key or shortcut in a native `kbd` element. Each modifier prop adds
|
|
13
|
-
* children
|
|
14
|
-
*
|
|
37
|
+
* Shows a key or shortcut in a native `kbd` element. Each modifier prop adds a label before the
|
|
38
|
+
* children in the platform's conventional order: glyphs ordered Control, Option, Shift, Command on
|
|
39
|
+
* Apple platforms, and names ordered Win (Super on Linux), Ctrl, Alt, Shift elsewhere. Labels are
|
|
40
|
+
* hidden from assistive tech, which reads the visually hidden name instead, so `<Kbd mod>K</Kbd>`
|
|
41
|
+
* reads as `Command K` on a Mac and `Control K` on Windows.
|
|
42
|
+
*
|
|
43
|
+
* Without `platform`, the server and hydration render Apple glyphs, then the client switches to the
|
|
44
|
+
* browser's platform. If the request identifies the platform, such as in the `Sec-CH-UA-Platform`
|
|
45
|
+
* header, map it to `apple`, `linux`, or `windows` and pass it as `platform`, so the markup never
|
|
46
|
+
* changes. Any other value falls back to the browser's platform.
|
|
15
47
|
*
|
|
16
48
|
* - Pass the main key as children and modifiers as props, rather than typing glyphs into children.
|
|
49
|
+
* - Use `mod` for shortcuts that take Command on Apple platforms and Ctrl elsewhere.
|
|
17
50
|
* - Single-character shortcuts need a way to turn them off or remap them.
|
|
18
51
|
*
|
|
19
52
|
* @example
|
|
20
|
-
* <Kbd
|
|
53
|
+
* <Kbd mod shift>
|
|
21
54
|
* P
|
|
22
55
|
* </Kbd>
|
|
23
56
|
*
|
|
@@ -26,9 +59,18 @@ const modifiers = [
|
|
|
26
59
|
* @see {@link https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html | WCAG 2.2 Info and Relationships}
|
|
27
60
|
*/
|
|
28
61
|
export function Kbd(props) {
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
|
|
62
|
+
const detected = usePlatform();
|
|
63
|
+
const { alt, children, className, ctrl, meta, mod, platform, shift, size, vars, ...attributes } = props;
|
|
64
|
+
// Untyped data, such as a raw `Sec-CH-UA-Platform` header, can hold any value, including inherited
|
|
65
|
+
// keys such as `toString`. Every value outside `modifiers` falls back to detection.
|
|
66
|
+
const resolved = platform !== undefined && Object.hasOwn(modifiers, platform) ? platform : detected;
|
|
67
|
+
const active = {
|
|
68
|
+
alt,
|
|
69
|
+
ctrl: ctrl || (mod && resolved !== 'apple'),
|
|
70
|
+
meta: meta || (mod && resolved === 'apple'),
|
|
71
|
+
shift,
|
|
72
|
+
};
|
|
73
|
+
return (_jsxs("kbd", { ...attributes, ...styles.kbd({ className, size, style: props.style, vars }), children: [modifiers[resolved].map(([key, label, name]) => active[key] && (_jsxs("span", { children: [_jsx("span", { "aria-hidden": "true", children: label }), _jsxs("span", { ...styles.hidden(), children: [name, " "] })] }, key))), children] }));
|
|
32
74
|
}
|
|
33
75
|
var styles;
|
|
34
76
|
(function (styles) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Kbd.js","sourceRoot":"","sources":["../../../src/web/components/Kbd.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Kbd.js","sourceRoot":"","sources":["../../../src/web/components/Kbd.tsx"],"names":[],"mappings":"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"}
|