@starci/grammar 0.4.12 → 0.5.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/LICENSE +21 -21
- package/README.md +269 -47
- package/dist/.build-stamp.json +9 -0
- package/dist/common/components-forms.css +435 -0
- package/dist/common/components-navigation.css +1163 -0
- package/dist/common/components-overlays.css +939 -0
- package/dist/common/registry.d.ts +60 -1
- package/dist/common/registry.d.ts.map +1 -1
- package/dist/common/registry.js +6 -0
- package/dist/common/registry.js.map +1 -1
- package/dist/common/renderers-forms.d.ts +44 -0
- package/dist/common/renderers-forms.d.ts.map +1 -0
- package/dist/common/renderers-forms.js +49 -0
- package/dist/common/renderers-forms.js.map +1 -0
- package/dist/common/renderers-navigation.d.ts +42 -0
- package/dist/common/renderers-navigation.d.ts.map +1 -0
- package/dist/common/renderers-navigation.js +46 -0
- package/dist/common/renderers-navigation.js.map +1 -0
- package/dist/common/renderers-overlays.d.ts +32 -0
- package/dist/common/renderers-overlays.d.ts.map +1 -0
- package/dist/common/renderers-overlays.js +36 -0
- package/dist/common/renderers-overlays.js.map +1 -0
- package/dist/common/renderers.d.ts +5 -2
- package/dist/common/renderers.d.ts.map +1 -1
- package/dist/common/renderers.js +3 -0
- package/dist/common/renderers.js.map +1 -1
- package/dist/common/styles.css +282 -1
- package/dist/core/LeadingNumber.d.ts.map +1 -1
- package/dist/core/LeadingNumber.js +1 -1
- package/dist/core/LeadingNumber.js.map +1 -1
- package/dist/core/OtpInput.d.ts +17 -1
- package/dist/core/OtpInput.d.ts.map +1 -1
- package/dist/core/OtpInput.js +17 -5
- package/dist/core/OtpInput.js.map +1 -1
- package/dist/core/StateMark.d.ts +6 -1
- package/dist/core/StateMark.d.ts.map +1 -1
- package/dist/core/StateMark.js +7 -2
- package/dist/core/StateMark.js.map +1 -1
- package/dist/core/branch/Accordion/index.d.ts +28 -0
- package/dist/core/branch/Accordion/index.d.ts.map +1 -0
- package/dist/core/branch/Accordion/index.js +30 -0
- package/dist/core/branch/Accordion/index.js.map +1 -0
- package/dist/core/branch/AlertDialog/index.d.ts +40 -0
- package/dist/core/branch/AlertDialog/index.d.ts.map +1 -0
- package/dist/core/branch/AlertDialog/index.js +59 -0
- package/dist/core/branch/AlertDialog/index.js.map +1 -0
- package/dist/core/branch/Calendar/index.d.ts +26 -0
- package/dist/core/branch/Calendar/index.d.ts.map +1 -0
- package/dist/core/branch/Calendar/index.js +17 -0
- package/dist/core/branch/Calendar/index.js.map +1 -0
- package/dist/core/branch/ComboBox/index.d.ts +32 -0
- package/dist/core/branch/ComboBox/index.d.ts.map +1 -0
- package/dist/core/branch/ComboBox/index.js +28 -0
- package/dist/core/branch/ComboBox/index.js.map +1 -0
- package/dist/core/branch/DataTable/index.d.ts +52 -0
- package/dist/core/branch/DataTable/index.d.ts.map +1 -0
- package/dist/core/branch/DataTable/index.js +46 -0
- package/dist/core/branch/DataTable/index.js.map +1 -0
- package/dist/core/branch/DatePicker/index.d.ts +23 -0
- package/dist/core/branch/DatePicker/index.d.ts.map +1 -0
- package/dist/core/branch/DatePicker/index.js +29 -0
- package/dist/core/branch/DatePicker/index.js.map +1 -0
- package/dist/core/branch/DateRangePicker/index.d.ts +21 -0
- package/dist/core/branch/DateRangePicker/index.d.ts.map +1 -0
- package/dist/core/branch/DateRangePicker/index.js +22 -0
- package/dist/core/branch/DateRangePicker/index.js.map +1 -0
- package/dist/core/branch/Dialog/index.d.ts +36 -0
- package/dist/core/branch/Dialog/index.d.ts.map +1 -0
- package/dist/core/branch/Dialog/index.js +20 -0
- package/dist/core/branch/Dialog/index.js.map +1 -0
- package/dist/core/branch/Disclosure/index.d.ts +22 -0
- package/dist/core/branch/Disclosure/index.d.ts.map +1 -0
- package/dist/core/branch/Disclosure/index.js +26 -0
- package/dist/core/branch/Disclosure/index.js.map +1 -0
- package/dist/core/branch/Drawer/index.d.ts +35 -0
- package/dist/core/branch/Drawer/index.d.ts.map +1 -0
- package/dist/core/branch/Drawer/index.js +20 -0
- package/dist/core/branch/Drawer/index.js.map +1 -0
- package/dist/core/branch/DropdownMenu/index.d.ts +61 -0
- package/dist/core/branch/DropdownMenu/index.d.ts.map +1 -0
- package/dist/core/branch/DropdownMenu/index.js +59 -0
- package/dist/core/branch/DropdownMenu/index.js.map +1 -0
- package/dist/core/branch/ListBox/index.d.ts +30 -0
- package/dist/core/branch/ListBox/index.d.ts.map +1 -0
- package/dist/core/branch/ListBox/index.js +14 -0
- package/dist/core/branch/ListBox/index.js.map +1 -0
- package/dist/core/branch/MarkdownArticle/index.d.ts +8 -0
- package/dist/core/branch/MarkdownArticle/index.d.ts.map +1 -1
- package/dist/core/branch/MarkdownArticle/index.js +7 -2
- package/dist/core/branch/MarkdownArticle/index.js.map +1 -1
- package/dist/core/branch/Popover/index.d.ts +33 -0
- package/dist/core/branch/Popover/index.d.ts.map +1 -0
- package/dist/core/branch/Popover/index.js +16 -0
- package/dist/core/branch/Popover/index.js.map +1 -0
- package/dist/core/branch/Rail/index.d.ts +2 -0
- package/dist/core/branch/Rail/index.d.ts.map +1 -1
- package/dist/core/branch/Rail/index.js +10 -3
- package/dist/core/branch/Rail/index.js.map +1 -1
- package/dist/core/branch/Select/index.d.ts +31 -0
- package/dist/core/branch/Select/index.d.ts.map +1 -0
- package/dist/core/branch/Select/index.js +41 -0
- package/dist/core/branch/Select/index.js.map +1 -0
- package/dist/core/branch/SurfaceAccordionCard/index.d.ts +6 -0
- package/dist/core/branch/SurfaceAccordionCard/index.d.ts.map +1 -1
- package/dist/core/branch/SurfaceAccordionCard/index.js +6 -6
- package/dist/core/branch/SurfaceAccordionCard/index.js.map +1 -1
- package/dist/core/branch/SurfaceCard/classNames.d.ts +7 -2
- package/dist/core/branch/SurfaceCard/classNames.d.ts.map +1 -1
- package/dist/core/branch/SurfaceCard/classNames.js +7 -2
- package/dist/core/branch/SurfaceCard/classNames.js.map +1 -1
- package/dist/core/branch/SurfaceCard/index.d.ts +6 -0
- package/dist/core/branch/SurfaceCard/index.d.ts.map +1 -1
- package/dist/core/branch/SurfaceCard/index.js +4 -4
- package/dist/core/branch/SurfaceCard/index.js.map +1 -1
- package/dist/core/branch/SurfaceListCard/index.d.ts +17 -1
- package/dist/core/branch/SurfaceListCard/index.d.ts.map +1 -1
- package/dist/core/branch/SurfaceListCard/index.js +10 -4
- package/dist/core/branch/SurfaceListCard/index.js.map +1 -1
- package/dist/core/branch/Tabs/index.js +1 -1
- package/dist/core/branch/Tabs/index.js.map +1 -1
- package/dist/core/branch/Toast/index.d.ts +75 -0
- package/dist/core/branch/Toast/index.d.ts.map +1 -0
- package/dist/core/branch/Toast/index.js +145 -0
- package/dist/core/branch/Toast/index.js.map +1 -0
- package/dist/core/composite/Alert/index.d.ts +40 -0
- package/dist/core/composite/Alert/index.d.ts.map +1 -0
- package/dist/core/composite/Alert/index.js +27 -0
- package/dist/core/composite/Alert/index.js.map +1 -0
- package/dist/core/composite/AvatarGroup/index.d.ts +23 -0
- package/dist/core/composite/AvatarGroup/index.d.ts.map +1 -0
- package/dist/core/composite/AvatarGroup/index.js +15 -0
- package/dist/core/composite/AvatarGroup/index.js.map +1 -0
- package/dist/core/composite/Breadcrumbs/index.d.ts +27 -0
- package/dist/core/composite/Breadcrumbs/index.d.ts.map +1 -0
- package/dist/core/composite/Breadcrumbs/index.js +16 -0
- package/dist/core/composite/Breadcrumbs/index.js.map +1 -0
- package/dist/core/composite/ButtonGroup/index.d.ts +14 -0
- package/dist/core/composite/ButtonGroup/index.d.ts.map +1 -0
- package/dist/core/composite/ButtonGroup/index.js +17 -0
- package/dist/core/composite/ButtonGroup/index.js.map +1 -0
- package/dist/core/composite/CheckboxGroup/index.d.ts +23 -0
- package/dist/core/composite/CheckboxGroup/index.d.ts.map +1 -0
- package/dist/core/composite/CheckboxGroup/index.js +21 -0
- package/dist/core/composite/CheckboxGroup/index.js.map +1 -0
- package/dist/core/composite/DescriptionList/index.d.ts +23 -0
- package/dist/core/composite/DescriptionList/index.d.ts.map +1 -0
- package/dist/core/composite/DescriptionList/index.js +8 -0
- package/dist/core/composite/DescriptionList/index.js.map +1 -0
- package/dist/core/composite/Fieldset/index.d.ts +17 -0
- package/dist/core/composite/Fieldset/index.d.ts.map +1 -0
- package/dist/core/composite/Fieldset/index.js +14 -0
- package/dist/core/composite/Fieldset/index.js.map +1 -0
- package/dist/core/composite/Form/index.d.ts +32 -0
- package/dist/core/composite/Form/index.d.ts.map +1 -0
- package/dist/core/composite/Form/index.js +25 -0
- package/dist/core/composite/Form/index.js.map +1 -0
- package/dist/core/composite/HorizontalScrollRegion/index.d.ts +5 -0
- package/dist/core/composite/HorizontalScrollRegion/index.d.ts.map +1 -1
- package/dist/core/composite/HorizontalScrollRegion/index.js +3 -2
- package/dist/core/composite/HorizontalScrollRegion/index.js.map +1 -1
- package/dist/core/composite/Pagination/index.d.ts +31 -0
- package/dist/core/composite/Pagination/index.d.ts.map +1 -0
- package/dist/core/composite/Pagination/index.js +42 -0
- package/dist/core/composite/Pagination/index.js.map +1 -0
- package/dist/core/composite/RadioGroup/index.d.ts +15 -0
- package/dist/core/composite/RadioGroup/index.d.ts.map +1 -0
- package/dist/core/composite/RadioGroup/index.js +20 -0
- package/dist/core/composite/RadioGroup/index.js.map +1 -0
- package/dist/core/composite/SegmentedControl/index.d.ts +24 -0
- package/dist/core/composite/SegmentedControl/index.d.ts.map +1 -0
- package/dist/core/composite/SegmentedControl/index.js +33 -0
- package/dist/core/composite/SegmentedControl/index.js.map +1 -0
- package/dist/core/composite/StaticStateRow/index.d.ts +6 -1
- package/dist/core/composite/StaticStateRow/index.d.ts.map +1 -1
- package/dist/core/composite/StaticStateRow/index.js +6 -1
- package/dist/core/composite/StaticStateRow/index.js.map +1 -1
- package/dist/core/composite/Stepper/index.d.ts +34 -0
- package/dist/core/composite/Stepper/index.d.ts.map +1 -0
- package/dist/core/composite/Stepper/index.js +27 -0
- package/dist/core/composite/Stepper/index.js.map +1 -0
- package/dist/core/composite/TagGroup/index.d.ts +41 -0
- package/dist/core/composite/TagGroup/index.d.ts.map +1 -0
- package/dist/core/composite/TagGroup/index.js +17 -0
- package/dist/core/composite/TagGroup/index.js.map +1 -0
- package/dist/core/composite/Timeline/index.d.ts +28 -0
- package/dist/core/composite/Timeline/index.d.ts.map +1 -0
- package/dist/core/composite/Timeline/index.js +14 -0
- package/dist/core/composite/Timeline/index.js.map +1 -0
- package/dist/core/composite/VerticalScrollRegion/index.d.ts +31 -1
- package/dist/core/composite/VerticalScrollRegion/index.d.ts.map +1 -1
- package/dist/core/composite/VerticalScrollRegion/index.js +16 -3
- package/dist/core/composite/VerticalScrollRegion/index.js.map +1 -1
- package/dist/core/composition/BottomNav/index.d.ts +33 -0
- package/dist/core/composition/BottomNav/index.d.ts.map +1 -0
- package/dist/core/composition/BottomNav/index.js +22 -0
- package/dist/core/composition/BottomNav/index.js.map +1 -0
- package/dist/core/composition/Footer/index.d.ts +35 -0
- package/dist/core/composition/Footer/index.d.ts.map +1 -0
- package/dist/core/composition/Footer/index.js +19 -0
- package/dist/core/composition/Footer/index.js.map +1 -0
- package/dist/core/composition/NavigationFeatureNav/index.d.ts +3 -0
- package/dist/core/composition/NavigationFeatureNav/index.d.ts.map +1 -1
- package/dist/core/composition/NavigationFeatureNav/index.js +3 -0
- package/dist/core/composition/NavigationFeatureNav/index.js.map +1 -1
- package/dist/core/composition/TopBar/index.d.ts +34 -0
- package/dist/core/composition/TopBar/index.d.ts.map +1 -0
- package/dist/core/composition/TopBar/index.js +15 -0
- package/dist/core/composition/TopBar/index.js.map +1 -0
- package/dist/core/composition/WorkspaceShell/index.d.ts +18 -1
- package/dist/core/composition/WorkspaceShell/index.d.ts.map +1 -1
- package/dist/core/composition/WorkspaceShell/index.js +10 -1
- package/dist/core/composition/WorkspaceShell/index.js.map +1 -1
- package/dist/core/dna.d.ts +26 -8
- package/dist/core/dna.d.ts.map +1 -1
- package/dist/core/dna.js +22 -4
- package/dist/core/dna.js.map +1 -1
- package/dist/core/index.d.ts +60 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/navigationClassNames.d.ts +3 -0
- package/dist/core/navigationClassNames.d.ts.map +1 -0
- package/dist/core/navigationClassNames.js +4 -0
- package/dist/core/navigationClassNames.js.map +1 -0
- package/dist/core/navigationKeys.d.ts +11 -0
- package/dist/core/navigationKeys.d.ts.map +1 -0
- package/dist/core/navigationKeys.js +44 -0
- package/dist/core/navigationKeys.js.map +1 -0
- package/dist/core/overlayScope.d.ts +42 -0
- package/dist/core/overlayScope.d.ts.map +1 -0
- package/dist/core/overlayScope.js +54 -0
- package/dist/core/overlayScope.js.map +1 -0
- package/dist/core/primitive/Avatar/index.d.ts +34 -0
- package/dist/core/primitive/Avatar/index.d.ts.map +1 -0
- package/dist/core/primitive/Avatar/index.js +24 -0
- package/dist/core/primitive/Avatar/index.js.map +1 -0
- package/dist/core/primitive/Badge/index.d.ts +6 -1
- package/dist/core/primitive/Badge/index.d.ts.map +1 -1
- package/dist/core/primitive/Badge/index.js +7 -2
- package/dist/core/primitive/Badge/index.js.map +1 -1
- package/dist/core/primitive/Checkbox/index.d.ts +25 -0
- package/dist/core/primitive/Checkbox/index.d.ts.map +1 -0
- package/dist/core/primitive/Checkbox/index.js +17 -0
- package/dist/core/primitive/Checkbox/index.js.map +1 -0
- package/dist/core/primitive/CloseButton/index.d.ts +17 -0
- package/dist/core/primitive/CloseButton/index.d.ts.map +1 -0
- package/dist/core/primitive/CloseButton/index.js +11 -0
- package/dist/core/primitive/CloseButton/index.js.map +1 -0
- package/dist/core/primitive/DateField/index.d.ts +33 -0
- package/dist/core/primitive/DateField/index.d.ts.map +1 -0
- package/dist/core/primitive/DateField/index.js +33 -0
- package/dist/core/primitive/DateField/index.js.map +1 -0
- package/dist/core/primitive/Field/index.d.ts +127 -0
- package/dist/core/primitive/Field/index.d.ts.map +1 -0
- package/dist/core/primitive/Field/index.js +100 -0
- package/dist/core/primitive/Field/index.js.map +1 -0
- package/dist/core/primitive/FileDropzone/index.d.ts +25 -0
- package/dist/core/primitive/FileDropzone/index.d.ts.map +1 -0
- package/dist/core/primitive/FileDropzone/index.js +35 -0
- package/dist/core/primitive/FileDropzone/index.js.map +1 -0
- package/dist/core/primitive/GrammarRoot/index.d.ts +6 -1
- package/dist/core/primitive/GrammarRoot/index.d.ts.map +1 -1
- package/dist/core/primitive/GrammarRoot/index.js +7 -2
- package/dist/core/primitive/GrammarRoot/index.js.map +1 -1
- package/dist/core/primitive/Icon/index.d.ts +7 -1
- package/dist/core/primitive/Icon/index.d.ts.map +1 -1
- package/dist/core/primitive/Icon/index.js +7 -2
- package/dist/core/primitive/Icon/index.js.map +1 -1
- package/dist/core/primitive/IconButton/index.d.ts +1 -1
- package/dist/core/primitive/IconButton/index.d.ts.map +1 -1
- package/dist/core/primitive/IconButton/index.js +2 -2
- package/dist/core/primitive/IconButton/index.js.map +1 -1
- package/dist/core/primitive/Image/index.d.ts +30 -0
- package/dist/core/primitive/Image/index.d.ts.map +1 -0
- package/dist/core/primitive/Image/index.js +29 -0
- package/dist/core/primitive/Image/index.js.map +1 -0
- package/dist/core/primitive/IncludedMark/index.d.ts +2 -1
- package/dist/core/primitive/IncludedMark/index.d.ts.map +1 -1
- package/dist/core/primitive/IncludedMark/index.js +3 -2
- package/dist/core/primitive/IncludedMark/index.js.map +1 -1
- package/dist/core/primitive/Kbd/index.d.ts +13 -0
- package/dist/core/primitive/Kbd/index.d.ts.map +1 -0
- package/dist/core/primitive/Kbd/index.js +14 -0
- package/dist/core/primitive/Kbd/index.js.map +1 -0
- package/dist/core/primitive/Label/index.d.ts +18 -4
- package/dist/core/primitive/Label/index.d.ts.map +1 -1
- package/dist/core/primitive/Label/index.js +4 -2
- package/dist/core/primitive/Label/index.js.map +1 -1
- package/dist/core/primitive/Link/index.d.ts +30 -0
- package/dist/core/primitive/Link/index.d.ts.map +1 -0
- package/dist/core/primitive/Link/index.js +17 -0
- package/dist/core/primitive/Link/index.js.map +1 -0
- package/dist/core/primitive/Meter/index.d.ts +16 -0
- package/dist/core/primitive/Meter/index.d.ts.map +1 -0
- package/dist/core/primitive/Meter/index.js +20 -0
- package/dist/core/primitive/Meter/index.js.map +1 -0
- package/dist/core/primitive/NumberField/index.d.ts +21 -0
- package/dist/core/primitive/NumberField/index.d.ts.map +1 -0
- package/dist/core/primitive/NumberField/index.js +15 -0
- package/dist/core/primitive/NumberField/index.js.map +1 -0
- package/dist/core/primitive/ProgressCircle/index.d.ts +13 -0
- package/dist/core/primitive/ProgressCircle/index.d.ts.map +1 -0
- package/dist/core/primitive/ProgressCircle/index.js +5 -0
- package/dist/core/primitive/ProgressCircle/index.js.map +1 -0
- package/dist/core/primitive/RankArtwork/index.d.ts +2 -1
- package/dist/core/primitive/RankArtwork/index.d.ts.map +1 -1
- package/dist/core/primitive/RankArtwork/index.js +3 -2
- package/dist/core/primitive/RankArtwork/index.js.map +1 -1
- package/dist/core/primitive/Rating/index.d.ts +26 -0
- package/dist/core/primitive/Rating/index.d.ts.map +1 -0
- package/dist/core/primitive/Rating/index.js +37 -0
- package/dist/core/primitive/Rating/index.js.map +1 -0
- package/dist/core/primitive/SearchField/index.d.ts +22 -0
- package/dist/core/primitive/SearchField/index.d.ts.map +1 -0
- package/dist/core/primitive/SearchField/index.js +15 -0
- package/dist/core/primitive/SearchField/index.js.map +1 -0
- package/dist/core/primitive/SectionHeader/index.d.ts +9 -2
- package/dist/core/primitive/SectionHeader/index.d.ts.map +1 -1
- package/dist/core/primitive/SectionHeader/index.js +8 -2
- package/dist/core/primitive/SectionHeader/index.js.map +1 -1
- package/dist/core/primitive/Skeleton/index.d.ts +21 -0
- package/dist/core/primitive/Skeleton/index.d.ts.map +1 -0
- package/dist/core/primitive/Skeleton/index.js +18 -0
- package/dist/core/primitive/Skeleton/index.js.map +1 -0
- package/dist/core/primitive/Slider/index.d.ts +26 -0
- package/dist/core/primitive/Slider/index.d.ts.map +1 -0
- package/dist/core/primitive/Slider/index.js +37 -0
- package/dist/core/primitive/Slider/index.js.map +1 -0
- package/dist/core/primitive/Spinner/index.d.ts +18 -0
- package/dist/core/primitive/Spinner/index.d.ts.map +1 -0
- package/dist/core/primitive/Spinner/index.js +11 -0
- package/dist/core/primitive/Spinner/index.js.map +1 -0
- package/dist/core/primitive/Switch/index.d.ts +13 -0
- package/dist/core/primitive/Switch/index.d.ts.map +1 -0
- package/dist/core/primitive/Switch/index.js +15 -0
- package/dist/core/primitive/Switch/index.js.map +1 -0
- package/dist/core/primitive/Textarea/index.d.ts +16 -0
- package/dist/core/primitive/Textarea/index.d.ts.map +1 -0
- package/dist/core/primitive/Textarea/index.js +20 -0
- package/dist/core/primitive/Textarea/index.js.map +1 -0
- package/dist/core/primitive/TimeField/index.d.ts +15 -0
- package/dist/core/primitive/TimeField/index.d.ts.map +1 -0
- package/dist/core/primitive/TimeField/index.js +13 -0
- package/dist/core/primitive/TimeField/index.js.map +1 -0
- package/dist/core/styles.css +32 -6
- package/dist/heritage/styles.css +21 -6
- package/dist/offset-pop/components-forms.css +405 -0
- package/dist/offset-pop/components-navigation.css +394 -0
- package/dist/offset-pop/components-overlays.css +253 -0
- package/dist/offset-pop/conformance.d.ts +64 -0
- package/dist/offset-pop/conformance.d.ts.map +1 -0
- package/dist/offset-pop/conformance.js +63 -0
- package/dist/offset-pop/conformance.js.map +1 -0
- package/dist/offset-pop/dna.d.ts +282 -0
- package/dist/offset-pop/dna.d.ts.map +1 -0
- package/dist/offset-pop/dna.js +276 -0
- package/dist/offset-pop/dna.js.map +1 -0
- package/dist/offset-pop/index.d.ts +4 -8
- package/dist/offset-pop/index.d.ts.map +1 -1
- package/dist/offset-pop/index.js +7 -18
- package/dist/offset-pop/index.js.map +1 -1
- package/dist/offset-pop/styles.css +203 -62
- package/package.json +33 -9
package/dist/common/styles.css
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/* Common owns only universal structure/scales. Families supply material DNA. */
|
|
2
2
|
@layer starci-grammar-common, starci-grammar-core, starci-grammar-heritage, starci-grammar-offset-pop;
|
|
3
|
+
@import "./components-forms.css";
|
|
4
|
+
@import "./components-overlays.css";
|
|
5
|
+
@import "./components-navigation.css";
|
|
3
6
|
|
|
4
7
|
@layer starci-grammar-common {
|
|
5
8
|
.grammar-common-root {
|
|
@@ -11,6 +14,204 @@
|
|
|
11
14
|
min-width: 0;
|
|
12
15
|
}
|
|
13
16
|
|
|
17
|
+
/*
|
|
18
|
+
* THE ROOT OWNS EVERY VENDOR THEME VARIABLE.
|
|
19
|
+
*
|
|
20
|
+
* HeroUI declares its theme on `:root`, where each `color-mix()` is substituted against HeroUI's
|
|
21
|
+
* own light values, and a descendant inherits the RESULT. A family that re-declares `--accent`
|
|
22
|
+
* on its root therefore still received HeroUI's blue `--accent-soft`, and a dark scope still
|
|
23
|
+
* received HeroUI's light `--default`, `--field-background`, `--segment` and `--overlay`. So
|
|
24
|
+
* this root declares every HeroUI theme variable itself: the semantic ones get neutral,
|
|
25
|
+
* AA-safe defaults (bare Common is a real theme, light and dark), and every derived one is
|
|
26
|
+
* written in terms of the semantic ones, so it re-resolves on whichever family and theme scope
|
|
27
|
+
* it lands on. A family supplies its semantic values; the rest follows.
|
|
28
|
+
*/
|
|
29
|
+
.grammar-common-root {
|
|
30
|
+
color-scheme: light;
|
|
31
|
+
|
|
32
|
+
--background: oklch(97.02% 0 0);
|
|
33
|
+
--foreground: oklch(21.03% 0.0059 285.89);
|
|
34
|
+
--surface: oklch(100% 0 0);
|
|
35
|
+
--surface-secondary: oklch(95.24% 0.0013 286.37);
|
|
36
|
+
--muted: oklch(49.5% 0.0138 285.94);
|
|
37
|
+
--border: oklch(90% 0.004 286.32);
|
|
38
|
+
--separator: oklch(92% 0.004 286.32);
|
|
39
|
+
--accent: oklch(53% 0.2 256);
|
|
40
|
+
--accent-foreground: oklch(99.11% 0 0);
|
|
41
|
+
--success: oklch(73.29% 0.1935 150.81);
|
|
42
|
+
--success-foreground: oklch(21.03% 0.0059 285.89);
|
|
43
|
+
--warning: oklch(78.19% 0.1585 72.33);
|
|
44
|
+
--warning-foreground: oklch(21.03% 0.0059 285.89);
|
|
45
|
+
--danger: oklch(55% 0.215 26);
|
|
46
|
+
--danger-foreground: oklch(99.11% 0 0);
|
|
47
|
+
--info: var(--accent);
|
|
48
|
+
--info-foreground: var(--accent-foreground);
|
|
49
|
+
--backdrop: rgb(0 0 0 / 50%);
|
|
50
|
+
--surface-shadow: 0 2px 4px 0 rgb(0 0 0 / 4%), 0 1px 2px 0 rgb(0 0 0 / 6%), 0 0 1px 0 rgb(0 0 0 / 6%);
|
|
51
|
+
--overlay-shadow: 0 2px 8px 0 rgb(0 0 0 / 6%), 0 -6px 12px 0 rgb(0 0 0 / 3%), 0 14px 28px 0 rgb(0 0 0 / 8%);
|
|
52
|
+
--field-shadow: 0 2px 4px 0 rgb(0 0 0 / 4%), 0 1px 2px 0 rgb(0 0 0 / 6%), 0 0 1px 0 rgb(0 0 0 / 6%);
|
|
53
|
+
|
|
54
|
+
/* Derived from the semantic set above, so they follow the family and theme in scope. */
|
|
55
|
+
--focus: var(--accent);
|
|
56
|
+
--link: var(--foreground);
|
|
57
|
+
--surface-foreground: var(--foreground);
|
|
58
|
+
--surface-secondary-foreground: var(--foreground);
|
|
59
|
+
--surface-tertiary: color-mix(in oklab, var(--surface-secondary) 98%, var(--foreground));
|
|
60
|
+
--surface-tertiary-foreground: var(--foreground);
|
|
61
|
+
--overlay: var(--surface);
|
|
62
|
+
--overlay-foreground: var(--foreground);
|
|
63
|
+
--default: color-mix(in oklab, var(--surface-secondary) 98%, var(--foreground));
|
|
64
|
+
--default-foreground: var(--foreground);
|
|
65
|
+
--segment: var(--surface);
|
|
66
|
+
--segment-foreground: var(--foreground);
|
|
67
|
+
--field-background: var(--surface);
|
|
68
|
+
--field-foreground: var(--foreground);
|
|
69
|
+
--field-placeholder: var(--muted);
|
|
70
|
+
--field-border: transparent;
|
|
71
|
+
--scrollbar-thumb: color-mix(in oklch, var(--foreground) 15%, transparent);
|
|
72
|
+
--scrollbar-track: transparent;
|
|
73
|
+
--scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
|
|
74
|
+
--surface-hover: color-mix(in oklab, var(--surface) 92%, var(--surface-foreground) 8%);
|
|
75
|
+
--default-hover: color-mix(in oklab, var(--default) 96%, var(--default-foreground) 4%);
|
|
76
|
+
--accent-hover: color-mix(in oklab, var(--accent) 90%, var(--accent-foreground) 10%);
|
|
77
|
+
--success-hover: color-mix(in oklab, var(--success) 90%, var(--success-foreground) 10%);
|
|
78
|
+
--warning-hover: color-mix(in oklab, var(--warning) 90%, var(--warning-foreground) 10%);
|
|
79
|
+
--danger-hover: color-mix(in oklab, var(--danger) 90%, var(--danger-foreground) 10%);
|
|
80
|
+
--field-hover: color-mix(in oklab, var(--field-background) 98%, var(--field-foreground) 2%);
|
|
81
|
+
--field-focus: var(--field-background);
|
|
82
|
+
--field-border-hover: color-mix(in oklab, var(--field-border, var(--border)) 88%, var(--field-foreground) 10%);
|
|
83
|
+
--field-border-focus: color-mix(in oklab, var(--field-border, var(--border)) 74%, var(--field-foreground) 22%);
|
|
84
|
+
--default-soft: color-mix(in oklab, var(--default) 50%, transparent);
|
|
85
|
+
--default-soft-foreground: var(--default-foreground);
|
|
86
|
+
--default-soft-hover: color-mix(in oklab, var(--default) 60%, transparent);
|
|
87
|
+
--accent-soft: color-mix(in oklab, var(--accent) 15%, transparent);
|
|
88
|
+
--accent-soft-foreground: color-mix(in oklab, var(--accent) 70%, var(--foreground) 30%);
|
|
89
|
+
--accent-soft-hover: color-mix(in oklab, var(--accent-soft) 94%, var(--accent));
|
|
90
|
+
--success-soft: color-mix(in oklab, var(--success) 15%, transparent);
|
|
91
|
+
--success-soft-foreground: color-mix(in oklab, var(--success) 50%, var(--foreground) 50%);
|
|
92
|
+
--success-soft-hover: color-mix(in oklab, var(--success) 20%, transparent);
|
|
93
|
+
--warning-soft: color-mix(in oklab, var(--warning) 15%, transparent);
|
|
94
|
+
--warning-soft-foreground: color-mix(in oklab, var(--warning) 45%, var(--foreground) 55%);
|
|
95
|
+
--warning-soft-hover: color-mix(in oklab, var(--warning) 20%, transparent);
|
|
96
|
+
--danger-soft: color-mix(in oklab, var(--danger) 15%, transparent);
|
|
97
|
+
--danger-soft-foreground: color-mix(in oklab, var(--danger) 65%, var(--foreground) 35%);
|
|
98
|
+
--danger-soft-hover: color-mix(in oklab, var(--danger) 20%, transparent);
|
|
99
|
+
--background-secondary: color-mix(in oklab, var(--background) 96%, var(--foreground) 4%);
|
|
100
|
+
--background-tertiary: color-mix(in oklab, var(--background) 92%, var(--foreground) 8%);
|
|
101
|
+
--background-inverse: var(--foreground);
|
|
102
|
+
--separator-secondary: color-mix(in oklab, var(--surface) 85%, var(--surface-foreground) 15%);
|
|
103
|
+
--separator-tertiary: color-mix(in oklab, var(--surface) 81%, var(--surface-foreground) 19%);
|
|
104
|
+
--border-secondary: color-mix(in oklab, var(--surface) 78%, var(--surface-foreground) 22%);
|
|
105
|
+
--border-tertiary: color-mix(in oklab, var(--surface) 66%, var(--surface-foreground) 34%);
|
|
106
|
+
|
|
107
|
+
color: var(--foreground);
|
|
108
|
+
background-color: var(--background);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/*
|
|
112
|
+
* A hover fill moves AWAY from its foreground, so the pair keeps (and gains) contrast instead
|
|
113
|
+
* of HeroUI's mix toward the foreground, which takes a 5:1 button under AA on hover. Relative
|
|
114
|
+
* colour inverts the foreground's lightness; without it the fill keeps the gentler vendor mix.
|
|
115
|
+
*/
|
|
116
|
+
@supports (color: oklch(from white l c h)) {
|
|
117
|
+
.grammar-common-root {
|
|
118
|
+
--accent-hover: color-mix(in oklab, var(--accent) 90%, oklch(from var(--accent-foreground) calc(1 - l) 0 0));
|
|
119
|
+
--success-hover: color-mix(in oklab, var(--success) 90%, oklch(from var(--success-foreground) calc(1 - l) 0 0));
|
|
120
|
+
--warning-hover: color-mix(in oklab, var(--warning) 90%, oklch(from var(--warning-foreground) calc(1 - l) 0 0));
|
|
121
|
+
--danger-hover: color-mix(in oklab, var(--danger) 90%, oklch(from var(--danger-foreground) calc(1 - l) 0 0));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/* A real dark theme for bare Common; families override the semantic set, the mixes follow. */
|
|
126
|
+
.grammar-common-root[data-grammar-theme="dark"] {
|
|
127
|
+
color-scheme: dark;
|
|
128
|
+
|
|
129
|
+
--background: oklch(12% 0.005 285.82);
|
|
130
|
+
--foreground: oklch(99.11% 0 0);
|
|
131
|
+
--surface: oklch(21.03% 0.0059 285.89);
|
|
132
|
+
--surface-secondary: oklch(25.7% 0.0037 286.14);
|
|
133
|
+
--muted: oklch(72% 0.015 286.07);
|
|
134
|
+
--border: oklch(28% 0.006 286.03);
|
|
135
|
+
--separator: oklch(25% 0.006 286.03);
|
|
136
|
+
--accent: oklch(72% 0.14 250);
|
|
137
|
+
--accent-foreground: oklch(21.03% 0.0059 285.89);
|
|
138
|
+
--success: oklch(73.29% 0.1935 150.81);
|
|
139
|
+
--success-foreground: oklch(21.03% 0.0059 285.89);
|
|
140
|
+
--warning: oklch(82.03% 0.1388 76.34);
|
|
141
|
+
--warning-foreground: oklch(21.03% 0.0059 285.89);
|
|
142
|
+
--danger: oklch(70% 0.17 24);
|
|
143
|
+
--danger-foreground: oklch(21.03% 0.0059 285.89);
|
|
144
|
+
--backdrop: rgb(0 0 0 / 60%);
|
|
145
|
+
--surface-shadow: 0 0 0 0 transparent inset;
|
|
146
|
+
--overlay-shadow: 0 0 1px 0 rgb(255 255 255 / 30%) inset;
|
|
147
|
+
--field-shadow: 0 0 0 0 transparent inset;
|
|
148
|
+
--segment: color-mix(in oklab, var(--surface) 76%, var(--foreground));
|
|
149
|
+
--accent-soft: color-mix(in oklab, var(--accent) 16%, transparent);
|
|
150
|
+
--accent-soft-foreground: color-mix(in oklab, var(--accent) 70%, var(--foreground) 30%);
|
|
151
|
+
--success-soft: color-mix(in oklab, var(--success) 14%, transparent);
|
|
152
|
+
--success-soft-foreground: color-mix(in oklab, var(--success) 70%, var(--foreground) 30%);
|
|
153
|
+
--warning-soft: color-mix(in oklab, var(--warning) 14%, transparent);
|
|
154
|
+
--warning-soft-foreground: color-mix(in oklab, var(--warning) 70%, var(--foreground) 30%);
|
|
155
|
+
--danger-soft: color-mix(in oklab, var(--danger) 16%, transparent);
|
|
156
|
+
--danger-soft-foreground: color-mix(in oklab, var(--danger) 70%, var(--foreground) 30%);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
@media (prefers-color-scheme: dark) {
|
|
160
|
+
.grammar-common-root[data-grammar-theme="system"] {
|
|
161
|
+
color-scheme: dark;
|
|
162
|
+
|
|
163
|
+
--background: oklch(12% 0.005 285.82);
|
|
164
|
+
--foreground: oklch(99.11% 0 0);
|
|
165
|
+
--surface: oklch(21.03% 0.0059 285.89);
|
|
166
|
+
--surface-secondary: oklch(25.7% 0.0037 286.14);
|
|
167
|
+
--muted: oklch(72% 0.015 286.07);
|
|
168
|
+
--border: oklch(28% 0.006 286.03);
|
|
169
|
+
--separator: oklch(25% 0.006 286.03);
|
|
170
|
+
--accent: oklch(72% 0.14 250);
|
|
171
|
+
--accent-foreground: oklch(21.03% 0.0059 285.89);
|
|
172
|
+
--success: oklch(73.29% 0.1935 150.81);
|
|
173
|
+
--success-foreground: oklch(21.03% 0.0059 285.89);
|
|
174
|
+
--warning: oklch(82.03% 0.1388 76.34);
|
|
175
|
+
--warning-foreground: oklch(21.03% 0.0059 285.89);
|
|
176
|
+
--danger: oklch(70% 0.17 24);
|
|
177
|
+
--danger-foreground: oklch(21.03% 0.0059 285.89);
|
|
178
|
+
--backdrop: rgb(0 0 0 / 60%);
|
|
179
|
+
--surface-shadow: 0 0 0 0 transparent inset;
|
|
180
|
+
--overlay-shadow: 0 0 1px 0 rgb(255 255 255 / 30%) inset;
|
|
181
|
+
--field-shadow: 0 0 0 0 transparent inset;
|
|
182
|
+
--segment: color-mix(in oklab, var(--surface) 76%, var(--foreground));
|
|
183
|
+
--accent-soft: color-mix(in oklab, var(--accent) 16%, transparent);
|
|
184
|
+
--accent-soft-foreground: color-mix(in oklab, var(--accent) 70%, var(--foreground) 30%);
|
|
185
|
+
--success-soft: color-mix(in oklab, var(--success) 14%, transparent);
|
|
186
|
+
--success-soft-foreground: color-mix(in oklab, var(--success) 70%, var(--foreground) 30%);
|
|
187
|
+
--warning-soft: color-mix(in oklab, var(--warning) 14%, transparent);
|
|
188
|
+
--warning-soft-foreground: color-mix(in oklab, var(--warning) 70%, var(--foreground) 30%);
|
|
189
|
+
--danger-soft: color-mix(in oklab, var(--danger) 16%, transparent);
|
|
190
|
+
--danger-soft-foreground: color-mix(in oklab, var(--danger) 70%, var(--foreground) 30%);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
@media (forced-colors: active) {
|
|
195
|
+
.grammar-common-root,
|
|
196
|
+
.grammar-common-root[data-grammar-theme] {
|
|
197
|
+
--background: Canvas;
|
|
198
|
+
--foreground: CanvasText;
|
|
199
|
+
--surface: Canvas;
|
|
200
|
+
--surface-secondary: Canvas;
|
|
201
|
+
--muted: GrayText;
|
|
202
|
+
--border: CanvasText;
|
|
203
|
+
--separator: CanvasText;
|
|
204
|
+
--accent: Highlight;
|
|
205
|
+
--accent-foreground: HighlightText;
|
|
206
|
+
--success: CanvasText;
|
|
207
|
+
--success-foreground: Canvas;
|
|
208
|
+
--warning: CanvasText;
|
|
209
|
+
--warning-foreground: Canvas;
|
|
210
|
+
--danger: CanvasText;
|
|
211
|
+
--danger-foreground: Canvas;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
14
215
|
.grammar-common-root,
|
|
15
216
|
.grammar-common-root::before,
|
|
16
217
|
.grammar-common-root::after,
|
|
@@ -98,6 +299,35 @@
|
|
|
98
299
|
flex: none;
|
|
99
300
|
}
|
|
100
301
|
|
|
302
|
+
/*
|
|
303
|
+
* Keyboard-reachable scroll owners (VerticalScrollRegion / HorizontalScrollRegion when focusable,
|
|
304
|
+
* the Rail body, fenced code and Markdown table frames) draw the same inset focus ring the chat
|
|
305
|
+
* scroll owners use, so a Tab stop that scrolls is never invisible.
|
|
306
|
+
*/
|
|
307
|
+
[data-grammar-scroll-region][tabindex="0"]:focus-visible,
|
|
308
|
+
.starci-core-horizontal-scroll-region[tabindex="0"]:focus-visible,
|
|
309
|
+
.starci-core-rail-body[tabindex="0"]:focus-visible,
|
|
310
|
+
.starci-core-fenced-code-block pre[tabindex="0"]:focus-visible,
|
|
311
|
+
.starci-core-markdown-table-frame[tabindex="0"]:focus-visible {
|
|
312
|
+
outline: 2px solid var(--focus, var(--starci-core-focus, Highlight));
|
|
313
|
+
outline-offset: -2px;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
/* OtpInput with a drawn label: the label stacks above the slot strip, which keeps its own scroll. */
|
|
317
|
+
.starci-core-otp-field {
|
|
318
|
+
display: flex;
|
|
319
|
+
min-width: 0;
|
|
320
|
+
flex-direction: column;
|
|
321
|
+
gap: 0.5rem;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/* The drawn label is one block in that stack; a long name wraps instead of widening the field. */
|
|
325
|
+
.starci-core-otp-label {
|
|
326
|
+
display: block;
|
|
327
|
+
min-width: 0;
|
|
328
|
+
overflow-wrap: anywhere;
|
|
329
|
+
}
|
|
330
|
+
|
|
101
331
|
.starci-core-visually-hidden {
|
|
102
332
|
position: absolute;
|
|
103
333
|
width: 1px;
|
|
@@ -371,6 +601,23 @@
|
|
|
371
601
|
min-width: max-content;
|
|
372
602
|
}
|
|
373
603
|
|
|
604
|
+
/*
|
|
605
|
+
* The same one scrolling axis, for the vertical region.
|
|
606
|
+
*
|
|
607
|
+
* The vendor's `.scroll-shadow--vertical` sets `overflow-y: auto` alone, and every host class
|
|
608
|
+
* this region wears - the chat conversation, the chat overlay rail, the accordion region, the
|
|
609
|
+
* form scroll viewport - names that same single axis or names none at all. A computed non-visible
|
|
610
|
+
* overflow on one axis forces the other from `visible` to `auto`, so the region rendered
|
|
611
|
+
* `overflow: auto auto`: two scrolling axes under an OVERFLOW-3 claim that promises one. Naming
|
|
612
|
+
* both axes on the region's own identity holds the render at the one axis the claim describes,
|
|
613
|
+
* and needs no `!important` to do it: no host class and no vendor rule ever names `overflow-x`,
|
|
614
|
+
* so this declaration is unopposed whichever order a consumer imports the two sheets in.
|
|
615
|
+
*/
|
|
616
|
+
[data-grammar-scroll-region="vertical"] {
|
|
617
|
+
overflow-x: hidden;
|
|
618
|
+
overflow-y: auto;
|
|
619
|
+
}
|
|
620
|
+
|
|
374
621
|
@media (min-width: 40rem) {
|
|
375
622
|
.starci-core-form-page {
|
|
376
623
|
padding-block: 2.5rem;
|
|
@@ -622,7 +869,17 @@
|
|
|
622
869
|
cursor: not-allowed;
|
|
623
870
|
}
|
|
624
871
|
|
|
625
|
-
|
|
872
|
+
/*
|
|
873
|
+
* Unavailable is not disabled: the row or surface is still content a reader needs, so its copy
|
|
874
|
+
* reads in the muted ink (AA on every family ground) rather than fading the whole element to
|
|
875
|
+
* ~2.3:1. Only the non-text state mark keeps the disabled fade as the visual cue.
|
|
876
|
+
*/
|
|
877
|
+
[data-grammar-state="unavailable"],
|
|
878
|
+
[data-grammar-state="unavailable"] .starci-core-static-row-copy > * {
|
|
879
|
+
color: var(--muted, GrayText);
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
[data-grammar-state="unavailable"] [data-grammar-state-mark] {
|
|
626
883
|
opacity: var(--starci-core-disabled-opacity, 0.55);
|
|
627
884
|
}
|
|
628
885
|
|
|
@@ -660,6 +917,13 @@
|
|
|
660
917
|
min-width: 0;
|
|
661
918
|
}
|
|
662
919
|
|
|
920
|
+
/* The collection IS the list (`<ul role="list">`, or the scroll region with role="list"): no UA indent or bullets. */
|
|
921
|
+
.starci-core-owned-collection:is(ul, ol, [role="list"]) {
|
|
922
|
+
margin: 0;
|
|
923
|
+
padding: 0;
|
|
924
|
+
list-style: none;
|
|
925
|
+
}
|
|
926
|
+
|
|
663
927
|
/* A verdict list is flush inside its shell; the shell already owns the corner. */
|
|
664
928
|
.starci-core-owned-collection[data-grammar-collection="verdict"] {
|
|
665
929
|
border-radius: 0 !important;
|
|
@@ -1480,6 +1744,18 @@
|
|
|
1480
1744
|
background: transparent !important;
|
|
1481
1745
|
}
|
|
1482
1746
|
|
|
1747
|
+
/*
|
|
1748
|
+
* THE 44px TOUCH FLOOR, as the form controls spell it: on a touch pointer or a narrow viewport
|
|
1749
|
+
* the menu target is at least 44px in both axes even where a consumer resizes the toggle. It is
|
|
1750
|
+
* a MINIMUM, which the vendor never sets, so it owes no `!important`.
|
|
1751
|
+
*/
|
|
1752
|
+
@media (pointer: coarse), (max-width: 40rem) {
|
|
1753
|
+
.starci-core-subnav-toggle {
|
|
1754
|
+
min-inline-size: var(--starci-core-control-min-size, 2.75rem);
|
|
1755
|
+
min-block-size: var(--starci-core-control-min-size, 2.75rem);
|
|
1756
|
+
}
|
|
1757
|
+
}
|
|
1758
|
+
|
|
1483
1759
|
@media (min-width: 48rem) {
|
|
1484
1760
|
.starci-core-navigation-feature-nav[data-grammar-navigation-feature-nav-destinations="absent"] .starci-core-navigation-feature-nav-primary {
|
|
1485
1761
|
grid-template-columns: auto minmax(0, 1fr) !important;
|
|
@@ -2159,6 +2435,11 @@
|
|
|
2159
2435
|
flex: none;
|
|
2160
2436
|
}
|
|
2161
2437
|
|
|
2438
|
+
/* RankArtwork is a glyph too: a flex row never squeezes it. Its size stays the consumer's. */
|
|
2439
|
+
.starci-core-rank-artwork {
|
|
2440
|
+
flex: none;
|
|
2441
|
+
}
|
|
2442
|
+
|
|
2162
2443
|
.starci-core-icon[data-usage="heading"] {
|
|
2163
2444
|
width: 1.5rem;
|
|
2164
2445
|
height: 1.5rem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeadingNumber.d.ts","sourceRoot":"","sources":["../../src/core/LeadingNumber.tsx"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC5B,CAAA;AAID;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,
|
|
1
|
+
{"version":3,"file":"LeadingNumber.d.ts","sourceRoot":"","sources":["../../src/core/LeadingNumber.tsx"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC5B,CAAA;AAID;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,gCAOtD,CAAA"}
|
|
@@ -6,5 +6,5 @@ import { leadingNumberClassName } from "./classNames.js";
|
|
|
6
6
|
* The punctuation and treatment are intentionally closed: an ordinal prefix is
|
|
7
7
|
* quiet reading structure (`1.`), never a badge, chip, status, or decoration.
|
|
8
8
|
*/
|
|
9
|
-
export const LeadingNumber = (props) => (_jsxs("span", { className: leadingNumberClassName, children: [props.position, "."] }));
|
|
9
|
+
export const LeadingNumber = (props) => (_jsxs("span", { className: leadingNumberClassName, "data-contract": "FONT-2 TONE-2", children: [props.position, "."] }));
|
|
10
10
|
//# sourceMappingURL=LeadingNumber.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeadingNumber.js","sourceRoot":"","sources":["../../src/core/LeadingNumber.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAExD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE,CAAC,CACxD,gBACI,SAAS,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"LeadingNumber.js","sourceRoot":"","sources":["../../src/core/LeadingNumber.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAExD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE,CAAC,CACxD,gBACI,SAAS,EAAE,sBAAsB,mBACnB,eAAe,aAE5B,KAAK,CAAC,QAAQ,SACZ,CACV,CAAA"}
|
package/dist/core/OtpInput.d.ts
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
export type OtpInputProps = {
|
|
2
2
|
readonly id: string;
|
|
3
3
|
readonly name: string;
|
|
4
|
+
/**
|
|
5
|
+
* Visible name of the code, e.g. "Verification code". It is drawn above the slots as a
|
|
6
|
+
* `<label for={id}>` and names both the slot group (`role="group"`) and the one real input.
|
|
7
|
+
*/
|
|
8
|
+
readonly label?: string;
|
|
9
|
+
/** Keep `label` as the accessible name but hide the drawn text. */
|
|
10
|
+
readonly isLabelHidden?: boolean;
|
|
11
|
+
/** Id of an app-owned element (a Field label, a heading) that names the code instead of `label`. */
|
|
12
|
+
readonly labelledBy?: string;
|
|
4
13
|
readonly defaultValue?: string;
|
|
5
14
|
readonly disabled?: boolean;
|
|
6
15
|
readonly invalid?: boolean;
|
|
7
16
|
readonly describedBy?: string;
|
|
8
17
|
readonly onChange?: (value: string) => void;
|
|
9
18
|
};
|
|
10
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* Own the conventional six-digit OTP control and its intrinsic-width overflow treatment.
|
|
21
|
+
*
|
|
22
|
+
* The slot strip is a `role="group"` named by `label` (or `labelledBy`), and the single hidden
|
|
23
|
+
* `<input>` that receives the code carries the same name, so the control is announced as, e.g.,
|
|
24
|
+
* "Verification code, group" and "Verification code, edit text". The strip scrolls only the slots,
|
|
25
|
+
* which the focused input already reaches, so the region adds no extra Tab stop.
|
|
26
|
+
*/
|
|
11
27
|
export declare const OtpInput: (props: OtpInputProps) => import("react").JSX.Element;
|
|
12
28
|
//# sourceMappingURL=OtpInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OtpInput.d.ts","sourceRoot":"","sources":["../../src/core/OtpInput.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"OtpInput.d.ts","sourceRoot":"","sources":["../../src/core/OtpInput.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,mEAAmE;IACnE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,oGAAoG;IACpG,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,aAAa,gCA4D5C,CAAA"}
|
package/dist/core/OtpInput.js
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { useCallback, useRef } from "react";
|
|
4
|
-
import { InputOTP, REGEXP_ONLY_DIGITS } from "@heroui/react";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback, useId, useRef } from "react";
|
|
4
|
+
import { InputOTP, Label as HeroLabel, REGEXP_ONLY_DIGITS } from "@heroui/react";
|
|
5
5
|
import { horizontalScrollRegionClassName } from "./classNames.js";
|
|
6
6
|
import { HorizontalScrollRegion } from "./composite/HorizontalScrollRegion/index.js";
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Own the conventional six-digit OTP control and its intrinsic-width overflow treatment.
|
|
9
|
+
*
|
|
10
|
+
* The slot strip is a `role="group"` named by `label` (or `labelledBy`), and the single hidden
|
|
11
|
+
* `<input>` that receives the code carries the same name, so the control is announced as, e.g.,
|
|
12
|
+
* "Verification code, group" and "Verification code, edit text". The strip scrolls only the slots,
|
|
13
|
+
* which the focused input already reaches, so the region adds no extra Tab stop.
|
|
14
|
+
*/
|
|
8
15
|
export const OtpInput = (props) => {
|
|
9
16
|
const regionRef = useRef(null);
|
|
17
|
+
const generatedLabelId = useId();
|
|
10
18
|
const onChange = useCallback((nextValue) => {
|
|
11
19
|
props.onChange?.(nextValue);
|
|
12
20
|
window.requestAnimationFrame(() => {
|
|
@@ -17,6 +25,10 @@ export const OtpInput = (props) => {
|
|
|
17
25
|
slots.item(activeIndex).scrollIntoView({ block: "nearest", inline: "nearest" });
|
|
18
26
|
});
|
|
19
27
|
}, [props.onChange]);
|
|
20
|
-
|
|
28
|
+
const labelId = props.label === undefined ? props.labelledBy : generatedLabelId;
|
|
29
|
+
const control = (_jsx(HorizontalScrollRegion, { ref: regionRef, className: horizontalScrollRegionClassName, "data-contract": "PADDING-1 OVERFLOW-3 OVERFLOW-5", isFocusable: false, ...(labelId === undefined ? {} : { role: "group", "aria-labelledby": labelId }), children: _jsx(InputOTP, { id: props.id, name: props.name, maxLength: 6, pattern: REGEXP_ONLY_DIGITS, autoComplete: "one-time-code", inputMode: "numeric", defaultValue: props.defaultValue, isDisabled: props.disabled === true, isInvalid: props.invalid === true, "aria-invalid": props.invalid === true ? true : undefined, "aria-describedby": props.describedBy, ...(labelId === undefined ? {} : { "aria-labelledby": labelId }), variant: "secondary", onChange: onChange, children: _jsx(InputOTP.Group, { children: Array.from({ length: 6 }, (_, index) => (_jsx(InputOTP.Slot, { index: index }, index))) }) }) }));
|
|
30
|
+
if (props.label === undefined)
|
|
31
|
+
return control;
|
|
32
|
+
return (_jsxs("div", { className: "starci-core-otp-field", "data-grammar-otp-field": "true", children: [_jsx(HeroLabel, { className: props.isLabelHidden === true ? "starci-core-visually-hidden" : "starci-core-otp-label", htmlFor: props.id, id: labelId, children: props.label }), control] }));
|
|
21
33
|
};
|
|
22
34
|
//# sourceMappingURL=OtpInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OtpInput.js","sourceRoot":"","sources":["../../src/core/OtpInput.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"OtpInput.js","sourceRoot":"","sources":["../../src/core/OtpInput.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,KAAK,IAAI,SAAS,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAA;AAqBpF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC7C,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAC9C,MAAM,gBAAgB,GAAG,KAAK,EAAE,CAAA;IAChC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,SAAiB,EAAE,EAAE;QAC/C,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAA;QAC3B,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;YAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAc,8BAA8B,CAAC,CAAA;YAC9F,IAAI,CAAC,KAAK,EAAE,MAAM;gBAAE,OAAM;YAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAChE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;QACnF,CAAC,CAAC,CAAA;IACN,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEpB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAA;IAC/E,MAAM,OAAO,GAAG,CACZ,KAAC,sBAAsB,IACnB,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,+BAA+B,mBAC5B,iCAAiC,EAC/C,WAAW,EAAE,KAAK,KACd,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,YAEhF,KAAC,QAAQ,IACL,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAC,eAAe,EAC5B,SAAS,EAAC,SAAS,EACnB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,UAAU,EAAE,KAAK,CAAC,QAAQ,KAAK,IAAI,EACnC,SAAS,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI,kBACnB,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,sBACrC,KAAK,CAAC,WAAW,KAC/B,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,EACjE,OAAO,EAAC,WAAW,EACnB,QAAQ,EAAE,QAAQ,YAElB,KAAC,QAAQ,CAAC,KAAK,cACV,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACrC,KAAC,QAAQ,CAAC,IAAI,IAAa,KAAK,EAAE,KAAK,IAAnB,KAAK,CAAkB,CAC9C,CAAC,GACW,GACV,GACU,CAC5B,CAAA;IAED,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,OAAO,CAAA;IAC7C,OAAO,CACH,eAAK,SAAS,EAAC,uBAAuB,4BAAwB,MAAM,aAChE,KAAC,SAAS,IACN,SAAS,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,uBAAuB,EACjG,OAAO,EAAE,KAAK,CAAC,EAAE,EACjB,EAAE,EAAE,OAAO,YAEV,KAAK,CAAC,KAAK,GACJ,EACX,OAAO,IACN,CACT,CAAA;AACL,CAAC,CAAA"}
|
package/dist/core/StateMark.d.ts
CHANGED
|
@@ -3,6 +3,11 @@ import type { PresentationState } from "./state.js";
|
|
|
3
3
|
export type StateMarkProps = {
|
|
4
4
|
readonly state: PresentationState;
|
|
5
5
|
};
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Draw the check mark used by successful neutral states.
|
|
8
|
+
*
|
|
9
|
+
* Contract: STATE-1 (the carrier is chosen from the named state through `treatmentFor`) and ICON-6
|
|
10
|
+
* (the mark is decorative, so it is always `aria-hidden`; the state's words carry the meaning).
|
|
11
|
+
*/
|
|
7
12
|
export declare const StateMark: (props: StateMarkProps) => import("react").JSX.Element | null;
|
|
8
13
|
//# sourceMappingURL=StateMark.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateMark.d.ts","sourceRoot":"","sources":["../../src/core/StateMark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;CACpC,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"StateMark.d.ts","sourceRoot":"","sources":["../../src/core/StateMark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;CACpC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,cAAc,uCAe9C,CAAA"}
|
package/dist/core/StateMark.js
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { treatmentFor } from "./state.js";
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* Draw the check mark used by successful neutral states.
|
|
5
|
+
*
|
|
6
|
+
* Contract: STATE-1 (the carrier is chosen from the named state through `treatmentFor`) and ICON-6
|
|
7
|
+
* (the mark is decorative, so it is always `aria-hidden`; the state's words carry the meaning).
|
|
8
|
+
*/
|
|
4
9
|
export const StateMark = (props) => {
|
|
5
10
|
const treatment = treatmentFor(props.state);
|
|
6
11
|
if (treatment.mark !== "check")
|
|
7
12
|
return null;
|
|
8
|
-
return (_jsx("svg", { "aria-hidden": "true", "data-grammar-state-mark": "check", focusable: "false", viewBox: "0 0 20 20", children: _jsx("path", { d: "M5 10.5 8.25 14 15 6.5", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2" }) }));
|
|
13
|
+
return (_jsx("svg", { "aria-hidden": "true", "data-contract": "STATE-1 ICON-6", "data-grammar-state-mark": "check", focusable: "false", viewBox: "0 0 20 20", children: _jsx("path", { d: "M5 10.5 8.25 14 15 6.5", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2" }) }));
|
|
9
14
|
};
|
|
10
15
|
//# sourceMappingURL=StateMark.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateMark.js","sourceRoot":"","sources":["../../src/core/StateMark.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAOzC
|
|
1
|
+
{"version":3,"file":"StateMark.js","sourceRoot":"","sources":["../../src/core/StateMark.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAOzC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3C,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAA;IAE3C,OAAO,CACH,6BACgB,MAAM,mBACJ,gBAAgB,6BACN,OAAO,EAC/B,SAAS,EAAC,OAAO,EACjB,OAAO,EAAC,WAAW,YAEnB,eAAM,CAAC,EAAC,wBAAwB,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,EAAC,GAAG,GAAG,GAChI,CACT,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
export type AccordionItem = {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly title: ReactNode;
|
|
5
|
+
readonly content: ReactNode;
|
|
6
|
+
readonly isDisabled?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export type AccordionProps = {
|
|
9
|
+
/** Names the group of sections for assistive technology. */
|
|
10
|
+
readonly label: string;
|
|
11
|
+
readonly items: ReadonlyArray<AccordionItem>;
|
|
12
|
+
/** Controlled open sections. Omit for uncontrolled use with `defaultExpandedIds`. */
|
|
13
|
+
readonly expandedIds?: ReadonlyArray<string>;
|
|
14
|
+
readonly defaultExpandedIds?: ReadonlyArray<string>;
|
|
15
|
+
readonly onExpandedChange?: (ids: ReadonlyArray<string>) => void;
|
|
16
|
+
/** Single-open (default) closes the previous section when another opens. */
|
|
17
|
+
readonly allowsMultipleExpanded?: boolean;
|
|
18
|
+
readonly headingLevel?: 2 | 3 | 4 | 5 | 6;
|
|
19
|
+
readonly className?: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* A generic, unframed stack of disclosures (FAQ, settings groups). `SurfaceAccordionCard` stays
|
|
23
|
+
* the framed card form. Up/Down/Home/End move between section triggers; each section exposes
|
|
24
|
+
* `data-grammar-disclosure-state`.
|
|
25
|
+
* Contract: group FOCUS-2 (peer keys), item STATE-7 (controlled open set), trigger FOCUS-1, indicator MOTION-2.
|
|
26
|
+
*/
|
|
27
|
+
export declare const Accordion: ({ label, items, expandedIds, defaultExpandedIds, onExpandedChange, allowsMultipleExpanded, headingLevel, className, }: AccordionProps) => import("react").JSX.Element;
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Accordion/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIhD,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IAC5C,qFAAqF;IACrF,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IAChE,4EAA4E;IAC5E,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AASD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,uHASvB,cAAc,gCA+ChB,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Accordion as HeroAccordion } from "@heroui/react";
|
|
4
|
+
import { useState } from "react";
|
|
5
|
+
import { moveFocusBetweenPeers } from "../../navigationKeys.js";
|
|
6
|
+
import { navigationClassName } from "../../navigationClassNames.js";
|
|
7
|
+
/*
|
|
8
|
+
* Consumer hooks: `starci-core-generic-accordion-root`, `starci-core-generic-accordion-panel`,
|
|
9
|
+
* `starci-core-generic-accordion-body` name HeroUI parts whose vendor paint Common leaves as it is.
|
|
10
|
+
* No shipped sheet paints them; the Grammar name lets a consumer or family select those parts
|
|
11
|
+
* without reaching for vendor class names.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* A generic, unframed stack of disclosures (FAQ, settings groups). `SurfaceAccordionCard` stays
|
|
15
|
+
* the framed card form. Up/Down/Home/End move between section triggers; each section exposes
|
|
16
|
+
* `data-grammar-disclosure-state`.
|
|
17
|
+
* Contract: group FOCUS-2 (peer keys), item STATE-7 (controlled open set), trigger FOCUS-1, indicator MOTION-2.
|
|
18
|
+
*/
|
|
19
|
+
export const Accordion = ({ label, items, expandedIds, defaultExpandedIds = [], onExpandedChange, allowsMultipleExpanded = false, headingLevel = 3, className, }) => {
|
|
20
|
+
const [uncontrolled, setUncontrolled] = useState(defaultExpandedIds);
|
|
21
|
+
const expanded = expandedIds ?? uncontrolled;
|
|
22
|
+
const expandedSet = new Set(expanded);
|
|
23
|
+
return (_jsx("div", { "aria-label": label, className: navigationClassName("starci-core-generic-accordion", className), "data-component": "Accordion", "data-tier": "branch", "data-contract": "FOCUS-2", onKeyDown: (event) => { moveFocusBetweenPeers(event, "[data-grammar-accordion-trigger]", "vertical"); }, role: "group", children: _jsx(HeroAccordion, { allowsMultipleExpanded: allowsMultipleExpanded, className: "starci-core-generic-accordion-root", expandedKeys: expandedSet, onExpandedChange: (keys) => {
|
|
24
|
+
const next = [...keys].map(String);
|
|
25
|
+
if (expandedIds === undefined)
|
|
26
|
+
setUncontrolled(next);
|
|
27
|
+
onExpandedChange?.(next);
|
|
28
|
+
}, children: items.map((item) => (_jsxs(HeroAccordion.Item, { id: item.id, className: "starci-core-generic-accordion-item", "data-contract": "STATE-7", "data-grammar-disclosure-state": expandedSet.has(item.id) ? "open" : "closed", ...(item.isDisabled === undefined ? {} : { isDisabled: item.isDisabled }), children: [_jsx(HeroAccordion.Heading, { className: "starci-core-generic-accordion-heading", level: headingLevel, children: _jsxs(HeroAccordion.Trigger, { className: "starci-core-generic-accordion-trigger", "data-contract": "FOCUS-1", "data-grammar-accordion-trigger": "true", children: [_jsx("span", { className: "starci-core-generic-accordion-title", children: item.title }), _jsx(HeroAccordion.Indicator, { className: "starci-core-generic-accordion-indicator", "data-contract": "MOTION-2" })] }) }), _jsx(HeroAccordion.Panel, { className: "starci-core-generic-accordion-panel", children: _jsx(HeroAccordion.Body, { className: "starci-core-generic-accordion-body", children: item.content }) })] }, item.id))) }) }));
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Accordion/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,SAAS,IAAI,aAAa,EAAY,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAuBnE;;;;;GAKG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACtB,KAAK,EACL,KAAK,EACL,WAAW,EACX,kBAAkB,GAAG,EAAE,EACvB,gBAAgB,EAChB,sBAAsB,GAAG,KAAK,EAC9B,YAAY,GAAG,CAAC,EAChB,SAAS,GACI,EAAE,EAAE;IACjB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAwB,kBAAkB,CAAC,CAAA;IAC3F,MAAM,QAAQ,GAAG,WAAW,IAAI,YAAY,CAAA;IAC5C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;IACrC,OAAO,CACH,4BACgB,KAAK,EACjB,SAAS,EAAE,mBAAmB,CAAC,+BAA+B,EAAE,SAAS,CAAC,oBAC3D,WAAW,eAChB,QAAQ,mBACJ,SAAS,EACvB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,qBAAqB,CAAC,KAAK,EAAE,kCAAkC,EAAE,UAAU,CAAC,CAAA,CAAC,CAAC,EACtG,IAAI,EAAC,OAAO,YAEZ,KAAC,aAAa,IACV,sBAAsB,EAAE,sBAAsB,EAC9C,SAAS,EAAC,oCAAoC,EAC9C,YAAY,EAAE,WAAW,EACzB,gBAAgB,EAAE,CAAC,IAAc,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBAClC,IAAI,WAAW,KAAK,SAAS;oBAAE,eAAe,CAAC,IAAI,CAAC,CAAA;gBACpD,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAA;YAC5B,CAAC,YAEA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACjB,MAAC,aAAa,CAAC,IAAI,IAEf,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,SAAS,EAAC,oCAAoC,mBAChC,SAAS,mCACQ,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,KACvE,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,aAE1E,KAAC,aAAa,CAAC,OAAO,IAAC,SAAS,EAAC,uCAAuC,EAAC,KAAK,EAAE,YAAY,YACxF,MAAC,aAAa,CAAC,OAAO,IAAC,SAAS,EAAC,uCAAuC,mBAAe,SAAS,oCAAgC,MAAM,aAClI,eAAM,SAAS,EAAC,qCAAqC,YAAE,IAAI,CAAC,KAAK,GAAQ,EACzE,KAAC,aAAa,CAAC,SAAS,IAAC,SAAS,EAAC,yCAAyC,mBAAe,UAAU,GAAG,IACpF,GACJ,EACxB,KAAC,aAAa,CAAC,KAAK,IAAC,SAAS,EAAC,qCAAqC,YAChE,KAAC,aAAa,CAAC,IAAI,IAAC,SAAS,EAAC,oCAAoC,YAAE,IAAI,CAAC,OAAO,GAAsB,GACpF,KAfjB,IAAI,CAAC,EAAE,CAgBK,CACxB,CAAC,GACU,GACd,CACT,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import type { PresentationState } from "../../../common/state.js";
|
|
3
|
+
import { type OverlayOpenState } from "../../overlayScope.js";
|
|
4
|
+
export type AlertDialogProps = OverlayOpenState & {
|
|
5
|
+
/** The question being confirmed; the dialog's accessible name. */
|
|
6
|
+
readonly title: string;
|
|
7
|
+
/** The consequence, wired as `aria-describedby`. */
|
|
8
|
+
readonly description?: ReactNode;
|
|
9
|
+
readonly children?: ReactNode;
|
|
10
|
+
/**
|
|
11
|
+
* Meaning of the decision. `negative` marks a destructive confirm (danger-toned action);
|
|
12
|
+
* anything else confirms with the family decision accent. Default `negative`.
|
|
13
|
+
*/
|
|
14
|
+
readonly tone?: PresentationState;
|
|
15
|
+
readonly confirmLabel: string;
|
|
16
|
+
readonly cancelLabel: string;
|
|
17
|
+
/**
|
|
18
|
+
* Runs on confirm. Returning a promise keeps the dialog open and the confirm action pending
|
|
19
|
+
* until it settles; it closes on success and stays open on rejection so the person can retry.
|
|
20
|
+
*/
|
|
21
|
+
readonly onConfirm: () => void | Promise<unknown>;
|
|
22
|
+
readonly onCancel?: () => void;
|
|
23
|
+
/** App-owned pending state for a confirm whose work is tracked elsewhere. */
|
|
24
|
+
readonly isConfirmPending?: boolean;
|
|
25
|
+
/** A Common `Button` (any React Aria pressable) that opens the confirmation. */
|
|
26
|
+
readonly trigger?: ReactNode;
|
|
27
|
+
/** Escape cancels by default; disable only when cancelling would itself be unsafe. */
|
|
28
|
+
readonly isKeyboardDismissDisabled?: boolean;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* BRANCH - `AlertDialog`: an interrupting confirmation (`role="alertdialog"`).
|
|
32
|
+
*
|
|
33
|
+
* Dismiss rules differ from `Dialog` on purpose: an outside press never dismisses (the decision must
|
|
34
|
+
* be explicit), Escape cancels, and the cancel action is first in focus order so initial focus lands
|
|
35
|
+
* on the safe choice. Focus trap/return, scroll lock and the scoped portal are the `Dialog` rules.
|
|
36
|
+
* Contract: confirm CTA-4 ACTION-2 FEEDBACK-3 (explicit destructive authority, pending on the initiator,
|
|
37
|
+
* closes only on settlement); surface and container as `Dialog`.
|
|
38
|
+
*/
|
|
39
|
+
export declare const AlertDialog: ({ title, description, children, tone, confirmLabel, cancelLabel, onConfirm, onCancel, isConfirmPending, trigger, isKeyboardDismissDisabled, ...openState }: AlertDialogProps) => import("react").JSX.Element;
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/AlertDialog/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAA0D,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGrH,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG;IAC9C,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,oDAAoD;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IACnC,gFAAgF;IAChF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,sFAAsF;IACtF,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAA;CAC/C,CAAA;AAeD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GAAI,4JAazB,gBAAgB,gCAsFlB,CAAA"}
|