opui-css 5.4.3 → 6.0.0-rc.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/CHANGELOG.md +1015 -373
- package/LICENSE +21 -21
- package/MIGRATING-legacy.md +159 -0
- package/MIGRATING.md +1362 -138
- package/README.md +238 -87
- package/astro/index.ts +175 -46
- package/bin/opui-css.mjs +68 -0
- package/components/Accordion/Accordion.astro +21 -48
- package/components/Accordion/Accordion.react.tsx +23 -0
- package/components/Accordion/Accordion.svelte +27 -0
- package/components/Accordion/Accordion.vue +21 -38
- package/components/Accordion/AccordionActions.astro +16 -0
- package/components/Accordion/AccordionActions.react.tsx +15 -0
- package/components/Accordion/AccordionActions.svelte +23 -0
- package/components/Accordion/AccordionActions.vue +18 -0
- package/components/Accordion/AccordionContent.astro +9 -0
- package/components/Accordion/AccordionContent.react.tsx +6 -0
- package/components/Accordion/AccordionContent.svelte +15 -0
- package/components/Accordion/AccordionContent.vue +12 -0
- package/components/Accordion/AccordionSummary.astro +19 -0
- package/components/Accordion/AccordionSummary.react.tsx +30 -0
- package/components/Accordion/AccordionSummary.svelte +24 -0
- package/components/Accordion/AccordionSummary.vue +27 -0
- package/components/Accordion/icons.ts +2 -0
- package/components/Accordion/types.astro.ts +13 -4
- package/components/Accordion/types.react.ts +14 -0
- package/components/Accordion/types.svelte.ts +15 -7
- package/components/Accordion/types.ts +16 -10
- package/components/Accordion/types.vue-props.ts +22 -0
- package/components/Anchor/Anchor.astro +37 -49
- package/components/Anchor/Anchor.react.tsx +38 -0
- package/components/Anchor/Anchor.svelte +47 -0
- package/components/Anchor/Anchor.vue +43 -41
- package/components/Anchor/AnchorContent.astro +17 -0
- package/components/Anchor/AnchorContent.react.tsx +18 -0
- package/components/Anchor/AnchorContent.svelte +23 -0
- package/components/Anchor/AnchorContent.vue +20 -0
- package/components/Anchor/context.astro.ts +4 -0
- package/components/Anchor/context.react.ts +8 -0
- package/components/Anchor/context.svelte.ts +7 -0
- package/components/Anchor/context.vue.ts +4 -0
- package/components/Anchor/root.ts +12 -0
- package/components/Anchor/types.astro.ts +7 -4
- package/components/Anchor/types.react.ts +7 -0
- package/components/Anchor/types.svelte.ts +7 -7
- package/components/Anchor/types.ts +18 -9
- package/components/Anchor/types.vue-props.ts +15 -0
- package/components/Avatar/Avatar.astro +33 -29
- package/components/Avatar/Avatar.react.tsx +34 -0
- package/components/Avatar/Avatar.svelte +39 -0
- package/components/Avatar/Avatar.vue +26 -24
- package/components/Avatar/AvatarGroup.astro +9 -0
- package/components/Avatar/AvatarGroup.react.tsx +12 -0
- package/components/Avatar/AvatarGroup.svelte +15 -0
- package/components/Avatar/AvatarGroup.vue +12 -0
- package/components/Avatar/types.astro.ts +11 -10
- package/components/Avatar/types.react.ts +11 -0
- package/components/Avatar/types.svelte.ts +11 -12
- package/components/Avatar/types.ts +32 -29
- package/components/Avatar/types.vue-props.ts +11 -0
- package/components/Badge/Badge.astro +56 -51
- package/components/Badge/Badge.react.tsx +50 -0
- package/components/Badge/Badge.svelte +48 -0
- package/components/Badge/Badge.vue +36 -40
- package/components/Badge/types.astro.ts +4 -4
- package/components/Badge/types.react.ts +6 -0
- package/components/Badge/types.svelte.ts +7 -4
- package/components/Badge/types.ts +12 -12
- package/components/Badge/types.vue-props.ts +7 -0
- package/components/Button/Button.astro +36 -36
- package/components/Button/Button.react.tsx +33 -0
- package/components/Button/Button.svelte +37 -0
- package/components/Button/Button.vue +27 -27
- package/components/Button/types.astro.ts +6 -6
- package/components/Button/types.react.ts +11 -0
- package/components/Button/types.svelte.ts +15 -6
- package/components/Button/types.ts +32 -16
- package/components/Button/types.vue-props.ts +6 -0
- package/components/ButtonGroup/ButtonGroup.astro +33 -29
- package/components/ButtonGroup/ButtonGroup.react.tsx +30 -0
- package/components/ButtonGroup/ButtonGroup.svelte +34 -0
- package/components/ButtonGroup/ButtonGroup.vue +25 -22
- package/components/ButtonGroup/types.astro.ts +4 -4
- package/components/ButtonGroup/types.react.ts +4 -0
- package/components/ButtonGroup/types.svelte.ts +4 -4
- package/components/ButtonGroup/types.ts +7 -7
- package/components/ButtonGroup/types.vue-props.ts +6 -0
- package/components/Callout/Callout.astro +24 -76
- package/components/Callout/Callout.react.tsx +26 -0
- package/components/Callout/Callout.svelte +32 -0
- package/components/Callout/Callout.vue +23 -63
- package/components/Callout/CalloutContent.astro +9 -0
- package/components/Callout/CalloutContent.react.tsx +6 -0
- package/components/Callout/CalloutContent.svelte +15 -0
- package/components/Callout/CalloutContent.vue +12 -0
- package/components/Callout/CalloutIcon.astro +25 -0
- package/components/Callout/CalloutIcon.react.tsx +26 -0
- package/components/Callout/CalloutIcon.svelte +24 -0
- package/components/Callout/CalloutIcon.vue +25 -0
- package/components/Callout/context.astro.ts +4 -0
- package/components/Callout/context.react.ts +8 -0
- package/components/Callout/context.svelte.ts +7 -0
- package/components/Callout/context.vue.ts +4 -0
- package/components/Callout/icons.ts +23 -0
- package/components/Callout/types.astro.ts +9 -4
- package/components/Callout/types.react.ts +9 -0
- package/components/Callout/types.svelte.ts +9 -7
- package/components/Callout/types.ts +10 -10
- package/components/Callout/types.vue-props.ts +14 -0
- package/components/Card/Card.astro +18 -34
- package/components/Card/Card.react.tsx +15 -0
- package/components/Card/Card.svelte +23 -0
- package/components/Card/Card.vue +18 -28
- package/components/Card/CardActions.astro +16 -0
- package/components/Card/CardActions.react.tsx +15 -0
- package/components/Card/CardActions.svelte +23 -0
- package/components/Card/CardActions.vue +18 -0
- package/components/Card/CardContent.astro +9 -0
- package/components/Card/CardContent.react.tsx +6 -0
- package/components/Card/CardContent.svelte +15 -0
- package/components/Card/CardContent.vue +12 -0
- package/components/Card/CardHeader.astro +9 -0
- package/components/Card/CardHeader.react.tsx +6 -0
- package/components/Card/CardHeader.svelte +15 -0
- package/components/Card/CardHeader.vue +12 -0
- package/components/Card/types.astro.ts +10 -4
- package/components/Card/types.react.ts +10 -0
- package/components/Card/types.svelte.ts +11 -7
- package/components/Card/types.ts +11 -11
- package/components/Card/types.vue-props.ts +17 -0
- package/components/Carousel/Carousel.astro +44 -0
- package/components/Carousel/Carousel.react.tsx +47 -0
- package/components/Carousel/Carousel.svelte +45 -0
- package/components/Carousel/Carousel.vue +44 -0
- package/components/Carousel/types.astro.ts +4 -0
- package/components/Carousel/types.react.ts +4 -0
- package/components/Carousel/types.svelte.ts +4 -0
- package/components/Carousel/types.ts +11 -0
- package/components/Carousel/types.vue-props.ts +6 -0
- package/components/Checkbox/Checkbox.astro +58 -46
- package/components/Checkbox/Checkbox.react.tsx +51 -0
- package/components/Checkbox/Checkbox.svelte +61 -0
- package/components/Checkbox/Checkbox.vue +64 -43
- package/components/Checkbox/CheckboxInput.astro +20 -16
- package/components/Checkbox/CheckboxInput.react.tsx +39 -0
- package/components/Checkbox/CheckboxInput.svelte +34 -0
- package/components/Checkbox/CheckboxInput.vue +50 -32
- package/components/Checkbox/types.astro.ts +7 -8
- package/components/Checkbox/types.react.ts +11 -0
- package/components/Checkbox/types.svelte.ts +16 -12
- package/components/Checkbox/types.ts +20 -16
- package/components/Checkbox/types.vue-props.ts +15 -0
- package/components/Chip/Chip.astro +47 -31
- package/components/Chip/Chip.react.tsx +45 -0
- package/components/Chip/Chip.svelte +45 -0
- package/components/Chip/Chip.vue +44 -37
- package/components/Chip/types.astro.ts +9 -9
- package/components/Chip/types.react.ts +15 -0
- package/components/Chip/types.svelte.ts +16 -14
- package/components/Chip/types.ts +30 -13
- package/components/Chip/types.vue-props.ts +11 -0
- package/components/DescriptionList/DescriptionList.astro +22 -18
- package/components/DescriptionList/DescriptionList.react.tsx +25 -0
- package/components/DescriptionList/DescriptionList.svelte +29 -0
- package/components/DescriptionList/DescriptionList.vue +22 -23
- package/components/DescriptionList/DescriptionListDescription.astro +9 -0
- package/components/DescriptionList/DescriptionListDescription.react.tsx +9 -0
- package/components/DescriptionList/DescriptionListDescription.svelte +15 -0
- package/components/DescriptionList/{Description.vue → DescriptionListDescription.vue} +15 -12
- package/components/DescriptionList/DescriptionListItem.astro +9 -0
- package/components/DescriptionList/DescriptionListItem.react.tsx +6 -0
- package/components/DescriptionList/DescriptionListItem.svelte +15 -0
- package/components/DescriptionList/{Item.vue → DescriptionListItem.vue} +15 -12
- package/components/DescriptionList/DescriptionListTerm.astro +9 -0
- package/components/DescriptionList/DescriptionListTerm.react.tsx +6 -0
- package/components/DescriptionList/DescriptionListTerm.svelte +15 -0
- package/components/DescriptionList/{Term.vue → DescriptionListTerm.vue} +15 -12
- package/components/DescriptionList/types.astro.ts +10 -10
- package/components/DescriptionList/types.react.ts +10 -0
- package/components/DescriptionList/types.svelte.ts +10 -4
- package/components/DescriptionList/types.ts +5 -3
- package/components/DescriptionList/types.vue-props.ts +12 -0
- package/components/Dialog/Dialog.astro +24 -38
- package/components/Dialog/Dialog.react.tsx +23 -0
- package/components/Dialog/Dialog.svelte +33 -0
- package/components/Dialog/Dialog.vue +25 -35
- package/components/Dialog/DialogContent.astro +9 -0
- package/components/Dialog/DialogContent.react.tsx +6 -0
- package/components/Dialog/DialogContent.svelte +15 -0
- package/components/Dialog/DialogContent.vue +12 -0
- package/components/Dialog/DialogFooter.astro +16 -0
- package/components/Dialog/DialogFooter.react.tsx +15 -0
- package/components/Dialog/DialogFooter.svelte +23 -0
- package/components/Dialog/DialogFooter.vue +18 -0
- package/components/Dialog/DialogHeader.astro +9 -0
- package/components/Dialog/DialogHeader.react.tsx +6 -0
- package/components/Dialog/DialogHeader.svelte +15 -0
- package/components/Dialog/DialogHeader.vue +12 -0
- package/components/Dialog/DialogTitle.astro +14 -0
- package/components/Dialog/DialogTitle.react.tsx +13 -0
- package/components/Dialog/DialogTitle.svelte +23 -0
- package/components/Dialog/DialogTitle.vue +18 -0
- package/components/Dialog/context.astro.ts +4 -0
- package/components/Dialog/context.react.ts +8 -0
- package/components/Dialog/context.svelte.ts +7 -0
- package/components/Dialog/context.vue.ts +4 -0
- package/components/Dialog/types.astro.ts +12 -4
- package/components/Dialog/types.react.ts +12 -0
- package/components/Dialog/types.svelte.ts +15 -7
- package/components/Dialog/types.ts +17 -10
- package/components/Dialog/types.vue-props.ts +24 -0
- package/components/Divider/Divider.astro +34 -12
- package/components/Divider/Divider.react.tsx +36 -0
- package/components/Divider/Divider.svelte +40 -0
- package/components/Divider/Divider.vue +30 -12
- package/components/Divider/types.astro.ts +4 -4
- package/components/Divider/types.react.ts +4 -0
- package/components/Divider/types.svelte.ts +4 -4
- package/components/Divider/types.ts +5 -3
- package/components/Divider/types.vue-props.ts +6 -0
- package/components/Drawer/Drawer.astro +42 -47
- package/components/Drawer/Drawer.react.tsx +40 -0
- package/components/Drawer/Drawer.svelte +50 -0
- package/components/Drawer/Drawer.vue +41 -46
- package/components/Drawer/DrawerContent.astro +9 -0
- package/components/Drawer/DrawerContent.react.tsx +6 -0
- package/components/Drawer/DrawerContent.svelte +15 -0
- package/components/Drawer/DrawerContent.vue +12 -0
- package/components/Drawer/DrawerFooter.astro +16 -11
- package/components/Drawer/DrawerFooter.react.tsx +15 -0
- package/components/Drawer/DrawerFooter.svelte +23 -0
- package/components/Drawer/DrawerFooter.vue +18 -16
- package/components/Drawer/DrawerHeader.astro +35 -27
- package/components/Drawer/DrawerHeader.react.tsx +41 -0
- package/components/Drawer/DrawerHeader.svelte +42 -0
- package/components/Drawer/DrawerHeader.vue +35 -36
- package/components/Drawer/DrawerTitle.astro +14 -0
- package/components/Drawer/DrawerTitle.react.tsx +13 -0
- package/components/Drawer/DrawerTitle.svelte +23 -0
- package/components/Drawer/DrawerTitle.vue +18 -0
- package/components/Drawer/context.astro.ts +4 -0
- package/components/Drawer/context.react.ts +8 -0
- package/components/Drawer/context.svelte.ts +7 -0
- package/components/Drawer/context.vue.ts +4 -0
- package/components/Drawer/icons.ts +2 -0
- package/components/Drawer/types.astro.ts +12 -8
- package/components/Drawer/types.react.ts +13 -0
- package/components/Drawer/types.svelte.ts +16 -15
- package/components/Drawer/types.ts +25 -20
- package/components/Drawer/types.vue-props.ts +24 -0
- package/components/FieldDescription/FieldDescription.astro +9 -9
- package/components/FieldDescription/FieldDescription.react.tsx +6 -0
- package/components/FieldDescription/FieldDescription.svelte +15 -0
- package/components/FieldDescription/FieldDescription.vue +12 -12
- package/components/FieldDescription/types.astro.ts +4 -4
- package/components/FieldDescription/types.react.ts +4 -0
- package/components/FieldDescription/types.svelte.ts +4 -4
- package/components/FieldDescription/types.ts +1 -1
- package/components/FieldDescription/types.vue-props.ts +6 -0
- package/components/FieldGroup/FieldGroup.astro +24 -24
- package/components/FieldGroup/FieldGroup.react.tsx +27 -0
- package/components/FieldGroup/FieldGroup.svelte +32 -0
- package/components/FieldGroup/FieldGroup.vue +23 -25
- package/components/FieldGroup/context.astro.ts +4 -0
- package/components/FieldGroup/context.react.ts +8 -0
- package/components/FieldGroup/context.svelte.ts +8 -0
- package/components/FieldGroup/context.vue.ts +4 -0
- package/components/FieldGroup/types.astro.ts +4 -4
- package/components/FieldGroup/types.react.ts +4 -0
- package/components/FieldGroup/types.svelte.ts +4 -4
- package/components/FieldGroup/types.ts +6 -4
- package/components/FieldGroup/types.vue-props.ts +6 -0
- package/components/FieldLegend/FieldLegend.astro +11 -11
- package/components/FieldLegend/FieldLegend.react.tsx +14 -0
- package/components/FieldLegend/FieldLegend.svelte +20 -0
- package/components/FieldLegend/FieldLegend.vue +20 -18
- package/components/FieldLegend/types.astro.ts +6 -6
- package/components/FieldLegend/types.react.ts +6 -0
- package/components/FieldLegend/types.svelte.ts +6 -6
- package/components/FieldLegend/types.ts +1 -1
- package/components/FieldLegend/types.vue-props.ts +9 -0
- package/components/{FieldSet/FieldSet.astro → Fieldset/Fieldset.astro} +15 -11
- package/components/Fieldset/Fieldset.react.tsx +15 -0
- package/components/Fieldset/Fieldset.svelte +21 -0
- package/components/Fieldset/Fieldset.vue +21 -0
- package/components/{FieldSet → Fieldset}/types.astro.ts +6 -6
- package/components/Fieldset/types.react.ts +6 -0
- package/components/Fieldset/types.svelte.ts +6 -0
- package/components/Fieldset/types.ts +1 -0
- package/components/Fieldset/types.vue-props.ts +9 -0
- package/components/Form/Form.astro +10 -10
- package/components/Form/Form.react.tsx +9 -0
- package/components/Form/Form.svelte +16 -0
- package/components/Form/Form.vue +16 -14
- package/components/Form/types.astro.ts +6 -6
- package/components/Form/types.react.ts +6 -0
- package/components/Form/types.svelte.ts +6 -7
- package/components/Form/types.ts +1 -1
- package/components/Form/types.vue-props.ts +9 -0
- package/components/List/List.astro +29 -29
- package/components/List/List.react.tsx +27 -0
- package/components/List/List.svelte +31 -0
- package/components/List/List.vue +23 -28
- package/components/List/types.astro.ts +4 -4
- package/components/List/types.react.ts +4 -0
- package/components/List/types.svelte.ts +4 -4
- package/components/List/types.ts +6 -7
- package/components/List/types.vue-props.ts +6 -0
- package/components/ListItem/ListItem.astro +115 -108
- package/components/ListItem/ListItem.react.tsx +65 -0
- package/components/ListItem/ListItem.svelte +80 -0
- package/components/ListItem/ListItem.vue +93 -98
- package/components/ListItem/types.astro.ts +9 -10
- package/components/ListItem/types.react.ts +17 -0
- package/components/ListItem/types.svelte.ts +17 -14
- package/components/ListItem/types.ts +35 -32
- package/components/ListItem/types.vue-props.ts +14 -0
- package/components/Menu/Menu.astro +86 -0
- package/components/Menu/Menu.react.tsx +87 -0
- package/components/Menu/Menu.svelte +71 -0
- package/components/Menu/Menu.vue +76 -0
- package/components/Menu/context.astro.ts +4 -0
- package/components/Menu/context.react.ts +8 -0
- package/components/Menu/context.svelte.ts +7 -0
- package/components/Menu/context.vue.ts +4 -0
- package/components/Menu/types.astro.ts +12 -0
- package/components/Menu/types.react.ts +12 -0
- package/components/Menu/types.svelte.ts +12 -0
- package/components/Menu/types.ts +23 -0
- package/components/Menu/types.vue-props.ts +16 -0
- package/components/Progress/Progress.astro +20 -31
- package/components/Progress/Progress.react.tsx +27 -0
- package/components/Progress/Progress.svelte +30 -0
- package/components/Progress/Progress.vue +30 -34
- package/components/Progress/types.astro.ts +5 -4
- package/components/Progress/types.react.ts +5 -0
- package/components/Progress/types.svelte.ts +5 -4
- package/components/Progress/types.ts +5 -10
- package/components/Progress/types.vue-props.ts +6 -0
- package/components/Radio/Radio.astro +58 -44
- package/components/Radio/Radio.react.tsx +51 -0
- package/components/Radio/Radio.svelte +59 -0
- package/components/Radio/Radio.vue +62 -41
- package/components/Radio/RadioInput.astro +10 -7
- package/components/Radio/RadioInput.react.tsx +10 -0
- package/components/Radio/RadioInput.svelte +27 -0
- package/components/Radio/RadioInput.vue +39 -14
- package/components/Radio/types.astro.ts +7 -6
- package/components/Radio/types.react.ts +11 -0
- package/components/Radio/types.svelte.ts +16 -12
- package/components/Radio/types.ts +17 -12
- package/components/Radio/types.vue-props.ts +15 -0
- package/components/Range/Range.astro +139 -128
- package/components/Range/Range.react.tsx +157 -0
- package/components/Range/Range.svelte +136 -0
- package/components/Range/Range.vue +169 -85
- package/components/Range/types.astro.ts +1 -3
- package/components/Range/types.react.ts +10 -0
- package/components/Range/types.svelte.ts +8 -3
- package/components/Range/types.ts +24 -25
- package/components/Range/types.vue-props.ts +16 -0
- package/components/Range/value.ts +27 -0
- package/components/Select/Select.astro +147 -108
- package/components/Select/Select.react.tsx +124 -0
- package/components/Select/Select.svelte +123 -0
- package/components/Select/Select.vue +157 -85
- package/components/Select/selection.ts +11 -0
- package/components/Select/types.react.ts +6 -0
- package/components/Select/types.svelte.ts +1 -1
- package/components/Select/types.ts +16 -13
- package/components/Select/types.vue-props.ts +20 -0
- package/components/Switch/Switch.astro +72 -76
- package/components/Switch/Switch.react.tsx +63 -0
- package/components/Switch/Switch.svelte +73 -0
- package/components/Switch/Switch.vue +81 -63
- package/components/Switch/SwitchInput.astro +10 -7
- package/components/Switch/SwitchInput.react.tsx +12 -0
- package/components/Switch/SwitchInput.svelte +30 -0
- package/components/Switch/SwitchInput.vue +36 -14
- package/components/Switch/types.astro.ts +7 -5
- package/components/Switch/types.react.ts +11 -0
- package/components/Switch/types.svelte.ts +16 -9
- package/components/Switch/types.ts +19 -16
- package/components/Switch/types.vue-props.ts +17 -0
- package/components/Table/Table.astro +27 -14
- package/components/Table/Table.react.tsx +24 -0
- package/components/Table/Table.svelte +28 -0
- package/components/Table/Table.vue +20 -19
- package/components/Table/TableBody.astro +9 -0
- package/components/Table/TableBody.react.tsx +5 -0
- package/components/Table/TableBody.svelte +9 -0
- package/components/Table/TableBody.vue +12 -0
- package/components/Table/TableCaption.astro +9 -0
- package/components/Table/TableCaption.react.tsx +5 -0
- package/components/Table/TableCaption.svelte +9 -0
- package/components/Table/TableCaption.vue +12 -0
- package/components/Table/TableCell.astro +9 -0
- package/components/Table/TableCell.react.tsx +6 -0
- package/components/Table/TableCell.svelte +16 -0
- package/components/Table/TableCell.vue +12 -0
- package/components/Table/TableColumn.astro +8 -0
- package/components/Table/TableColumn.react.tsx +7 -0
- package/components/Table/TableColumn.svelte +8 -0
- package/components/Table/TableColumn.vue +12 -0
- package/components/Table/TableColumnGroup.astro +9 -0
- package/components/Table/TableColumnGroup.react.tsx +5 -0
- package/components/Table/TableColumnGroup.svelte +9 -0
- package/components/Table/TableColumnGroup.vue +12 -0
- package/components/Table/TableFoot.astro +9 -0
- package/components/Table/TableFoot.react.tsx +5 -0
- package/components/Table/TableFoot.svelte +9 -0
- package/components/Table/TableFoot.vue +12 -0
- package/components/Table/TableHead.astro +9 -0
- package/components/Table/TableHead.react.tsx +5 -0
- package/components/Table/TableHead.svelte +9 -0
- package/components/Table/TableHead.vue +12 -0
- package/components/Table/TableHeaderCell.astro +9 -0
- package/components/Table/TableHeaderCell.react.tsx +10 -0
- package/components/Table/TableHeaderCell.svelte +16 -0
- package/components/Table/TableHeaderCell.vue +12 -0
- package/components/Table/TableRow.astro +9 -0
- package/components/Table/TableRow.react.tsx +5 -0
- package/components/Table/TableRow.svelte +9 -0
- package/components/Table/TableRow.vue +12 -0
- package/components/Table/types.astro.ts +22 -16
- package/components/Table/types.react.ts +22 -0
- package/components/Table/types.svelte.ts +23 -11
- package/components/Table/types.ts +14 -9
- package/components/Table/types.vue-props.ts +28 -0
- package/components/Tabs/Tabs.astro +34 -24
- package/components/Tabs/Tabs.react.tsx +43 -0
- package/components/Tabs/Tabs.svelte +43 -0
- package/components/Tabs/Tabs.vue +30 -20
- package/components/Tabs/TabsItem.astro +28 -40
- package/components/Tabs/TabsItem.react.tsx +47 -0
- package/components/Tabs/TabsItem.svelte +52 -0
- package/components/Tabs/TabsItem.vue +41 -39
- package/components/Tabs/TabsLabel.astro +16 -0
- package/components/Tabs/TabsLabel.react.tsx +17 -0
- package/components/Tabs/TabsLabel.svelte +19 -0
- package/components/Tabs/TabsLabel.vue +16 -0
- package/components/Tabs/TabsPanel.astro +9 -16
- package/components/Tabs/TabsPanel.react.tsx +6 -0
- package/components/Tabs/TabsPanel.svelte +15 -0
- package/components/Tabs/TabsPanel.vue +12 -31
- package/components/Tabs/context.astro.ts +4 -0
- package/components/Tabs/context.react.ts +8 -0
- package/components/Tabs/context.svelte.ts +7 -0
- package/components/Tabs/context.vue.ts +4 -0
- package/components/Tabs/types.astro.ts +13 -11
- package/components/Tabs/types.react.ts +12 -0
- package/components/Tabs/types.svelte.ts +10 -10
- package/components/Tabs/types.ts +21 -19
- package/components/Tabs/types.vue-props.ts +25 -0
- package/components/TextField/TextField.astro +108 -124
- package/components/TextField/TextField.react.tsx +70 -0
- package/components/TextField/TextField.svelte +84 -0
- package/components/TextField/TextField.vue +94 -74
- package/components/TextField/types.astro.ts +15 -17
- package/components/TextField/types.react.ts +12 -0
- package/components/TextField/types.svelte.ts +2 -4
- package/components/TextField/types.ts +11 -25
- package/components/TextField/types.vue-props.ts +21 -0
- package/components/Textarea/Textarea.astro +104 -118
- package/components/Textarea/Textarea.react.tsx +64 -0
- package/components/Textarea/Textarea.svelte +80 -0
- package/components/Textarea/Textarea.vue +88 -64
- package/components/Textarea/types.astro.ts +8 -10
- package/components/Textarea/types.react.ts +8 -0
- package/components/Textarea/types.svelte.ts +13 -21
- package/components/Textarea/types.ts +21 -33
- package/components/Textarea/types.vue-props.ts +20 -0
- package/components/ToggleButton/ToggleButton.astro +43 -43
- package/components/ToggleButton/ToggleButton.react.tsx +57 -0
- package/components/ToggleButton/ToggleButton.svelte +58 -0
- package/components/ToggleButton/ToggleButton.vue +65 -41
- package/components/ToggleButton/types.astro.ts +4 -4
- package/components/ToggleButton/types.react.ts +4 -0
- package/components/ToggleButton/types.svelte.ts +5 -7
- package/components/ToggleButton/types.ts +6 -10
- package/components/ToggleButton/types.vue-props.ts +11 -0
- package/components/ToggleGroup/ToggleGroup.astro +40 -42
- package/components/ToggleGroup/ToggleGroup.react.tsx +54 -0
- package/components/ToggleGroup/ToggleGroup.svelte +54 -0
- package/components/ToggleGroup/ToggleGroup.vue +45 -36
- package/components/ToggleGroup/context.astro.ts +5 -0
- package/components/ToggleGroup/context.react.ts +8 -0
- package/components/ToggleGroup/context.svelte.ts +8 -0
- package/components/ToggleGroup/context.vue.ts +4 -0
- package/components/ToggleGroup/selection.ts +12 -0
- package/components/ToggleGroup/types.astro.ts +4 -4
- package/components/ToggleGroup/types.react.ts +12 -0
- package/components/ToggleGroup/types.svelte.ts +6 -9
- package/components/ToggleGroup/types.ts +17 -15
- package/components/ToggleGroup/types.vue-props.ts +6 -0
- package/components/Tooltip/Tooltip.astro +22 -23
- package/components/Tooltip/Tooltip.react.tsx +24 -0
- package/components/Tooltip/Tooltip.svelte +29 -0
- package/components/Tooltip/Tooltip.vue +21 -22
- package/components/Tooltip/types.astro.ts +4 -4
- package/components/Tooltip/types.react.ts +4 -0
- package/components/Tooltip/types.svelte.ts +4 -7
- package/components/Tooltip/types.ts +5 -11
- package/components/Tooltip/types.vue-props.ts +6 -0
- package/components/content.svelte +9 -0
- package/components/context.astro.ts +15 -0
- package/components/cx.ts +12 -0
- package/components/dev.ts +63 -0
- package/components/group.ts +2 -0
- package/components/id.ts +9 -0
- package/components/style.ts +33 -0
- package/components/tag.ts +6 -0
- package/components/vue.ts +18 -0
- package/core/normalize.css +191 -214
- package/core/palette.css +131 -314
- package/core/utils.css +55 -68
- package/css/compat/avatar.css +7 -0
- package/css/compat/menu.css +20 -0
- package/css/compat.css +3 -0
- package/css/components/accordion.css +237 -173
- package/css/components/anchor.css +40 -27
- package/css/components/avatar.css +105 -65
- package/css/components/badge.css +146 -107
- package/css/components/button-group.css +170 -179
- package/css/components/button.css +422 -212
- package/css/components/callout.css +153 -112
- package/css/components/card.css +234 -116
- package/css/components/carousel.css +399 -0
- package/css/components/checkbox.css +90 -211
- package/css/components/chip.css +215 -92
- package/css/components/choice.css +291 -0
- package/css/components/description-list.css +91 -81
- package/css/components/dialog.css +154 -64
- package/css/components/divider.css +73 -20
- package/css/components/drawer.css +300 -170
- package/css/components/form.css +131 -146
- package/css/components/layout.css +92 -0
- package/css/components/link.css +53 -21
- package/css/components/list.css +460 -343
- package/css/components/menu.css +174 -0
- package/css/components/progress.css +107 -99
- package/css/components/radio.css +61 -170
- package/css/components/range.css +463 -320
- package/css/components/select.css +189 -170
- package/css/components/spinner.css +57 -38
- package/css/components/switch.css +197 -270
- package/css/components/table.css +214 -173
- package/css/components/tabs.css +278 -84
- package/css/components/text-field.css +559 -449
- package/css/components/textarea.css +20 -26
- package/css/components/toggle-button.css +131 -91
- package/css/components/toggle-group.css +86 -56
- package/css/components/tooltip.css +125 -68
- package/css/components/typography.css +801 -580
- package/css/components.css +48 -41
- package/css/imports.css +15 -17
- package/css/js/checkbox.d.ts +3 -0
- package/css/js/checkbox.js +31 -21
- package/css/js/range.d.ts +1 -0
- package/css/js/range.js +44 -0
- package/css/layers.css +2 -0
- package/css/theme.css +750 -124
- package/dist/op.css +16 -241
- package/dist/op.css.map +1 -1
- package/dist/opui.baseline-2023.css +9209 -0
- package/dist/opui.baseline-2023.css.map +1 -0
- package/dist/opui.baseline-2024.css +9209 -0
- package/dist/opui.baseline-2024.css.map +1 -0
- package/dist/opui.baseline-2025.css +9209 -0
- package/dist/opui.baseline-2025.css.map +1 -0
- package/dist/opui.baseline-2026.css +9209 -0
- package/dist/opui.baseline-2026.css.map +1 -0
- package/dist/opui.components.css +7346 -5140
- package/dist/opui.components.css.map +1 -1
- package/dist/opui.css +8489 -6128
- package/dist/opui.css.map +1 -1
- package/dist/opui.no-compat.css +9182 -0
- package/dist/opui.no-compat.css.map +1 -0
- package/env.d.ts +17 -14
- package/open-props.css +15 -6
- package/package.json +136 -90
- package/react/elements.ts +13 -0
- package/react/index.ts +176 -0
- package/skills/opui/SKILL.md +75 -0
- package/skills/opui/references/accordion.md +253 -0
- package/skills/opui/references/anchor.md +213 -0
- package/skills/opui/references/avatar.md +202 -0
- package/skills/opui/references/badge.md +199 -0
- package/skills/opui/references/button-group.md +239 -0
- package/skills/opui/references/button.md +242 -0
- package/skills/opui/references/callout.md +221 -0
- package/skills/opui/references/card.md +222 -0
- package/skills/opui/references/carousel.md +269 -0
- package/skills/opui/references/checkbox.md +241 -0
- package/skills/opui/references/chip.md +135 -0
- package/skills/opui/references/customizing.md +85 -0
- package/skills/opui/references/description-list.md +191 -0
- package/skills/opui/references/dialog.md +301 -0
- package/skills/opui/references/divider.md +112 -0
- package/skills/opui/references/drawer.md +802 -0
- package/skills/opui/references/form.md +260 -0
- package/skills/opui/references/getting-started.md +398 -0
- package/skills/opui/references/index.md +89 -0
- package/skills/opui/references/layout.md +161 -0
- package/skills/opui/references/list.md +216 -0
- package/skills/opui/references/menu.md +248 -0
- package/skills/opui/references/progress.md +114 -0
- package/skills/opui/references/radio.md +234 -0
- package/skills/opui/references/range.md +150 -0
- package/skills/opui/references/select.md +255 -0
- package/skills/opui/references/spinner.md +85 -0
- package/skills/opui/references/switch.md +223 -0
- package/skills/opui/references/table.md +480 -0
- package/skills/opui/references/tabs.md +257 -0
- package/skills/opui/references/text-field.md +167 -0
- package/skills/opui/references/textarea.md +169 -0
- package/skills/opui/references/theming.md +278 -0
- package/skills/opui/references/toggle.md +222 -0
- package/skills/opui/references/tooltip.md +167 -0
- package/skills/opui/references/typography.md +159 -0
- package/svelte/elements.ts +7 -0
- package/svelte/index.ts +177 -0
- package/themes/bootstrap.css +223 -0
- package/themes/brutalist.css +105 -0
- package/themes/m3.css +152 -0
- package/themes/shadcn.css +125 -0
- package/tokens.json +3729 -0
- package/vue/index.ts +175 -54
- package/components/AGENTS.md +0 -247
- package/components/Accordion/types.d.vue.ts +0 -15
- package/components/Accordion/types.solid.ts +0 -6
- package/components/Anchor/types.d.vue.ts +0 -10
- package/components/Anchor/types.solid.ts +0 -6
- package/components/Avatar/types.d.vue.ts +0 -12
- package/components/Avatar/types.solid.ts +0 -11
- package/components/Badge/types.d.vue.ts +0 -10
- package/components/Badge/types.solid.ts +0 -4
- package/components/Button/types.d.vue.ts +0 -10
- package/components/Button/types.solid.ts +0 -8
- package/components/ButtonGroup/types.d.vue.ts +0 -10
- package/components/ButtonGroup/types.solid.ts +0 -4
- package/components/Callout/types.d.vue.ts +0 -10
- package/components/Callout/types.solid.ts +0 -6
- package/components/Card/types.d.vue.ts +0 -10
- package/components/Card/types.solid.ts +0 -6
- package/components/Checkbox/types.d.vue.ts +0 -11
- package/components/Checkbox/types.solid.ts +0 -9
- package/components/Chip/types.d.vue.ts +0 -10
- package/components/Chip/types.solid.ts +0 -10
- package/components/ClassicSelect/ClassicSelect.astro +0 -60
- package/components/ClassicSelect/ClassicSelect.vue +0 -54
- package/components/ClassicSelect/types.astro.ts +0 -8
- package/components/ClassicSelect/types.d.vue.ts +0 -10
- package/components/ClassicSelect/types.solid.ts +0 -5
- package/components/ClassicSelect/types.svelte.ts +0 -5
- package/components/ClassicSelect/types.ts +0 -15
- package/components/DescriptionList/Description.astro +0 -9
- package/components/DescriptionList/Item.astro +0 -9
- package/components/DescriptionList/Term.astro +0 -9
- package/components/DescriptionList/index.ts +0 -12
- package/components/DescriptionList/types.d.vue.ts +0 -10
- package/components/DescriptionList/types.solid.ts +0 -4
- package/components/Dialog/types.d.vue.ts +0 -10
- package/components/Dialog/types.solid.ts +0 -8
- package/components/Divider/types.d.vue.ts +0 -6
- package/components/Divider/types.solid.ts +0 -4
- package/components/Drawer/types.d.vue.ts +0 -31
- package/components/Drawer/types.solid.ts +0 -12
- package/components/FieldDescription/types.d.vue.ts +0 -10
- package/components/FieldDescription/types.solid.ts +0 -5
- package/components/FieldGroup/types.d.vue.ts +0 -12
- package/components/FieldGroup/types.solid.ts +0 -5
- package/components/FieldLegend/types.d.vue.ts +0 -11
- package/components/FieldLegend/types.solid.ts +0 -5
- package/components/FieldSet/FieldSet.vue +0 -18
- package/components/FieldSet/types.d.vue.ts +0 -11
- package/components/FieldSet/types.solid.ts +0 -5
- package/components/FieldSet/types.svelte.ts +0 -8
- package/components/FieldSet/types.ts +0 -5
- package/components/Form/types.d.vue.ts +0 -11
- package/components/Form/types.solid.ts +0 -5
- package/components/IconButton/IconButton.astro +0 -24
- package/components/IconButton/IconButton.vue +0 -24
- package/components/IconButton/types.astro.ts +0 -6
- package/components/IconButton/types.d.vue.ts +0 -10
- package/components/IconButton/types.solid.ts +0 -8
- package/components/IconButton/types.svelte.ts +0 -6
- package/components/IconButton/types.ts +0 -16
- package/components/List/types.d.vue.ts +0 -10
- package/components/List/types.solid.ts +0 -4
- package/components/ListItem/types.d.vue.ts +0 -10
- package/components/ListItem/types.solid.ts +0 -12
- package/components/Progress/types.d.vue.ts +0 -10
- package/components/Progress/types.solid.ts +0 -4
- package/components/Radio/types.d.vue.ts +0 -11
- package/components/Radio/types.solid.ts +0 -9
- package/components/Range/types.d.vue.ts +0 -14
- package/components/Range/types.solid.ts +0 -6
- package/components/Select/types.d.vue.ts +0 -17
- package/components/Select/types.solid.ts +0 -6
- package/components/Switch/types.d.vue.ts +0 -13
- package/components/Switch/types.solid.ts +0 -9
- package/components/Table/Body.astro +0 -11
- package/components/Table/Body.vue +0 -5
- package/components/Table/Cell.astro +0 -11
- package/components/Table/Cell.vue +0 -5
- package/components/Table/Column.astro +0 -12
- package/components/Table/Column.vue +0 -19
- package/components/Table/ColumnGroup.astro +0 -11
- package/components/Table/ColumnGroup.vue +0 -5
- package/components/Table/Head.astro +0 -11
- package/components/Table/Head.vue +0 -5
- package/components/Table/HeaderCell.astro +0 -11
- package/components/Table/HeaderCell.vue +0 -5
- package/components/Table/Row.astro +0 -11
- package/components/Table/Row.vue +0 -5
- package/components/Table/index.ts +0 -20
- package/components/Table/types.d.vue.ts +0 -10
- package/components/Table/types.solid.ts +0 -8
- package/components/Tabs/TabsTab.astro +0 -15
- package/components/Tabs/TabsTab.vue +0 -24
- package/components/Tabs/index.ts +0 -14
- package/components/Tabs/types.d.vue.ts +0 -31
- package/components/Tabs/types.solid.ts +0 -12
- package/components/TextField/types.d.vue.ts +0 -20
- package/components/TextField/types.solid.ts +0 -22
- package/components/Textarea/types.d.vue.ts +0 -19
- package/components/Textarea/types.solid.ts +0 -6
- package/components/Toast/Toast.astro +0 -42
- package/components/Toast/Toast.vue +0 -48
- package/components/ToggleButton/types.d.vue.ts +0 -10
- package/components/ToggleButton/types.solid.ts +0 -7
- package/components/ToggleGroup/types.d.vue.ts +0 -15
- package/components/ToggleGroup/types.solid.ts +0 -4
- package/components/Tooltip/types.d.vue.ts +0 -10
- package/components/Tooltip/types.solid.ts +0 -6
- package/css/components/icon-button.css +0 -139
- package/css/components/text-input.css +0 -68
- package/css/components/toast.css +0 -157
- package/css/js/toast.js +0 -94
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Range
|
|
2
|
+
|
|
3
|
+
Range lets users pick a number by sliding a thumb along a track.
|
|
4
|
+
|
|
5
|
+
- CSS: `opui-css/css/components/range.css`.
|
|
6
|
+
- Full docs with every example: [HTML](https://open-props-ui.netlify.app/html/components/range.md), [Astro](https://open-props-ui.netlify.app/astro/components/range.md), [React](https://open-props-ui.netlify.app/react/components/range.md), [Svelte](https://open-props-ui.netlify.app/svelte/components/range.md), [Vue](https://open-props-ui.netlify.app/vue/components/range.md).
|
|
7
|
+
|
|
8
|
+
## Range
|
|
9
|
+
|
|
10
|
+
### Parts
|
|
11
|
+
|
|
12
|
+
- `label.ui-range` (root): Container element.
|
|
13
|
+
- `.ui-label` (prop `label`, slot `label`): The label for the range.
|
|
14
|
+
- `<output>` (prop `valueSuffix`, slot `value-text`): Shows the current value, with an optional `valueSuffix`.
|
|
15
|
+
- `.ui-start-text` (prop `startText`, slot `start-text`): Description text displayed above the input.
|
|
16
|
+
- `<input>` (model): The range input.
|
|
17
|
+
- `<datalist>` (prop `items`, prop `list`, slot `datalist`): Tick marks and their labels, under the input.
|
|
18
|
+
- `.ui-end-text` (prop `endText`, slot `end-text`): Supporting text displayed below the input.
|
|
19
|
+
|
|
20
|
+
### Props and modifiers
|
|
21
|
+
|
|
22
|
+
- `disabled`: `boolean`, `input[disabled]`. Dims the slider and blocks input.
|
|
23
|
+
- `error`: `boolean`, `input[aria-invalid="true"]`. Marks the control invalid and shows error styles.
|
|
24
|
+
- `hideLabel`: `boolean`, `.ui-range > span.ui-sr-only`. Visually hides the label, `.ui-sr-only` instead of `.ui-label`. The field keeps it as its accessible name.
|
|
25
|
+
- `id`: `string`. The id of the `<input>`. Generated when omitted and the value is shown.
|
|
26
|
+
- `items`: `RangeItem[]`. Tick marks, rendered as `<option>` elements in a `<datalist>`. Each is a value, or a `{ label, value }` object for a labeled tick.
|
|
27
|
+
- `list`: `string`. The id of the `<datalist>`. Generated when `items` or the `datalist` slot is used.
|
|
28
|
+
- `name`: `string`. The name of the `<input>`. Inside a `FieldGroup`, the group's `name` applies.
|
|
29
|
+
- `size`: `"large"` (`.ui-large`), `"medium"` (default), `"small"` (`.ui-small`), `"x-small"` (`.ui-x-small`). The size of the element.
|
|
30
|
+
- `spread`: `boolean`, `.ui-spread`. Pushes the label and start text to one side and the input to the other.
|
|
31
|
+
- `value`: `number | string`. The current value.
|
|
32
|
+
- `valueSuffix`: `string`. Text after the shown value, such as `%`. Setting it shows the current value in an `<output>`.
|
|
33
|
+
- `variant`: `"filled"` (`.ui-filled`), `"outlined"` (default), `"tonal"` (`.ui-tonal`). The variant to use. The default `outlined` track uses `--ui-track-bg-color`, or the field border color when the theme doesn't set it.
|
|
34
|
+
|
|
35
|
+
Model: `value` (`number | string`), the current value. Astro and React `value`, Svelte `bind:value`, Vue `v-model`.
|
|
36
|
+
|
|
37
|
+
### Notes
|
|
38
|
+
|
|
39
|
+
- HTML: Add a `<datalist aria-hidden="true">` after the input for tick marks.
|
|
40
|
+
- Astro, Svelte and Vue: Attributes that aren't props go to the `<input>`, like `max`, `min` and `step`, and `class` and `style` go to the root `<label>`.
|
|
41
|
+
- React: Attributes that aren't props go to the `<input>`, like `max`, `min` and `step`, and `className` and `style` go to the root `<label>`. Set `defaultValue` for the starting value. `value` makes it controlled, so update it in `onChange`.
|
|
42
|
+
|
|
43
|
+
## Component properties
|
|
44
|
+
|
|
45
|
+
Set inputs on the component, inline or in your CSS. Outputs follow the variant and state, so never override them.
|
|
46
|
+
|
|
47
|
+
### range.css
|
|
48
|
+
|
|
49
|
+
- `--_accent`: Color of the thumb, its ring and the track fill. Defaults to `--ui-choice-accent`, or `--ui-primary` when the theme doesn't set it, and is set by the invalid state.
|
|
50
|
+
- `--_ease`: Easing of the thumb ring transition and focus ring. Defaults to `--ui-ease`.
|
|
51
|
+
- `--_motion`: Motion multiplier for the thumb highlight and focus ring. `0` turns them off.
|
|
52
|
+
- `--_thumb-border-width`: Width of the page-colored ring between the thumb and the track. Set on the `<input>`.
|
|
53
|
+
- `--_thumb-size`: Width and height of the thumb. Set by the sizes, and larger on touch screens at the default size.
|
|
54
|
+
- `--_track-base-bg-color`: Color of the empty track at rest. `--ui-track-bg-color` when the theme sets it, otherwise the field border, and `--ui-surface` under more contrast; set by `.ui-filled` and `.ui-tonal`.
|
|
55
|
+
- `--_track-block-size`: Height of the track. Set by the sizes.
|
|
56
|
+
- `--_track-radius`: Corner radius of the track.
|
|
57
|
+
|
|
58
|
+
Outputs: `--_duration`, `--_focus-ring-duration`, `--_forced-fill-bg-color`, `--_forced-track-bg-color`, `--_inset`, `--_thumb-bg-color`, `--_thumb-highlight-bg-color`, `--_thumb-highlight-size`, `--_thumb-offset`, `--_track-bg-color`, `--_track-fill-bg-color` and `--_track-fill-fraction`.
|
|
59
|
+
|
|
60
|
+
## Theme tokens
|
|
61
|
+
|
|
62
|
+
The stylesheets read `--ui-border-width`, `--ui-choice-accent`, `--ui-control-accent`, `--ui-disabled-opacity`, `--ui-duration`, `--ui-duration-fast`, `--ui-ease`, `--ui-field-border-color`, `--ui-field-helper-font-size`, `--ui-field-helper-line-height`, `--ui-field-helper-text-color`, `--ui-field-label-font-size`, `--ui-field-label-font-weight`, `--ui-field-label-text-color`, `--ui-focus-ring-offset`, `--ui-font-weight-semibold`, `--ui-invalid`, `--ui-invalid-text`, `--ui-motion`, `--ui-primary`, `--ui-radius-round`, `--ui-space-1`, `--ui-space-2`, `--ui-space-4`, `--ui-state-active-alpha-dark`, `--ui-state-active-alpha-light`, `--ui-surface`, `--ui-surface-filled`, `--ui-surface-tonal`, `--ui-text-strong` and `--ui-track-bg-color`. `theming.md` and `tokens.json` describe them.
|
|
63
|
+
|
|
64
|
+
## HTML
|
|
65
|
+
|
|
66
|
+
### Example: Basics
|
|
67
|
+
|
|
68
|
+
```html
|
|
69
|
+
<label class="ui-range">
|
|
70
|
+
<span class="ui-label" id="range-basics-1-label">Label</span>
|
|
71
|
+
<span class="ui-start-text" id="range-basics-1-start-text">Min</span>
|
|
72
|
+
<input
|
|
73
|
+
aria-describedby="range-basics-1-start-text"
|
|
74
|
+
aria-labelledby="range-basics-1-label"
|
|
75
|
+
type="range"
|
|
76
|
+
/>
|
|
77
|
+
</label>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Astro
|
|
81
|
+
|
|
82
|
+
`import { Range } from "opui-css/astro"`
|
|
83
|
+
|
|
84
|
+
- `Range` named slots: `datalist`, `end-text`, `label`, `start-text` and `value-text`. Fill one with `slot="datalist"` on a child.
|
|
85
|
+
|
|
86
|
+
### Example: Basics
|
|
87
|
+
|
|
88
|
+
```astro
|
|
89
|
+
---
|
|
90
|
+
import { Range } from "opui-css/astro"
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
<Range label="Label" startText="Min" />
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## React
|
|
97
|
+
|
|
98
|
+
`import { Range } from "opui-css/react"`
|
|
99
|
+
|
|
100
|
+
- `Range` slot props (`ReactNode`): `datalist`, `endText`, `label`, `startText` and `valueText`.
|
|
101
|
+
- Client components (`"use client"`): `Range`.
|
|
102
|
+
- Hydration: `valueSuffix` and `valueText` on `Range`. The value `<output>` renders once and only follows the thumb after hydration. The track fill is CSS, so it works. Without hydration: Update the `<output>` text on `input` yourself, or add `data-live` to it and call `initRange()` from `opui-css/css/js/range.js`.
|
|
103
|
+
|
|
104
|
+
### Example: Basics
|
|
105
|
+
|
|
106
|
+
```tsx
|
|
107
|
+
import { Range } from "opui-css/react"
|
|
108
|
+
|
|
109
|
+
export default function Basics() {
|
|
110
|
+
return <Range label="Label" startText="Min" />
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Svelte
|
|
115
|
+
|
|
116
|
+
`import { Range } from "opui-css/svelte"`
|
|
117
|
+
|
|
118
|
+
- `Range` slot snippets: `datalist`, `endText`, `label`, `startText` and `valueText`.
|
|
119
|
+
- Hydration: `bind:value` on `Range`. The bound value only updates on the client. The native control still changes and submits with its form. Without hydration: Read the value from the form instead.
|
|
120
|
+
- Hydration: `valueSuffix` and `valueText` on `Range`. The value `<output>` renders once and only follows the thumb after hydration. The track fill is CSS, so it works. Without hydration: Update the `<output>` text on `input` yourself, or add `data-live` to it and call `initRange()` from `opui-css/css/js/range.js`.
|
|
121
|
+
|
|
122
|
+
### Example: Basics
|
|
123
|
+
|
|
124
|
+
```svelte
|
|
125
|
+
<script lang="ts">
|
|
126
|
+
import { Range } from "opui-css/svelte"
|
|
127
|
+
</script>
|
|
128
|
+
|
|
129
|
+
<Range label="Label" startText="Min" />
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Vue
|
|
133
|
+
|
|
134
|
+
`import { Range } from "opui-css/vue"`
|
|
135
|
+
|
|
136
|
+
- `Range` named slots: `datalist`, `end-text`, `label`, `start-text` and `value-text`. Fill one with `<template #datalist>`.
|
|
137
|
+
- Hydration: `v-model` on `Range`. The bound value only updates on the client. The native control still changes and submits with its form. Without hydration: Read the value from the form instead.
|
|
138
|
+
- Hydration: `valueSuffix` on `Range`. The value `<output>` renders once and only follows the thumb after hydration. The track fill is CSS, so it works. Without hydration: Update the `<output>` text on `input` yourself, or add `data-live` to it and call `initRange()` from `opui-css/css/js/range.js`.
|
|
139
|
+
|
|
140
|
+
### Example: Basics
|
|
141
|
+
|
|
142
|
+
```vue
|
|
143
|
+
<script setup lang="ts">
|
|
144
|
+
import { Range } from "opui-css/vue"
|
|
145
|
+
</script>
|
|
146
|
+
|
|
147
|
+
<template>
|
|
148
|
+
<Range label="Label" startText="Min" />
|
|
149
|
+
</template>
|
|
150
|
+
```
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
# Select
|
|
2
|
+
|
|
3
|
+
Leverages the List component to provide markup for the Select popover. Use a Select to pick a value in a form. For actions, use a Menu.
|
|
4
|
+
|
|
5
|
+
- CSS: `opui-css/css/components/text-field.css`, `opui-css/css/components/select.css` and `opui-css/css/components/list.css`.
|
|
6
|
+
- Full docs with every example: [HTML](https://open-props-ui.netlify.app/html/components/select.md), [Astro](https://open-props-ui.netlify.app/astro/components/select.md), [React](https://open-props-ui.netlify.app/react/components/select.md), [Svelte](https://open-props-ui.netlify.app/svelte/components/select.md), [Vue](https://open-props-ui.netlify.app/vue/components/select.md).
|
|
7
|
+
|
|
8
|
+
## Select
|
|
9
|
+
|
|
10
|
+
### Parts
|
|
11
|
+
|
|
12
|
+
- `label.ui-select` (root): Container element.
|
|
13
|
+
- `.ui-label` (prop `label`, slot `label`): The label for the field.
|
|
14
|
+
- `.ui-start-text` (prop `startText`, slot `start-text`): Start text displayed above the field.
|
|
15
|
+
- `.ui-field`: The boxed select area.
|
|
16
|
+
- `.ui-field > .ui-top` (slot `top`): Content above the select, inside the border, with a divider.
|
|
17
|
+
- `.ui-field > .ui-start` (slot `start`): Content at the inline-start of the field, inside the border.
|
|
18
|
+
- `<select>` (model): The select. Its options are in a popover list.
|
|
19
|
+
- `.ui-field > .ui-end` (slot `end`): Content at the inline-end of the field, inside the border.
|
|
20
|
+
- `.ui-field > .ui-bottom` (slot `bottom`): Content below the select, inside the border, with a divider.
|
|
21
|
+
- `.ui-end-text` (prop `endText`, slot `end-text`): Supporting text displayed below the field.
|
|
22
|
+
|
|
23
|
+
### Props and modifiers
|
|
24
|
+
|
|
25
|
+
- `autoFit`: `boolean`, `.ui-auto-fit`. Lets the width follow the selected option, from `25ch`.
|
|
26
|
+
- `dense`: `boolean`, `.ui-list.ui-dense`. Packs the items tighter.
|
|
27
|
+
- `disabled`: `boolean`, `select[disabled]`. Dims the select and blocks input.
|
|
28
|
+
- `error`: `boolean`, `select[aria-invalid="true"]`. Marks the control invalid and shows error styles.
|
|
29
|
+
- `hideLabel`: `boolean`, `.ui-select > span.ui-sr-only`. Visually hides the label, `.ui-sr-only` instead of `.ui-label`. The field keeps it as its accessible name.
|
|
30
|
+
- `id`: `string`. The id of the `<select>`.
|
|
31
|
+
- `items`: `SelectItem[]`, default `[]`. The options, as `{ label, selected, value }` objects.
|
|
32
|
+
- `name`: `string`. The name of the `<select>`. Inside a `FieldGroup`, the group's `name` applies.
|
|
33
|
+
- `required`: `boolean`, `select[required]`. Adds a required mark after the label. The form won't submit until an option with a value is selected.
|
|
34
|
+
- `size`: `"large"` (`.ui-large`), `"medium"` (default), `"small"` (`.ui-small`), `"x-small"` (`.ui-x-small`). The size of the element.
|
|
35
|
+
- `spread`: `boolean`, `.ui-spread`. Pushes the label and start text to one side and the select to the other.
|
|
36
|
+
- `variant`: `"filled"` (`.ui-filled`), `"outlined"` (default). The variant to use.
|
|
37
|
+
|
|
38
|
+
### Slots
|
|
39
|
+
|
|
40
|
+
- `default`: Extra `<option>` and `<optgroup>` elements.
|
|
41
|
+
|
|
42
|
+
Model: `value` (`string | number | (string | number)[]`), the selected value, or values with `multiple`. Astro and React `value`, Svelte `bind:value`, Vue `v-model`.
|
|
43
|
+
|
|
44
|
+
### Notes
|
|
45
|
+
|
|
46
|
+
- HTML: The `<select>` holds a `<button>` and a `.ui-list`. The button holds `<selectedcontent>`. The list holds the options. Browsers without customizable selects show a native select.
|
|
47
|
+
- Astro, Svelte and Vue: Attributes that aren't props go to the `<select>`, like `autocomplete` and `multiple`, and `class` and `style` go to the root `<label>`.
|
|
48
|
+
- React: Attributes that aren't props go to the `<select>`, like `autocomplete` and `multiple`, and `className` and `style` go to the root `<label>`.
|
|
49
|
+
|
|
50
|
+
## Component properties
|
|
51
|
+
|
|
52
|
+
Set inputs on the component, inline or in your CSS. Outputs follow the variant and state, so never override them.
|
|
53
|
+
|
|
54
|
+
### text-field.css
|
|
55
|
+
|
|
56
|
+
- `--_accent`: Border color of `.ui-field` when focused with a pointer; keyboard focus shows the focus ring instead. Defaults to `--ui-primary`, `--ui-invalid` when invalid.
|
|
57
|
+
- `--_arrow-inset`: Distance of the select arrow from the inline end.
|
|
58
|
+
- `--_chevron-image`: The select arrow, as an image used for a mask.
|
|
59
|
+
- `--_chevron-size`: Width and height of the select arrow.
|
|
60
|
+
- `--_ease`: Easing of the transitions. Defaults to `--ui-ease`.
|
|
61
|
+
- `--_field-padding-block`: The preferred block padding of the control. Set by the size classes.
|
|
62
|
+
- `--_field-padding-inline`: The inline padding of the control and affixes. `.ui-large` sets it.
|
|
63
|
+
- `--_font-size`: The font size of the control and affixes.
|
|
64
|
+
- `--_motion`: Motion multiplier for the transitions. `0` turns them off.
|
|
65
|
+
- `--_size`: The height of `.ui-field`, a minimum so a textarea can grow, and the width and height of a color field. Defaults to `--ui-field-size`, set by the size classes.
|
|
66
|
+
|
|
67
|
+
Outputs: `--_affix-text-color`, `--_arrow-padding`, `--_bg-color`, `--_border-color`, `--_duration`, `--_field-padding-block-fit` and `--_helper-text-color`.
|
|
68
|
+
|
|
69
|
+
### select.css
|
|
70
|
+
|
|
71
|
+
- `--_bg-color`: Background of the picker's `.ui-list`. Set it on the `.ui-list`; on the root it is the field background. Defaults to `--ui-surface-elevated`, like `Menu`.
|
|
72
|
+
|
|
73
|
+
### list.css
|
|
74
|
+
|
|
75
|
+
- `--_bg-color`: Background of the list and its items. Defaults to `--ui-surface-filled`, `.ui-transparent` and `.ui-tonal` set it.
|
|
76
|
+
- `--_description-text-color`: Text color of the description paragraph in an item. `--ui-text-subtle`, and `--ui-on-selected` on a selected or current row when a theme sets it.
|
|
77
|
+
- `--_divider-border-color`: Color of the lines between items in `.ui-bordered` and on `.ui-border-top`. Defaults to `--ui-border-color`, mixed with 20% `--ui-text-strong` in `.ui-tonal`.
|
|
78
|
+
- `--_hover-bg-color`: Background of hovered items, from `--ui-primary`.
|
|
79
|
+
- `--_item-gap`: Gap between the content of an item. Smaller in `.ui-dense`.
|
|
80
|
+
- `--_item-padding-inline`: Horizontal padding of items, headings and options. `--ui-list-item-padding-inline`, or `--ui-space-3` when a theme leaves it unset.
|
|
81
|
+
- `--_radius`: The corner radius of a `.ui-list`. Defaults to `--ui-radius`, and `0` when the list is a direct child of a `Card`, `Accordion` or `Dialog`, which round and clip it themselves.
|
|
82
|
+
- `--_selected-bg-color`: Background of selected and current items and options. `--ui-selected` when the theme sets it, otherwise `--ui-primary` at `--ui-state-active-alpha-accent`, stronger than `--_hover-bg-color`. With more contrast it is `--_hover-bg-color`, so the text keeps 7:1, and the bar marks the row.
|
|
83
|
+
- `--_selected-indicator-bg-color`: Color of the bar on the start edge of selected and current items and options, which marks them without relying on the fill. Defaults to `--ui-selected-strong`.
|
|
84
|
+
- `--_selected-indicator-size`: Width of the bar on selected and current items. Defaults to `--ui-border-width-thick`.
|
|
85
|
+
- `--_separator-gap`: Space around the lines between items in `.ui-bordered` and on `.ui-border-top`. Smaller in `.ui-dense`.
|
|
86
|
+
- `--_start-image-size`: Width of a square image in `.ui-start`.
|
|
87
|
+
- `--_start-size`: Maximum size of leading and trailing icons, and the indent of `.ui-inset` items. Smaller in `.ui-dense`.
|
|
88
|
+
- `--_start-video-size`: Height of a video in `.ui-start`, which keeps a 16:9 ratio.
|
|
89
|
+
|
|
90
|
+
Outputs: `--_selected-shadow`.
|
|
91
|
+
|
|
92
|
+
## Theme tokens
|
|
93
|
+
|
|
94
|
+
The stylesheets read `--ui-border-color`, `--ui-border-color-on-filled`, `--ui-border-color-on-raised`, `--ui-border-color-raised`, `--ui-border-width`, `--ui-border-width-thick`, `--ui-choice-size-small`, `--ui-control-size`, `--ui-control-size-small`, `--ui-disabled-opacity`, `--ui-duration`, `--ui-ease`, `--ui-field-bg-color`, `--ui-field-border-color`, `--ui-field-border-color-on-filled`, `--ui-field-border-color-on-raised`, `--ui-field-border-width`, `--ui-field-helper-font-size`, `--ui-field-helper-line-height`, `--ui-field-helper-text-color`, `--ui-field-label-font-size`, `--ui-field-label-font-weight`, `--ui-field-label-text-color`, `--ui-field-padding-inline`, `--ui-field-radius`, `--ui-field-required-text-color`, `--ui-field-size`, `--ui-field-size-large`, `--ui-field-size-small`, `--ui-field-size-x-small`, `--ui-focus-ring-color`, `--ui-focus-ring-inset`, `--ui-focus-ring-offset`, `--ui-focus-ring-style`, `--ui-focus-ring-width`, `--ui-font-body`, `--ui-font-code`, `--ui-font-size-caption`, `--ui-font-size-control`, `--ui-font-size-small`, `--ui-font-weight-medium`, `--ui-font-weight-normal`, `--ui-icon-size`, `--ui-icon-size-small`, `--ui-invalid`, `--ui-invalid-text`, `--ui-line-height`, `--ui-line-height-control`, `--ui-line-height-tight`, `--ui-list-item-padding-inline`, `--ui-motion`, `--ui-on-selected`, `--ui-primary`, `--ui-primary-text`, `--ui-radius`, `--ui-selected`, `--ui-selected-strong`, `--ui-shadow-control`, `--ui-shadow-field`, `--ui-shadow-overlay`, `--ui-space-1`, `--ui-space-2`, `--ui-space-3`, `--ui-space-4`, `--ui-space-6`, `--ui-state-active-alpha-accent`, `--ui-state-hover-alpha-accent`, `--ui-surface`, `--ui-surface-elevated`, `--ui-surface-filled`, `--ui-surface-tonal`, `--ui-surface-tonal-hover`, `--ui-switch-thumb-size-small`, `--ui-switch-track-block-size-small`, `--ui-switch-track-inline-size-small`, `--ui-text`, `--ui-text-strong` and `--ui-text-subtle`. `theming.md` and `tokens.json` describe them.
|
|
95
|
+
|
|
96
|
+
## HTML
|
|
97
|
+
|
|
98
|
+
### Example: Variants
|
|
99
|
+
|
|
100
|
+
```html
|
|
101
|
+
<label class="ui-select">
|
|
102
|
+
<span class="ui-label" id="select-variants-1-label">Label</span>
|
|
103
|
+
<span class="ui-field">
|
|
104
|
+
<select aria-labelledby="select-variants-1-label">
|
|
105
|
+
<button>
|
|
106
|
+
<selectedcontent></selectedcontent>
|
|
107
|
+
</button>
|
|
108
|
+
<div class="ui-list">
|
|
109
|
+
<option value="">-</option>
|
|
110
|
+
<option>Outlined (default)</option>
|
|
111
|
+
<option>Option Two</option>
|
|
112
|
+
<option>Option Three</option>
|
|
113
|
+
</div>
|
|
114
|
+
</select>
|
|
115
|
+
</span>
|
|
116
|
+
</label>
|
|
117
|
+
|
|
118
|
+
<label class="ui-select ui-filled">
|
|
119
|
+
<span class="ui-label" id="select-variants-2-label">Label</span>
|
|
120
|
+
<span class="ui-field">
|
|
121
|
+
<select aria-labelledby="select-variants-2-label">
|
|
122
|
+
<button>
|
|
123
|
+
<selectedcontent></selectedcontent>
|
|
124
|
+
</button>
|
|
125
|
+
<div class="ui-list">
|
|
126
|
+
<option value="">-</option>
|
|
127
|
+
<option>Filled</option>
|
|
128
|
+
<option>Option Two</option>
|
|
129
|
+
<option>Option Three</option>
|
|
130
|
+
</div>
|
|
131
|
+
</select>
|
|
132
|
+
</span>
|
|
133
|
+
</label>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Astro
|
|
137
|
+
|
|
138
|
+
`import { Select } from "opui-css/astro"`
|
|
139
|
+
|
|
140
|
+
- `Select` named slots: `bottom`, `end`, `end-text`, `label`, `start`, `start-text` and `top`. Fill one with `slot="bottom"` on a child.
|
|
141
|
+
|
|
142
|
+
### Example: Variants
|
|
143
|
+
|
|
144
|
+
```astro
|
|
145
|
+
---
|
|
146
|
+
import { Select } from "opui-css/astro"
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
<Select label="Label">
|
|
150
|
+
<option value="">-</option>
|
|
151
|
+
<option>Outlined (default)</option>
|
|
152
|
+
<option>Option Two</option>
|
|
153
|
+
<option>Option Three</option>
|
|
154
|
+
</Select>
|
|
155
|
+
|
|
156
|
+
<Select label="Label" variant="filled">
|
|
157
|
+
<option value="">-</option>
|
|
158
|
+
<option>Filled</option>
|
|
159
|
+
<option>Option Two</option>
|
|
160
|
+
<option>Option Three</option>
|
|
161
|
+
</Select>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## React
|
|
165
|
+
|
|
166
|
+
`import { Select } from "opui-css/react"`
|
|
167
|
+
|
|
168
|
+
- `Select` slot props (`ReactNode`): `bottom`, `children`, `end`, `endText`, `label`, `start`, `startText` and `top`.
|
|
169
|
+
- Client components (`"use client"`): `Select`.
|
|
170
|
+
|
|
171
|
+
### Example: Variants
|
|
172
|
+
|
|
173
|
+
```tsx
|
|
174
|
+
import { Select } from "opui-css/react"
|
|
175
|
+
|
|
176
|
+
export default function Variants() {
|
|
177
|
+
return (
|
|
178
|
+
<>
|
|
179
|
+
<Select label="Label">
|
|
180
|
+
<option value="">-</option>
|
|
181
|
+
<option>Outlined (default)</option>
|
|
182
|
+
<option>Option Two</option>
|
|
183
|
+
<option>Option Three</option>
|
|
184
|
+
</Select>
|
|
185
|
+
|
|
186
|
+
<Select label="Label" variant="filled">
|
|
187
|
+
<option value="">-</option>
|
|
188
|
+
<option>Filled</option>
|
|
189
|
+
<option>Option Two</option>
|
|
190
|
+
<option>Option Three</option>
|
|
191
|
+
</Select>
|
|
192
|
+
</>
|
|
193
|
+
)
|
|
194
|
+
}
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Svelte
|
|
198
|
+
|
|
199
|
+
`import { Select } from "opui-css/svelte"`
|
|
200
|
+
|
|
201
|
+
- `Select` slot snippets: `bottom`, `children`, `end`, `endText`, `label`, `start`, `startText` and `top`.
|
|
202
|
+
- Hydration: `bind:value` on `Select`. The bound value only updates on the client. The native control still changes and submits with its form. Without hydration: Read the value from the form instead.
|
|
203
|
+
|
|
204
|
+
### Example: Variants
|
|
205
|
+
|
|
206
|
+
```svelte
|
|
207
|
+
<script lang="ts">
|
|
208
|
+
import { Select } from "opui-css/svelte"
|
|
209
|
+
</script>
|
|
210
|
+
|
|
211
|
+
<Select label="Label">
|
|
212
|
+
<option value="">-</option>
|
|
213
|
+
<option>Outlined (default)</option>
|
|
214
|
+
<option>Option Two</option>
|
|
215
|
+
<option>Option Three</option>
|
|
216
|
+
</Select>
|
|
217
|
+
|
|
218
|
+
<Select label="Label" variant="filled">
|
|
219
|
+
<option value="">-</option>
|
|
220
|
+
<option>Filled</option>
|
|
221
|
+
<option>Option Two</option>
|
|
222
|
+
<option>Option Three</option>
|
|
223
|
+
</Select>
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## Vue
|
|
227
|
+
|
|
228
|
+
`import { Select } from "opui-css/vue"`
|
|
229
|
+
|
|
230
|
+
- `Select` named slots: `bottom`, `end`, `end-text`, `label`, `start`, `start-text` and `top`. Fill one with `<template #bottom>`.
|
|
231
|
+
- Hydration: `v-model` on `Select`. The bound value only updates on the client. The native control still changes and submits with its form. Without hydration: Read the value from the form instead.
|
|
232
|
+
|
|
233
|
+
### Example: Variants
|
|
234
|
+
|
|
235
|
+
```vue
|
|
236
|
+
<script setup lang="ts">
|
|
237
|
+
import { Select } from "opui-css/vue"
|
|
238
|
+
</script>
|
|
239
|
+
|
|
240
|
+
<template>
|
|
241
|
+
<Select label="Label">
|
|
242
|
+
<option value="">-</option>
|
|
243
|
+
<option>Outlined (default)</option>
|
|
244
|
+
<option>Option Two</option>
|
|
245
|
+
<option>Option Three</option>
|
|
246
|
+
</Select>
|
|
247
|
+
|
|
248
|
+
<Select label="Label" variant="filled">
|
|
249
|
+
<option value="">-</option>
|
|
250
|
+
<option>Filled</option>
|
|
251
|
+
<option>Option Two</option>
|
|
252
|
+
<option>Option Three</option>
|
|
253
|
+
</Select>
|
|
254
|
+
</template>
|
|
255
|
+
```
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Spinner
|
|
2
|
+
|
|
3
|
+
Add it to an element with aria-busy="true". Spinners are always indeterminate. See also: Progress bar.
|
|
4
|
+
|
|
5
|
+
- CSS: `opui-css/css/components/spinner.css`.
|
|
6
|
+
- Full docs with every example: [HTML](https://open-props-ui.netlify.app/html/components/spinner.md), [Astro](https://open-props-ui.netlify.app/astro/components/spinner.md), [React](https://open-props-ui.netlify.app/react/components/spinner.md), [Svelte](https://open-props-ui.netlify.app/svelte/components/spinner.md), [Vue](https://open-props-ui.netlify.app/vue/components/spinner.md).
|
|
7
|
+
|
|
8
|
+
## Spinner (CSS only)
|
|
9
|
+
|
|
10
|
+
### Parts
|
|
11
|
+
|
|
12
|
+
- `[aria-busy="true"]` (root): Renders a spinner pseudo-element on the element. Always indeterminate.
|
|
13
|
+
|
|
14
|
+
### Classes
|
|
15
|
+
|
|
16
|
+
- Sizes: `font-size`, default `1em`. Spinner size follows the element's computed font size.
|
|
17
|
+
|
|
18
|
+
### Notes
|
|
19
|
+
|
|
20
|
+
- HTML: These never show a spinner: `<html>`, `<input>`, `<progress>`, `<select>` and `<textarea>`. Neither do elements with `aria-describedby`, except buttons and links.
|
|
21
|
+
- Astro, React, Svelte and Vue: Set `aria-busy="true"` on any element to show a spinner.
|
|
22
|
+
|
|
23
|
+
## Component properties
|
|
24
|
+
|
|
25
|
+
Set inputs on the component, inline or in your CSS. Outputs follow the variant and state, so never override them.
|
|
26
|
+
|
|
27
|
+
### spinner.css
|
|
28
|
+
|
|
29
|
+
- `--_motion`: Motion multiplier for the spin. `0` slows it down instead of stopping it.
|
|
30
|
+
|
|
31
|
+
## Theme tokens
|
|
32
|
+
|
|
33
|
+
The stylesheets read `--ui-border-width-thick` and `--ui-motion`. `theming.md` and `tokens.json` describe them.
|
|
34
|
+
|
|
35
|
+
## HTML
|
|
36
|
+
|
|
37
|
+
### Example: Basics
|
|
38
|
+
|
|
39
|
+
```html
|
|
40
|
+
<div aria-busy="true">Loading…</div>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Astro
|
|
44
|
+
|
|
45
|
+
There is no Astro component. Use the classes in your markup.
|
|
46
|
+
|
|
47
|
+
### Example: Basics
|
|
48
|
+
|
|
49
|
+
```astro
|
|
50
|
+
<div aria-busy="true">Loading…</div>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## React
|
|
54
|
+
|
|
55
|
+
There is no React component. Use the classes in your markup.
|
|
56
|
+
|
|
57
|
+
### Example: Basics
|
|
58
|
+
|
|
59
|
+
```tsx
|
|
60
|
+
export default function Basics() {
|
|
61
|
+
return <div aria-busy="true">Loading…</div>
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Svelte
|
|
66
|
+
|
|
67
|
+
There is no Svelte component. Use the classes in your markup.
|
|
68
|
+
|
|
69
|
+
### Example: Basics
|
|
70
|
+
|
|
71
|
+
```svelte
|
|
72
|
+
<div aria-busy="true">Loading…</div>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Vue
|
|
76
|
+
|
|
77
|
+
There is no Vue component. Use the classes in your markup.
|
|
78
|
+
|
|
79
|
+
### Example: Basics
|
|
80
|
+
|
|
81
|
+
```vue
|
|
82
|
+
<template>
|
|
83
|
+
<div aria-busy="true">Loading…</div>
|
|
84
|
+
</template>
|
|
85
|
+
```
|