@misoto22/kioku-ui 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Alert/Alert.js +1 -0
- package/dist/AlertDialog/AlertDialog.d.ts +8 -0
- package/dist/AlertDialog/AlertDialog.doc.d.ts +11 -0
- package/dist/AlertDialog/AlertDialog.doc.js +30 -0
- package/dist/AlertDialog/AlertDialog.js +16 -0
- package/dist/AlertDialog/index.d.ts +1 -0
- package/dist/AlertDialog/index.js +2 -0
- package/dist/AppShell/AppShell.d.ts +19 -0
- package/dist/AppShell/AppShell.doc.d.ts +11 -0
- package/dist/AppShell/AppShell.doc.js +36 -0
- package/dist/AppShell/AppShell.js +61 -0
- package/dist/AppShell/index.d.ts +1 -0
- package/dist/AppShell/index.js +2 -0
- package/dist/AspectRatio/AspectRatio.d.ts +11 -0
- package/dist/AspectRatio/AspectRatio.doc.d.ts +11 -0
- package/dist/AspectRatio/AspectRatio.doc.js +15 -0
- package/dist/AspectRatio/AspectRatio.js +30 -0
- package/dist/AspectRatio/index.d.ts +1 -0
- package/dist/AspectRatio/index.js +2 -0
- package/dist/AsyncState/AsyncState.js +14 -1
- package/dist/Avatar/Avatar.d.ts +14 -0
- package/dist/Avatar/Avatar.doc.d.ts +11 -0
- package/dist/Avatar/Avatar.doc.js +18 -0
- package/dist/Avatar/Avatar.js +98 -0
- package/dist/Avatar/index.d.ts +1 -0
- package/dist/Avatar/index.js +2 -0
- package/dist/AvatarGroup/AvatarGroup.d.ts +20 -0
- package/dist/AvatarGroup/AvatarGroup.doc.d.ts +11 -0
- package/dist/AvatarGroup/AvatarGroup.doc.js +21 -0
- package/dist/AvatarGroup/AvatarGroup.js +99 -0
- package/dist/AvatarGroup/index.d.ts +1 -0
- package/dist/AvatarGroup/index.js +2 -0
- package/dist/Badge/Badge.js +1 -0
- package/dist/Banner/Banner.d.ts +14 -0
- package/dist/Banner/Banner.doc.d.ts +11 -0
- package/dist/Banner/Banner.doc.js +18 -0
- package/dist/Banner/Banner.js +85 -0
- package/dist/Banner/index.d.ts +1 -0
- package/dist/Banner/index.js +2 -0
- package/dist/Blockquote/Blockquote.d.ts +11 -0
- package/dist/Blockquote/Blockquote.doc.d.ts +11 -0
- package/dist/Blockquote/Blockquote.doc.js +15 -0
- package/dist/Blockquote/Blockquote.js +28 -0
- package/dist/Blockquote/index.d.ts +1 -0
- package/dist/Blockquote/index.js +2 -0
- package/dist/BottomSheet/BottomSheet.d.ts +13 -0
- package/dist/BottomSheet/BottomSheet.doc.d.ts +11 -0
- package/dist/BottomSheet/BottomSheet.doc.js +21 -0
- package/dist/BottomSheet/BottomSheet.js +68 -0
- package/dist/BottomSheet/index.d.ts +1 -0
- package/dist/BottomSheet/index.js +2 -0
- package/dist/BottomSheetSwitcher/BottomSheetSwitcher.d.ts +35 -0
- package/dist/BottomSheetSwitcher/BottomSheetSwitcher.doc.d.ts +11 -0
- package/dist/BottomSheetSwitcher/BottomSheetSwitcher.doc.js +30 -0
- package/dist/BottomSheetSwitcher/BottomSheetSwitcher.js +104 -0
- package/dist/BottomSheetSwitcher/index.d.ts +1 -0
- package/dist/BottomSheetSwitcher/index.js +2 -0
- package/dist/Box/Box.d.ts +53 -0
- package/dist/Box/Box.doc.d.ts +11 -0
- package/dist/Box/Box.doc.js +21 -0
- package/dist/Box/Box.js +120 -0
- package/dist/Box/index.d.ts +1 -0
- package/dist/Box/index.js +2 -0
- package/dist/Breadcrumbs/Breadcrumbs.d.ts +17 -0
- package/dist/Breadcrumbs/Breadcrumbs.doc.d.ts +11 -0
- package/dist/Breadcrumbs/Breadcrumbs.doc.js +18 -0
- package/dist/Breadcrumbs/Breadcrumbs.js +64 -0
- package/dist/Breadcrumbs/index.d.ts +1 -0
- package/dist/Breadcrumbs/index.js +2 -0
- package/dist/Button/Button.js +19 -8
- package/dist/ButtonGroup/ButtonGroup.d.ts +13 -0
- package/dist/ButtonGroup/ButtonGroup.doc.d.ts +11 -0
- package/dist/ButtonGroup/ButtonGroup.doc.js +18 -0
- package/dist/ButtonGroup/ButtonGroup.js +52 -0
- package/dist/ButtonGroup/index.d.ts +1 -0
- package/dist/ButtonGroup/index.js +2 -0
- package/dist/Calendar/Calendar.d.ts +27 -0
- package/dist/Calendar/Calendar.doc.d.ts +11 -0
- package/dist/Calendar/Calendar.doc.js +33 -0
- package/dist/Calendar/Calendar.js +307 -0
- package/dist/Calendar/index.d.ts +1 -0
- package/dist/Calendar/index.js +2 -0
- package/dist/Card/Card.js +1 -1
- package/dist/CardFooter/CardFooter.js +1 -1
- package/dist/CardHeader/CardHeader.js +1 -1
- package/dist/Carousel/Carousel.d.ts +14 -0
- package/dist/Carousel/Carousel.doc.d.ts +11 -0
- package/dist/Carousel/Carousel.doc.js +21 -0
- package/dist/Carousel/Carousel.js +117 -0
- package/dist/Carousel/index.d.ts +1 -0
- package/dist/Carousel/index.js +2 -0
- package/dist/Chat/Chat.d.ts +83 -0
- package/dist/Chat/Chat.doc.d.ts +77 -0
- package/dist/Chat/Chat.doc.js +99 -0
- package/dist/Chat/Chat.js +361 -0
- package/dist/Chat/index.d.ts +1 -0
- package/dist/Chat/index.js +2 -0
- package/dist/CheckboxInput/CheckboxInput.d.ts +24 -0
- package/dist/CheckboxInput/CheckboxInput.doc.d.ts +11 -0
- package/dist/CheckboxInput/CheckboxInput.doc.js +27 -0
- package/dist/CheckboxInput/CheckboxInput.js +173 -0
- package/dist/CheckboxInput/index.d.ts +1 -0
- package/dist/CheckboxInput/index.js +2 -0
- package/dist/CheckboxList/CheckboxList.d.ts +30 -0
- package/dist/CheckboxList/CheckboxList.doc.d.ts +11 -0
- package/dist/CheckboxList/CheckboxList.doc.js +24 -0
- package/dist/CheckboxList/CheckboxList.js +60 -0
- package/dist/CheckboxList/index.d.ts +1 -0
- package/dist/CheckboxList/index.js +2 -0
- package/dist/Citation/Citation.d.ts +13 -0
- package/dist/Citation/Citation.doc.d.ts +11 -0
- package/dist/Citation/Citation.doc.js +18 -0
- package/dist/Citation/Citation.js +36 -0
- package/dist/Citation/index.d.ts +1 -0
- package/dist/Citation/index.js +2 -0
- package/dist/ClickableCard/ClickableCard.d.ts +10 -0
- package/dist/ClickableCard/ClickableCard.doc.d.ts +11 -0
- package/dist/ClickableCard/ClickableCard.doc.js +12 -0
- package/dist/ClickableCard/ClickableCard.js +24 -0
- package/dist/ClickableCard/index.d.ts +1 -0
- package/dist/ClickableCard/index.js +2 -0
- package/dist/Code/Code.d.ts +5 -0
- package/dist/Code/Code.doc.d.ts +11 -0
- package/dist/Code/Code.doc.js +12 -0
- package/dist/Code/Code.js +19 -0
- package/dist/Code/index.d.ts +1 -0
- package/dist/Code/index.js +2 -0
- package/dist/CodeBlock/CodeBlock.d.ts +19 -0
- package/dist/CodeBlock/CodeBlock.doc.d.ts +11 -0
- package/dist/CodeBlock/CodeBlock.doc.js +24 -0
- package/dist/CodeBlock/CodeBlock.js +88 -0
- package/dist/CodeBlock/index.d.ts +1 -0
- package/dist/CodeBlock/index.js +2 -0
- package/dist/Collapsible/Collapsible.d.ts +23 -0
- package/dist/Collapsible/Collapsible.doc.d.ts +11 -0
- package/dist/Collapsible/Collapsible.doc.js +24 -0
- package/dist/Collapsible/Collapsible.js +93 -0
- package/dist/Collapsible/index.d.ts +1 -0
- package/dist/Collapsible/index.js +2 -0
- package/dist/CommandPalette/CommandPalette.d.ts +24 -0
- package/dist/CommandPalette/CommandPalette.doc.d.ts +11 -0
- package/dist/CommandPalette/CommandPalette.doc.js +30 -0
- package/dist/CommandPalette/CommandPalette.js +182 -0
- package/dist/CommandPalette/index.d.ts +1 -0
- package/dist/CommandPalette/index.js +2 -0
- package/dist/ComplexSelector/ComplexSelector.d.ts +30 -0
- package/dist/ComplexSelector/ComplexSelector.doc.d.ts +11 -0
- package/dist/ComplexSelector/ComplexSelector.doc.js +24 -0
- package/dist/ComplexSelector/ComplexSelector.js +83 -0
- package/dist/ComplexSelector/index.d.ts +1 -0
- package/dist/ComplexSelector/index.js +2 -0
- package/dist/ContextMenu/ContextMenu.d.ts +13 -0
- package/dist/ContextMenu/ContextMenu.doc.d.ts +11 -0
- package/dist/ContextMenu/ContextMenu.doc.js +18 -0
- package/dist/ContextMenu/ContextMenu.js +52 -0
- package/dist/ContextMenu/index.d.ts +1 -0
- package/dist/ContextMenu/index.js +2 -0
- package/dist/DateInput/DateInput.d.ts +5 -0
- package/dist/DateInput/DateInput.doc.d.ts +11 -0
- package/dist/DateInput/DateInput.doc.js +18 -0
- package/dist/DateInput/DateInput.js +12 -0
- package/dist/DateInput/TemporalInput.d.ts +34 -0
- package/dist/DateInput/TemporalInput.js +169 -0
- package/dist/DateInput/index.d.ts +2 -0
- package/dist/DateInput/index.js +3 -0
- package/dist/DatePicker/DatePicker.d.ts +38 -0
- package/dist/DatePicker/DatePicker.doc.d.ts +16 -0
- package/dist/DatePicker/DatePicker.doc.js +31 -0
- package/dist/DatePicker/DatePicker.js +111 -0
- package/dist/DatePicker/index.d.ts +1 -0
- package/dist/DatePicker/index.js +2 -0
- package/dist/DateRangeInput/DateRangeInput.d.ts +34 -0
- package/dist/DateRangeInput/DateRangeInput.doc.d.ts +11 -0
- package/dist/DateRangeInput/DateRangeInput.doc.js +27 -0
- package/dist/DateRangeInput/DateRangeInput.js +108 -0
- package/dist/DateRangeInput/index.d.ts +1 -0
- package/dist/DateRangeInput/index.js +2 -0
- package/dist/DateTimeInput/DateTimeInput.d.ts +5 -0
- package/dist/DateTimeInput/DateTimeInput.doc.d.ts +11 -0
- package/dist/DateTimeInput/DateTimeInput.doc.js +18 -0
- package/dist/DateTimeInput/DateTimeInput.js +12 -0
- package/dist/DateTimeInput/index.d.ts +1 -0
- package/dist/DateTimeInput/index.js +2 -0
- package/dist/Dialog/Dialog.d.ts +23 -0
- package/dist/Dialog/Dialog.doc.d.ts +11 -0
- package/dist/Dialog/Dialog.doc.js +33 -0
- package/dist/Dialog/Dialog.js +152 -0
- package/dist/Dialog/index.d.ts +1 -0
- package/dist/Dialog/index.js +2 -0
- package/dist/DropdownMenu/DropdownMenu.d.ts +25 -0
- package/dist/DropdownMenu/DropdownMenu.doc.d.ts +22 -0
- package/dist/DropdownMenu/DropdownMenu.doc.js +47 -0
- package/dist/DropdownMenu/DropdownMenu.js +114 -0
- package/dist/DropdownMenu/index.d.ts +1 -0
- package/dist/DropdownMenu/index.js +2 -0
- package/dist/EmptyState/EmptyState.js +4 -4
- package/dist/Eyebrow/Eyebrow.d.ts +13 -0
- package/dist/Eyebrow/Eyebrow.doc.d.ts +11 -0
- package/dist/Eyebrow/Eyebrow.doc.js +15 -0
- package/dist/Eyebrow/Eyebrow.js +47 -0
- package/dist/Eyebrow/index.d.ts +1 -0
- package/dist/Eyebrow/index.js +2 -0
- package/dist/Field/Field.js +15 -7
- package/dist/FieldStatus/FieldStatus.d.ts +13 -0
- package/dist/FieldStatus/FieldStatus.doc.d.ts +11 -0
- package/dist/FieldStatus/FieldStatus.doc.js +15 -0
- package/dist/FieldStatus/FieldStatus.js +68 -0
- package/dist/FieldStatus/index.d.ts +1 -0
- package/dist/FieldStatus/index.js +2 -0
- package/dist/FileInput/FileInput.d.ts +10 -0
- package/dist/FileInput/FileInput.doc.d.ts +11 -0
- package/dist/FileInput/FileInput.doc.js +12 -0
- package/dist/FileInput/FileInput.js +74 -0
- package/dist/FileInput/index.d.ts +1 -0
- package/dist/FileInput/index.js +2 -0
- package/dist/FormLayout/FormLayout.d.ts +14 -0
- package/dist/FormLayout/FormLayout.doc.d.ts +11 -0
- package/dist/FormLayout/FormLayout.doc.js +18 -0
- package/dist/FormLayout/FormLayout.js +40 -0
- package/dist/FormLayout/index.d.ts +1 -0
- package/dist/FormLayout/index.js +2 -0
- package/dist/HStack/HStack.d.ts +15 -0
- package/dist/HStack/HStack.doc.d.ts +11 -0
- package/dist/HStack/HStack.doc.js +21 -0
- package/dist/HStack/HStack.js +118 -0
- package/dist/HStack/index.d.ts +1 -0
- package/dist/HStack/index.js +2 -0
- package/dist/Heading/Heading.js +4 -1
- package/dist/HoverCard/HoverCard.d.ts +31 -0
- package/dist/HoverCard/HoverCard.doc.d.ts +11 -0
- package/dist/HoverCard/HoverCard.doc.js +30 -0
- package/dist/HoverCard/HoverCard.js +77 -0
- package/dist/HoverCard/index.d.ts +1 -0
- package/dist/HoverCard/index.js +2 -0
- package/dist/Icon/Icon.d.ts +16 -0
- package/dist/Icon/Icon.doc.d.ts +11 -0
- package/dist/Icon/Icon.doc.js +18 -0
- package/dist/Icon/Icon.js +91 -0
- package/dist/Icon/index.d.ts +1 -0
- package/dist/Icon/index.js +2 -0
- package/dist/Indicator/Indicator.d.ts +15 -0
- package/dist/Indicator/Indicator.doc.d.ts +11 -0
- package/dist/Indicator/Indicator.doc.js +24 -0
- package/dist/Indicator/Indicator.js +90 -0
- package/dist/Indicator/index.d.ts +1 -0
- package/dist/Indicator/index.js +2 -0
- package/dist/InputGroup/InputGroup.d.ts +12 -0
- package/dist/InputGroup/InputGroup.doc.d.ts +11 -0
- package/dist/InputGroup/InputGroup.doc.js +18 -0
- package/dist/InputGroup/InputGroup.js +41 -0
- package/dist/InputGroup/index.d.ts +1 -0
- package/dist/InputGroup/index.js +2 -0
- package/dist/Item/Item.d.ts +12 -0
- package/dist/Item/Item.doc.d.ts +11 -0
- package/dist/Item/Item.doc.js +18 -0
- package/dist/Item/Item.js +50 -0
- package/dist/Item/index.d.ts +1 -0
- package/dist/Item/index.js +2 -0
- package/dist/Kbd/Kbd.d.ts +5 -0
- package/dist/Kbd/Kbd.doc.d.ts +11 -0
- package/dist/Kbd/Kbd.doc.js +12 -0
- package/dist/Kbd/Kbd.js +19 -0
- package/dist/Kbd/index.d.ts +1 -0
- package/dist/Kbd/index.js +2 -0
- package/dist/Layer/Layer.d.ts +19 -0
- package/dist/Layer/Layer.doc.d.ts +11 -0
- package/dist/Layer/Layer.doc.js +15 -0
- package/dist/Layer/Layer.js +32 -0
- package/dist/Layer/index.d.ts +1 -0
- package/dist/Layer/index.js +2 -0
- package/dist/Layout/Layout.d.ts +26 -0
- package/dist/Layout/Layout.doc.d.ts +11 -0
- package/dist/Layout/Layout.doc.js +36 -0
- package/dist/Layout/Layout.js +108 -0
- package/dist/Layout/index.d.ts +1 -0
- package/dist/Layout/index.js +2 -0
- package/dist/Lightbox/Lightbox.d.ts +14 -0
- package/dist/Lightbox/Lightbox.doc.d.ts +11 -0
- package/dist/Lightbox/Lightbox.doc.js +24 -0
- package/dist/Lightbox/Lightbox.js +80 -0
- package/dist/Lightbox/index.d.ts +1 -0
- package/dist/Lightbox/index.js +2 -0
- package/dist/List/List.d.ts +18 -0
- package/dist/List/List.doc.d.ts +22 -0
- package/dist/List/List.doc.js +26 -0
- package/dist/List/List.js +113 -0
- package/dist/List/index.d.ts +1 -0
- package/dist/List/index.js +2 -0
- package/dist/Markdown/Markdown.d.ts +11 -0
- package/dist/Markdown/Markdown.doc.d.ts +11 -0
- package/dist/Markdown/Markdown.doc.js +12 -0
- package/dist/Markdown/Markdown.js +90 -0
- package/dist/Markdown/index.d.ts +2 -0
- package/dist/Markdown/index.js +3 -0
- package/dist/Markdown/parse.d.ts +42 -0
- package/dist/Markdown/parse.js +128 -0
- package/dist/MetadataList/MetadataList.d.ts +18 -0
- package/dist/MetadataList/MetadataList.doc.d.ts +11 -0
- package/dist/MetadataList/MetadataList.doc.js +15 -0
- package/dist/MetadataList/MetadataList.js +93 -0
- package/dist/MetadataList/index.d.ts +1 -0
- package/dist/MetadataList/index.js +2 -0
- package/dist/MetricGrid/MetricGrid.js +5 -5
- package/dist/MobileNav/MobileNav.d.ts +13 -0
- package/dist/MobileNav/MobileNav.doc.d.ts +11 -0
- package/dist/MobileNav/MobileNav.doc.js +21 -0
- package/dist/MobileNav/MobileNav.js +126 -0
- package/dist/MobileNav/index.d.ts +1 -0
- package/dist/MobileNav/index.js +2 -0
- package/dist/MoreMenu/MoreMenu.d.ts +14 -0
- package/dist/MoreMenu/MoreMenu.doc.d.ts +11 -0
- package/dist/MoreMenu/MoreMenu.doc.js +21 -0
- package/dist/MoreMenu/MoreMenu.js +68 -0
- package/dist/MoreMenu/index.d.ts +1 -0
- package/dist/MoreMenu/index.js +2 -0
- package/dist/MultiSelector/MultiSelector.d.ts +17 -0
- package/dist/MultiSelector/MultiSelector.doc.d.ts +11 -0
- package/dist/MultiSelector/MultiSelector.doc.js +27 -0
- package/dist/MultiSelector/MultiSelector.js +58 -0
- package/dist/MultiSelector/index.d.ts +1 -0
- package/dist/MultiSelector/index.js +2 -0
- package/dist/NavIcon/NavIcon.d.ts +10 -0
- package/dist/NavIcon/NavIcon.doc.d.ts +11 -0
- package/dist/NavIcon/NavIcon.doc.js +12 -0
- package/dist/NavIcon/NavIcon.js +21 -0
- package/dist/NavIcon/index.d.ts +1 -0
- package/dist/NavIcon/index.js +2 -0
- package/dist/NavItem/NavItem.d.ts +13 -0
- package/dist/NavItem/NavItem.doc.d.ts +11 -0
- package/dist/NavItem/NavItem.doc.js +18 -0
- package/dist/NavItem/NavItem.js +62 -0
- package/dist/NavItem/index.d.ts +1 -0
- package/dist/NavItem/index.js +2 -0
- package/dist/NavMenu/NavMenu.d.ts +13 -0
- package/dist/NavMenu/NavMenu.doc.d.ts +11 -0
- package/dist/NavMenu/NavMenu.doc.js +18 -0
- package/dist/NavMenu/NavMenu.js +58 -0
- package/dist/NavMenu/index.d.ts +2 -0
- package/dist/NavMenu/index.js +5 -0
- package/dist/NavMenu/orientation.d.ts +4 -0
- package/dist/NavMenu/orientation.js +17 -0
- package/dist/NumberInput/NumberInput.d.ts +21 -0
- package/dist/NumberInput/NumberInput.doc.d.ts +11 -0
- package/dist/NumberInput/NumberInput.doc.js +18 -0
- package/dist/NumberInput/NumberInput.js +136 -0
- package/dist/NumberInput/index.d.ts +1 -0
- package/dist/NumberInput/index.js +2 -0
- package/dist/Numeral/Numeral.d.ts +10 -0
- package/dist/Numeral/Numeral.doc.d.ts +11 -0
- package/dist/Numeral/Numeral.doc.js +12 -0
- package/dist/Numeral/Numeral.js +24 -0
- package/dist/Numeral/index.d.ts +1 -0
- package/dist/Numeral/index.js +2 -0
- package/dist/Outline/Outline.d.ts +18 -0
- package/dist/Outline/Outline.doc.d.ts +11 -0
- package/dist/Outline/Outline.doc.js +18 -0
- package/dist/Outline/Outline.js +98 -0
- package/dist/Outline/index.d.ts +1 -0
- package/dist/Outline/index.js +2 -0
- package/dist/OverflowList/OverflowList.d.ts +19 -0
- package/dist/OverflowList/OverflowList.doc.d.ts +11 -0
- package/dist/OverflowList/OverflowList.doc.js +18 -0
- package/dist/OverflowList/OverflowList.js +81 -0
- package/dist/OverflowList/index.d.ts +1 -0
- package/dist/OverflowList/index.js +2 -0
- package/dist/Overlay/Overlay.d.ts +17 -0
- package/dist/Overlay/Overlay.doc.d.ts +11 -0
- package/dist/Overlay/Overlay.doc.js +30 -0
- package/dist/Overlay/Overlay.js +74 -0
- package/dist/Overlay/index.d.ts +1 -0
- package/dist/Overlay/index.js +2 -0
- package/dist/Pagination/Pagination.d.ts +14 -0
- package/dist/Pagination/Pagination.doc.d.ts +11 -0
- package/dist/Pagination/Pagination.doc.js +24 -0
- package/dist/Pagination/Pagination.js +128 -0
- package/dist/Pagination/index.d.ts +1 -0
- package/dist/Pagination/index.js +2 -0
- package/dist/Popover/Popover.d.ts +17 -0
- package/dist/Popover/Popover.doc.d.ts +11 -0
- package/dist/Popover/Popover.doc.js +30 -0
- package/dist/Popover/Popover.js +93 -0
- package/dist/Popover/index.d.ts +1 -0
- package/dist/Popover/index.js +2 -0
- package/dist/PowerSearch/PowerSearch.d.ts +22 -0
- package/dist/PowerSearch/PowerSearch.doc.d.ts +11 -0
- package/dist/PowerSearch/PowerSearch.doc.js +27 -0
- package/dist/PowerSearch/PowerSearch.js +108 -0
- package/dist/PowerSearch/index.d.ts +1 -0
- package/dist/PowerSearch/index.js +2 -0
- package/dist/ProgressBar/ProgressBar.d.ts +12 -0
- package/dist/ProgressBar/ProgressBar.doc.d.ts +11 -0
- package/dist/ProgressBar/ProgressBar.doc.js +18 -0
- package/dist/ProgressBar/ProgressBar.js +51 -0
- package/dist/ProgressBar/index.d.ts +1 -0
- package/dist/ProgressBar/index.js +2 -0
- package/dist/RadioList/RadioList.d.ts +30 -0
- package/dist/RadioList/RadioList.doc.d.ts +11 -0
- package/dist/RadioList/RadioList.doc.js +24 -0
- package/dist/RadioList/RadioList.js +130 -0
- package/dist/RadioList/index.d.ts +1 -0
- package/dist/RadioList/index.js +2 -0
- package/dist/Resizable/Resizable.d.ts +18 -0
- package/dist/Resizable/Resizable.doc.d.ts +11 -0
- package/dist/Resizable/Resizable.doc.js +33 -0
- package/dist/Resizable/Resizable.js +100 -0
- package/dist/Resizable/index.d.ts +1 -0
- package/dist/Resizable/index.js +2 -0
- package/dist/ResizeHandle/ResizeHandle.d.ts +23 -0
- package/dist/ResizeHandle/ResizeHandle.doc.d.ts +11 -0
- package/dist/ResizeHandle/ResizeHandle.doc.js +30 -0
- package/dist/ResizeHandle/ResizeHandle.js +118 -0
- package/dist/ResizeHandle/index.d.ts +1 -0
- package/dist/ResizeHandle/index.js +2 -0
- package/dist/SegmentedControl/SegmentedControl.js +4 -4
- package/dist/SelectableCard/SelectableCard.d.ts +25 -0
- package/dist/SelectableCard/SelectableCard.doc.d.ts +11 -0
- package/dist/SelectableCard/SelectableCard.doc.js +18 -0
- package/dist/SelectableCard/SelectableCard.js +178 -0
- package/dist/SelectableCard/index.d.ts +1 -0
- package/dist/SelectableCard/index.js +2 -0
- package/dist/Selector/Selector.d.ts +29 -0
- package/dist/Selector/Selector.doc.d.ts +11 -0
- package/dist/Selector/Selector.doc.js +24 -0
- package/dist/Selector/Selector.js +83 -0
- package/dist/Selector/index.d.ts +1 -0
- package/dist/Selector/index.js +2 -0
- package/dist/SideNav/SideNav.d.ts +15 -0
- package/dist/SideNav/SideNav.doc.d.ts +22 -0
- package/dist/SideNav/SideNav.doc.js +29 -0
- package/dist/SideNav/SideNav.js +51 -0
- package/dist/SideNav/index.d.ts +1 -0
- package/dist/SideNav/index.js +2 -0
- package/dist/Skeleton/Skeleton.doc.js +1 -1
- package/dist/Skeleton/Skeleton.js +1 -2
- package/dist/Slider/Slider.d.ts +27 -0
- package/dist/Slider/Slider.doc.d.ts +11 -0
- package/dist/Slider/Slider.doc.js +30 -0
- package/dist/Slider/Slider.js +133 -0
- package/dist/Slider/index.d.ts +1 -0
- package/dist/Slider/index.js +2 -0
- package/dist/Spinner/Spinner.js +5 -1
- package/dist/StatusDot/StatusDot.d.ts +2 -2
- package/dist/StatusDot/StatusDot.js +8 -0
- package/dist/Switch/Switch.d.ts +9 -0
- package/dist/Switch/Switch.doc.d.ts +11 -0
- package/dist/Switch/Switch.doc.js +21 -0
- package/dist/Switch/Switch.js +86 -0
- package/dist/Switch/index.d.ts +1 -0
- package/dist/Switch/index.js +2 -0
- package/dist/TabList/TabList.d.ts +25 -0
- package/dist/TabList/TabList.doc.d.ts +11 -0
- package/dist/TabList/TabList.doc.js +21 -0
- package/dist/TabList/TabList.js +79 -0
- package/dist/TabList/index.d.ts +1 -0
- package/dist/TabList/index.js +2 -0
- package/dist/Table/Table.d.ts +16 -6
- package/dist/Table/Table.doc.d.ts +12 -4
- package/dist/Table/Table.doc.js +9 -0
- package/dist/Table/Table.js +78 -14
- package/dist/Text/Text.js +1 -0
- package/dist/TextArea/TextArea.js +9 -4
- package/dist/TextInput/TextInput.js +4 -4
- package/dist/Thumbnail/Thumbnail.d.ts +15 -0
- package/dist/Thumbnail/Thumbnail.doc.d.ts +11 -0
- package/dist/Thumbnail/Thumbnail.doc.js +21 -0
- package/dist/Thumbnail/Thumbnail.js +95 -0
- package/dist/Thumbnail/index.d.ts +1 -0
- package/dist/Thumbnail/index.js +2 -0
- package/dist/TimeInput/TimeInput.d.ts +5 -0
- package/dist/TimeInput/TimeInput.doc.d.ts +11 -0
- package/dist/TimeInput/TimeInput.doc.js +18 -0
- package/dist/TimeInput/TimeInput.js +12 -0
- package/dist/TimeInput/index.d.ts +1 -0
- package/dist/TimeInput/index.js +2 -0
- package/dist/Timestamp/Timestamp.d.ts +11 -0
- package/dist/Timestamp/Timestamp.doc.d.ts +11 -0
- package/dist/Timestamp/Timestamp.doc.js +15 -0
- package/dist/Timestamp/Timestamp.js +33 -0
- package/dist/Timestamp/index.d.ts +1 -0
- package/dist/Timestamp/index.js +2 -0
- package/dist/Toast/Toast.d.ts +36 -0
- package/dist/Toast/Toast.doc.d.ts +22 -0
- package/dist/Toast/Toast.doc.js +35 -0
- package/dist/Toast/Toast.js +234 -0
- package/dist/Toast/index.d.ts +1 -0
- package/dist/Toast/index.js +2 -0
- package/dist/Toggle/Toggle.js +26 -8
- package/dist/ToggleButton/ToggleButton.d.ts +24 -0
- package/dist/ToggleButton/ToggleButton.doc.d.ts +11 -0
- package/dist/ToggleButton/ToggleButton.doc.js +21 -0
- package/dist/ToggleButton/ToggleButton.js +125 -0
- package/dist/ToggleButton/index.d.ts +1 -0
- package/dist/ToggleButton/index.js +2 -0
- package/dist/ToggleButtonGroup/ToggleButtonGroup.d.ts +37 -0
- package/dist/ToggleButtonGroup/ToggleButtonGroup.doc.d.ts +11 -0
- package/dist/ToggleButtonGroup/ToggleButtonGroup.doc.js +30 -0
- package/dist/ToggleButtonGroup/ToggleButtonGroup.js +84 -0
- package/dist/ToggleButtonGroup/index.d.ts +1 -0
- package/dist/ToggleButtonGroup/index.js +2 -0
- package/dist/Token/Token.d.ts +14 -0
- package/dist/Token/Token.doc.d.ts +11 -0
- package/dist/Token/Token.doc.js +21 -0
- package/dist/Token/Token.js +57 -0
- package/dist/Token/index.d.ts +1 -0
- package/dist/Token/index.js +2 -0
- package/dist/Tokenizer/Tokenizer.d.ts +16 -0
- package/dist/Tokenizer/Tokenizer.doc.d.ts +11 -0
- package/dist/Tokenizer/Tokenizer.doc.js +24 -0
- package/dist/Tokenizer/Tokenizer.js +92 -0
- package/dist/Tokenizer/index.d.ts +1 -0
- package/dist/Tokenizer/index.js +2 -0
- package/dist/Toolbar/Toolbar.d.ts +13 -0
- package/dist/Toolbar/Toolbar.doc.d.ts +11 -0
- package/dist/Toolbar/Toolbar.doc.js +18 -0
- package/dist/Toolbar/Toolbar.js +65 -0
- package/dist/Toolbar/index.d.ts +1 -0
- package/dist/Toolbar/index.js +2 -0
- package/dist/Tooltip/Tooltip.d.ts +25 -0
- package/dist/Tooltip/Tooltip.doc.d.ts +11 -0
- package/dist/Tooltip/Tooltip.doc.js +24 -0
- package/dist/Tooltip/Tooltip.js +110 -0
- package/dist/Tooltip/index.d.ts +1 -0
- package/dist/Tooltip/index.js +2 -0
- package/dist/TopNav/TopNav.d.ts +12 -0
- package/dist/TopNav/TopNav.doc.d.ts +11 -0
- package/dist/TopNav/TopNav.doc.js +18 -0
- package/dist/TopNav/TopNav.js +39 -0
- package/dist/TopNav/index.d.ts +1 -0
- package/dist/TopNav/index.js +2 -0
- package/dist/TopNavMegaMenu/TopNavMegaMenu.d.ts +30 -0
- package/dist/TopNavMegaMenu/TopNavMegaMenu.doc.d.ts +22 -0
- package/dist/TopNavMegaMenu/TopNavMegaMenu.doc.js +38 -0
- package/dist/TopNavMegaMenu/TopNavMegaMenu.js +134 -0
- package/dist/TopNavMegaMenu/index.d.ts +1 -0
- package/dist/TopNavMegaMenu/index.js +2 -0
- package/dist/TopNavMenu/TopNavMenu.d.ts +15 -0
- package/dist/TopNavMenu/TopNavMenu.doc.d.ts +11 -0
- package/dist/TopNavMenu/TopNavMenu.doc.js +21 -0
- package/dist/TopNavMenu/TopNavMenu.js +105 -0
- package/dist/TopNavMenu/index.d.ts +1 -0
- package/dist/TopNavMenu/index.js +2 -0
- package/dist/TreeList/TreeList.d.ts +21 -0
- package/dist/TreeList/TreeList.doc.d.ts +11 -0
- package/dist/TreeList/TreeList.doc.js +27 -0
- package/dist/TreeList/TreeList.js +146 -0
- package/dist/TreeList/index.d.ts +1 -0
- package/dist/TreeList/index.js +2 -0
- package/dist/Typeahead/Typeahead.d.ts +20 -0
- package/dist/Typeahead/Typeahead.doc.d.ts +11 -0
- package/dist/Typeahead/Typeahead.doc.js +24 -0
- package/dist/Typeahead/Typeahead.js +177 -0
- package/dist/Typeahead/index.d.ts +1 -0
- package/dist/Typeahead/index.js +2 -0
- package/dist/TypeaheadItem/TypeaheadItem.d.ts +15 -0
- package/dist/TypeaheadItem/TypeaheadItem.doc.d.ts +11 -0
- package/dist/TypeaheadItem/TypeaheadItem.doc.js +24 -0
- package/dist/TypeaheadItem/TypeaheadItem.js +84 -0
- package/dist/TypeaheadItem/index.d.ts +1 -0
- package/dist/TypeaheadItem/index.js +2 -0
- package/dist/VStack/VStack.d.ts +8 -0
- package/dist/VStack/VStack.doc.d.ts +11 -0
- package/dist/VStack/VStack.doc.js +15 -0
- package/dist/VStack/VStack.js +14 -0
- package/dist/VStack/index.d.ts +1 -0
- package/dist/VStack/index.js +2 -0
- package/dist/authoring.stylex.d.ts +7 -0
- package/dist/authoring.stylex.js +7 -0
- package/dist/docs/index.d.ts +91 -1
- package/dist/docs/index.js +92 -2
- package/dist/hooks/focusableSelector.d.ts +19 -0
- package/dist/hooks/focusableSelector.js +42 -0
- package/dist/hooks/index.d.ts +11 -0
- package/dist/hooks/index.js +12 -0
- package/dist/hooks/useAnchoredPosition.d.ts +33 -0
- package/dist/hooks/useAnchoredPosition.js +121 -0
- package/dist/hooks/useAnnounce.d.ts +7 -0
- package/dist/hooks/useAnnounce.js +34 -0
- package/dist/hooks/useClipboard.d.ts +10 -0
- package/dist/hooks/useClipboard.js +36 -0
- package/dist/hooks/useDevWarning.d.ts +5 -0
- package/dist/hooks/useDevWarning.js +20 -0
- package/dist/hooks/useFocusTrap.d.ts +9 -0
- package/dist/hooks/useFocusTrap.js +57 -0
- package/dist/hooks/useHotkeys.d.ts +12 -0
- package/dist/hooks/useHotkeys.js +57 -0
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts +6 -0
- package/dist/hooks/useIsomorphicLayoutEffect.js +8 -0
- package/dist/hooks/useListFocus.d.ts +15 -0
- package/dist/hooks/useListFocus.js +61 -0
- package/dist/hooks/useMediaQuery.d.ts +5 -0
- package/dist/hooks/useMediaQuery.js +24 -0
- package/dist/hooks/useScrollLock.d.ts +5 -0
- package/dist/hooks/useScrollLock.js +29 -0
- package/dist/i18n/Internationalization.d.ts +28 -0
- package/dist/i18n/Internationalization.doc.d.ts +11 -0
- package/dist/i18n/Internationalization.doc.js +21 -0
- package/dist/i18n/Internationalization.js +52 -0
- package/dist/i18n/index.d.ts +2 -0
- package/dist/i18n/index.js +3 -0
- package/dist/i18n/messages.d.ts +29 -0
- package/dist/i18n/messages.js +29 -0
- package/dist/index.d.ts +93 -1
- package/dist/index.js +92 -0
- package/dist/navigation/LinkProvider.d.ts +17 -1
- package/dist/navigation/LinkProvider.js +39 -2
- package/dist/scrolling/index.d.ts +1 -0
- package/dist/scrolling/index.js +2 -0
- package/dist/scrolling/scrolling.d.ts +22 -0
- package/dist/scrolling/scrolling.js +26 -0
- package/dist/styles/global.stylex.d.ts +1 -0
- package/dist/styles/global.stylex.js +1 -0
- package/dist/styles/stylex.css +472 -33
- package/dist/theme/Theme.d.ts +24 -1
- package/dist/theme/Theme.js +46 -2
- package/dist/theme/index.d.ts +1 -1
- package/dist/tokens/contracts.d.ts +9 -2
- package/dist/tokens/contracts.js +9 -2
- package/dist/utils/clamp.d.ts +2 -0
- package/dist/utils/clamp.js +5 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/mergeIds.d.ts +6 -0
- package/dist/utils/mergeIds.js +10 -0
- package/dist/utils/resolveInvalid.d.ts +6 -0
- package/dist/utils/resolveInvalid.js +9 -0
- package/package.json +1 -1
- package/src/Alert/Alert.tsx +1 -0
- package/src/AlertDialog/AlertDialog.doc.ts +22 -0
- package/src/AlertDialog/AlertDialog.tsx +18 -0
- package/src/AlertDialog/index.ts +1 -0
- package/src/AppShell/AppShell.doc.ts +30 -0
- package/src/AppShell/AppShell.tsx +93 -0
- package/src/AppShell/index.ts +1 -0
- package/src/AspectRatio/AspectRatio.doc.ts +15 -0
- package/src/AspectRatio/AspectRatio.tsx +47 -0
- package/src/AspectRatio/index.ts +1 -0
- package/src/AsyncState/AsyncState.tsx +42 -1
- package/src/Avatar/Avatar.doc.ts +16 -0
- package/src/Avatar/Avatar.tsx +100 -0
- package/src/Avatar/index.ts +1 -0
- package/src/AvatarGroup/AvatarGroup.doc.ts +17 -0
- package/src/AvatarGroup/AvatarGroup.tsx +124 -0
- package/src/AvatarGroup/index.ts +5 -0
- package/src/Badge/Badge.tsx +1 -0
- package/src/Banner/Banner.doc.ts +17 -0
- package/src/Banner/Banner.tsx +87 -0
- package/src/Banner/index.ts +1 -0
- package/src/Blockquote/Blockquote.doc.ts +15 -0
- package/src/Blockquote/Blockquote.tsx +55 -0
- package/src/Blockquote/index.ts +1 -0
- package/src/BottomSheet/BottomSheet.doc.ts +18 -0
- package/src/BottomSheet/BottomSheet.tsx +119 -0
- package/src/BottomSheet/index.ts +1 -0
- package/src/BottomSheetSwitcher/BottomSheetSwitcher.doc.ts +21 -0
- package/src/BottomSheetSwitcher/BottomSheetSwitcher.tsx +166 -0
- package/src/BottomSheetSwitcher/index.ts +5 -0
- package/src/Box/Box.doc.ts +15 -0
- package/src/Box/Box.tsx +98 -0
- package/src/Box/index.ts +1 -0
- package/src/Breadcrumbs/Breadcrumbs.doc.ts +18 -0
- package/src/Breadcrumbs/Breadcrumbs.tsx +124 -0
- package/src/Breadcrumbs/index.ts +5 -0
- package/src/Button/Button.tsx +36 -9
- package/src/ButtonGroup/ButtonGroup.doc.ts +19 -0
- package/src/ButtonGroup/ButtonGroup.tsx +52 -0
- package/src/ButtonGroup/index.ts +1 -0
- package/src/Calendar/Calendar.doc.ts +28 -0
- package/src/Calendar/Calendar.tsx +425 -0
- package/src/Calendar/index.ts +1 -0
- package/src/Card/Card.tsx +1 -1
- package/src/CardFooter/CardFooter.tsx +5 -5
- package/src/CardHeader/CardHeader.tsx +5 -5
- package/src/Carousel/Carousel.doc.ts +20 -0
- package/src/Carousel/Carousel.tsx +144 -0
- package/src/Carousel/index.ts +1 -0
- package/src/Chat/Chat.doc.ts +94 -0
- package/src/Chat/Chat.tsx +534 -0
- package/src/Chat/index.ts +19 -0
- package/src/CheckboxInput/CheckboxInput.doc.ts +26 -0
- package/src/CheckboxInput/CheckboxInput.tsx +276 -0
- package/src/CheckboxInput/index.ts +1 -0
- package/src/CheckboxList/CheckboxList.doc.ts +22 -0
- package/src/CheckboxList/CheckboxList.tsx +114 -0
- package/src/CheckboxList/index.ts +5 -0
- package/src/Citation/Citation.doc.ts +14 -0
- package/src/Citation/Citation.tsx +56 -0
- package/src/Citation/index.ts +1 -0
- package/src/ClickableCard/ClickableCard.doc.ts +10 -0
- package/src/ClickableCard/ClickableCard.tsx +79 -0
- package/src/ClickableCard/index.ts +1 -0
- package/src/Code/Code.doc.ts +10 -0
- package/src/Code/Code.tsx +31 -0
- package/src/Code/index.ts +1 -0
- package/src/CodeBlock/CodeBlock.doc.ts +21 -0
- package/src/CodeBlock/CodeBlock.tsx +122 -0
- package/src/CodeBlock/index.ts +1 -0
- package/src/Collapsible/Collapsible.doc.ts +18 -0
- package/src/Collapsible/Collapsible.tsx +165 -0
- package/src/Collapsible/index.ts +1 -0
- package/src/CommandPalette/CommandPalette.doc.ts +19 -0
- package/src/CommandPalette/CommandPalette.tsx +326 -0
- package/src/CommandPalette/index.ts +5 -0
- package/src/ComplexSelector/ComplexSelector.doc.ts +22 -0
- package/src/ComplexSelector/ComplexSelector.tsx +213 -0
- package/src/ComplexSelector/index.ts +5 -0
- package/src/ContextMenu/ContextMenu.doc.ts +18 -0
- package/src/ContextMenu/ContextMenu.tsx +61 -0
- package/src/ContextMenu/index.ts +1 -0
- package/src/DateInput/DateInput.doc.ts +16 -0
- package/src/DateInput/DateInput.tsx +9 -0
- package/src/DateInput/TemporalInput.tsx +305 -0
- package/src/DateInput/index.ts +6 -0
- package/src/DatePicker/DatePicker.doc.ts +21 -0
- package/src/DatePicker/DatePicker.tsx +138 -0
- package/src/DatePicker/index.ts +1 -0
- package/src/DateRangeInput/DateRangeInput.doc.ts +20 -0
- package/src/DateRangeInput/DateRangeInput.tsx +159 -0
- package/src/DateRangeInput/index.ts +5 -0
- package/src/DateTimeInput/DateTimeInput.doc.ts +16 -0
- package/src/DateTimeInput/DateTimeInput.tsx +9 -0
- package/src/DateTimeInput/index.ts +1 -0
- package/src/Dialog/Dialog.doc.ts +27 -0
- package/src/Dialog/Dialog.tsx +160 -0
- package/src/Dialog/index.ts +6 -0
- package/src/DropdownMenu/DropdownMenu.doc.ts +41 -0
- package/src/DropdownMenu/DropdownMenu.tsx +197 -0
- package/src/DropdownMenu/index.ts +6 -0
- package/src/EmptyState/EmptyState.tsx +29 -6
- package/src/Eyebrow/Eyebrow.doc.ts +16 -0
- package/src/Eyebrow/Eyebrow.tsx +56 -0
- package/src/Eyebrow/index.ts +1 -0
- package/src/Field/Field.tsx +25 -4
- package/src/FieldStatus/FieldStatus.doc.ts +15 -0
- package/src/FieldStatus/FieldStatus.tsx +72 -0
- package/src/FieldStatus/index.ts +1 -0
- package/src/FileInput/FileInput.doc.ts +12 -0
- package/src/FileInput/FileInput.tsx +186 -0
- package/src/FileInput/index.ts +1 -0
- package/src/FormLayout/FormLayout.doc.ts +20 -0
- package/src/FormLayout/FormLayout.tsx +69 -0
- package/src/FormLayout/index.ts +5 -0
- package/src/HStack/HStack.doc.ts +15 -0
- package/src/HStack/HStack.tsx +91 -0
- package/src/HStack/index.ts +6 -0
- package/src/Heading/Heading.tsx +17 -4
- package/src/HoverCard/HoverCard.doc.ts +31 -0
- package/src/HoverCard/HoverCard.tsx +121 -0
- package/src/HoverCard/index.ts +1 -0
- package/src/Icon/Icon.doc.ts +21 -0
- package/src/Icon/Icon.tsx +83 -0
- package/src/Icon/index.ts +1 -0
- package/src/Indicator/Indicator.doc.ts +21 -0
- package/src/Indicator/Indicator.tsx +99 -0
- package/src/Indicator/index.ts +1 -0
- package/src/InputGroup/InputGroup.doc.ts +23 -0
- package/src/InputGroup/InputGroup.tsx +73 -0
- package/src/InputGroup/index.ts +1 -0
- package/src/Item/Item.doc.ts +15 -0
- package/src/Item/Item.tsx +92 -0
- package/src/Item/index.ts +1 -0
- package/src/Kbd/Kbd.doc.ts +10 -0
- package/src/Kbd/Kbd.tsx +38 -0
- package/src/Kbd/index.ts +1 -0
- package/src/Layer/Layer.doc.ts +17 -0
- package/src/Layer/Layer.tsx +37 -0
- package/src/Layer/index.ts +1 -0
- package/src/Layout/Layout.doc.ts +33 -0
- package/src/Layout/Layout.tsx +190 -0
- package/src/Layout/index.ts +1 -0
- package/src/Lightbox/Lightbox.doc.ts +20 -0
- package/src/Lightbox/Lightbox.tsx +114 -0
- package/src/Lightbox/index.ts +1 -0
- package/src/List/List.doc.ts +27 -0
- package/src/List/List.tsx +94 -0
- package/src/List/index.ts +7 -0
- package/src/Markdown/Markdown.doc.ts +14 -0
- package/src/Markdown/Markdown.tsx +115 -0
- package/src/Markdown/index.ts +7 -0
- package/src/Markdown/parse.ts +135 -0
- package/src/MetadataList/MetadataList.doc.ts +15 -0
- package/src/MetadataList/MetadataList.tsx +87 -0
- package/src/MetadataList/index.ts +6 -0
- package/src/MetricGrid/MetricGrid.tsx +31 -9
- package/src/MobileNav/MobileNav.doc.ts +15 -0
- package/src/MobileNav/MobileNav.tsx +169 -0
- package/src/MobileNav/index.ts +1 -0
- package/src/MoreMenu/MoreMenu.doc.ts +19 -0
- package/src/MoreMenu/MoreMenu.tsx +67 -0
- package/src/MoreMenu/index.ts +1 -0
- package/src/MultiSelector/MultiSelector.doc.ts +23 -0
- package/src/MultiSelector/MultiSelector.tsx +89 -0
- package/src/MultiSelector/index.ts +1 -0
- package/src/NavIcon/NavIcon.doc.ts +10 -0
- package/src/NavIcon/NavIcon.tsx +45 -0
- package/src/NavIcon/index.ts +1 -0
- package/src/NavItem/NavItem.doc.ts +16 -0
- package/src/NavItem/NavItem.tsx +146 -0
- package/src/NavItem/index.ts +1 -0
- package/src/NavMenu/NavMenu.doc.ts +18 -0
- package/src/NavMenu/NavMenu.tsx +68 -0
- package/src/NavMenu/index.ts +4 -0
- package/src/NavMenu/orientation.ts +20 -0
- package/src/NumberInput/NumberInput.doc.ts +22 -0
- package/src/NumberInput/NumberInput.tsx +286 -0
- package/src/NumberInput/index.ts +1 -0
- package/src/Numeral/Numeral.doc.ts +10 -0
- package/src/Numeral/Numeral.tsx +34 -0
- package/src/Numeral/index.ts +1 -0
- package/src/Outline/Outline.doc.ts +14 -0
- package/src/Outline/Outline.tsx +124 -0
- package/src/Outline/index.ts +1 -0
- package/src/OverflowList/OverflowList.doc.ts +22 -0
- package/src/OverflowList/OverflowList.tsx +115 -0
- package/src/OverflowList/index.ts +5 -0
- package/src/Overlay/Overlay.doc.ts +23 -0
- package/src/Overlay/Overlay.tsx +122 -0
- package/src/Overlay/index.ts +1 -0
- package/src/Pagination/Pagination.doc.ts +28 -0
- package/src/Pagination/Pagination.tsx +259 -0
- package/src/Pagination/index.ts +1 -0
- package/src/Popover/Popover.doc.ts +27 -0
- package/src/Popover/Popover.tsx +122 -0
- package/src/Popover/index.ts +1 -0
- package/src/PowerSearch/PowerSearch.doc.ts +20 -0
- package/src/PowerSearch/PowerSearch.tsx +235 -0
- package/src/PowerSearch/index.ts +5 -0
- package/src/ProgressBar/ProgressBar.doc.ts +16 -0
- package/src/ProgressBar/ProgressBar.tsx +98 -0
- package/src/ProgressBar/index.ts +1 -0
- package/src/RadioList/RadioList.doc.ts +22 -0
- package/src/RadioList/RadioList.tsx +244 -0
- package/src/RadioList/index.ts +1 -0
- package/src/Resizable/Resizable.doc.ts +24 -0
- package/src/Resizable/Resizable.tsx +118 -0
- package/src/Resizable/index.ts +1 -0
- package/src/ResizeHandle/ResizeHandle.doc.ts +21 -0
- package/src/ResizeHandle/ResizeHandle.tsx +162 -0
- package/src/ResizeHandle/index.ts +5 -0
- package/src/SegmentedControl/SegmentedControl.tsx +36 -7
- package/src/SelectableCard/SelectableCard.doc.ts +16 -0
- package/src/SelectableCard/SelectableCard.tsx +252 -0
- package/src/SelectableCard/index.ts +1 -0
- package/src/Selector/Selector.doc.ts +22 -0
- package/src/Selector/Selector.tsx +206 -0
- package/src/Selector/index.ts +1 -0
- package/src/SideNav/SideNav.doc.ts +29 -0
- package/src/SideNav/SideNav.tsx +110 -0
- package/src/SideNav/index.ts +6 -0
- package/src/Skeleton/Skeleton.doc.ts +1 -1
- package/src/Skeleton/Skeleton.tsx +6 -13
- package/src/Slider/Slider.doc.ts +24 -0
- package/src/Slider/Slider.tsx +264 -0
- package/src/Slider/index.ts +1 -0
- package/src/Spinner/Spinner.tsx +15 -4
- package/src/StatusDot/StatusDot.tsx +13 -2
- package/src/Switch/Switch.doc.ts +19 -0
- package/src/Switch/Switch.tsx +152 -0
- package/src/Switch/index.ts +1 -0
- package/src/TabList/TabList.doc.ts +28 -0
- package/src/TabList/TabList.tsx +151 -0
- package/src/TabList/index.ts +1 -0
- package/src/Table/Table.doc.ts +15 -1
- package/src/Table/Table.tsx +95 -17
- package/src/Text/Text.tsx +1 -0
- package/src/TextArea/TextArea.tsx +21 -4
- package/src/TextInput/TextInput.tsx +11 -3
- package/src/Thumbnail/Thumbnail.doc.ts +20 -0
- package/src/Thumbnail/Thumbnail.tsx +94 -0
- package/src/Thumbnail/index.ts +5 -0
- package/src/TimeInput/TimeInput.doc.ts +16 -0
- package/src/TimeInput/TimeInput.tsx +9 -0
- package/src/TimeInput/index.ts +1 -0
- package/src/Timestamp/Timestamp.doc.ts +15 -0
- package/src/Timestamp/Timestamp.tsx +52 -0
- package/src/Timestamp/index.ts +1 -0
- package/src/Toast/Toast.doc.ts +35 -0
- package/src/Toast/Toast.tsx +271 -0
- package/src/Toast/index.ts +9 -0
- package/src/Toggle/Toggle.tsx +49 -23
- package/src/ToggleButton/ToggleButton.doc.ts +21 -0
- package/src/ToggleButton/ToggleButton.tsx +163 -0
- package/src/ToggleButton/index.ts +1 -0
- package/src/ToggleButtonGroup/ToggleButtonGroup.doc.ts +22 -0
- package/src/ToggleButtonGroup/ToggleButtonGroup.tsx +108 -0
- package/src/ToggleButtonGroup/index.ts +5 -0
- package/src/Token/Token.doc.ts +20 -0
- package/src/Token/Token.tsx +131 -0
- package/src/Token/index.ts +1 -0
- package/src/Tokenizer/Tokenizer.doc.ts +21 -0
- package/src/Tokenizer/Tokenizer.tsx +168 -0
- package/src/Tokenizer/index.ts +1 -0
- package/src/Toolbar/Toolbar.doc.ts +20 -0
- package/src/Toolbar/Toolbar.tsx +74 -0
- package/src/Toolbar/index.ts +1 -0
- package/src/Tooltip/Tooltip.doc.ts +22 -0
- package/src/Tooltip/Tooltip.tsx +166 -0
- package/src/Tooltip/index.ts +1 -0
- package/src/TopNav/TopNav.doc.ts +20 -0
- package/src/TopNav/TopNav.tsx +80 -0
- package/src/TopNav/index.ts +1 -0
- package/src/TopNavMegaMenu/TopNavMegaMenu.doc.ts +36 -0
- package/src/TopNavMegaMenu/TopNavMegaMenu.tsx +251 -0
- package/src/TopNavMegaMenu/index.ts +7 -0
- package/src/TopNavMenu/TopNavMenu.doc.ts +22 -0
- package/src/TopNavMenu/TopNavMenu.tsx +166 -0
- package/src/TopNavMenu/index.ts +1 -0
- package/src/TreeList/TreeList.doc.ts +20 -0
- package/src/TreeList/TreeList.tsx +265 -0
- package/src/TreeList/index.ts +1 -0
- package/src/Typeahead/Typeahead.doc.ts +22 -0
- package/src/Typeahead/Typeahead.tsx +312 -0
- package/src/Typeahead/index.ts +5 -0
- package/src/TypeaheadItem/TypeaheadItem.doc.ts +18 -0
- package/src/TypeaheadItem/TypeaheadItem.tsx +105 -0
- package/src/TypeaheadItem/index.ts +1 -0
- package/src/VStack/VStack.doc.ts +13 -0
- package/src/VStack/VStack.tsx +12 -0
- package/src/VStack/index.ts +1 -0
- package/src/authoring.stylex.ts +7 -0
- package/src/docs/index.ts +306 -0
- package/src/hooks/focusableSelector.ts +65 -0
- package/src/hooks/index.ts +31 -0
- package/src/hooks/useAnchoredPosition.ts +176 -0
- package/src/hooks/useAnnounce.ts +49 -0
- package/src/hooks/useClipboard.ts +48 -0
- package/src/hooks/useDevWarning.ts +24 -0
- package/src/hooks/useFocusTrap.ts +62 -0
- package/src/hooks/useHotkeys.ts +81 -0
- package/src/hooks/useIsomorphicLayoutEffect.ts +8 -0
- package/src/hooks/useListFocus.ts +75 -0
- package/src/hooks/useMediaQuery.ts +35 -0
- package/src/hooks/useScrollLock.ts +28 -0
- package/src/i18n/Internationalization.doc.ts +16 -0
- package/src/i18n/Internationalization.tsx +66 -0
- package/src/i18n/index.ts +8 -0
- package/src/i18n/messages.ts +51 -0
- package/src/index.ts +271 -0
- package/src/navigation/LinkProvider.tsx +58 -4
- package/src/scrolling/index.ts +1 -0
- package/src/scrolling/scrolling.ts +25 -0
- package/src/styles/global.stylex.ts +1 -0
- package/src/theme/Theme.tsx +66 -3
- package/src/theme/index.ts +1 -0
- package/src/tokens/contracts.ts +16 -2
- package/src/utils/clamp.ts +4 -0
- package/src/utils/index.ts +3 -0
- package/src/utils/mergeIds.ts +11 -0
- package/src/utils/resolveInvalid.ts +10 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import * as stylex from '@stylexjs/stylex';
|
|
2
|
+
import {useRef, useState, type HTMLAttributes} from 'react';
|
|
3
|
+
|
|
4
|
+
import {Calendar} from '../Calendar/index.js';
|
|
5
|
+
import {DateInput} from '../DateInput/index.js';
|
|
6
|
+
import {Popover} from '../Popover/index.js';
|
|
7
|
+
|
|
8
|
+
const styles = stylex.create({
|
|
9
|
+
// The anchor is the whole field, so the sheet lines up with the well rather
|
|
10
|
+
// than with the small control that opened it.
|
|
11
|
+
root: {display: 'block', position: 'relative', width: '100%'},
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
type SharedDatePickerProps = Omit<
|
|
15
|
+
HTMLAttributes<HTMLSpanElement>,
|
|
16
|
+
'children' | 'className' | 'defaultValue' | 'onChange'
|
|
17
|
+
> & {
|
|
18
|
+
readonly disabled?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Given to the field, not to the wrapper — a `<label for>` beside this
|
|
21
|
+
* control has to reach the input the reader types into.
|
|
22
|
+
*/
|
|
23
|
+
readonly id?: string;
|
|
24
|
+
/** Names the month grid for assistive technology. */
|
|
25
|
+
readonly label: string;
|
|
26
|
+
readonly max?: string;
|
|
27
|
+
readonly min?: string;
|
|
28
|
+
readonly onValueChange?: (value: string) => void;
|
|
29
|
+
readonly pickerLabel?: string;
|
|
30
|
+
readonly readOnly?: boolean;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
type ControlledDatePickerProps = SharedDatePickerProps & {
|
|
34
|
+
readonly defaultValue?: never;
|
|
35
|
+
readonly onValueChange: (value: string) => void;
|
|
36
|
+
readonly value: string;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
type UncontrolledDatePickerProps = SharedDatePickerProps & {
|
|
40
|
+
readonly defaultValue?: string;
|
|
41
|
+
readonly value?: never;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/** Props for a date field whose picker this system draws. */
|
|
45
|
+
export type DatePickerProps =
|
|
46
|
+
ControlledDatePickerProps | UncontrolledDatePickerProps;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* A date field with a month grid of this system's own instead of the engine's.
|
|
50
|
+
*
|
|
51
|
+
* `DateInput` remains the right choice for a lone date: leaving the platform
|
|
52
|
+
* picker in place is what keeps the wheel on a phone, the reader's own date
|
|
53
|
+
* order and the whole accessibility tree for free. Reach for this one when the
|
|
54
|
+
* sheet itself has to belong to the page — a range, a set of shortcuts, two
|
|
55
|
+
* months side by side — because none of those exist in any engine's picker.
|
|
56
|
+
*/
|
|
57
|
+
export function DatePicker({
|
|
58
|
+
'aria-label': ariaLabel,
|
|
59
|
+
'aria-labelledby': ariaLabelledBy,
|
|
60
|
+
defaultValue = '',
|
|
61
|
+
disabled,
|
|
62
|
+
id,
|
|
63
|
+
label,
|
|
64
|
+
max,
|
|
65
|
+
min,
|
|
66
|
+
onValueChange,
|
|
67
|
+
pickerLabel,
|
|
68
|
+
readOnly,
|
|
69
|
+
value,
|
|
70
|
+
...props
|
|
71
|
+
}: DatePickerProps) {
|
|
72
|
+
// `label` names the grid, and a reader who never opens the grid would meet
|
|
73
|
+
// an unnamed field. An explicit name wins; an `id` means the caller has
|
|
74
|
+
// wired a `<label for>` of its own, which anything set here would override.
|
|
75
|
+
const fieldLabel =
|
|
76
|
+
ariaLabel ??
|
|
77
|
+
(ariaLabelledBy === undefined && id === undefined ? label : undefined);
|
|
78
|
+
const anchorRef = useRef<HTMLSpanElement>(null);
|
|
79
|
+
const [open, setOpen] = useState(false);
|
|
80
|
+
const [internalValue, setInternalValue] = useState(defaultValue);
|
|
81
|
+
const shown = value ?? internalValue;
|
|
82
|
+
|
|
83
|
+
function commit(next: string) {
|
|
84
|
+
if (value === undefined) {
|
|
85
|
+
setInternalValue(next);
|
|
86
|
+
}
|
|
87
|
+
onValueChange?.(next);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Closing returns the reader to the field they left, whether the sheet was
|
|
91
|
+
// dismissed or a day was chosen. A picker that drops focus on the document
|
|
92
|
+
// costs a keyboard reader the whole form.
|
|
93
|
+
function close() {
|
|
94
|
+
setOpen(false);
|
|
95
|
+
anchorRef.current?.querySelector('input')?.focus();
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return (
|
|
99
|
+
<span {...props} ref={anchorRef} {...stylex.props(styles.root)}>
|
|
100
|
+
<DateInput
|
|
101
|
+
{...(fieldLabel === undefined ? {} : {'aria-label': fieldLabel})}
|
|
102
|
+
{...(ariaLabelledBy === undefined
|
|
103
|
+
? {}
|
|
104
|
+
: {'aria-labelledby': ariaLabelledBy})}
|
|
105
|
+
disabled={disabled}
|
|
106
|
+
{...(id === undefined ? {} : {id})}
|
|
107
|
+
{...(max === undefined ? {} : {max})}
|
|
108
|
+
{...(min === undefined ? {} : {min})}
|
|
109
|
+
onPickerOpen={() => {
|
|
110
|
+
setOpen(true);
|
|
111
|
+
}}
|
|
112
|
+
onValueChange={commit}
|
|
113
|
+
{...(pickerLabel === undefined ? {} : {pickerLabel})}
|
|
114
|
+
readOnly={readOnly}
|
|
115
|
+
value={shown}
|
|
116
|
+
/>
|
|
117
|
+
<Popover
|
|
118
|
+
alignment="start"
|
|
119
|
+
anchorRef={anchorRef}
|
|
120
|
+
onDismiss={close}
|
|
121
|
+
open={open}
|
|
122
|
+
placement="bottom"
|
|
123
|
+
role="presentation"
|
|
124
|
+
>
|
|
125
|
+
<Calendar
|
|
126
|
+
label={label}
|
|
127
|
+
{...(max === undefined ? {} : {max})}
|
|
128
|
+
{...(min === undefined ? {} : {min})}
|
|
129
|
+
onValueChange={(next) => {
|
|
130
|
+
commit(next);
|
|
131
|
+
close();
|
|
132
|
+
}}
|
|
133
|
+
value={shown}
|
|
134
|
+
/>
|
|
135
|
+
</Popover>
|
|
136
|
+
</span>
|
|
137
|
+
);
|
|
138
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {DatePicker, type DatePickerProps} from './DatePicker.js';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type {ComponentDoc} from '../docs/types.js';
|
|
2
|
+
|
|
3
|
+
export const dateRangeInputDoc = {
|
|
4
|
+
name: 'DateRangeInput',
|
|
5
|
+
description: 'Accepts a start and end date that cannot cross.',
|
|
6
|
+
props: [
|
|
7
|
+
{name: 'defaultValue', description: 'Sets the initial uncontrolled range.'},
|
|
8
|
+
{name: 'endLabel', description: 'Names the end control.'},
|
|
9
|
+
{name: 'legend', description: 'States what the range covers.'},
|
|
10
|
+
{name: 'onValueChange', description: 'Receives the next range.'},
|
|
11
|
+
{name: 'startLabel', description: 'Names the start control.'},
|
|
12
|
+
{name: 'value', description: 'Controls the current range.'},
|
|
13
|
+
],
|
|
14
|
+
inheritedProps: [
|
|
15
|
+
'HTMLAttributes<HTMLFieldSetElement> except children, className, defaultValue, and onChange',
|
|
16
|
+
],
|
|
17
|
+
example:
|
|
18
|
+
'<DateRangeInput legend="Reporting period" onValueChange={setRange} value={range} />',
|
|
19
|
+
storyId: 'core-date-range-input--default',
|
|
20
|
+
} satisfies ComponentDoc;
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import * as stylex from '@stylexjs/stylex';
|
|
2
|
+
import {useId, useState, type HTMLAttributes} from 'react';
|
|
3
|
+
|
|
4
|
+
import {semanticTokens} from '../authoring.stylex.js';
|
|
5
|
+
import {DatePicker} from '../DatePicker/index.js';
|
|
6
|
+
|
|
7
|
+
// The narrowest a date control stays legible at before the pair should stack.
|
|
8
|
+
// The spacing scale has no single step that measures it.
|
|
9
|
+
const boundMinimumWidth = `calc(${semanticTokens.spacing2xl} * 6)`;
|
|
10
|
+
|
|
11
|
+
const styles = stylex.create({
|
|
12
|
+
group: {
|
|
13
|
+
borderStyle: 'none',
|
|
14
|
+
borderWidth: 0,
|
|
15
|
+
display: 'flex',
|
|
16
|
+
flexWrap: 'wrap',
|
|
17
|
+
fontFamily: semanticTokens.fontFamilyBody,
|
|
18
|
+
gap: semanticTokens.spacingMd,
|
|
19
|
+
margin: 0,
|
|
20
|
+
padding: 0,
|
|
21
|
+
},
|
|
22
|
+
// The question the pair asks, set in the display face: a mincho line is how
|
|
23
|
+
// this system titles a group, and it is what keeps the legend from reading
|
|
24
|
+
// as a third field label sitting above two others.
|
|
25
|
+
legend: {
|
|
26
|
+
color: semanticTokens.colorText,
|
|
27
|
+
fontFamily: semanticTokens.fontFamilyDisplay,
|
|
28
|
+
fontSize: semanticTokens.fontSizeSm,
|
|
29
|
+
fontWeight: semanticTokens.fontWeightMedium,
|
|
30
|
+
letterSpacing: semanticTokens.letterSpacingLabel,
|
|
31
|
+
lineHeight: semanticTokens.lineHeightBody,
|
|
32
|
+
// A legend is not a flex item: the browser lifts it out of the fieldset's
|
|
33
|
+
// formatting context and draws it in the border box, so the group's `gap`
|
|
34
|
+
// never reaches it and the first row sat flush against the question. The
|
|
35
|
+
// step has to be spent here, and it has to match the group's own gap.
|
|
36
|
+
// The `flexBasis: 100%` that used to sit here was the same mistake read
|
|
37
|
+
// the other way round: it assumed the legend was a flex item that needed
|
|
38
|
+
// forcing onto its own line. It never was one, and the two bounds sat side
|
|
39
|
+
// by side either way.
|
|
40
|
+
marginBlockEnd: semanticTokens.spacingMd,
|
|
41
|
+
padding: 0,
|
|
42
|
+
},
|
|
43
|
+
bound: {
|
|
44
|
+
display: 'flex',
|
|
45
|
+
flexDirection: 'column',
|
|
46
|
+
flexGrow: 1,
|
|
47
|
+
gap: semanticTokens.spacingXs,
|
|
48
|
+
minWidth: boundMinimumWidth,
|
|
49
|
+
},
|
|
50
|
+
// "Start" and "End" are eyebrows, not labels. The legend already asks the
|
|
51
|
+
// question; these two only say which end of it a control holds, and set at
|
|
52
|
+
// the same size and weight as the legend they competed with it.
|
|
53
|
+
label: {
|
|
54
|
+
color: semanticTokens.colorTextSecondary,
|
|
55
|
+
fontFamily: semanticTokens.fontFamilyDisplay,
|
|
56
|
+
fontSize: semanticTokens.fontSizeXs,
|
|
57
|
+
letterSpacing: semanticTokens.letterSpacingEyebrow,
|
|
58
|
+
lineHeight: semanticTokens.lineHeightHeading,
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
/** A start and end date, either of which may still be empty. */
|
|
63
|
+
export interface DateRange {
|
|
64
|
+
readonly end: string;
|
|
65
|
+
readonly start: string;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
type SharedRangeProps = Omit<
|
|
69
|
+
HTMLAttributes<HTMLFieldSetElement>,
|
|
70
|
+
'children' | 'className' | 'defaultValue' | 'onChange'
|
|
71
|
+
> & {
|
|
72
|
+
readonly endLabel?: string;
|
|
73
|
+
readonly legend: string;
|
|
74
|
+
readonly onValueChange?: (value: DateRange) => void;
|
|
75
|
+
readonly startLabel?: string;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
type ControlledRangeProps = SharedRangeProps & {
|
|
79
|
+
readonly defaultValue?: never;
|
|
80
|
+
readonly onValueChange: (value: DateRange) => void;
|
|
81
|
+
readonly value: DateRange;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
type UncontrolledRangeProps = SharedRangeProps & {
|
|
85
|
+
readonly defaultValue?: DateRange;
|
|
86
|
+
readonly value?: never;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
/** Props for a start-to-end date range. */
|
|
90
|
+
export type DateRangeInputProps = ControlledRangeProps | UncontrolledRangeProps;
|
|
91
|
+
|
|
92
|
+
const emptyRange: DateRange = {end: '', start: ''};
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Accepts a start and an end date. The end control refuses dates before the
|
|
96
|
+
* start, so an impossible range cannot be entered in the first place.
|
|
97
|
+
*
|
|
98
|
+
* Each bound is a `DatePicker` rather than a `DateInput`: no engine offers a
|
|
99
|
+
* range picker, and two platform pickers side by side cannot show the reader
|
|
100
|
+
* that the second is bounded by the first. Two grids of this system's own can,
|
|
101
|
+
* because the bound is passed to them as `min` and `max`.
|
|
102
|
+
*/
|
|
103
|
+
export function DateRangeInput({
|
|
104
|
+
defaultValue,
|
|
105
|
+
endLabel = 'End',
|
|
106
|
+
legend,
|
|
107
|
+
onValueChange,
|
|
108
|
+
startLabel = 'Start',
|
|
109
|
+
value,
|
|
110
|
+
...props
|
|
111
|
+
}: DateRangeInputProps) {
|
|
112
|
+
const startId = useId();
|
|
113
|
+
const endId = useId();
|
|
114
|
+
const [internalValue, setInternalValue] = useState(
|
|
115
|
+
defaultValue ?? emptyRange,
|
|
116
|
+
);
|
|
117
|
+
const range = value ?? internalValue;
|
|
118
|
+
|
|
119
|
+
function update(next: DateRange) {
|
|
120
|
+
if (value === undefined) {
|
|
121
|
+
setInternalValue(next);
|
|
122
|
+
}
|
|
123
|
+
onValueChange?.(next);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return (
|
|
127
|
+
<fieldset {...props} {...stylex.props(styles.group)}>
|
|
128
|
+
<legend {...stylex.props(styles.legend)}>{legend}</legend>
|
|
129
|
+
<span {...stylex.props(styles.bound)}>
|
|
130
|
+
<label htmlFor={startId} {...stylex.props(styles.label)}>
|
|
131
|
+
{startLabel}
|
|
132
|
+
</label>
|
|
133
|
+
<DatePicker
|
|
134
|
+
id={startId}
|
|
135
|
+
label={startLabel}
|
|
136
|
+
{...(range.end === '' ? {} : {max: range.end})}
|
|
137
|
+
onValueChange={(start) => {
|
|
138
|
+
update({...range, start});
|
|
139
|
+
}}
|
|
140
|
+
value={range.start}
|
|
141
|
+
/>
|
|
142
|
+
</span>
|
|
143
|
+
<span {...stylex.props(styles.bound)}>
|
|
144
|
+
<label htmlFor={endId} {...stylex.props(styles.label)}>
|
|
145
|
+
{endLabel}
|
|
146
|
+
</label>
|
|
147
|
+
<DatePicker
|
|
148
|
+
id={endId}
|
|
149
|
+
label={endLabel}
|
|
150
|
+
{...(range.start === '' ? {} : {min: range.start})}
|
|
151
|
+
onValueChange={(end) => {
|
|
152
|
+
update({...range, end});
|
|
153
|
+
}}
|
|
154
|
+
value={range.end}
|
|
155
|
+
/>
|
|
156
|
+
</span>
|
|
157
|
+
</fieldset>
|
|
158
|
+
);
|
|
159
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type {ComponentDoc} from '../docs/types.js';
|
|
2
|
+
|
|
3
|
+
export const dateTimeInputDoc = {
|
|
4
|
+
name: 'DateTimeInput',
|
|
5
|
+
description: 'Accepts one local date and time as an ISO string.',
|
|
6
|
+
props: [
|
|
7
|
+
{name: 'defaultValue', description: 'Sets the initial uncontrolled value.'},
|
|
8
|
+
{name: 'onValueChange', description: 'Receives the ISO string.'},
|
|
9
|
+
{name: 'value', description: 'Controls the current ISO string.'},
|
|
10
|
+
],
|
|
11
|
+
inheritedProps: [
|
|
12
|
+
'InputHTMLAttributes<HTMLInputElement> except children, className, defaultValue, onChange, type, and value',
|
|
13
|
+
],
|
|
14
|
+
example: '<DateTimeInput onValueChange={setValue} value={value} />',
|
|
15
|
+
storyId: 'core-date-time-input--default',
|
|
16
|
+
} satisfies ComponentDoc;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import {TemporalInput, type TemporalInputProps} from '../DateInput/index.js';
|
|
2
|
+
|
|
3
|
+
/** Props for a datetime-local field. */
|
|
4
|
+
export type DateTimeInputProps = TemporalInputProps;
|
|
5
|
+
|
|
6
|
+
/** Accepts one local date and time, exchanged as an ISO string. */
|
|
7
|
+
export function DateTimeInput(props: DateTimeInputProps) {
|
|
8
|
+
return <TemporalInput {...props} type="datetime-local" />;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {DateTimeInput, type DateTimeInputProps} from './DateTimeInput.js';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type {ComponentDoc} from '../docs/types.js';
|
|
2
|
+
|
|
3
|
+
export const dialogDoc = {
|
|
4
|
+
name: 'Dialog',
|
|
5
|
+
description: 'Interrupts the page with a focus-trapped modal surface.',
|
|
6
|
+
props: [
|
|
7
|
+
{name: 'children', description: 'Supplies the dialog body.'},
|
|
8
|
+
{name: 'description', description: 'Adds a described-by summary line.'},
|
|
9
|
+
{
|
|
10
|
+
name: 'dismissOnOutsideClick',
|
|
11
|
+
description: 'Allows a click on the scrim to close the dialog.',
|
|
12
|
+
},
|
|
13
|
+
{name: 'footer', description: 'Places actions at the end of the surface.'},
|
|
14
|
+
{
|
|
15
|
+
name: 'onDismiss',
|
|
16
|
+
description: 'Runs on Escape or an allowed outside click.',
|
|
17
|
+
},
|
|
18
|
+
{name: 'open', description: 'Controls whether the dialog renders.'},
|
|
19
|
+
{name: 'size', description: 'Selects the maximum surface width.'},
|
|
20
|
+
{name: 'title', description: 'Names the dialog for assistive technology.'},
|
|
21
|
+
],
|
|
22
|
+
inheritedProps: [
|
|
23
|
+
'HTMLAttributes<HTMLDivElement> except children, className, role, and title',
|
|
24
|
+
],
|
|
25
|
+
example: '<Dialog onDismiss={close} open={open} title="Publish">...</Dialog>',
|
|
26
|
+
storyId: 'core-dialog--default',
|
|
27
|
+
} satisfies ComponentDoc;
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import * as stylex from '@stylexjs/stylex';
|
|
2
|
+
import {useId, type HTMLAttributes, type ReactNode} from 'react';
|
|
3
|
+
|
|
4
|
+
import {semanticTokens} from '../authoring.stylex.js';
|
|
5
|
+
import {scrolling} from '../scrolling/index.js';
|
|
6
|
+
import {Overlay} from '../Overlay/index.js';
|
|
7
|
+
|
|
8
|
+
// The scale stops at 38px, so the three surface widths are named multiples of
|
|
9
|
+
// it rather than the rem literals a dialog would otherwise reach for.
|
|
10
|
+
const surfaceWidthSm = `calc(${semanticTokens.spacing2xl} * 10)`;
|
|
11
|
+
const surfaceWidthMd = `calc(${semanticTokens.spacing2xl} * 14)`;
|
|
12
|
+
const surfaceWidthLg = `calc(${semanticTokens.spacing2xl} * 20)`;
|
|
13
|
+
|
|
14
|
+
const surfaceEnter = stylex.keyframes({
|
|
15
|
+
from: {opacity: 0, transform: 'translateY(4%)'},
|
|
16
|
+
to: {opacity: 1, transform: 'translateY(0)'},
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
const styles = stylex.create({
|
|
20
|
+
surface: {
|
|
21
|
+
animationDuration: semanticTokens.durationModerate,
|
|
22
|
+
animationName: {
|
|
23
|
+
default: surfaceEnter,
|
|
24
|
+
'@media (prefers-reduced-motion: reduce)': 'none',
|
|
25
|
+
},
|
|
26
|
+
animationTimingFunction: semanticTokens.easingEmphasized,
|
|
27
|
+
backgroundColor: semanticTokens.colorSurfaceRaised,
|
|
28
|
+
borderRadius: semanticTokens.radiusContainer,
|
|
29
|
+
boxShadow: semanticTokens.elevationHigh,
|
|
30
|
+
color: semanticTokens.colorText,
|
|
31
|
+
display: 'flex',
|
|
32
|
+
flexDirection: 'column',
|
|
33
|
+
fontFamily: semanticTokens.fontFamilyBody,
|
|
34
|
+
maxHeight: '100%',
|
|
35
|
+
// The sheet owns no padding of its own: the copy and the actions are two
|
|
36
|
+
// blocks divided by a rule, and a rule that stops short of the edge is a
|
|
37
|
+
// dash. Clipping here is what lets the corner radius survive both blocks.
|
|
38
|
+
overflow: 'hidden',
|
|
39
|
+
width: '100%',
|
|
40
|
+
},
|
|
41
|
+
sm: {maxWidth: surfaceWidthSm},
|
|
42
|
+
md: {maxWidth: surfaceWidthMd},
|
|
43
|
+
lg: {maxWidth: surfaceWidthLg},
|
|
44
|
+
body: {
|
|
45
|
+
display: 'flex',
|
|
46
|
+
flexDirection: 'column',
|
|
47
|
+
gap: semanticTokens.spacingSm,
|
|
48
|
+
minHeight: 0,
|
|
49
|
+
overflowY: 'auto',
|
|
50
|
+
padding: semanticTokens.spacingLg,
|
|
51
|
+
},
|
|
52
|
+
// The question is set in the display face at the section rank. A dialog
|
|
53
|
+
// asks one thing, and the mincho line is what separates the asking from the
|
|
54
|
+
// sentence underneath that explains what it costs.
|
|
55
|
+
title: {
|
|
56
|
+
color: semanticTokens.colorText,
|
|
57
|
+
fontFamily: semanticTokens.fontFamilyDisplay,
|
|
58
|
+
fontSize: semanticTokens.fontSizeLg,
|
|
59
|
+
fontWeight: semanticTokens.fontWeightMedium,
|
|
60
|
+
letterSpacing: semanticTokens.letterSpacingHeading,
|
|
61
|
+
lineHeight: semanticTokens.lineHeightHeading,
|
|
62
|
+
margin: 0,
|
|
63
|
+
},
|
|
64
|
+
description: {
|
|
65
|
+
color: semanticTokens.colorTextSecondary,
|
|
66
|
+
fontFamily: semanticTokens.fontFamilyBody,
|
|
67
|
+
fontSize: semanticTokens.fontSizeSm,
|
|
68
|
+
letterSpacing: semanticTokens.letterSpacingBody,
|
|
69
|
+
lineHeight: semanticTokens.lineHeightBody,
|
|
70
|
+
margin: 0,
|
|
71
|
+
},
|
|
72
|
+
// The actions stand below the rule, on the tighter block padding a footer
|
|
73
|
+
// row takes everywhere else in the system.
|
|
74
|
+
footer: {
|
|
75
|
+
borderBlockStartColor: semanticTokens.borderDefault,
|
|
76
|
+
borderBlockStartStyle: semanticTokens.borderStyle,
|
|
77
|
+
borderBlockStartWidth: semanticTokens.borderWidth,
|
|
78
|
+
display: 'flex',
|
|
79
|
+
flexWrap: 'wrap',
|
|
80
|
+
gap: semanticTokens.spacingSm,
|
|
81
|
+
justifyContent: 'flex-end',
|
|
82
|
+
paddingBlock: semanticTokens.spacingMd,
|
|
83
|
+
paddingInline: semanticTokens.spacingLg,
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
/** Widths a dialog surface can claim. */
|
|
88
|
+
export type DialogSize = 'sm' | 'md' | 'lg';
|
|
89
|
+
|
|
90
|
+
/** Props shared by modal dialog surfaces. */
|
|
91
|
+
export interface DialogProps extends Omit<
|
|
92
|
+
HTMLAttributes<HTMLDivElement>,
|
|
93
|
+
'children' | 'className' | 'role' | 'title'
|
|
94
|
+
> {
|
|
95
|
+
readonly children?: ReactNode;
|
|
96
|
+
readonly description?: ReactNode;
|
|
97
|
+
readonly dismissOnOutsideClick?: boolean;
|
|
98
|
+
readonly footer?: ReactNode;
|
|
99
|
+
readonly onDismiss?: () => void;
|
|
100
|
+
readonly open: boolean;
|
|
101
|
+
readonly size?: DialogSize;
|
|
102
|
+
readonly title: ReactNode;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/** @internal Shared modal surface for Dialog and AlertDialog. */
|
|
106
|
+
export function DialogSurface({
|
|
107
|
+
children,
|
|
108
|
+
description,
|
|
109
|
+
dismissOnOutsideClick = true,
|
|
110
|
+
footer,
|
|
111
|
+
onDismiss,
|
|
112
|
+
open,
|
|
113
|
+
role,
|
|
114
|
+
size = 'md',
|
|
115
|
+
title,
|
|
116
|
+
...props
|
|
117
|
+
}: DialogProps & {readonly role: 'alertdialog' | 'dialog'}) {
|
|
118
|
+
const titleId = useId();
|
|
119
|
+
const descriptionId = useId();
|
|
120
|
+
|
|
121
|
+
return (
|
|
122
|
+
<Overlay
|
|
123
|
+
dismissOnOutsideClick={dismissOnOutsideClick}
|
|
124
|
+
{...(onDismiss ? {onDismiss} : {})}
|
|
125
|
+
open={open}
|
|
126
|
+
>
|
|
127
|
+
<div
|
|
128
|
+
{...props}
|
|
129
|
+
aria-describedby={description === undefined ? undefined : descriptionId}
|
|
130
|
+
aria-labelledby={titleId}
|
|
131
|
+
aria-modal="true"
|
|
132
|
+
role={role}
|
|
133
|
+
{...stylex.props(styles.surface, styles[size])}
|
|
134
|
+
>
|
|
135
|
+
<div {...stylex.props(styles.body, scrolling.region)}>
|
|
136
|
+
<h2 id={titleId} {...stylex.props(styles.title)}>
|
|
137
|
+
{title}
|
|
138
|
+
</h2>
|
|
139
|
+
{description === undefined ? null : (
|
|
140
|
+
<p id={descriptionId} {...stylex.props(styles.description)}>
|
|
141
|
+
{description}
|
|
142
|
+
</p>
|
|
143
|
+
)}
|
|
144
|
+
{children}
|
|
145
|
+
</div>
|
|
146
|
+
{footer === undefined ? null : (
|
|
147
|
+
<div {...stylex.props(styles.footer)}>{footer}</div>
|
|
148
|
+
)}
|
|
149
|
+
</div>
|
|
150
|
+
</Overlay>
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Interrupts the page with a modal surface. Focus is trapped inside it, the
|
|
156
|
+
* page behind stops scrolling, and Escape closes it through `onDismiss`.
|
|
157
|
+
*/
|
|
158
|
+
export function Dialog(props: DialogProps) {
|
|
159
|
+
return <DialogSurface {...props} role="dialog" />;
|
|
160
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type {ComponentDoc} from '../docs/types.js';
|
|
2
|
+
|
|
3
|
+
export const dropdownMenuDoc = {
|
|
4
|
+
name: 'DropdownMenu',
|
|
5
|
+
description:
|
|
6
|
+
'Presents a keyboard-navigable list of actions beside a trigger.',
|
|
7
|
+
props: [
|
|
8
|
+
{name: 'alignment', description: 'Lines the menu up along the cross axis.'},
|
|
9
|
+
{
|
|
10
|
+
name: 'anchorRef',
|
|
11
|
+
description: 'References the trigger to anchor against.',
|
|
12
|
+
},
|
|
13
|
+
{name: 'children', description: 'Supplies the menu items.'},
|
|
14
|
+
{name: 'label', description: 'Names the menu for assistive technology.'},
|
|
15
|
+
{name: 'onDismiss', description: 'Runs on Escape or an outside click.'},
|
|
16
|
+
{name: 'open', description: 'Controls whether the menu renders.'},
|
|
17
|
+
{
|
|
18
|
+
name: 'placement',
|
|
19
|
+
description: 'Selects the preferred side of the trigger.',
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
inheritedProps: ['None; DropdownMenu owns its menu element'],
|
|
23
|
+
example:
|
|
24
|
+
'<DropdownMenu anchorRef={triggerRef} label="Actions" onDismiss={close} open={open}>...</DropdownMenu>',
|
|
25
|
+
storyId: 'core-dropdown-menu--default',
|
|
26
|
+
} satisfies ComponentDoc;
|
|
27
|
+
|
|
28
|
+
export const dropdownMenuItemDoc = {
|
|
29
|
+
name: 'DropdownMenuItem',
|
|
30
|
+
description: 'Renders one action inside a DropdownMenu.',
|
|
31
|
+
props: [
|
|
32
|
+
{name: 'description', description: 'Adds secondary text under the label.'},
|
|
33
|
+
{name: 'leading', description: 'Places content before the label.'},
|
|
34
|
+
{name: 'trailing', description: 'Places content after the label.'},
|
|
35
|
+
],
|
|
36
|
+
inheritedProps: [
|
|
37
|
+
'ButtonHTMLAttributes<HTMLButtonElement> except className and role',
|
|
38
|
+
],
|
|
39
|
+
example: '<DropdownMenuItem onClick={publish}>Publish</DropdownMenuItem>',
|
|
40
|
+
storyId: 'core-dropdown-menu--default',
|
|
41
|
+
} satisfies ComponentDoc;
|