@orioncactuscorp/ui 1.0.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 -0
- package/README.md +273 -0
- package/dist/components/Accordion/Accordion.css +1 -0
- package/dist/components/Accordion/Accordion.js +320 -0
- package/dist/components/Accordion/Accordion.module.scss.js +31 -0
- package/dist/components/Accordion.d.ts +6 -0
- package/dist/components/Accordion.js +9 -0
- package/dist/components/ActionArea/ActionArea.css +1 -0
- package/dist/components/ActionArea/ActionArea.js +158 -0
- package/dist/components/ActionArea/ActionArea.module.scss.js +9 -0
- package/dist/components/ActionArea.d.ts +6 -0
- package/dist/components/ActionArea.js +6 -0
- package/dist/components/Alert/Alert.css +1 -0
- package/dist/components/Alert/Alert.js +293 -0
- package/dist/components/Alert/Alert.module.scss.js +21 -0
- package/dist/components/Alert.d.ts +6 -0
- package/dist/components/Alert.js +10 -0
- package/dist/components/Background/Background.css +1 -0
- package/dist/components/Background/Background.js +45 -0
- package/dist/components/Background/Background.module.scss.js +21 -0
- package/dist/components/Background.d.ts +6 -0
- package/dist/components/Background.js +4 -0
- package/dist/components/BackgroundIconButton/BackgroundIconButton.css +1 -0
- package/dist/components/BackgroundIconButton/BackgroundIconButton.js +61 -0
- package/dist/components/BackgroundIconButton/BackgroundIconButton.module.scss.js +13 -0
- package/dist/components/BackgroundIconButton.d.ts +6 -0
- package/dist/components/BackgroundIconButton.js +4 -0
- package/dist/components/Badge/Badge.css +1 -0
- package/dist/components/Badge/Badge.js +34 -0
- package/dist/components/Badge/Badge.module.scss.js +17 -0
- package/dist/components/Badge.d.ts +6 -0
- package/dist/components/Badge.js +4 -0
- package/dist/components/Button/Button.css +1 -0
- package/dist/components/Button/Button.js +151 -0
- package/dist/components/Button/Button.module.scss.js +29 -0
- package/dist/components/Button.d.ts +6 -0
- package/dist/components/Button.js +4 -0
- package/dist/components/Cell/Cell.css +1 -0
- package/dist/components/Cell/Cell.js +129 -0
- package/dist/components/Cell/Cell.module.scss.js +17 -0
- package/dist/components/Cell.d.ts +6 -0
- package/dist/components/Cell.js +5 -0
- package/dist/components/CheckMark/CheckMark.css +1 -0
- package/dist/components/CheckMark/CheckMark.js +44 -0
- package/dist/components/CheckMark/CheckMark.module.scss.js +7 -0
- package/dist/components/CheckMark.d.ts +6 -0
- package/dist/components/CheckMark.js +4 -0
- package/dist/components/Checkbox/Checkbox.css +1 -0
- package/dist/components/Checkbox/Checkbox.js +82 -0
- package/dist/components/Checkbox/Checkbox.module.scss.js +11 -0
- package/dist/components/Checkbox.d.ts +6 -0
- package/dist/components/Checkbox.js +4 -0
- package/dist/components/Divider/Divider.css +1 -0
- package/dist/components/Divider/Divider.js +41 -0
- package/dist/components/Divider/Divider.module.scss.js +17 -0
- package/dist/components/Divider.d.ts +6 -0
- package/dist/components/Divider.js +4 -0
- package/dist/components/Field/Field.css +1 -0
- package/dist/components/Field/Field.js +179 -0
- package/dist/components/Field/Field.module.scss.js +17 -0
- package/dist/components/Field/useFieldControlOverlayMetrics.js +44 -0
- package/dist/components/Field.d.ts +6 -0
- package/dist/components/Field.js +10 -0
- package/dist/components/Fieldset/Fieldset.css +1 -0
- package/dist/components/Fieldset/Fieldset.js +97 -0
- package/dist/components/Fieldset/Fieldset.module.scss.js +11 -0
- package/dist/components/Fieldset.d.ts +6 -0
- package/dist/components/Fieldset.js +8 -0
- package/dist/components/IconButton/IconButton.css +1 -0
- package/dist/components/IconButton/IconButton.js +49 -0
- package/dist/components/IconButton/IconButton.module.scss.js +11 -0
- package/dist/components/IconButton.d.ts +6 -0
- package/dist/components/IconButton.js +4 -0
- package/dist/components/Interaction/Interaction.css +1 -0
- package/dist/components/Interaction/Interaction.js +23 -0
- package/dist/components/Interaction/Interaction.module.scss.js +11 -0
- package/dist/components/Interaction.d.ts +6 -0
- package/dist/components/Interaction.js +4 -0
- package/dist/components/Loading/Loading.css +1 -0
- package/dist/components/Loading/Loading.js +47 -0
- package/dist/components/Loading/Loading.module.scss.js +21 -0
- package/dist/components/Loading.d.ts +6 -0
- package/dist/components/Loading.js +4 -0
- package/dist/components/Menu/Menu.css +1 -0
- package/dist/components/Menu/Menu.js +238 -0
- package/dist/components/Menu/Menu.module.scss.js +31 -0
- package/dist/components/Menu.d.ts +6 -0
- package/dist/components/Menu.js +9 -0
- package/dist/components/Modal/Modal.css +1 -0
- package/dist/components/Modal/Modal.js +628 -0
- package/dist/components/Modal/Modal.module.scss.js +48 -0
- package/dist/components/Modal/contexts.js +14 -0
- package/dist/components/Modal/modalScrollArbitration.js +134 -0
- package/dist/components/Modal/snapPoints.js +79 -0
- package/dist/components/Modal/useControllableState.js +17 -0
- package/dist/components/Modal/useElementSize.js +23 -0
- package/dist/components/Modal/useModalDrag.js +1498 -0
- package/dist/components/Modal/useModalPlacement.js +26 -0
- package/dist/components/Modal/useModalStackDepth.js +41 -0
- package/dist/components/Modal.d.ts +6 -0
- package/dist/components/Modal.js +11 -0
- package/dist/components/Radio/Radio.css +1 -0
- package/dist/components/Radio/Radio.js +68 -0
- package/dist/components/Radio/Radio.module.scss.js +11 -0
- package/dist/components/Radio.d.ts +6 -0
- package/dist/components/Radio.js +4 -0
- package/dist/components/ScrollArea/ScrollArea.css +1 -0
- package/dist/components/ScrollArea/ScrollArea.js +541 -0
- package/dist/components/ScrollArea/ScrollArea.module.scss.js +17 -0
- package/dist/components/ScrollArea/contexts.js +7 -0
- package/dist/components/ScrollArea.d.ts +6 -0
- package/dist/components/ScrollArea.js +8 -0
- package/dist/components/SectionHeader/SectionHeader.css +1 -0
- package/dist/components/SectionHeader/SectionHeader.js +48 -0
- package/dist/components/SectionHeader/SectionHeader.module.scss.js +7 -0
- package/dist/components/SectionHeader.d.ts +6 -0
- package/dist/components/SectionHeader.js +4 -0
- package/dist/components/Select/Select.css +1 -0
- package/dist/components/Select/Select.js +67 -0
- package/dist/components/Select/Select.module.scss.js +9 -0
- package/dist/components/Select/SelectContent.css +1 -0
- package/dist/components/Select/SelectContent.js +26 -0
- package/dist/components/Select/SelectContent.module.scss.js +15 -0
- package/dist/components/Select.d.ts +6 -0
- package/dist/components/Select.js +6 -0
- package/dist/components/SvgIcon.d.ts +6 -0
- package/dist/components/SvgIcon.js +4 -0
- package/dist/components/Switch/Switch.css +1 -0
- package/dist/components/Switch/Switch.js +46 -0
- package/dist/components/Switch/Switch.module.scss.js +8 -0
- package/dist/components/Switch.d.ts +6 -0
- package/dist/components/Switch.js +4 -0
- package/dist/components/TextArea/TextArea.css +1 -0
- package/dist/components/TextArea/TextArea.js +105 -0
- package/dist/components/TextArea/TextArea.module.scss.js +9 -0
- package/dist/components/TextArea/TextAreaContent.css +1 -0
- package/dist/components/TextArea/TextAreaContent.js +26 -0
- package/dist/components/TextArea/TextAreaContent.module.scss.js +15 -0
- package/dist/components/TextArea.d.ts +6 -0
- package/dist/components/TextArea.js +6 -0
- package/dist/components/TextButton/TextButton.css +1 -0
- package/dist/components/TextButton/TextButton.js +74 -0
- package/dist/components/TextButton/TextButton.module.scss.js +15 -0
- package/dist/components/TextButton.d.ts +6 -0
- package/dist/components/TextButton.js +4 -0
- package/dist/components/TextInput/TextInput.css +1 -0
- package/dist/components/TextInput/TextInput.js +69 -0
- package/dist/components/TextInput/TextInput.module.scss.js +9 -0
- package/dist/components/TextInput/TextInputContent.css +1 -0
- package/dist/components/TextInput/TextInputContent.js +26 -0
- package/dist/components/TextInput/TextInputContent.module.scss.js +15 -0
- package/dist/components/TextInput.d.ts +6 -0
- package/dist/components/TextInput.js +6 -0
- package/dist/components/Tooltip/Tooltip.css +1 -0
- package/dist/components/Tooltip/Tooltip.js +123 -0
- package/dist/components/Tooltip/Tooltip.module.scss.js +9 -0
- package/dist/components/Tooltip.d.ts +6 -0
- package/dist/components/Tooltip.js +8 -0
- package/dist/components/internal/slot.js +10 -0
- package/dist/foundations/atomic.css +1 -0
- package/dist/foundations/breakpoint.css +1 -0
- package/dist/foundations/color.global.css +1 -0
- package/dist/foundations/color.theme.dark.css +1 -0
- package/dist/foundations/color.theme.light.css +1 -0
- package/dist/foundations/motion.css +1 -0
- package/dist/foundations/reset.css +1 -0
- package/dist/foundations/space.css +1 -0
- package/dist/foundations/typo.css +1 -0
- package/dist/foundations/zindex.css +1 -0
- package/dist/foundations.css +11 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +102 -0
- package/dist/react/motion.d.ts +6 -0
- package/dist/react/motion.js +176 -0
- package/dist/react/spring.d.ts +2 -0
- package/dist/react/spring.js +87 -0
- package/dist/reset.css +2 -0
- package/dist/styles.css +41 -0
- package/dist/ui/src/components/Accordion/Accordion.d.ts +9 -0
- package/dist/ui/src/components/Accordion/Accordion.d.ts.map +1 -0
- package/dist/ui/src/components/Accordion/index.d.ts +3 -0
- package/dist/ui/src/components/Accordion/index.d.ts.map +1 -0
- package/dist/ui/src/components/Accordion/types.d.ts +39 -0
- package/dist/ui/src/components/Accordion/types.d.ts.map +1 -0
- package/dist/ui/src/components/ActionArea/ActionArea.d.ts +8 -0
- package/dist/ui/src/components/ActionArea/ActionArea.d.ts.map +1 -0
- package/dist/ui/src/components/ActionArea/index.d.ts +3 -0
- package/dist/ui/src/components/ActionArea/index.d.ts.map +1 -0
- package/dist/ui/src/components/ActionArea/types.d.ts +34 -0
- package/dist/ui/src/components/ActionArea/types.d.ts.map +1 -0
- package/dist/ui/src/components/Alert/Alert.d.ts +17 -0
- package/dist/ui/src/components/Alert/Alert.d.ts.map +1 -0
- package/dist/ui/src/components/Alert/index.d.ts +3 -0
- package/dist/ui/src/components/Alert/index.d.ts.map +1 -0
- package/dist/ui/src/components/Alert/types.d.ts +43 -0
- package/dist/ui/src/components/Alert/types.d.ts.map +1 -0
- package/dist/ui/src/components/Background/Background.d.ts +4 -0
- package/dist/ui/src/components/Background/Background.d.ts.map +1 -0
- package/dist/ui/src/components/Background/index.d.ts +3 -0
- package/dist/ui/src/components/Background/index.d.ts.map +1 -0
- package/dist/ui/src/components/Background/types.d.ts +17 -0
- package/dist/ui/src/components/Background/types.d.ts.map +1 -0
- package/dist/ui/src/components/BackgroundIconButton/BackgroundIconButton.d.ts +4 -0
- package/dist/ui/src/components/BackgroundIconButton/BackgroundIconButton.d.ts.map +1 -0
- package/dist/ui/src/components/BackgroundIconButton/index.d.ts +3 -0
- package/dist/ui/src/components/BackgroundIconButton/index.d.ts.map +1 -0
- package/dist/ui/src/components/BackgroundIconButton/types.d.ts +16 -0
- package/dist/ui/src/components/BackgroundIconButton/types.d.ts.map +1 -0
- package/dist/ui/src/components/Badge/Badge.d.ts +4 -0
- package/dist/ui/src/components/Badge/Badge.d.ts.map +1 -0
- package/dist/ui/src/components/Badge/index.d.ts +3 -0
- package/dist/ui/src/components/Badge/index.d.ts.map +1 -0
- package/dist/ui/src/components/Badge/types.d.ts +9 -0
- package/dist/ui/src/components/Badge/types.d.ts.map +1 -0
- package/dist/ui/src/components/Button/Button.d.ts +4 -0
- package/dist/ui/src/components/Button/Button.d.ts.map +1 -0
- package/dist/ui/src/components/Button/index.d.ts +3 -0
- package/dist/ui/src/components/Button/index.d.ts.map +1 -0
- package/dist/ui/src/components/Button/types.d.ts +30 -0
- package/dist/ui/src/components/Button/types.d.ts.map +1 -0
- package/dist/ui/src/components/Cell/Cell.d.ts +5 -0
- package/dist/ui/src/components/Cell/Cell.d.ts.map +1 -0
- package/dist/ui/src/components/Cell/index.d.ts +3 -0
- package/dist/ui/src/components/Cell/index.d.ts.map +1 -0
- package/dist/ui/src/components/Cell/types.d.ts +23 -0
- package/dist/ui/src/components/Cell/types.d.ts.map +1 -0
- package/dist/ui/src/components/CheckMark/CheckMark.d.ts +4 -0
- package/dist/ui/src/components/CheckMark/CheckMark.d.ts.map +1 -0
- package/dist/ui/src/components/CheckMark/index.d.ts +3 -0
- package/dist/ui/src/components/CheckMark/index.d.ts.map +1 -0
- package/dist/ui/src/components/CheckMark/types.d.ts +6 -0
- package/dist/ui/src/components/CheckMark/types.d.ts.map +1 -0
- package/dist/ui/src/components/Checkbox/Checkbox.d.ts +4 -0
- package/dist/ui/src/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/ui/src/components/Checkbox/index.d.ts +3 -0
- package/dist/ui/src/components/Checkbox/index.d.ts.map +1 -0
- package/dist/ui/src/components/Checkbox/types.d.ts +11 -0
- package/dist/ui/src/components/Checkbox/types.d.ts.map +1 -0
- package/dist/ui/src/components/Divider/Divider.d.ts +4 -0
- package/dist/ui/src/components/Divider/Divider.d.ts.map +1 -0
- package/dist/ui/src/components/Divider/index.d.ts +3 -0
- package/dist/ui/src/components/Divider/index.d.ts.map +1 -0
- package/dist/ui/src/components/Divider/types.d.ts +10 -0
- package/dist/ui/src/components/Divider/types.d.ts.map +1 -0
- package/dist/ui/src/components/Field/Field.d.ts +9 -0
- package/dist/ui/src/components/Field/Field.d.ts.map +1 -0
- package/dist/ui/src/components/Field/index.d.ts +3 -0
- package/dist/ui/src/components/Field/index.d.ts.map +1 -0
- package/dist/ui/src/components/Field/types.d.ts +30 -0
- package/dist/ui/src/components/Field/types.d.ts.map +1 -0
- package/dist/ui/src/components/Field/useFieldControlOverlayMetrics.d.ts +14 -0
- package/dist/ui/src/components/Field/useFieldControlOverlayMetrics.d.ts.map +1 -0
- package/dist/ui/src/components/Fieldset/Fieldset.d.ts +9 -0
- package/dist/ui/src/components/Fieldset/Fieldset.d.ts.map +1 -0
- package/dist/ui/src/components/Fieldset/index.d.ts +3 -0
- package/dist/ui/src/components/Fieldset/index.d.ts.map +1 -0
- package/dist/ui/src/components/Fieldset/types.d.ts +7 -0
- package/dist/ui/src/components/Fieldset/types.d.ts.map +1 -0
- package/dist/ui/src/components/IconButton/IconButton.d.ts +4 -0
- package/dist/ui/src/components/IconButton/IconButton.d.ts.map +1 -0
- package/dist/ui/src/components/IconButton/index.d.ts +3 -0
- package/dist/ui/src/components/IconButton/index.d.ts.map +1 -0
- package/dist/ui/src/components/IconButton/types.d.ts +16 -0
- package/dist/ui/src/components/IconButton/types.d.ts.map +1 -0
- package/dist/ui/src/components/Interaction/Interaction.d.ts +4 -0
- package/dist/ui/src/components/Interaction/Interaction.d.ts.map +1 -0
- package/dist/ui/src/components/Interaction/index.d.ts +3 -0
- package/dist/ui/src/components/Interaction/index.d.ts.map +1 -0
- package/dist/ui/src/components/Interaction/types.d.ts +6 -0
- package/dist/ui/src/components/Interaction/types.d.ts.map +1 -0
- package/dist/ui/src/components/Loading/Loading.d.ts +4 -0
- package/dist/ui/src/components/Loading/Loading.d.ts.map +1 -0
- package/dist/ui/src/components/Loading/index.d.ts +3 -0
- package/dist/ui/src/components/Loading/index.d.ts.map +1 -0
- package/dist/ui/src/components/Loading/types.d.ts +8 -0
- package/dist/ui/src/components/Loading/types.d.ts.map +1 -0
- package/dist/ui/src/components/Menu/Menu.d.ts +12 -0
- package/dist/ui/src/components/Menu/Menu.d.ts.map +1 -0
- package/dist/ui/src/components/Menu/index.d.ts +3 -0
- package/dist/ui/src/components/Menu/index.d.ts.map +1 -0
- package/dist/ui/src/components/Menu/types.d.ts +52 -0
- package/dist/ui/src/components/Menu/types.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/Modal.d.ts +19 -0
- package/dist/ui/src/components/Modal/Modal.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/contexts.d.ts +33 -0
- package/dist/ui/src/components/Modal/contexts.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/index.d.ts +3 -0
- package/dist/ui/src/components/Modal/index.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/modalScrollArbitration.d.ts +33 -0
- package/dist/ui/src/components/Modal/modalScrollArbitration.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/snapPoints.d.ts +38 -0
- package/dist/ui/src/components/Modal/snapPoints.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/types.d.ts +117 -0
- package/dist/ui/src/components/Modal/types.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/useControllableState.d.ts +6 -0
- package/dist/ui/src/components/Modal/useControllableState.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/useElementSize.d.ts +6 -0
- package/dist/ui/src/components/Modal/useElementSize.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/useModalDrag.d.ts +37 -0
- package/dist/ui/src/components/Modal/useModalDrag.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/useModalPlacement.d.ts +3 -0
- package/dist/ui/src/components/Modal/useModalPlacement.d.ts.map +1 -0
- package/dist/ui/src/components/Modal/useModalStackDepth.d.ts +2 -0
- package/dist/ui/src/components/Modal/useModalStackDepth.d.ts.map +1 -0
- package/dist/ui/src/components/Radio/Radio.d.ts +4 -0
- package/dist/ui/src/components/Radio/Radio.d.ts.map +1 -0
- package/dist/ui/src/components/Radio/index.d.ts +3 -0
- package/dist/ui/src/components/Radio/index.d.ts.map +1 -0
- package/dist/ui/src/components/Radio/types.d.ts +10 -0
- package/dist/ui/src/components/Radio/types.d.ts.map +1 -0
- package/dist/ui/src/components/ScrollArea/ScrollArea.d.ts +6 -0
- package/dist/ui/src/components/ScrollArea/ScrollArea.d.ts.map +1 -0
- package/dist/ui/src/components/ScrollArea/contexts.d.ts +3 -0
- package/dist/ui/src/components/ScrollArea/contexts.d.ts.map +1 -0
- package/dist/ui/src/components/ScrollArea/index.d.ts +4 -0
- package/dist/ui/src/components/ScrollArea/index.d.ts.map +1 -0
- package/dist/ui/src/components/ScrollArea/types.d.ts +21 -0
- package/dist/ui/src/components/ScrollArea/types.d.ts.map +1 -0
- package/dist/ui/src/components/SectionHeader/SectionHeader.d.ts +4 -0
- package/dist/ui/src/components/SectionHeader/SectionHeader.d.ts.map +1 -0
- package/dist/ui/src/components/SectionHeader/index.d.ts +3 -0
- package/dist/ui/src/components/SectionHeader/index.d.ts.map +1 -0
- package/dist/ui/src/components/SectionHeader/types.d.ts +13 -0
- package/dist/ui/src/components/SectionHeader/types.d.ts.map +1 -0
- package/dist/ui/src/components/Select/Select.d.ts +4 -0
- package/dist/ui/src/components/Select/Select.d.ts.map +1 -0
- package/dist/ui/src/components/Select/SelectContent.d.ts +4 -0
- package/dist/ui/src/components/Select/SelectContent.d.ts.map +1 -0
- package/dist/ui/src/components/Select/index.d.ts +4 -0
- package/dist/ui/src/components/Select/index.d.ts.map +1 -0
- package/dist/ui/src/components/Select/types.d.ts +12 -0
- package/dist/ui/src/components/Select/types.d.ts.map +1 -0
- package/dist/ui/src/components/SvgIcon/SvgIcon.d.ts +2 -0
- package/dist/ui/src/components/SvgIcon/SvgIcon.d.ts.map +1 -0
- package/dist/ui/src/components/SvgIcon/index.d.ts +3 -0
- package/dist/ui/src/components/SvgIcon/index.d.ts.map +1 -0
- package/dist/ui/src/components/SvgIcon/types.d.ts +2 -0
- package/dist/ui/src/components/SvgIcon/types.d.ts.map +1 -0
- package/dist/ui/src/components/Switch/Switch.d.ts +4 -0
- package/dist/ui/src/components/Switch/Switch.d.ts.map +1 -0
- package/dist/ui/src/components/Switch/index.d.ts +3 -0
- package/dist/ui/src/components/Switch/index.d.ts.map +1 -0
- package/dist/ui/src/components/Switch/types.d.ts +8 -0
- package/dist/ui/src/components/Switch/types.d.ts.map +1 -0
- package/dist/ui/src/components/TextArea/TextArea.d.ts +4 -0
- package/dist/ui/src/components/TextArea/TextArea.d.ts.map +1 -0
- package/dist/ui/src/components/TextArea/TextAreaContent.d.ts +4 -0
- package/dist/ui/src/components/TextArea/TextAreaContent.d.ts.map +1 -0
- package/dist/ui/src/components/TextArea/index.d.ts +4 -0
- package/dist/ui/src/components/TextArea/index.d.ts.map +1 -0
- package/dist/ui/src/components/TextArea/types.d.ts +15 -0
- package/dist/ui/src/components/TextArea/types.d.ts.map +1 -0
- package/dist/ui/src/components/TextButton/TextButton.d.ts +4 -0
- package/dist/ui/src/components/TextButton/TextButton.d.ts.map +1 -0
- package/dist/ui/src/components/TextButton/index.d.ts +3 -0
- package/dist/ui/src/components/TextButton/index.d.ts.map +1 -0
- package/dist/ui/src/components/TextButton/types.d.ts +25 -0
- package/dist/ui/src/components/TextButton/types.d.ts.map +1 -0
- package/dist/ui/src/components/TextInput/TextInput.d.ts +4 -0
- package/dist/ui/src/components/TextInput/TextInput.d.ts.map +1 -0
- package/dist/ui/src/components/TextInput/TextInputContent.d.ts +4 -0
- package/dist/ui/src/components/TextInput/TextInputContent.d.ts.map +1 -0
- package/dist/ui/src/components/TextInput/index.d.ts +4 -0
- package/dist/ui/src/components/TextInput/index.d.ts.map +1 -0
- package/dist/ui/src/components/TextInput/types.d.ts +12 -0
- package/dist/ui/src/components/TextInput/types.d.ts.map +1 -0
- package/dist/ui/src/components/Tooltip/Tooltip.d.ts +8 -0
- package/dist/ui/src/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/ui/src/components/Tooltip/index.d.ts +3 -0
- package/dist/ui/src/components/Tooltip/index.d.ts.map +1 -0
- package/dist/ui/src/components/Tooltip/types.d.ts +21 -0
- package/dist/ui/src/components/Tooltip/types.d.ts.map +1 -0
- package/dist/ui/src/components/internal/slot.d.ts +3 -0
- package/dist/ui/src/components/internal/slot.d.ts.map +1 -0
- package/dist/ui/src/components/types.d.ts +2 -0
- package/dist/ui/src/components/types.d.ts.map +1 -0
- package/dist/ui/src/index.d.ts +59 -0
- package/dist/ui/src/index.d.ts.map +1 -0
- package/dist/ui/src/react/motion/index.d.ts +27 -0
- package/dist/ui/src/react/motion/index.d.ts.map +1 -0
- package/dist/ui/src/react/spring/index.d.ts +33 -0
- package/dist/ui/src/react/spring/index.d.ts.map +1 -0
- package/dist/ui/src/utils/breakpoints.d.ts +6 -0
- package/dist/ui/src/utils/breakpoints.d.ts.map +1 -0
- package/dist/ui/src/utils/css.d.ts +3 -0
- package/dist/ui/src/utils/css.d.ts.map +1 -0
- package/dist/ui/src/utils/motion.d.ts +80 -0
- package/dist/ui/src/utils/motion.d.ts.map +1 -0
- package/dist/ui/src/utils/spring/animator.d.ts +3 -0
- package/dist/ui/src/utils/spring/animator.d.ts.map +1 -0
- package/dist/ui/src/utils/spring/constants.d.ts +13 -0
- package/dist/ui/src/utils/spring/constants.d.ts.map +1 -0
- package/dist/ui/src/utils/spring/format.d.ts +5 -0
- package/dist/ui/src/utils/spring/format.d.ts.map +1 -0
- package/dist/ui/src/utils/spring/model.d.ts +18 -0
- package/dist/ui/src/utils/spring/model.d.ts.map +1 -0
- package/dist/ui/src/utils/spring/solver.d.ts +6 -0
- package/dist/ui/src/utils/spring/solver.d.ts.map +1 -0
- package/dist/ui/src/utils/spring/static.d.ts +5 -0
- package/dist/ui/src/utils/spring/static.d.ts.map +1 -0
- package/dist/ui/src/utils/spring/types.d.ts +141 -0
- package/dist/ui/src/utils/spring/types.d.ts.map +1 -0
- package/dist/ui/src/utils/spring/validation.d.ts +5 -0
- package/dist/ui/src/utils/spring/validation.d.ts.map +1 -0
- package/dist/ui/src/utils/spring/value.d.ts +5 -0
- package/dist/ui/src/utils/spring/value.d.ts.map +1 -0
- package/dist/ui/src/utils/spring.d.ts +12 -0
- package/dist/ui/src/utils/spring.d.ts.map +1 -0
- package/dist/utils/breakpoints.d.ts +2 -0
- package/dist/utils/breakpoints.js +26 -0
- package/dist/utils/css.js +7 -0
- package/dist/utils/motion.d.ts +2 -0
- package/dist/utils/motion.js +343 -0
- package/dist/utils/spring/animator.js +179 -0
- package/dist/utils/spring/constants.js +15 -0
- package/dist/utils/spring/format.js +10 -0
- package/dist/utils/spring/model.js +120 -0
- package/dist/utils/spring/solver.js +78 -0
- package/dist/utils/spring/static.js +76 -0
- package/dist/utils/spring/validation.js +19 -0
- package/dist/utils/spring/value.js +65 -0
- package/dist/utils/spring.d.ts +2 -0
- package/dist/utils/spring.js +14 -0
- package/dist/vscode/oc-ui-vars.css +468 -0
- package/package.json +128 -0
- package/src/scss/foundations/_color.config.scss +14 -0
- package/src/scss/foundations/_responsive.config.scss +6 -0
- package/src/scss/foundations/atomic.scss +24 -0
- package/src/scss/foundations/breakpoint.scss +3 -0
- package/src/scss/foundations/color-theme.test.ts +99 -0
- package/src/scss/foundations/color.global.scss +210 -0
- package/src/scss/foundations/color.theme.dark.scss +80 -0
- package/src/scss/foundations/color.theme.light.scss +72 -0
- package/src/scss/foundations/motion.scss +46 -0
- package/src/scss/foundations/reset.scss +129 -0
- package/src/scss/foundations/responsive.test.ts +294 -0
- package/src/scss/foundations/space.scss +206 -0
- package/src/scss/foundations/typo.scss +381 -0
- package/src/scss/foundations/zindex.scss +12 -0
- package/src/scss/index.scss +18 -0
- package/src/scss/mixins/_breakpoint.scss +115 -0
- package/src/scss/mixins/_color.scss +29 -0
- package/src/scss/mixins/_color.test.ts +35 -0
- package/src/scss/mixins/_element.scss +52 -0
- package/src/scss/mixins/_element.test.ts +44 -0
- package/src/scss/mixins/_motion.scss +450 -0
- package/src/scss/mixins/_motion.test.ts +336 -0
- package/src/scss/mixins/_responsive.scss +366 -0
- package/src/scss/mixins/_spring.scss +396 -0
- package/src/scss/mixins/_spring.test.ts +128 -0
- package/src/scss/mixins/_typo.scss +67 -0
- package/src/scss/mixins/_typo.test.ts +28 -0
- package/src/scss/mixins/_utils.scss +26 -0
- package/src/scss/spring.scss +1 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 orioncactus Corp.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
# @orioncactuscorp/ui
|
|
2
|
+
|
|
3
|
+
orioncactus 디자인 시스템의 React 19+ UI package입니다.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
bun add @orioncactuscorp/ui @orioncactuscorp/icons
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
앱 코드에서 아이콘을 직접 import한다면 `@orioncactuscorp/icons`를 consumer repository의 direct dependency로 함께 설치하세요. `@orioncactuscorp/ui` 컴포넌트 내부 indicator만 사용한다면 별도 작업은 필요 없습니다.
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
import '@orioncactuscorp/ui/foundations.css';
|
|
17
|
+
import '@orioncactuscorp/ui/styles.css';
|
|
18
|
+
import { IconDefault } from '@orioncactuscorp/icons';
|
|
19
|
+
import { Button, IconButton } from '@orioncactuscorp/ui';
|
|
20
|
+
|
|
21
|
+
export default function Example() {
|
|
22
|
+
return (
|
|
23
|
+
<>
|
|
24
|
+
<Button>확인</Button>
|
|
25
|
+
<IconButton aria-label='기본 아이콘'>
|
|
26
|
+
<IconDefault />
|
|
27
|
+
</IconButton>
|
|
28
|
+
</>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Components
|
|
34
|
+
|
|
35
|
+
- `SectionHeader`
|
|
36
|
+
- `Button`, `TextButton`, `IconButton`, `BackgroundIconButton`
|
|
37
|
+
- `ActionArea`, `ActionAreaButton`
|
|
38
|
+
- `Badge`, `Background`, `Divider`, `Loading`, `Cell`, `CellItem`
|
|
39
|
+
- `CheckMark`
|
|
40
|
+
- `Field`, `FieldLabel`, `FieldControl`, `FieldMessage`, `FieldErrorMessage` (`vertical`/`horizontal` orientation)
|
|
41
|
+
- `Fieldset`, `FieldLegend`, `FieldsetContent`, `FieldGroup`
|
|
42
|
+
- `Checkbox`, `Radio`, `Switch`
|
|
43
|
+
- `TextInput`, `TextInputContent`
|
|
44
|
+
- `TextArea`, `TextAreaContent`
|
|
45
|
+
- `Select`, `SelectContent`
|
|
46
|
+
- `MenuRoot`, `MenuTrigger`, `MenuContent`, `MenuItem`, `MenuSeparator`
|
|
47
|
+
- `Alert`, `AlertRoot`, `AlertContent`, `AlertHeading`, `AlertDescription`, `AlertActionArea`, `AlertAction`
|
|
48
|
+
- `Accordion`, `AccordionItem`, `AccordionSummary`, `AccordionDetails`, `AccordionDescription`, `AccordionContent`
|
|
49
|
+
- `Modal`, `ModalRoot`, `ModalTrigger`, `ModalContent`, `ModalHeader`, `ModalBody`, `ModalFooter`, `ModalClose`
|
|
50
|
+
- `TooltipProvider`, `TooltipRoot`, `TooltipTrigger`, `TooltipContent`
|
|
51
|
+
- `ScrollArea`, `ScrollAreaContainer`
|
|
52
|
+
- `SvgIcon`, `Interaction`
|
|
53
|
+
|
|
54
|
+
## Exports
|
|
55
|
+
|
|
56
|
+
- `@orioncactuscorp/ui`
|
|
57
|
+
- `@orioncactuscorp/ui/foundations.css`
|
|
58
|
+
- `@orioncactuscorp/ui/reset.css`
|
|
59
|
+
- `@orioncactuscorp/ui/styles.css`
|
|
60
|
+
- `@orioncactuscorp/ui/scss/*`
|
|
61
|
+
- `@orioncactuscorp/ui/scss/foundations/responsive.config`
|
|
62
|
+
- `@orioncactuscorp/ui/utils/spring`
|
|
63
|
+
- `@orioncactuscorp/ui/utils/motion`
|
|
64
|
+
- `@orioncactuscorp/ui/react/spring`
|
|
65
|
+
- `@orioncactuscorp/ui/react/motion`
|
|
66
|
+
|
|
67
|
+
## Icons
|
|
68
|
+
|
|
69
|
+
`@orioncactuscorp/ui`는 `@orioncactuscorp/icons`를 dependency로 사용합니다. `Checkbox`, `Radio`, `Select`, `Accordion`, `ModalClose` 같은 컴포넌트 내부 indicator를 별도 설정 없이 렌더링합니다.
|
|
70
|
+
|
|
71
|
+
앱 코드에서 아이콘을 직접 사용할 때는 `@orioncactuscorp/icons`에서 import합니다.
|
|
72
|
+
|
|
73
|
+
```tsx
|
|
74
|
+
import { IconClose, IconDefault } from '@orioncactuscorp/icons';
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
`@orioncactuscorp/ui`는 앱 코드용 icon export를 제공하지 않습니다.
|
|
78
|
+
|
|
79
|
+
아이콘 세트를 나중에 교체할 계획이 있으면, 컴포넌트마다 직접 import하지 말고 앱 내부 icon registry를 거쳐 import하세요.
|
|
80
|
+
|
|
81
|
+
## Semantic Motion
|
|
82
|
+
|
|
83
|
+
SCSS consumer는 `oc-motion`으로 transition을 intent 기준으로 작성합니다. `feedback`, `reveal`, `move` 같은 의미를 선택하면 `oc-motion`이 duration token, spring profile, reduced-motion 정책을 함께 적용합니다.
|
|
84
|
+
|
|
85
|
+
```scss
|
|
86
|
+
@use '@orioncactuscorp/ui/scss/mixins/motion' as *;
|
|
87
|
+
|
|
88
|
+
.button {
|
|
89
|
+
@include oc-motion((background-color, color), feedback);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.popover {
|
|
93
|
+
@include oc-motion((opacity, transform), reveal);
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
일반 컴포넌트와 consumer SCSS에서는 `oc-motion`을 우선 사용하고, 직접 spring parameter를 설계해야 하는 고급 케이스에서만 `oc-spring`을 사용합니다. intent, phase, pace, reduced-motion policy, token override 기준은 [docs/oc-motion.md](https://github.com/orioncactuscorp/orioncactus-ui/blob/main/docs/oc-motion.md)를 참고하세요.
|
|
98
|
+
|
|
99
|
+
## Spring Motion
|
|
100
|
+
|
|
101
|
+
SCSS에서는 iOS spring의 perceptual duration 기준으로 low-level transition을 작성할 수 있습니다. helper는 실제 CSS duration을 감쇠 settling duration으로 출력합니다.
|
|
102
|
+
|
|
103
|
+
```scss
|
|
104
|
+
@use '@orioncactuscorp/ui/scss/spring' as *;
|
|
105
|
+
|
|
106
|
+
.box {
|
|
107
|
+
transition: oc-spring(transform, 0.5s, snappy);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.custom {
|
|
111
|
+
transition: oc-spring(transform, 0.5s, snappy, 0.1);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.menu {
|
|
115
|
+
transition: oc-spring(
|
|
116
|
+
(
|
|
117
|
+
opacity: (
|
|
118
|
+
0.3s,
|
|
119
|
+
snappy,
|
|
120
|
+
),
|
|
121
|
+
transform: (
|
|
122
|
+
0.3s,
|
|
123
|
+
snappy,
|
|
124
|
+
0.1,
|
|
125
|
+
),
|
|
126
|
+
)
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
property별 tuple은 `(duration, preset, extra-bounce, delay, samples)` 순서입니다. physical spring과 고급 옵션은 named map을 사용합니다. 자세한 사용법과 Sass named argument 주의점은 [docs/spring.md](https://github.com/orioncactuscorp/orioncactus-ui/blob/main/docs/spring.md)를 참고하세요.
|
|
132
|
+
|
|
133
|
+
TS 런타임에서는 subpath util을 사용합니다.
|
|
134
|
+
|
|
135
|
+
```ts
|
|
136
|
+
import {
|
|
137
|
+
createSpringAnimator,
|
|
138
|
+
ocSpring,
|
|
139
|
+
} from '@orioncactuscorp/ui/utils/spring';
|
|
140
|
+
|
|
141
|
+
const spring = ocSpring.snappy({ duration: 0.5, extraBounce: 0.1 });
|
|
142
|
+
|
|
143
|
+
spring.settlingDuration; // 실제 CSS transition duration
|
|
144
|
+
spring.timingFunction; // linear(...) easing
|
|
145
|
+
|
|
146
|
+
const animator = createSpringAnimator({
|
|
147
|
+
value: { x: 0, y: 0 },
|
|
148
|
+
target: { x: 120, y: 80 },
|
|
149
|
+
spring,
|
|
150
|
+
onUpdate: value => {
|
|
151
|
+
element.style.transform = `translate(${value.x}px, ${value.y}px)`;
|
|
152
|
+
},
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
animator.setTarget({ x: 240, y: 120 }); // 현재 velocity를 이어받아 retarget
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
React component에서 spring 값을 렌더링해야 하면 hook subpath를 사용합니다. 일반적인 controlled target UI는 `useSpringTarget`으로 시작하고, 직접 retarget setter가 필요하면 `useSpringValue`를 사용합니다.
|
|
159
|
+
|
|
160
|
+
```tsx
|
|
161
|
+
import { useState } from 'react';
|
|
162
|
+
import { useSpringTarget } from '@orioncactuscorp/ui/react/spring';
|
|
163
|
+
import { ocSpring } from '@orioncactuscorp/ui/utils/spring';
|
|
164
|
+
|
|
165
|
+
export function Follower() {
|
|
166
|
+
const [target, setTarget] = useState({ x: 120, y: 80 });
|
|
167
|
+
const position = useSpringTarget(target, {
|
|
168
|
+
value: { x: 0, y: 0 },
|
|
169
|
+
spring: ocSpring.snappy({ duration: 0.5 }),
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
return (
|
|
173
|
+
<button
|
|
174
|
+
type='button'
|
|
175
|
+
style={{
|
|
176
|
+
transform: `translate3d(${position.value.x}px, ${position.value.y}px, 0)`,
|
|
177
|
+
}}
|
|
178
|
+
onClick={() => setTarget({ x: 240, y: 120 })}
|
|
179
|
+
>
|
|
180
|
+
이동
|
|
181
|
+
</button>
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
runtime reveal이나 height motion이 필요한 React component에서는 `react/motion` subpath를 사용합니다. 이 layer는 `utils/motion`의 intent/phase/pace/reduced-motion 정책을 해석한 뒤 low-level `ocSpring` animator에 연결합니다.
|
|
187
|
+
|
|
188
|
+
```tsx
|
|
189
|
+
import { MotionReveal } from '@orioncactuscorp/ui/react/motion';
|
|
190
|
+
import { ocMotion } from '@orioncactuscorp/ui/utils/motion';
|
|
191
|
+
|
|
192
|
+
const motion = ocMotion.resolve({
|
|
193
|
+
intent: 'reveal',
|
|
194
|
+
phase: 'enter',
|
|
195
|
+
pace: 'normal',
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
export function Panel({ open, children }) {
|
|
199
|
+
return (
|
|
200
|
+
<MotionReveal open={open} forceMount>
|
|
201
|
+
{children}
|
|
202
|
+
</MotionReveal>
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## Responsive Foundation Profile
|
|
208
|
+
|
|
209
|
+
`@orioncactuscorp/ui/scss/foundations/responsive.config`는 SCSS consumer가 `typo`와 `space` responsive token 출력 방식을 선택할 때 사용합니다. mode는 공통으로 적용하고, `$oc-responsive-typo-stops`와 `$oc-responsive-space-stops`로 foundation별 active stop range를 따로 지정할 수 있습니다. `space`는 `$oc-responsive-space-profile`로 stepped 출력 profile도 바꿀 수 있습니다.
|
|
210
|
+
|
|
211
|
+
- `fluid`: 기본 `fluidClamp()` 출력
|
|
212
|
+
- `stepped`: active stop별 고정 token 값 출력
|
|
213
|
+
- `static`: 명시 stop 또는 각 foundation의 첫 active stop으로 고정
|
|
214
|
+
- `space profile`: `$oc-responsive-mode: stepped`에서 `stepped-points`로 base/media point별 target stop 출력
|
|
215
|
+
|
|
216
|
+
이 설정은 compile-time SCSS profile입니다. Prebuilt `foundations.css` 또는 `styles.css` import에는 적용되지 않습니다. 예시는 [docs/responsive-foundation-profile.md](../../docs/responsive-foundation-profile.md)를 참고하세요.
|
|
217
|
+
|
|
218
|
+
## VS Code CSS Variable Autocomplete
|
|
219
|
+
|
|
220
|
+
package는 VS Code CSS variable autocomplete 확장이 읽을 수 있는 foundation token index를 함께 배포합니다.
|
|
221
|
+
|
|
222
|
+
```text
|
|
223
|
+
node_modules/@orioncactuscorp/ui/dist/vscode/oc-ui-vars.css
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
consumer repository에서 `phoenisx.cssvar` 확장을 사용할 경우 `.vscode/settings.json`에 아래 설정을 추가합니다.
|
|
227
|
+
|
|
228
|
+
```json
|
|
229
|
+
{
|
|
230
|
+
"cssvar.files": [
|
|
231
|
+
"./node_modules/@orioncactuscorp/ui/dist/vscode/oc-ui-vars.css"
|
|
232
|
+
]
|
|
233
|
+
}
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
이 파일은 `foundations.css`에서 생성되므로 설치된 `@orioncactuscorp/ui` package 버전의 `--oc-*` foundation token과 자동완성 목록이 함께 움직입니다. 자동완성 전용 index이므로 runtime stylesheet로 import하지 않습니다.
|
|
237
|
+
|
|
238
|
+
## Agent Setup
|
|
239
|
+
|
|
240
|
+
package에는 내부 Agent instruction artifact를 포함하지 않습니다. consumer repository에서 oc-ui 사용 지침을 세팅할 때는 아래 public-safe prompt를 Agent에게 붙여넣으세요.
|
|
241
|
+
|
|
242
|
+
```text
|
|
243
|
+
This repository uses @orioncactuscorp/ui.
|
|
244
|
+
|
|
245
|
+
Set up or update this repository's agent instructions for oc-ui usage.
|
|
246
|
+
|
|
247
|
+
Use the installed package and public package docs as the source of truth:
|
|
248
|
+
- package.json
|
|
249
|
+
- node_modules/@orioncactuscorp/ui/package.json
|
|
250
|
+
- node_modules/@orioncactuscorp/ui/README.md
|
|
251
|
+
- node_modules/@orioncactuscorp/icons/package.json
|
|
252
|
+
- node_modules/@orioncactuscorp/icons/README.md
|
|
253
|
+
|
|
254
|
+
Inspect this repository's AGENTS.md and CLAUDE.md files if they exist.
|
|
255
|
+
Preserve repository-local rules.
|
|
256
|
+
Do not overwrite existing project conventions.
|
|
257
|
+
Report conflicts before editing instructions.
|
|
258
|
+
|
|
259
|
+
Document:
|
|
260
|
+
- where @orioncactuscorp/ui/foundations.css and @orioncactuscorp/ui/styles.css are imported
|
|
261
|
+
- whether this repository uses prebuilt CSS or SCSS source customization
|
|
262
|
+
- whether icons are imported directly from @orioncactuscorp/icons
|
|
263
|
+
- which local components should prefer oc-ui primitives
|
|
264
|
+
|
|
265
|
+
Do not assume access to private orioncactus agent documents.
|
|
266
|
+
Do not use the latest upstream main branch as the convention source unless I explicitly ask for that comparison.
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
긴 초기 세팅 가이드는 repository 문서의 `docs/agent-setup.md`를 기준으로 관리합니다.
|
|
270
|
+
|
|
271
|
+
## License
|
|
272
|
+
|
|
273
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.oc-Accordion-module__accordion__wD27Q{font-size:calc(var(--oc-typo-size-body1) * var(--oc-typo-scale, 1));line-height:calc(var(--oc-typo-height-body1) * var(--oc-typo-scale, 1));letter-spacing:var(--oc-typo-spacing-body1);display:flex;flex-direction:column;margin-top:calc(-1 * var(--oc-cell-padding));margin-bottom:calc(-1 * var(--oc-cell-padding));color:var(--oc-color-theme-label-normal);--oc-cell-padding: var(--oc-space-item-padding-small);--oc-cell-padding-inline: var(--oc-space-item-padding-medium);--oc-cell-gap: .5em;--oc-cell-icon-size: 1.375rem;--oc-cell-disabled-opacity: .28;--oc-cell-interaction-margin-inline: var(--oc-space-item-padding-xsmall);--oc-cell-interaction-radius: var(--oc-atomic-radius-small);--oc-cell-divider-color: var(--oc-color-theme-line-normal-normal);--oc-accordion-current-divider-color: var(--oc-cell-divider-color)}.oc-Accordion-module__item__YNNr-[data-oc-divider=normal]{--oc-accordion-current-divider-color: var(--oc-color-theme-line-normal-normal)}.oc-Accordion-module__item__YNNr-[data-oc-divider=neutral]{--oc-accordion-current-divider-color: var(--oc-color-theme-line-normal-neutral)}.oc-Accordion-module__item__YNNr-[data-oc-divider=alternative]{--oc-accordion-current-divider-color: var(--oc-color-theme-line-normal-alternative)}.oc-Accordion-module__item__YNNr-[data-oc-divider=none]{--oc-accordion-current-divider-color: transparent}.oc-Accordion-module__item__YNNr-+.oc-Accordion-module__item__YNNr-{border-block-start:1px solid var(--oc-accordion-current-divider-color)}.oc-Accordion-module__item__YNNr-[data-oc-disabled=true] .oc-Accordion-module__summary__ORyIA>:where([data-oc-part=leading],[data-oc-part=content],[data-oc-part=trailing]),.oc-Accordion-module__item__YNNr-[data-oc-disabled=true] [data-oc-part=panel-inner]{opacity:var(--oc-cell-disabled-opacity)}.oc-Accordion-module__header__AYOT5{margin:0;font:inherit}.oc-Accordion-module__summary__ORyIA{position:relative;display:flex;align-items:flex-start;gap:var(--oc-cell-gap);inline-size:100%;min-inline-size:0;padding:var(--oc-cell-padding) 0;border:0;color:inherit;font:inherit;text-align:start;background:transparent;cursor:pointer;transform:scale(var(--oc-accordion-summary-press-scale, 1));-webkit-user-select:none;user-select:none;transition:border-color calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-scale) * var(--oc-motion-pace-normal) * .5) var(--oc-motion-timing-feedback),transform calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-scale) * var(--oc-motion-pace-normal) * .5) var(--oc-motion-timing-feedback)}@media(prefers-reduced-motion:reduce){.oc-Accordion-module__summary__ORyIA{transition-property:border-color;transition-duration:calc(var(--oc-motion-duration-feedback) * var(--oc-motion-duration-scale-reduced) * var(--oc-motion-pace-normal) * .5);transition-timing-function:var(--oc-motion-timing-feedback);transform:none}}.oc-Accordion-module__summary__ORyIA{--oc-cell-content-min-block-size: var(--oc-typo-height-body1)}.oc-Accordion-module__summary__ORyIA[data-oc-vertical-align=center]{align-items:center}.oc-Accordion-module__summary__ORyIA[data-oc-fill-width=true]{padding-inline:var(--oc-cell-padding-inline)}.oc-Accordion-module__summary__ORyIA[data-oc-fill-width=true]>[data-oc-component=interaction]{--oc-interaction-inset-x: 0;--oc-interaction-radius: 0}.oc-Accordion-module__summary__ORyIA[data-oc-fill-width=false]>[data-oc-component=interaction]{--oc-interaction-inset-x: calc(-1 * var(--oc-cell-interaction-margin-inline));--oc-interaction-radius: var(--oc-cell-interaction-radius)}.oc-Accordion-module__summary__ORyIA:focus-visible{outline:none}.oc-Accordion-module__summary__ORyIA:focus-visible>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-focus);transform:scale(1)}@media(hover:hover){.oc-Accordion-module__summary__ORyIA:hover:not(:disabled)>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-hover);transform:scale(1)}}.oc-Accordion-module__summary__ORyIA:active:not(:disabled){--oc-accordion-summary-press-scale: .9875}.oc-Accordion-module__summary__ORyIA:active:not(:disabled)>[data-oc-component=interaction]{opacity:var(--oc-interaction-opacity-active);transform:scale(1)}.oc-Accordion-module__summary__ORyIA:disabled{cursor:not-allowed}.oc-Accordion-module__summary__ORyIA[data-oc-disabled=true]>:where([data-oc-part=leading],[data-oc-part=content],[data-oc-part=trailing]){opacity:var(--oc-cell-disabled-opacity)}.oc-Accordion-module__summary__ORyIA>[data-oc-component=interaction]{border-radius:var(--oc-interaction-radius)}.oc-Accordion-module__summary__ORyIA>[data-oc-part=leading],.oc-Accordion-module__summary__ORyIA>[data-oc-part=trailing]{position:relative;z-index:2;display:inline-flex;flex:none;align-items:center;min-block-size:var(--oc-cell-content-min-block-size);color:var(--oc-color-theme-label-alternative)}.oc-Accordion-module__summary__ORyIA>[data-oc-part=leading]>[data-oc-component=svg-icon],.oc-Accordion-module__summary__ORyIA>[data-oc-part=trailing]>[data-oc-component=svg-icon]{block-size:var(--oc-cell-icon-size)}.oc-Accordion-module__summary__ORyIA>[data-oc-part=content]{position:relative;z-index:2;display:flex;align-items:center;flex:1;min-block-size:var(--oc-cell-content-min-block-size);min-inline-size:0}.oc-Accordion-module__summary__ORyIA [data-oc-part=text]{display:flex;flex-direction:column;gap:var(--oc-space-item-gap-atom);min-inline-size:0}.oc-Accordion-module__summary__ORyIA [data-oc-part=label],.oc-Accordion-module__summary__ORyIA [data-oc-part=description]{min-inline-size:0}.oc-Accordion-module__summary__ORyIA [data-oc-part=description]{font-size:calc(var(--oc-typo-size-label1) * var(--oc-typo-scale, 1));line-height:calc(var(--oc-typo-height-label1) * var(--oc-typo-scale, 1));letter-spacing:var(--oc-typo-spacing-label1);color:var(--oc-color-theme-label-alternative)}.oc-Accordion-module__trailing__Gnf84{justify-content:flex-end}.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true]{transform:rotate(var(--oc-accordion-chevron-rotation, 0deg));transition:transform calc(.326s * var(--oc-motion-duration-scale) * var(--oc-motion-pace-normal) * 1.5) linear(0 0%,.0045 .95%,.017 1.9%,.0363 2.86%,.061 3.81%,.0902 4.76%,.1229 5.71%,.1582 6.67%,.1956 7.62%,.2343 8.57%,.2738 9.52%,.3136 10.48%,.3533 11.43%,.3927 12.38%,.4313 13.33%,.469 14.29%,.5056 15.24%,.541 16.19%,.5749 17.14%,.6074 18.1%,.6384 19.05%,.6678 20%,.6956 20.95%,.7219 21.9%,.7466 22.86%,.7697 23.81%,.7913 24.76%,.8114 25.71%,.8301 26.67%,.8474 27.62%,.8635 28.57%,.8782 29.52%,.8918 30.48%,.9043 31.43%,.9157 32.38%,.9261 33.33%,.9355 34.29%,.9441 35.24%,.9518 36.19%,.9588 37.14%,.9651 38.1%,.9707 39.05%,.9757 40%,.9802 40.95%,.9842 41.9%,.9877 42.86%,.9907 43.81%,.9934 44.76%,.9957 45.71%,.9977 46.67%,.9995 47.62%,1.0009 48.57%,1.0022 49.52%,1.0032 50.48%,1.004 51.43%,1.0047 52.38%,1.0052 53.33%,1.0056 54.29%,1.0059 55.24%,1.0061 56.19%,1.0062 57.14%,1.0063 58.1%,1.0063 59.05%,1.0062 60%,1.0061 60.95%,1.0059 61.9%,1.0057 62.86%,1.0055 63.81%,1.0053 64.76%,1.0051 65.71%,1.0048 66.67%,1.0046 67.62%,1.0044 68.57%,1.0041 69.52%,1.0039 70.48%,1.0036 71.43%,1.0034 72.38%,1.0031 73.33%,1.0029 74.29%,1.0027 75.24%,1.0025 76.19%,1.0023 77.14%,1.0021 78.1%,1.0019 79.05%,1.0018 80%,1.0016 80.95%,1.0015 81.9%,1.0013 82.86%,1.0012 83.81%,1.0011 84.76%,1.001 85.71%,1.0009 86.67%,1.0008 87.62%,1.0007 88.57%,1.0006 89.52%,1.0005 90.48%,1.0005 91.43%,1.0004 92.38%,1.0004 93.33%,1.0003 94.29%,1.0003 95.24%,1.0002 96.19%,1.0002 97.14%,1.0002 98.1%,1.0001 99.05%,1 100%)}@media(prefers-reduced-motion:reduce){.oc-Accordion-module__trailing__Gnf84[data-oc-rotate=true]{transition:none;transform:none}}.oc-Accordion-module__details__x7mjA{min-block-size:0}.oc-Accordion-module__accordion__wD27Q[data-oc-animation=disabled] .oc-Accordion-module__summary__ORyIA,.oc-Accordion-module__accordion__wD27Q[data-oc-animation=disabled] .oc-Accordion-module__trailing__Gnf84{transition:none}.oc-Accordion-module__panelInner__YQXzI{display:flex;flex-direction:column;gap:var(--oc-space-item-gap-small);min-block-size:0;padding-block:0 var(--oc-cell-padding);padding-inline:0}.oc-Accordion-module__item__YNNr-:has([data-oc-component=accordion-summary][data-oc-fill-width=true]) [data-oc-part=panel-inner]{padding-inline:var(--oc-cell-padding-inline)}.oc-Accordion-module__description__bKdPX{font-size:calc(var(--oc-typo-size-label1) * var(--oc-typo-scale, 1));line-height:calc(var(--oc-typo-height-label1) * var(--oc-typo-scale, 1));letter-spacing:var(--oc-typo-spacing-label1);margin:0;color:var(--oc-color-theme-label-alternative)}.oc-Accordion-module__content__RyBzl{display:flex;flex-direction:column;gap:var(--oc-space-item-gap-small);min-inline-size:0}.oc-Accordion-module__normal__Fz83W{--oc-cell-divider-color: var(--oc-color-theme-line-normal-normal)}.oc-Accordion-module__neutral__eEyvY{--oc-cell-divider-color: var(--oc-color-theme-line-normal-neutral)}.oc-Accordion-module__alternative__HdOit{--oc-cell-divider-color: var(--oc-color-theme-line-normal-alternative)}.oc-Accordion-module__none__EiLem{--oc-cell-divider-color: transparent}
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as u, jsxs as k } from "react/jsx-runtime";
|
|
3
|
+
import { useRef as $, useState as E, useCallback as z, useId as J, useEffect as L, createContext as H, useContext as q } from "react";
|
|
4
|
+
import Q from "@orioncactuscorp/icons/orioncactus/ChevronDownTight";
|
|
5
|
+
import { MotionReveal as W } from "../../react/motion.js";
|
|
6
|
+
import X from "../Interaction/Interaction.js";
|
|
7
|
+
import { normalizeSlotIcon as V } from "../internal/slot.js";
|
|
8
|
+
import p from "./Accordion.module.scss.js";
|
|
9
|
+
const B = H(null), _ = H(
|
|
10
|
+
null
|
|
11
|
+
), Y = 180;
|
|
12
|
+
function P(o) {
|
|
13
|
+
const t = q(B);
|
|
14
|
+
if (!t)
|
|
15
|
+
throw new Error(`${o} must be used within Accordion.`);
|
|
16
|
+
return t;
|
|
17
|
+
}
|
|
18
|
+
function j(o) {
|
|
19
|
+
const t = q(_);
|
|
20
|
+
if (!t)
|
|
21
|
+
throw new Error(`${o} must be used within AccordionItem.`);
|
|
22
|
+
return t;
|
|
23
|
+
}
|
|
24
|
+
function S(o, t) {
|
|
25
|
+
const e = Array.from(new Set(o.filter(Boolean)));
|
|
26
|
+
return t ? e : e.slice(0, 1);
|
|
27
|
+
}
|
|
28
|
+
function C(...o) {
|
|
29
|
+
return o.filter(Boolean).join(" ");
|
|
30
|
+
}
|
|
31
|
+
function O(o, t) {
|
|
32
|
+
typeof o == "function" ? o(t) : o && (o.current = t);
|
|
33
|
+
}
|
|
34
|
+
function Z(o) {
|
|
35
|
+
return o ? Array.from(
|
|
36
|
+
o.querySelectorAll(
|
|
37
|
+
'[data-oc-component="accordion-summary"]:not(:disabled)'
|
|
38
|
+
)
|
|
39
|
+
).filter((t) => t.getAttribute("aria-hidden") !== "true") : [];
|
|
40
|
+
}
|
|
41
|
+
function oo({
|
|
42
|
+
root: o,
|
|
43
|
+
currentTarget: t,
|
|
44
|
+
key: e,
|
|
45
|
+
loopFocus: a
|
|
46
|
+
}) {
|
|
47
|
+
const m = Z(o), c = m.indexOf(t);
|
|
48
|
+
if (c < 0) return;
|
|
49
|
+
const d = m.length - 1;
|
|
50
|
+
let l = c;
|
|
51
|
+
e === "Home" ? l = 0 : e === "End" ? l = d : e === "ArrowDown" ? l = c === d ? a ? 0 : d : c + 1 : e === "ArrowUp" && (l = c === 0 ? a ? d : 0 : c - 1), m[l]?.focus();
|
|
52
|
+
}
|
|
53
|
+
function to(o) {
|
|
54
|
+
return o >= 2 && o <= 6;
|
|
55
|
+
}
|
|
56
|
+
function lo({
|
|
57
|
+
children: o,
|
|
58
|
+
className: t = "",
|
|
59
|
+
collapsible: e = !0,
|
|
60
|
+
defaultValue: a = [],
|
|
61
|
+
disabled: m = !1,
|
|
62
|
+
disableAnimation: c = !1,
|
|
63
|
+
divider: d = "alternative",
|
|
64
|
+
loopFocus: l = !0,
|
|
65
|
+
multiple: r = !0,
|
|
66
|
+
onValueChange: A,
|
|
67
|
+
ref: y,
|
|
68
|
+
value: f,
|
|
69
|
+
...h
|
|
70
|
+
}) {
|
|
71
|
+
const I = $(null), x = f !== void 0, [b, v] = E(
|
|
72
|
+
() => S(a, r)
|
|
73
|
+
), n = S(
|
|
74
|
+
x ? f : b,
|
|
75
|
+
r
|
|
76
|
+
), D = (i) => {
|
|
77
|
+
I.current = i, O(y, i);
|
|
78
|
+
}, R = (i) => {
|
|
79
|
+
const g = S(i, r);
|
|
80
|
+
x || v(g), A?.(g);
|
|
81
|
+
}, w = (i) => {
|
|
82
|
+
if (m) return;
|
|
83
|
+
if (n.includes(i)) {
|
|
84
|
+
if (!e) return;
|
|
85
|
+
R(n.filter((N) => N !== i));
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
R(r ? [...n, i] : [i]);
|
|
89
|
+
};
|
|
90
|
+
return /* @__PURE__ */ u(
|
|
91
|
+
B.Provider,
|
|
92
|
+
{
|
|
93
|
+
value: {
|
|
94
|
+
value: n,
|
|
95
|
+
collapsible: e,
|
|
96
|
+
disabled: m,
|
|
97
|
+
divider: d,
|
|
98
|
+
disableAnimation: c,
|
|
99
|
+
loopFocus: l,
|
|
100
|
+
rootRef: I,
|
|
101
|
+
toggleItem: w
|
|
102
|
+
},
|
|
103
|
+
children: /* @__PURE__ */ u(
|
|
104
|
+
"div",
|
|
105
|
+
{
|
|
106
|
+
ref: D,
|
|
107
|
+
className: C(p.accordion, p[d], t),
|
|
108
|
+
...h,
|
|
109
|
+
"data-oc-component": "accordion",
|
|
110
|
+
"data-oc-disabled": m ? "true" : void 0,
|
|
111
|
+
"data-oc-divider": d,
|
|
112
|
+
"data-oc-animation": c ? "disabled" : void 0,
|
|
113
|
+
children: o
|
|
114
|
+
}
|
|
115
|
+
)
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
function uo({
|
|
120
|
+
children: o,
|
|
121
|
+
className: t = "",
|
|
122
|
+
disabled: e = !1,
|
|
123
|
+
divider: a,
|
|
124
|
+
ref: m,
|
|
125
|
+
value: c,
|
|
126
|
+
...d
|
|
127
|
+
}) {
|
|
128
|
+
const l = P("AccordionItem"), r = J(), A = l.disabled || e, y = l.value.includes(c), f = a ?? l.divider, [h, I] = E(y), x = z((b) => {
|
|
129
|
+
I(
|
|
130
|
+
(v) => v === b ? v : b
|
|
131
|
+
);
|
|
132
|
+
}, []);
|
|
133
|
+
return /* @__PURE__ */ u(
|
|
134
|
+
_.Provider,
|
|
135
|
+
{
|
|
136
|
+
value: {
|
|
137
|
+
value: c,
|
|
138
|
+
open: y,
|
|
139
|
+
disabled: A,
|
|
140
|
+
divider: f,
|
|
141
|
+
summaryId: `${r}-summary`,
|
|
142
|
+
detailsId: `${r}-details`,
|
|
143
|
+
detailsPresent: h,
|
|
144
|
+
setDetailsPresent: x
|
|
145
|
+
},
|
|
146
|
+
children: /* @__PURE__ */ u(
|
|
147
|
+
"div",
|
|
148
|
+
{
|
|
149
|
+
ref: m,
|
|
150
|
+
className: C(p.item, t),
|
|
151
|
+
...d,
|
|
152
|
+
"data-oc-component": "accordion-item",
|
|
153
|
+
"data-oc-disabled": A ? "true" : void 0,
|
|
154
|
+
"data-oc-divider": f,
|
|
155
|
+
"data-oc-state": y ? "open" : "closed",
|
|
156
|
+
children: o
|
|
157
|
+
}
|
|
158
|
+
)
|
|
159
|
+
}
|
|
160
|
+
);
|
|
161
|
+
}
|
|
162
|
+
function mo({
|
|
163
|
+
children: o,
|
|
164
|
+
className: t = "",
|
|
165
|
+
content: e,
|
|
166
|
+
description: a,
|
|
167
|
+
disabled: m = !1,
|
|
168
|
+
fillWidth: c = !1,
|
|
169
|
+
headingLevel: d = 3,
|
|
170
|
+
interactionVariant: l = "light",
|
|
171
|
+
leading: r,
|
|
172
|
+
onClick: A,
|
|
173
|
+
onKeyDown: y,
|
|
174
|
+
ref: f,
|
|
175
|
+
trailing: h,
|
|
176
|
+
type: I = "button",
|
|
177
|
+
verticalAlign: x = "top",
|
|
178
|
+
...b
|
|
179
|
+
}) {
|
|
180
|
+
const v = P("AccordionSummary"), n = j("AccordionSummary"), D = $(n.open), [R, w] = E(
|
|
181
|
+
() => n.open ? 180 : 0
|
|
182
|
+
), i = n.disabled || m, g = n.open && !v.collapsible, N = `h${to(d) ? d : 3}`, U = e ?? (a ? /* @__PURE__ */ k("span", { "data-oc-part": "text", children: [
|
|
183
|
+
/* @__PURE__ */ u("span", { "data-oc-part": "label", children: o }),
|
|
184
|
+
/* @__PURE__ */ u("span", { "data-oc-part": "description", children: a })
|
|
185
|
+
] }) : o), K = V(r), T = h === void 0 ? /* @__PURE__ */ u(Q, { size: "custom" }) : h, F = V(T), G = h === void 0 ? {
|
|
186
|
+
"--oc-accordion-chevron-rotation": `${R}deg`
|
|
187
|
+
} : void 0, M = (s) => {
|
|
188
|
+
O(f, s);
|
|
189
|
+
};
|
|
190
|
+
return L(() => {
|
|
191
|
+
D.current !== n.open && (D.current = n.open, w(
|
|
192
|
+
(s) => s + Y
|
|
193
|
+
));
|
|
194
|
+
}, [n.open]), /* @__PURE__ */ u(N, { className: p.header, "data-oc-part": "header", children: /* @__PURE__ */ k(
|
|
195
|
+
"button",
|
|
196
|
+
{
|
|
197
|
+
ref: M,
|
|
198
|
+
className: C(p.summary, t),
|
|
199
|
+
...b,
|
|
200
|
+
type: I,
|
|
201
|
+
disabled: i,
|
|
202
|
+
"aria-disabled": i || g ? "true" : b["aria-disabled"],
|
|
203
|
+
"aria-expanded": n.open,
|
|
204
|
+
"aria-controls": n.open || n.detailsPresent ? n.detailsId : void 0,
|
|
205
|
+
id: n.summaryId,
|
|
206
|
+
onClick: (s) => {
|
|
207
|
+
A?.(s), !(s.defaultPrevented || i || g) && v.toggleItem(n.value);
|
|
208
|
+
},
|
|
209
|
+
onKeyDown: (s) => {
|
|
210
|
+
y?.(s), !(s.defaultPrevented || i) && (s.key === "ArrowDown" || s.key === "ArrowUp" || s.key === "Home" || s.key === "End") && (s.preventDefault(), oo({
|
|
211
|
+
root: v.rootRef.current,
|
|
212
|
+
currentTarget: s.currentTarget,
|
|
213
|
+
key: s.key,
|
|
214
|
+
loopFocus: v.loopFocus
|
|
215
|
+
}));
|
|
216
|
+
},
|
|
217
|
+
"data-oc-component": "accordion-summary",
|
|
218
|
+
"data-oc-disabled": i ? "true" : void 0,
|
|
219
|
+
"data-oc-fill-width": c ? "true" : "false",
|
|
220
|
+
"data-oc-state": n.open ? "open" : "closed",
|
|
221
|
+
"data-oc-vertical-align": x,
|
|
222
|
+
children: [
|
|
223
|
+
r ? /* @__PURE__ */ u("span", { "data-oc-part": "leading", children: K }) : null,
|
|
224
|
+
/* @__PURE__ */ u("span", { "data-oc-part": "content", children: U }),
|
|
225
|
+
T ? /* @__PURE__ */ u(
|
|
226
|
+
"span",
|
|
227
|
+
{
|
|
228
|
+
className: p.trailing,
|
|
229
|
+
"data-oc-part": "trailing",
|
|
230
|
+
"data-oc-rotate": h === void 0 ? "true" : void 0,
|
|
231
|
+
style: G,
|
|
232
|
+
children: F
|
|
233
|
+
}
|
|
234
|
+
) : null,
|
|
235
|
+
i ? null : /* @__PURE__ */ u(X, { variant: l })
|
|
236
|
+
]
|
|
237
|
+
}
|
|
238
|
+
) });
|
|
239
|
+
}
|
|
240
|
+
function fo({
|
|
241
|
+
children: o,
|
|
242
|
+
className: t = "",
|
|
243
|
+
forceMount: e = !1,
|
|
244
|
+
ref: a,
|
|
245
|
+
region: m = !1,
|
|
246
|
+
role: c,
|
|
247
|
+
...d
|
|
248
|
+
}) {
|
|
249
|
+
const l = P("AccordionDetails"), r = j("AccordionDetails"), { setDetailsPresent: A } = r, y = z(
|
|
250
|
+
(f) => {
|
|
251
|
+
O(a, f), A(f !== null);
|
|
252
|
+
},
|
|
253
|
+
[a, A]
|
|
254
|
+
);
|
|
255
|
+
return /* @__PURE__ */ u(
|
|
256
|
+
W,
|
|
257
|
+
{
|
|
258
|
+
ref: y,
|
|
259
|
+
className: C(p.details, t),
|
|
260
|
+
open: r.open,
|
|
261
|
+
forceMount: e,
|
|
262
|
+
disableAnimation: l.disableAnimation,
|
|
263
|
+
contentProps: {
|
|
264
|
+
className: p.panelInner,
|
|
265
|
+
"data-oc-part": "panel-inner"
|
|
266
|
+
},
|
|
267
|
+
...d,
|
|
268
|
+
"aria-hidden": r.open ? void 0 : !0,
|
|
269
|
+
"aria-labelledby": r.summaryId,
|
|
270
|
+
id: r.detailsId,
|
|
271
|
+
inert: r.open ? void 0 : !0,
|
|
272
|
+
role: m ? "region" : c,
|
|
273
|
+
"data-oc-component": "accordion-details",
|
|
274
|
+
"data-oc-state": r.open ? "open" : "closed",
|
|
275
|
+
children: o
|
|
276
|
+
}
|
|
277
|
+
);
|
|
278
|
+
}
|
|
279
|
+
function po({
|
|
280
|
+
children: o,
|
|
281
|
+
className: t = "",
|
|
282
|
+
ref: e,
|
|
283
|
+
...a
|
|
284
|
+
}) {
|
|
285
|
+
return /* @__PURE__ */ u(
|
|
286
|
+
"p",
|
|
287
|
+
{
|
|
288
|
+
ref: e,
|
|
289
|
+
className: C(p.description, t),
|
|
290
|
+
...a,
|
|
291
|
+
"data-oc-component": "accordion-description",
|
|
292
|
+
children: o
|
|
293
|
+
}
|
|
294
|
+
);
|
|
295
|
+
}
|
|
296
|
+
function Ao({
|
|
297
|
+
children: o,
|
|
298
|
+
className: t = "",
|
|
299
|
+
ref: e,
|
|
300
|
+
...a
|
|
301
|
+
}) {
|
|
302
|
+
return /* @__PURE__ */ u(
|
|
303
|
+
"div",
|
|
304
|
+
{
|
|
305
|
+
ref: e,
|
|
306
|
+
className: C(p.content, t),
|
|
307
|
+
...a,
|
|
308
|
+
"data-oc-component": "accordion-content",
|
|
309
|
+
children: o
|
|
310
|
+
}
|
|
311
|
+
);
|
|
312
|
+
}
|
|
313
|
+
export {
|
|
314
|
+
Ao as AccordionContent,
|
|
315
|
+
po as AccordionDescription,
|
|
316
|
+
fo as AccordionDetails,
|
|
317
|
+
uo as AccordionItem,
|
|
318
|
+
mo as AccordionSummary,
|
|
319
|
+
lo as default
|
|
320
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import './Accordion.css';const o = "oc-Accordion-module__accordion__wD27Q", n = "oc-Accordion-module__item__YNNr-", c = "oc-Accordion-module__summary__ORyIA", e = "oc-Accordion-module__header__AYOT5", _ = "oc-Accordion-module__trailing__Gnf84", t = "oc-Accordion-module__details__x7mjA", r = "oc-Accordion-module__panelInner__YQXzI", d = "oc-Accordion-module__description__bKdPX", i = "oc-Accordion-module__content__RyBzl", l = "oc-Accordion-module__normal__Fz83W", a = "oc-Accordion-module__neutral__eEyvY", m = "oc-Accordion-module__alternative__HdOit", s = "oc-Accordion-module__none__EiLem", u = {
|
|
2
|
+
accordion: o,
|
|
3
|
+
item: n,
|
|
4
|
+
summary: c,
|
|
5
|
+
header: e,
|
|
6
|
+
trailing: _,
|
|
7
|
+
details: t,
|
|
8
|
+
panelInner: r,
|
|
9
|
+
description: d,
|
|
10
|
+
content: i,
|
|
11
|
+
normal: l,
|
|
12
|
+
neutral: a,
|
|
13
|
+
alternative: m,
|
|
14
|
+
none: s
|
|
15
|
+
};
|
|
16
|
+
export {
|
|
17
|
+
o as accordion,
|
|
18
|
+
m as alternative,
|
|
19
|
+
i as content,
|
|
20
|
+
u as default,
|
|
21
|
+
d as description,
|
|
22
|
+
t as details,
|
|
23
|
+
e as header,
|
|
24
|
+
n as item,
|
|
25
|
+
a as neutral,
|
|
26
|
+
s as none,
|
|
27
|
+
l as normal,
|
|
28
|
+
r as panelInner,
|
|
29
|
+
c as summary,
|
|
30
|
+
_ as trailing
|
|
31
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AccordionContent as r, AccordionDescription as i, AccordionDetails as n, AccordionItem as t, AccordionSummary as d, default as e } from "./Accordion/Accordion.js";
|
|
2
|
+
export {
|
|
3
|
+
r as AccordionContent,
|
|
4
|
+
i as AccordionDescription,
|
|
5
|
+
n as AccordionDetails,
|
|
6
|
+
t as AccordionItem,
|
|
7
|
+
d as AccordionSummary,
|
|
8
|
+
e as default
|
|
9
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.oc-ActionArea-module__actionArea__jnxep{position:relative;display:flex;flex-direction:column;inline-size:100%;padding:var(--oc-action-area-padding-y) var(--oc-action-area-padding-x) var(--oc-action-area-padding-bottom);--oc-action-area-padding-x: var(--oc-space-section-padding-viewport-x);--oc-action-area-padding-y: var(--oc-space-section-padding-viewport-y);--oc-action-area-padding-bottom: var(--oc-action-area-padding-y);--oc-action-area-gap: var(--oc-space-item-gap-small);--oc-action-area-actions-gap: var(--oc-space-item-gap-small);--oc-action-area-background-color: var(--oc-color-theme-background-elevated-normal)}.oc-ActionArea-module__actionArea__jnxep:before{position:absolute;inset:0;z-index:0;background:linear-gradient(to bottom,transparent,var(--oc-action-area-background-color) 45%);opacity:0;content:"";pointer-events:none}.oc-ActionArea-module__actionArea__jnxep>*{position:relative;z-index:1}.oc-ActionArea-module__actionArea__jnxep[data-oc-background=true]:before{opacity:1}.oc-ActionArea-module__actionArea__jnxep[data-oc-has-extra=true]{border-block-start:1px solid var(--oc-color-theme-line-normal-neutral);background-color:var(--oc-action-area-background-color)}.oc-ActionArea-module__actionArea__jnxep [data-oc-part=extra-slot]{display:flex;flex-direction:column;align-items:center;margin-block-end:calc(var(--oc-action-area-gap) + var(--oc-action-area-padding-y))}.oc-ActionArea-module__actionArea__jnxep [data-oc-part=caption]{font-size:calc(var(--oc-typo-size-label2) * var(--oc-typo-scale, 1));line-height:calc(var(--oc-typo-height-label2) * var(--oc-typo-scale, 1));letter-spacing:var(--oc-typo-spacing-label2);font-weight:var(--oc-typo-weight-label2-normal);margin:0 0 var(--oc-space-item-gap-medium);color:var(--oc-color-theme-label-alternative);text-align:center}.oc-ActionArea-module__actionArea__jnxep [data-oc-part=actions]{display:flex;gap:var(--oc-action-area-actions-gap);min-width:0}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=strong] [data-oc-part=actions],.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=cancel] [data-oc-part=actions]{flex-direction:column}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=neutral] [data-oc-part=actions]{flex-direction:row}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=neutral] [data-oc-part=actions]>[data-oc-action-area-button=true]{flex:1 1 0}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=neutral] [data-oc-part=actions]>[data-oc-action-area-button-variant=sub][data-oc-icon-only=true]{flex:0 0 auto}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=actions]{flex-direction:row;justify-content:flex-end}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=actions]:has(>[data-oc-action-area-button-variant=sub][data-oc-icon-only=true]){justify-content:space-between;inline-size:100%}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=compact-row]{display:flex;align-items:center;justify-content:space-between;gap:var(--oc-space-item-gap-medium);min-width:0}.oc-ActionArea-module__actionArea__jnxep[data-oc-variant=compact] [data-oc-part=compact-slot]{display:flex;align-items:center;flex:1 1 auto;min-width:0}.oc-ActionArea-module__actionButton__fKHJQ{min-width:0}.oc-ActionArea-module__actionButton__fKHJQ[data-oc-component=text-button]{flex:0 0 auto;inline-size:fit-content;align-self:center}
|