ui-lab-registry 0.3.44 → 0.3.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Anchor/examples/01-inline-text.d.ts +6 -0
- package/dist/components/Anchor/examples/01-inline-text.d.ts.map +1 -0
- package/dist/components/Anchor/examples/01-inline-text.js +10 -0
- package/dist/components/Anchor/examples/01-inline-text.js.map +1 -0
- package/dist/components/Anchor/examples/02-underline-variants.d.ts +6 -0
- package/dist/components/Anchor/examples/02-underline-variants.d.ts.map +1 -0
- package/dist/components/Anchor/examples/02-underline-variants.js +10 -0
- package/dist/components/Anchor/examples/02-underline-variants.js.map +1 -0
- package/dist/components/Anchor/examples/03-preview-tooltip.d.ts +6 -0
- package/dist/components/Anchor/examples/03-preview-tooltip.d.ts.map +1 -0
- package/dist/components/Anchor/examples/03-preview-tooltip.js +10 -0
- package/dist/components/Anchor/examples/03-preview-tooltip.js.map +1 -0
- package/dist/components/Anchor/examples/04-breadcrumb.d.ts +6 -0
- package/dist/components/Anchor/examples/04-breadcrumb.d.ts.map +1 -0
- package/dist/components/Anchor/examples/04-breadcrumb.js +15 -0
- package/dist/components/Anchor/examples/04-breadcrumb.js.map +1 -0
- package/dist/components/Anchor/examples/index.d.ts +8 -1
- package/dist/components/Anchor/examples/index.d.ts.map +1 -1
- package/dist/components/Anchor/examples/index.js +8 -1
- package/dist/components/Anchor/examples/index.js.map +1 -1
- package/dist/components/Anchor/examples.json +19 -4
- package/dist/components/Anchor/index.d.ts.map +1 -1
- package/dist/components/Anchor/index.js +8 -2
- package/dist/components/Anchor/index.js.map +1 -1
- package/dist/components/Badge/examples/01-status-badges.d.ts +6 -0
- package/dist/components/Badge/examples/01-status-badges.d.ts.map +1 -0
- package/dist/components/Badge/examples/01-status-badges.js +10 -0
- package/dist/components/Badge/examples/01-status-badges.js.map +1 -0
- package/dist/components/Badge/examples/02-icon-position.d.ts +6 -0
- package/dist/components/Badge/examples/02-icon-position.d.ts.map +1 -0
- package/dist/components/Badge/examples/02-icon-position.js +11 -0
- package/dist/components/Badge/examples/02-icon-position.js.map +1 -0
- package/dist/components/Badge/examples/02-variants-and-sizes.d.ts.map +1 -1
- package/dist/components/Badge/examples/02-variants-and-sizes.js +3 -3
- package/dist/components/Badge/examples/02-variants-and-sizes.js.map +1 -1
- package/dist/components/Badge/examples/03-selectable-tags.d.ts +6 -0
- package/dist/components/Badge/examples/03-selectable-tags.d.ts.map +1 -0
- package/dist/components/Badge/examples/03-selectable-tags.js +21 -0
- package/dist/components/Badge/examples/03-selectable-tags.js.map +1 -0
- package/dist/components/Badge/examples/04-dismissible.d.ts +6 -0
- package/dist/components/Badge/examples/04-dismissible.d.ts.map +1 -0
- package/dist/components/Badge/examples/04-dismissible.js +14 -0
- package/dist/components/Badge/examples/04-dismissible.js.map +1 -0
- package/dist/components/Badge/examples/05-semantic-colors.d.ts +6 -0
- package/dist/components/Badge/examples/05-semantic-colors.d.ts.map +1 -0
- package/dist/components/Badge/examples/05-semantic-colors.js +10 -0
- package/dist/components/Badge/examples/05-semantic-colors.js.map +1 -0
- package/dist/components/Badge/examples/index.d.ts +10 -4
- package/dist/components/Badge/examples/index.d.ts.map +1 -1
- package/dist/components/Badge/examples/index.js +10 -4
- package/dist/components/Badge/examples/index.js.map +1 -1
- package/dist/components/Badge/examples.json +24 -9
- package/dist/components/Badge/index.d.ts.map +1 -1
- package/dist/components/Badge/index.js +12 -15
- package/dist/components/Badge/index.js.map +1 -1
- package/dist/components/Banner/examples/01-variants.d.ts +6 -0
- package/dist/components/Banner/examples/01-variants.d.ts.map +1 -0
- package/dist/components/Banner/examples/01-variants.js +10 -0
- package/dist/components/Banner/examples/01-variants.js.map +1 -0
- package/dist/components/Banner/examples/02-dismissible.d.ts +6 -0
- package/dist/components/Banner/examples/02-dismissible.d.ts.map +1 -0
- package/dist/components/Banner/examples/02-dismissible.js +13 -0
- package/dist/components/Banner/examples/02-dismissible.js.map +1 -0
- package/dist/components/Banner/examples/03-form-feedback.d.ts +6 -0
- package/dist/components/Banner/examples/03-form-feedback.d.ts.map +1 -0
- package/dist/components/Banner/examples/03-form-feedback.js +21 -0
- package/dist/components/Banner/examples/03-form-feedback.js.map +1 -0
- package/dist/components/Banner/examples/04-settings-panel.d.ts +6 -0
- package/dist/components/Banner/examples/04-settings-panel.d.ts.map +1 -0
- package/dist/components/Banner/examples/04-settings-panel.js +10 -0
- package/dist/components/Banner/examples/04-settings-panel.js.map +1 -0
- package/dist/components/Banner/examples/05-body-only.d.ts +6 -0
- package/dist/components/Banner/examples/05-body-only.d.ts.map +1 -0
- package/dist/components/Banner/examples/05-body-only.js +10 -0
- package/dist/components/Banner/examples/05-body-only.js.map +1 -0
- package/dist/components/Banner/examples/index.d.ts +10 -2
- package/dist/components/Banner/examples/index.d.ts.map +1 -1
- package/dist/components/Banner/examples/index.js +10 -2
- package/dist/components/Banner/examples/index.js.map +1 -1
- package/dist/components/Banner/examples.json +24 -4
- package/dist/components/Banner/index.d.ts.map +1 -1
- package/dist/components/Banner/index.js +13 -16
- package/dist/components/Banner/index.js.map +1 -1
- package/dist/components/Button/examples/01-variants.d.ts.map +1 -1
- package/dist/components/Button/examples/01-variants.js +12 -4
- package/dist/components/Button/examples/01-variants.js.map +1 -1
- package/dist/components/Button/examples/02-multi-actions.d.ts.map +1 -1
- package/dist/components/Button/examples/02-multi-actions.js.map +1 -1
- package/dist/components/Button/examples/04-sub-stack-actions.js +1 -1
- package/dist/components/Button/examples/04-sub-stack-actions.js.map +1 -1
- package/dist/components/Button/examples/06-icons.d.ts +6 -0
- package/dist/components/Button/examples/06-icons.d.ts.map +1 -0
- package/dist/components/Button/examples/06-icons.js +11 -0
- package/dist/components/Button/examples/06-icons.js.map +1 -0
- package/dist/components/Button/examples/07-split-button.d.ts +6 -0
- package/dist/components/Button/examples/07-split-button.d.ts.map +1 -0
- package/dist/components/Button/examples/07-split-button.js +20 -0
- package/dist/components/Button/examples/07-split-button.js.map +1 -0
- package/dist/components/Button/examples/08-button-group.d.ts +6 -0
- package/dist/components/Button/examples/08-button-group.d.ts.map +1 -0
- package/dist/components/Button/examples/08-button-group.js +14 -0
- package/dist/components/Button/examples/08-button-group.js.map +1 -0
- package/dist/components/Button/examples/index.d.ts +6 -0
- package/dist/components/Button/examples/index.d.ts.map +1 -1
- package/dist/components/Button/examples/index.js +6 -0
- package/dist/components/Button/examples/index.js.map +1 -1
- package/dist/components/Button/examples.json +19 -4
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +6 -0
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/Card/examples/01-notification.d.ts +6 -0
- package/dist/components/Card/examples/01-notification.d.ts.map +1 -0
- package/dist/components/Card/examples/01-notification.js +13 -0
- package/dist/components/Card/examples/01-notification.js.map +1 -0
- package/dist/components/Card/examples/02-settings-panel.d.ts +6 -0
- package/dist/components/Card/examples/02-settings-panel.d.ts.map +1 -0
- package/dist/components/Card/examples/02-settings-panel.js +18 -0
- package/dist/components/Card/examples/02-settings-panel.js.map +1 -0
- package/dist/components/Card/examples/03-task-progress.d.ts +6 -0
- package/dist/components/Card/examples/03-task-progress.d.ts.map +1 -0
- package/dist/components/Card/examples/03-task-progress.js +17 -0
- package/dist/components/Card/examples/03-task-progress.js.map +1 -0
- package/dist/components/Card/examples/index.d.ts +6 -2
- package/dist/components/Card/examples/index.d.ts.map +1 -1
- package/dist/components/Card/examples/index.js +6 -2
- package/dist/components/Card/examples/index.js.map +1 -1
- package/dist/components/Card/examples.json +14 -4
- package/dist/components/Card/index.d.ts.map +1 -1
- package/dist/components/Card/index.js +6 -2
- package/dist/components/Card/index.js.map +1 -1
- package/dist/components/Checkbox/examples/01-basic-states.d.ts +6 -0
- package/dist/components/Checkbox/examples/01-basic-states.d.ts.map +1 -0
- package/dist/components/Checkbox/examples/01-basic-states.js +10 -0
- package/dist/components/Checkbox/examples/01-basic-states.js.map +1 -0
- package/dist/components/Checkbox/examples/02-helper-text.d.ts +6 -0
- package/dist/components/Checkbox/examples/02-helper-text.d.ts.map +1 -0
- package/dist/components/Checkbox/examples/02-helper-text.js +10 -0
- package/dist/components/Checkbox/examples/02-helper-text.js.map +1 -0
- package/dist/components/Checkbox/examples/03-controlled.d.ts +6 -0
- package/dist/components/Checkbox/examples/03-controlled.d.ts.map +1 -0
- package/dist/components/Checkbox/examples/03-controlled.js +13 -0
- package/dist/components/Checkbox/examples/03-controlled.js.map +1 -0
- package/dist/components/Checkbox/examples/04-group.d.ts +6 -0
- package/dist/components/Checkbox/examples/04-group.d.ts.map +1 -0
- package/dist/components/Checkbox/examples/04-group.js +25 -0
- package/dist/components/Checkbox/examples/04-group.js.map +1 -0
- package/dist/components/Checkbox/examples/05-indeterminate.d.ts +6 -0
- package/dist/components/Checkbox/examples/05-indeterminate.d.ts.map +1 -0
- package/dist/components/Checkbox/examples/05-indeterminate.js +26 -0
- package/dist/components/Checkbox/examples/05-indeterminate.js.map +1 -0
- package/dist/components/Checkbox/examples/06-consent-form.d.ts +6 -0
- package/dist/components/Checkbox/examples/06-consent-form.d.ts.map +1 -0
- package/dist/components/Checkbox/examples/06-consent-form.js +14 -0
- package/dist/components/Checkbox/examples/06-consent-form.js.map +1 -0
- package/dist/components/Checkbox/examples/index.d.ts +12 -4
- package/dist/components/Checkbox/examples/index.d.ts.map +1 -1
- package/dist/components/Checkbox/examples/index.js +12 -4
- package/dist/components/Checkbox/examples/index.js.map +1 -1
- package/dist/components/Checkbox/examples.json +29 -9
- package/dist/components/Checkbox/index.d.ts.map +1 -1
- package/dist/components/Checkbox/index.js +13 -16
- package/dist/components/Checkbox/index.js.map +1 -1
- package/dist/components/Color/examples/01-basic-color-picker.d.ts +6 -0
- package/dist/components/Color/examples/01-basic-color-picker.d.ts.map +1 -0
- package/dist/components/Color/examples/01-basic-color-picker.js +11 -0
- package/dist/components/Color/examples/01-basic-color-picker.js.map +1 -0
- package/dist/components/Color/examples/02-color-picker-opacity.d.ts +6 -0
- package/dist/components/Color/examples/02-color-picker-opacity.d.ts.map +1 -0
- package/dist/components/Color/examples/02-color-picker-opacity.js +13 -0
- package/dist/components/Color/examples/02-color-picker-opacity.js.map +1 -0
- package/dist/components/Color/examples/03-color-picker-preview.d.ts +6 -0
- package/dist/components/Color/examples/03-color-picker-preview.d.ts.map +1 -0
- package/dist/components/Color/examples/03-color-picker-preview.js +13 -0
- package/dist/components/Color/examples/03-color-picker-preview.js.map +1 -0
- package/dist/components/Color/examples/04-color-slider-primitive.d.ts +6 -0
- package/dist/components/Color/examples/04-color-slider-primitive.d.ts.map +1 -0
- package/dist/components/Color/examples/04-color-slider-primitive.js +16 -0
- package/dist/components/Color/examples/04-color-slider-primitive.js.map +1 -0
- package/dist/components/Color/examples/index.d.ts +8 -3
- package/dist/components/Color/examples/index.d.ts.map +1 -1
- package/dist/components/Color/examples/index.js +8 -3
- package/dist/components/Color/examples/index.js.map +1 -1
- package/dist/components/Color/examples.json +18 -8
- package/dist/components/Color/index.d.ts.map +1 -1
- package/dist/components/Color/index.js +8 -4
- package/dist/components/Color/index.js.map +1 -1
- package/dist/components/Expand/examples/01-basic.d.ts +6 -0
- package/dist/components/Expand/examples/01-basic.d.ts.map +1 -0
- package/dist/components/Expand/examples/01-basic.js +10 -0
- package/dist/components/Expand/examples/01-basic.js.map +1 -0
- package/dist/components/Expand/examples/02-accordion.d.ts +6 -0
- package/dist/components/Expand/examples/02-accordion.d.ts.map +1 -0
- package/dist/components/Expand/examples/02-accordion.js +30 -0
- package/dist/components/Expand/examples/02-accordion.js.map +1 -0
- package/dist/components/Expand/examples/03-custom-trigger.d.ts +6 -0
- package/dist/components/Expand/examples/03-custom-trigger.d.ts.map +1 -0
- package/dist/components/Expand/examples/03-custom-trigger.js +11 -0
- package/dist/components/Expand/examples/03-custom-trigger.js.map +1 -0
- package/dist/components/Expand/examples/04-directions.d.ts +6 -0
- package/dist/components/Expand/examples/04-directions.d.ts.map +1 -0
- package/dist/components/Expand/examples/04-directions.js +10 -0
- package/dist/components/Expand/examples/04-directions.js.map +1 -0
- package/dist/components/Expand/examples/05-settings-panel.d.ts +6 -0
- package/dist/components/Expand/examples/05-settings-panel.d.ts.map +1 -0
- package/dist/components/Expand/examples/05-settings-panel.js +11 -0
- package/dist/components/Expand/examples/05-settings-panel.js.map +1 -0
- package/dist/components/Expand/examples/06-disabled.d.ts +6 -0
- package/dist/components/Expand/examples/06-disabled.d.ts.map +1 -0
- package/dist/components/Expand/examples/06-disabled.js +10 -0
- package/dist/components/Expand/examples/06-disabled.js.map +1 -0
- package/dist/components/Expand/examples/07-inline-info.d.ts +6 -0
- package/dist/components/Expand/examples/07-inline-info.d.ts.map +1 -0
- package/dist/components/Expand/examples/07-inline-info.js +11 -0
- package/dist/components/Expand/examples/07-inline-info.js.map +1 -0
- package/dist/components/Expand/examples/index.d.ts +14 -2
- package/dist/components/Expand/examples/index.d.ts.map +1 -1
- package/dist/components/Expand/examples/index.js +14 -2
- package/dist/components/Expand/examples/index.js.map +1 -1
- package/dist/components/Expand/examples.json +34 -4
- package/dist/components/Expand/index.d.ts.map +1 -1
- package/dist/components/Expand/index.js +14 -2
- package/dist/components/Expand/index.js.map +1 -1
- package/dist/components/Flex/examples/01-axis-control.d.ts +11 -0
- package/dist/components/Flex/examples/01-axis-control.d.ts.map +1 -0
- package/dist/components/Flex/examples/01-axis-control.js +149 -0
- package/dist/components/Flex/examples/01-axis-control.js.map +1 -0
- package/dist/components/Flex/examples/02-wrap-overflow.d.ts +11 -0
- package/dist/components/Flex/examples/02-wrap-overflow.d.ts.map +1 -0
- package/dist/components/Flex/examples/02-wrap-overflow.js +147 -0
- package/dist/components/Flex/examples/02-wrap-overflow.js.map +1 -0
- package/dist/components/Flex/examples/03-container-query-reflow.d.ts +11 -0
- package/dist/components/Flex/examples/03-container-query-reflow.d.ts.map +1 -0
- package/dist/components/Flex/examples/03-container-query-reflow.js +151 -0
- package/dist/components/Flex/examples/03-container-query-reflow.js.map +1 -0
- package/dist/components/Flex/examples/index.d.ts +6 -2
- package/dist/components/Flex/examples/index.d.ts.map +1 -1
- package/dist/components/Flex/examples/index.js +6 -2
- package/dist/components/Flex/examples/index.js.map +1 -1
- package/dist/components/Flex/examples.json +14 -4
- package/dist/components/Flex/index.d.ts.map +1 -1
- package/dist/components/Flex/index.js +12 -8
- package/dist/components/Flex/index.js.map +1 -1
- package/dist/components/Gallery/examples/01-grid-composition.d.ts +11 -0
- package/dist/components/Gallery/examples/01-grid-composition.d.ts.map +1 -0
- package/dist/components/Gallery/examples/01-grid-composition.js +95 -0
- package/dist/components/Gallery/examples/01-grid-composition.js.map +1 -0
- package/dist/components/Gallery/examples/02-item-orientation.d.ts +11 -0
- package/dist/components/Gallery/examples/02-item-orientation.d.ts.map +1 -0
- package/dist/components/Gallery/examples/02-item-orientation.js +106 -0
- package/dist/components/Gallery/examples/02-item-orientation.js.map +1 -0
- package/dist/components/Gallery/examples/03-span-layout.d.ts +11 -0
- package/dist/components/Gallery/examples/03-span-layout.d.ts.map +1 -0
- package/dist/components/Gallery/examples/03-span-layout.js +95 -0
- package/dist/components/Gallery/examples/03-span-layout.js.map +1 -0
- package/dist/components/Gallery/examples/index.d.ts +6 -2
- package/dist/components/Gallery/examples/index.d.ts.map +1 -1
- package/dist/components/Gallery/examples/index.js +6 -2
- package/dist/components/Gallery/examples/index.js.map +1 -1
- package/dist/components/Gallery/examples.json +14 -4
- package/dist/components/Gallery/index.d.ts.map +1 -1
- package/dist/components/Gallery/index.js +6 -2
- package/dist/components/Gallery/index.js.map +1 -1
- package/dist/components/Grid/examples/02-track-placement.d.ts +11 -0
- package/dist/components/Grid/examples/02-track-placement.d.ts.map +1 -0
- package/dist/components/Grid/examples/02-track-placement.js +181 -0
- package/dist/components/Grid/examples/02-track-placement.js.map +1 -0
- package/dist/components/Grid/examples/03-editorial-spans.d.ts +11 -0
- package/dist/components/Grid/examples/03-editorial-spans.d.ts.map +1 -0
- package/dist/components/Grid/examples/03-editorial-spans.js +167 -0
- package/dist/components/Grid/examples/03-editorial-spans.js.map +1 -0
- package/dist/components/Grid/examples/04-responsive-card-rail.d.ts +11 -0
- package/dist/components/Grid/examples/04-responsive-card-rail.d.ts.map +1 -0
- package/dist/components/Grid/examples/04-responsive-card-rail.js +126 -0
- package/dist/components/Grid/examples/04-responsive-card-rail.js.map +1 -0
- package/dist/components/Grid/examples/index.d.ts +6 -0
- package/dist/components/Grid/examples/index.d.ts.map +1 -1
- package/dist/components/Grid/examples/index.js +6 -0
- package/dist/components/Grid/examples/index.js.map +1 -1
- package/dist/components/Grid/examples.json +15 -0
- package/dist/components/Grid/index.d.ts.map +1 -1
- package/dist/components/Grid/index.js +6 -0
- package/dist/components/Grid/index.js.map +1 -1
- package/dist/components/Group/examples/02-create-project.d.ts +6 -0
- package/dist/components/Group/examples/02-create-project.d.ts.map +1 -0
- package/dist/components/Group/examples/02-create-project.js +11 -0
- package/dist/components/Group/examples/02-create-project.js.map +1 -0
- package/dist/components/Group/examples/03-filter-bar.d.ts +6 -0
- package/dist/components/Group/examples/03-filter-bar.d.ts.map +1 -0
- package/dist/components/Group/examples/03-filter-bar.js +14 -0
- package/dist/components/Group/examples/03-filter-bar.js.map +1 -0
- package/dist/components/Group/examples/04-documentation-search.d.ts +6 -0
- package/dist/components/Group/examples/04-documentation-search.d.ts.map +1 -0
- package/dist/components/Group/examples/04-documentation-search.js +11 -0
- package/dist/components/Group/examples/04-documentation-search.js.map +1 -0
- package/dist/components/Group/examples/05-email-signup.d.ts +6 -0
- package/dist/components/Group/examples/05-email-signup.d.ts.map +1 -0
- package/dist/components/Group/examples/05-email-signup.js +11 -0
- package/dist/components/Group/examples/05-email-signup.js.map +1 -0
- package/dist/components/Group/examples/06-copy-command.d.ts +6 -0
- package/dist/components/Group/examples/06-copy-command.d.ts.map +1 -0
- package/dist/components/Group/examples/06-copy-command.js +11 -0
- package/dist/components/Group/examples/06-copy-command.js.map +1 -0
- package/dist/components/Group/examples/07-delete-confirmation.d.ts +6 -0
- package/dist/components/Group/examples/07-delete-confirmation.d.ts.map +1 -0
- package/dist/components/Group/examples/07-delete-confirmation.js +11 -0
- package/dist/components/Group/examples/07-delete-confirmation.js.map +1 -0
- package/dist/components/Group/examples/08-slider-integration.d.ts +6 -0
- package/dist/components/Group/examples/08-slider-integration.d.ts.map +1 -0
- package/dist/components/Group/examples/08-slider-integration.js +19 -0
- package/dist/components/Group/examples/08-slider-integration.js.map +1 -0
- package/dist/components/Group/examples/index.d.ts +14 -0
- package/dist/components/Group/examples/index.d.ts.map +1 -1
- package/dist/components/Group/examples/index.js +14 -0
- package/dist/components/Group/examples/index.js.map +1 -1
- package/dist/components/Group/examples.json +35 -0
- package/dist/components/Group/index.d.ts.map +1 -1
- package/dist/components/Group/index.js +14 -0
- package/dist/components/Group/index.js.map +1 -1
- package/dist/components/Input/examples/03-sign-in.d.ts +6 -0
- package/dist/components/Input/examples/03-sign-in.d.ts.map +1 -0
- package/dist/components/Input/examples/03-sign-in.js +22 -0
- package/dist/components/Input/examples/03-sign-in.js.map +1 -0
- package/dist/components/Input/examples/04-search.d.ts +6 -0
- package/dist/components/Input/examples/04-search.d.ts.map +1 -0
- package/dist/components/Input/examples/04-search.js +16 -0
- package/dist/components/Input/examples/04-search.js.map +1 -0
- package/dist/components/Input/examples/05-user-handle.d.ts +6 -0
- package/dist/components/Input/examples/05-user-handle.d.ts.map +1 -0
- package/dist/components/Input/examples/05-user-handle.js +27 -0
- package/dist/components/Input/examples/05-user-handle.js.map +1 -0
- package/dist/components/Input/examples/06-api-key.d.ts +6 -0
- package/dist/components/Input/examples/06-api-key.d.ts.map +1 -0
- package/dist/components/Input/examples/06-api-key.js +35 -0
- package/dist/components/Input/examples/06-api-key.js.map +1 -0
- package/dist/components/Input/examples/07-url-validation.d.ts +6 -0
- package/dist/components/Input/examples/07-url-validation.d.ts.map +1 -0
- package/dist/components/Input/examples/07-url-validation.js +23 -0
- package/dist/components/Input/examples/07-url-validation.js.map +1 -0
- package/dist/components/Input/examples/08-quantity.d.ts +6 -0
- package/dist/components/Input/examples/08-quantity.d.ts.map +1 -0
- package/dist/components/Input/examples/08-quantity.js +13 -0
- package/dist/components/Input/examples/08-quantity.js.map +1 -0
- package/dist/components/Input/examples/index.d.ts +12 -0
- package/dist/components/Input/examples/index.d.ts.map +1 -1
- package/dist/components/Input/examples/index.js +12 -0
- package/dist/components/Input/examples/index.js.map +1 -1
- package/dist/components/Input/examples.json +30 -0
- package/dist/components/Input/index.d.ts.map +1 -1
- package/dist/components/Input/index.js +12 -0
- package/dist/components/Input/index.js.map +1 -1
- package/dist/components/List/examples/02-review-queue.d.ts +6 -0
- package/dist/components/List/examples/02-review-queue.d.ts.map +1 -0
- package/dist/components/List/examples/02-review-queue.js +32 -0
- package/dist/components/List/examples/02-review-queue.js.map +1 -0
- package/dist/components/List/examples/03-notification-rules.d.ts +6 -0
- package/dist/components/List/examples/03-notification-rules.d.ts.map +1 -0
- package/dist/components/List/examples/03-notification-rules.js +40 -0
- package/dist/components/List/examples/03-notification-rules.js.map +1 -0
- package/dist/components/List/examples/04-quota-editor.d.ts +6 -0
- package/dist/components/List/examples/04-quota-editor.d.ts.map +1 -0
- package/dist/components/List/examples/04-quota-editor.js +40 -0
- package/dist/components/List/examples/04-quota-editor.js.map +1 -0
- package/dist/components/List/examples/05-permissions-matrix.d.ts +6 -0
- package/dist/components/List/examples/05-permissions-matrix.d.ts.map +1 -0
- package/dist/components/List/examples/05-permissions-matrix.js +39 -0
- package/dist/components/List/examples/05-permissions-matrix.js.map +1 -0
- package/dist/components/List/examples/index.d.ts +8 -0
- package/dist/components/List/examples/index.d.ts.map +1 -1
- package/dist/components/List/examples/index.js +8 -0
- package/dist/components/List/examples/index.js.map +1 -1
- package/dist/components/List/examples.json +20 -0
- package/dist/components/List/index.d.ts.map +1 -1
- package/dist/components/List/index.js +10 -2
- package/dist/components/List/index.js.map +1 -1
- package/dist/components/Menu/examples/03-toolbar-dropdown.d.ts +6 -0
- package/dist/components/Menu/examples/03-toolbar-dropdown.d.ts.map +1 -0
- package/dist/components/Menu/examples/03-toolbar-dropdown.js +11 -0
- package/dist/components/Menu/examples/03-toolbar-dropdown.js.map +1 -0
- package/dist/components/Menu/examples/04-table-row-actions.d.ts +6 -0
- package/dist/components/Menu/examples/04-table-row-actions.d.ts.map +1 -0
- package/dist/components/Menu/examples/04-table-row-actions.js +16 -0
- package/dist/components/Menu/examples/04-table-row-actions.js.map +1 -0
- package/dist/components/Menu/examples/05-context-menu.d.ts +6 -0
- package/dist/components/Menu/examples/05-context-menu.d.ts.map +1 -0
- package/dist/components/Menu/examples/05-context-menu.js +10 -0
- package/dist/components/Menu/examples/05-context-menu.js.map +1 -0
- package/dist/components/Menu/examples/06-view-options.d.ts +6 -0
- package/dist/components/Menu/examples/06-view-options.d.ts.map +1 -0
- package/dist/components/Menu/examples/06-view-options.js +15 -0
- package/dist/components/Menu/examples/06-view-options.js.map +1 -0
- package/dist/components/Menu/examples/index.d.ts +8 -0
- package/dist/components/Menu/examples/index.d.ts.map +1 -1
- package/dist/components/Menu/examples/index.js +8 -0
- package/dist/components/Menu/examples/index.js.map +1 -1
- package/dist/components/Menu/examples.json +20 -0
- package/dist/components/Menu/index.d.ts.map +1 -1
- package/dist/components/Menu/index.js +8 -0
- package/dist/components/Menu/index.js.map +1 -1
- package/dist/components/Modal/examples/02-form-modal.js +1 -1
- package/dist/components/Modal/examples/02-form-modal.js.map +1 -1
- package/dist/components/Modal/examples/03-delete-confirmation.d.ts +6 -0
- package/dist/components/Modal/examples/03-delete-confirmation.d.ts.map +1 -0
- package/dist/components/Modal/examples/03-delete-confirmation.js +13 -0
- package/dist/components/Modal/examples/03-delete-confirmation.js.map +1 -0
- package/dist/components/Modal/examples/04-create-api-key.d.ts +6 -0
- package/dist/components/Modal/examples/04-create-api-key.d.ts.map +1 -0
- package/dist/components/Modal/examples/04-create-api-key.js +14 -0
- package/dist/components/Modal/examples/04-create-api-key.js.map +1 -0
- package/dist/components/Modal/examples/05-notification-settings.d.ts +6 -0
- package/dist/components/Modal/examples/05-notification-settings.d.ts.map +1 -0
- package/dist/components/Modal/examples/05-notification-settings.js +19 -0
- package/dist/components/Modal/examples/05-notification-settings.js.map +1 -0
- package/dist/components/Modal/examples/index.d.ts +6 -0
- package/dist/components/Modal/examples/index.d.ts.map +1 -1
- package/dist/components/Modal/examples/index.js +6 -0
- package/dist/components/Modal/examples/index.js.map +1 -1
- package/dist/components/Modal/examples.json +16 -1
- package/dist/components/Modal/index.d.ts.map +1 -1
- package/dist/components/Modal/index.js +8 -0
- package/dist/components/Modal/index.js.map +1 -1
- package/dist/components/Panel/examples/01-sidebar-toggle.d.ts +6 -0
- package/dist/components/Panel/examples/01-sidebar-toggle.d.ts.map +1 -0
- package/dist/components/Panel/examples/01-sidebar-toggle.js +10 -0
- package/dist/components/Panel/examples/01-sidebar-toggle.js.map +1 -0
- package/dist/components/Panel/examples/index.d.ts +3 -0
- package/dist/components/Panel/examples/index.d.ts.map +1 -0
- package/dist/components/Panel/examples/index.js +3 -0
- package/dist/components/Panel/examples/index.js.map +1 -0
- package/dist/components/Panel/examples.json +7 -0
- package/dist/components/Panel/index.d.ts +1 -0
- package/dist/components/Panel/index.d.ts.map +1 -1
- package/dist/components/Panel/index.js +8 -0
- package/dist/components/Panel/index.js.map +1 -1
- package/dist/components/Path/examples/01-basic-path.js +2 -2
- package/dist/components/Path/examples/01-basic-path.js.map +1 -1
- package/dist/components/Path/examples/02-custom-separator.d.ts +6 -0
- package/dist/components/Path/examples/02-custom-separator.d.ts.map +1 -0
- package/dist/components/Path/examples/02-custom-separator.js +11 -0
- package/dist/components/Path/examples/02-custom-separator.js.map +1 -0
- package/dist/components/Path/examples/03-collapsed-breadcrumb.d.ts +6 -0
- package/dist/components/Path/examples/03-collapsed-breadcrumb.d.ts.map +1 -0
- package/dist/components/Path/examples/03-collapsed-breadcrumb.js +16 -0
- package/dist/components/Path/examples/03-collapsed-breadcrumb.js.map +1 -0
- package/dist/components/Path/examples/index.d.ts +4 -0
- package/dist/components/Path/examples/index.d.ts.map +1 -1
- package/dist/components/Path/examples/index.js +4 -0
- package/dist/components/Path/examples/index.js.map +1 -1
- package/dist/components/Path/examples.json +11 -1
- package/dist/components/Path/index.d.ts.map +1 -1
- package/dist/components/Path/index.js +11 -7
- package/dist/components/Path/index.js.map +1 -1
- package/dist/components/Popover/examples/01-basic-popover.d.ts.map +1 -1
- package/dist/components/Popover/examples/01-basic-popover.js +5 -4
- package/dist/components/Popover/examples/01-basic-popover.js.map +1 -1
- package/dist/components/Popover/examples/02-toggleable-options.d.ts +6 -0
- package/dist/components/Popover/examples/02-toggleable-options.d.ts.map +1 -0
- package/dist/components/Popover/examples/02-toggleable-options.js +23 -0
- package/dist/components/Popover/examples/02-toggleable-options.js.map +1 -0
- package/dist/components/Popover/examples/03-table-row-actions.d.ts +6 -0
- package/dist/components/Popover/examples/03-table-row-actions.d.ts.map +1 -0
- package/dist/components/Popover/examples/03-table-row-actions.js +17 -0
- package/dist/components/Popover/examples/03-table-row-actions.js.map +1 -0
- package/dist/components/Popover/examples/04-input-form.d.ts +6 -0
- package/dist/components/Popover/examples/04-input-form.d.ts.map +1 -0
- package/dist/components/Popover/examples/04-input-form.js +14 -0
- package/dist/components/Popover/examples/04-input-form.js.map +1 -0
- package/dist/components/Popover/examples/05-arrow-positions.d.ts +6 -0
- package/dist/components/Popover/examples/05-arrow-positions.d.ts.map +1 -0
- package/dist/components/Popover/examples/05-arrow-positions.js +11 -0
- package/dist/components/Popover/examples/05-arrow-positions.js.map +1 -0
- package/dist/components/Popover/examples/index.d.ts +8 -0
- package/dist/components/Popover/examples/index.d.ts.map +1 -1
- package/dist/components/Popover/examples/index.js +8 -0
- package/dist/components/Popover/examples/index.js.map +1 -1
- package/dist/components/Popover/examples.json +23 -3
- package/dist/components/Popover/index.d.ts.map +1 -1
- package/dist/components/Popover/index.js +8 -0
- package/dist/components/Popover/index.js.map +1 -1
- package/dist/components/Progress/examples/01-basic-progress.d.ts.map +1 -1
- package/dist/components/Progress/examples/01-basic-progress.js +20 -5
- package/dist/components/Progress/examples/01-basic-progress.js.map +1 -1
- package/dist/components/Progress/examples/02-storage-quota.d.ts +6 -0
- package/dist/components/Progress/examples/02-storage-quota.d.ts.map +1 -0
- package/dist/components/Progress/examples/02-storage-quota.js +12 -0
- package/dist/components/Progress/examples/02-storage-quota.js.map +1 -0
- package/dist/components/Progress/examples/03-onboarding-steps.d.ts +6 -0
- package/dist/components/Progress/examples/03-onboarding-steps.d.ts.map +1 -0
- package/dist/components/Progress/examples/03-onboarding-steps.js +14 -0
- package/dist/components/Progress/examples/03-onboarding-steps.js.map +1 -0
- package/dist/components/Progress/examples/04-indeterminate.d.ts +6 -0
- package/dist/components/Progress/examples/04-indeterminate.d.ts.map +1 -0
- package/dist/components/Progress/examples/04-indeterminate.js +19 -0
- package/dist/components/Progress/examples/04-indeterminate.js.map +1 -0
- package/dist/components/Progress/examples/05-skill-levels.d.ts +6 -0
- package/dist/components/Progress/examples/05-skill-levels.d.ts.map +1 -0
- package/dist/components/Progress/examples/05-skill-levels.js +15 -0
- package/dist/components/Progress/examples/05-skill-levels.js.map +1 -0
- package/dist/components/Progress/examples/index.d.ts +8 -0
- package/dist/components/Progress/examples/index.d.ts.map +1 -1
- package/dist/components/Progress/examples/index.js +8 -0
- package/dist/components/Progress/examples/index.js.map +1 -1
- package/dist/components/Progress/examples.json +23 -3
- package/dist/components/Progress/index.d.ts.map +1 -1
- package/dist/components/Progress/index.js +11 -14
- package/dist/components/Progress/index.js.map +1 -1
- package/dist/components/Scroll/examples/01-basic-scroll.d.ts.map +1 -1
- package/dist/components/Scroll/examples/01-basic-scroll.js +29 -3
- package/dist/components/Scroll/examples/01-basic-scroll.js.map +1 -1
- package/dist/components/Scroll/examples/02-settings-panel.d.ts +6 -0
- package/dist/components/Scroll/examples/02-settings-panel.d.ts.map +1 -0
- package/dist/components/Scroll/examples/02-settings-panel.js +21 -0
- package/dist/components/Scroll/examples/02-settings-panel.js.map +1 -0
- package/dist/components/Scroll/examples/03-horizontal-tags.d.ts +6 -0
- package/dist/components/Scroll/examples/03-horizontal-tags.d.ts.map +1 -0
- package/dist/components/Scroll/examples/03-horizontal-tags.js +24 -0
- package/dist/components/Scroll/examples/03-horizontal-tags.js.map +1 -0
- package/dist/components/Scroll/examples/index.d.ts +4 -0
- package/dist/components/Scroll/examples/index.d.ts.map +1 -1
- package/dist/components/Scroll/examples/index.js +4 -0
- package/dist/components/Scroll/examples/index.js.map +1 -1
- package/dist/components/Scroll/examples.json +13 -3
- package/dist/components/Scroll/index.d.ts.map +1 -1
- package/dist/components/Scroll/index.js +4 -0
- package/dist/components/Scroll/index.js.map +1 -1
- package/dist/components/Select/examples/03-country-select.d.ts +6 -0
- package/dist/components/Select/examples/03-country-select.d.ts.map +1 -0
- package/dist/components/Select/examples/03-country-select.js +28 -0
- package/dist/components/Select/examples/03-country-select.js.map +1 -0
- package/dist/components/Select/examples/index.d.ts +2 -0
- package/dist/components/Select/examples/index.d.ts.map +1 -1
- package/dist/components/Select/examples/index.js +2 -0
- package/dist/components/Select/examples/index.js.map +1 -1
- package/dist/components/Select/examples.json +5 -0
- package/dist/components/Select/index.d.ts.map +1 -1
- package/dist/components/Select/index.js +2 -0
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/Slider/examples/01-basic-slider.d.ts.map +1 -1
- package/dist/components/Slider/examples/01-basic-slider.js +7 -4
- package/dist/components/Slider/examples/01-basic-slider.js.map +1 -1
- package/dist/components/Slider/examples/02-settings-panel.d.ts +6 -0
- package/dist/components/Slider/examples/02-settings-panel.d.ts.map +1 -0
- package/dist/components/Slider/examples/02-settings-panel.js +20 -0
- package/dist/components/Slider/examples/02-settings-panel.js.map +1 -0
- package/dist/components/Slider/examples/03-price-range.d.ts +6 -0
- package/dist/components/Slider/examples/03-price-range.d.ts.map +1 -0
- package/dist/components/Slider/examples/03-price-range.js +13 -0
- package/dist/components/Slider/examples/03-price-range.js.map +1 -0
- package/dist/components/Slider/examples/04-step-slider.d.ts +6 -0
- package/dist/components/Slider/examples/04-step-slider.d.ts.map +1 -0
- package/dist/components/Slider/examples/04-step-slider.js +13 -0
- package/dist/components/Slider/examples/04-step-slider.js.map +1 -0
- package/dist/components/Slider/examples/05-disabled-state.d.ts +6 -0
- package/dist/components/Slider/examples/05-disabled-state.d.ts.map +1 -0
- package/dist/components/Slider/examples/05-disabled-state.js +10 -0
- package/dist/components/Slider/examples/05-disabled-state.js.map +1 -0
- package/dist/components/Slider/examples/06-vertical-mixer.d.ts +6 -0
- package/dist/components/Slider/examples/06-vertical-mixer.d.ts.map +1 -0
- package/dist/components/Slider/examples/06-vertical-mixer.js +17 -0
- package/dist/components/Slider/examples/06-vertical-mixer.js.map +1 -0
- package/dist/components/Slider/examples/index.d.ts +10 -0
- package/dist/components/Slider/examples/index.d.ts.map +1 -1
- package/dist/components/Slider/examples/index.js +10 -0
- package/dist/components/Slider/examples/index.js.map +1 -1
- package/dist/components/Slider/examples.json +28 -3
- package/dist/components/Slider/index.d.ts.map +1 -1
- package/dist/components/Slider/index.js +10 -0
- package/dist/components/Slider/index.js.map +1 -1
- package/dist/components/Switch/examples/01-basic-switch.d.ts.map +1 -1
- package/dist/components/Switch/examples/01-basic-switch.js +7 -4
- package/dist/components/Switch/examples/01-basic-switch.js.map +1 -1
- package/dist/components/Switch/examples/02-settings-panel.d.ts +6 -0
- package/dist/components/Switch/examples/02-settings-panel.d.ts.map +1 -0
- package/dist/components/Switch/examples/02-settings-panel.js +20 -0
- package/dist/components/Switch/examples/02-settings-panel.js.map +1 -0
- package/dist/components/Switch/examples/03-disabled-state.d.ts +6 -0
- package/dist/components/Switch/examples/03-disabled-state.d.ts.map +1 -0
- package/dist/components/Switch/examples/03-disabled-state.js +10 -0
- package/dist/components/Switch/examples/03-disabled-state.js.map +1 -0
- package/dist/components/Switch/examples/04-small-size.d.ts +6 -0
- package/dist/components/Switch/examples/04-small-size.d.ts.map +1 -0
- package/dist/components/Switch/examples/04-small-size.js +13 -0
- package/dist/components/Switch/examples/04-small-size.js.map +1 -0
- package/dist/components/Switch/examples/05-controlled-toggle.d.ts +6 -0
- package/dist/components/Switch/examples/05-controlled-toggle.d.ts.map +1 -0
- package/dist/components/Switch/examples/05-controlled-toggle.js +13 -0
- package/dist/components/Switch/examples/05-controlled-toggle.js.map +1 -0
- package/dist/components/Switch/examples/index.d.ts +8 -0
- package/dist/components/Switch/examples/index.d.ts.map +1 -1
- package/dist/components/Switch/examples/index.js +8 -0
- package/dist/components/Switch/examples/index.js.map +1 -1
- package/dist/components/Switch/examples.json +23 -3
- package/dist/components/Switch/index.d.ts.map +1 -1
- package/dist/components/Switch/index.js +8 -0
- package/dist/components/Switch/index.js.map +1 -1
- package/dist/components/Table/index.d.ts.map +1 -1
- package/dist/components/Table/index.js.map +1 -1
- package/dist/components/Tabs/examples/03-underline-tabs.d.ts +6 -0
- package/dist/components/Tabs/examples/03-underline-tabs.d.ts.map +1 -0
- package/dist/components/Tabs/examples/03-underline-tabs.js +13 -0
- package/dist/components/Tabs/examples/03-underline-tabs.js.map +1 -0
- package/dist/components/Tabs/examples/04-vertical-underline-tabs.d.ts +6 -0
- package/dist/components/Tabs/examples/04-vertical-underline-tabs.d.ts.map +1 -0
- package/dist/components/Tabs/examples/04-vertical-underline-tabs.js +13 -0
- package/dist/components/Tabs/examples/04-vertical-underline-tabs.js.map +1 -0
- package/dist/components/Tabs/examples/index.d.ts +4 -0
- package/dist/components/Tabs/examples/index.d.ts.map +1 -1
- package/dist/components/Tabs/examples/index.js +4 -0
- package/dist/components/Tabs/examples/index.js.map +1 -1
- package/dist/components/Tabs/examples.json +10 -0
- package/dist/components/Tabs/index.d.ts.map +1 -1
- package/dist/components/Tabs/index.js +4 -0
- package/dist/components/Tabs/index.js.map +1 -1
- package/dist/components/Textarea/examples/01-basic-textarea.d.ts.map +1 -1
- package/dist/components/Textarea/examples/01-basic-textarea.js +8 -5
- package/dist/components/Textarea/examples/01-basic-textarea.js.map +1 -1
- package/dist/components/Textarea/examples/02-bio-settings.d.ts +6 -0
- package/dist/components/Textarea/examples/02-bio-settings.d.ts.map +1 -0
- package/dist/components/Textarea/examples/02-bio-settings.js +13 -0
- package/dist/components/Textarea/examples/02-bio-settings.js.map +1 -0
- package/dist/components/Textarea/examples/03-error-state.d.ts +6 -0
- package/dist/components/Textarea/examples/03-error-state.d.ts.map +1 -0
- package/dist/components/Textarea/examples/03-error-state.js +14 -0
- package/dist/components/Textarea/examples/03-error-state.js.map +1 -0
- package/dist/components/Textarea/examples/04-disabled-readonly.d.ts +6 -0
- package/dist/components/Textarea/examples/04-disabled-readonly.d.ts.map +1 -0
- package/dist/components/Textarea/examples/04-disabled-readonly.js +10 -0
- package/dist/components/Textarea/examples/04-disabled-readonly.js.map +1 -0
- package/dist/components/Textarea/examples/05-scrolling.d.ts +6 -0
- package/dist/components/Textarea/examples/05-scrolling.d.ts.map +1 -0
- package/dist/components/Textarea/examples/05-scrolling.js +13 -0
- package/dist/components/Textarea/examples/05-scrolling.js.map +1 -0
- package/dist/components/Textarea/examples/index.d.ts +8 -0
- package/dist/components/Textarea/examples/index.d.ts.map +1 -1
- package/dist/components/Textarea/examples/index.js +8 -0
- package/dist/components/Textarea/examples/index.js.map +1 -1
- package/dist/components/Textarea/examples.json +23 -3
- package/dist/components/Textarea/index.d.ts.map +1 -1
- package/dist/components/Textarea/index.js +8 -0
- package/dist/components/Textarea/index.js.map +1 -1
- package/dist/components/Toast/index.d.ts.map +1 -1
- package/dist/components/Toast/index.js +1 -1
- package/dist/components/Toast/index.js.map +1 -1
- package/dist/generated-data.d.ts.map +1 -1
- package/dist/generated-data.js +999 -429
- package/dist/generated-data.js.map +1 -1
- package/dist/generated-styles.d.ts.map +1 -1
- package/dist/generated-styles.js +1135 -203
- package/dist/generated-styles.js.map +1 -1
- package/dist/generated-styles.json +1135 -203
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/patterns/data/badge-row/variations/main/index.js +1 -1
- package/dist/patterns/data/badge-row/variations/main/index.js.map +1 -1
- package/dist/patterns/data/badge-row/variations/mixed/index.js +1 -1
- package/dist/patterns/data/badge-row/variations/mixed/index.js.map +1 -1
- package/dist/patterns/data/badge-row/variations/outline/index.js +1 -1
- package/dist/patterns/data/badge-row/variations/outline/index.js.map +1 -1
- package/dist/patterns/data/data-table-row/variations/expandable/index.js +1 -1
- package/dist/patterns/data/data-table-row/variations/expandable/index.js.map +1 -1
- package/dist/patterns/data/data-table-row/variations/main/index.js +1 -1
- package/dist/patterns/data/data-table-row/variations/main/index.js.map +1 -1
- package/dist/patterns/data/data-table-row/variations/selectable/index.js +1 -1
- package/dist/patterns/data/data-table-row/variations/selectable/index.js.map +1 -1
- package/dist/patterns/interaction/tab-content-header/variations/with-badge/index.js +1 -1
- package/dist/patterns/interaction/tab-content-header/variations/with-badge/index.js.map +1 -1
- package/dist/patterns/layout/split-row/variations/main/index.js +1 -1
- package/dist/patterns/layout/split-row/variations/main/index.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +536 -61
- package/dist/registry.js.map +1 -1
- package/dist/types.d.ts +18 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/load-component-examples.d.ts +4 -7
- package/dist/utils/load-component-examples.d.ts.map +1 -1
- package/dist/utils/load-component-examples.js +4 -7
- package/dist/utils/load-component-examples.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Anchor/examples/01-inline-text.tsx +22 -0
- package/src/components/Anchor/examples/02-underline-variants.tsx +24 -0
- package/src/components/Anchor/examples/03-preview-tooltip.tsx +27 -0
- package/src/components/Anchor/examples/04-breadcrumb.tsx +29 -0
- package/src/components/Anchor/examples/index.ts +11 -1
- package/src/components/Anchor/examples.json +19 -4
- package/src/components/Anchor/index.tsx +8 -2
- package/src/components/Badge/examples/01-status-badges.tsx +17 -0
- package/src/components/Badge/examples/02-icon-position.tsx +18 -0
- package/src/components/Badge/examples/03-selectable-tags.tsx +40 -0
- package/src/components/Badge/examples/04-dismissible.tsx +37 -0
- package/src/components/Badge/examples/05-semantic-colors.tsx +18 -0
- package/src/components/Badge/examples/index.ts +13 -4
- package/src/components/Badge/examples.json +24 -9
- package/src/components/Badge/index.tsx +11 -15
- package/src/components/Banner/examples/01-variants.tsx +33 -0
- package/src/components/Banner/examples/02-dismissible.tsx +31 -0
- package/src/components/Banner/examples/03-form-feedback.tsx +47 -0
- package/src/components/Banner/examples/04-settings-panel.tsx +21 -0
- package/src/components/Banner/examples/05-body-only.tsx +22 -0
- package/src/components/Banner/examples/index.ts +14 -2
- package/src/components/Banner/examples.json +24 -4
- package/src/components/Banner/index.tsx +12 -16
- package/src/components/Button/examples/01-variants.tsx +18 -52
- package/src/components/Button/examples/02-multi-actions.tsx +0 -1
- package/src/components/Button/examples/04-sub-stack-actions.tsx +1 -1
- package/src/components/Button/examples/06-icons.tsx +25 -0
- package/src/components/Button/examples/07-split-button.tsx +47 -0
- package/src/components/Button/examples/08-button-group.tsx +30 -0
- package/src/components/Button/examples/index.ts +6 -0
- package/src/components/Button/examples.json +19 -4
- package/src/components/Button/index.tsx +6 -0
- package/src/components/Card/examples/01-notification.tsx +37 -0
- package/src/components/Card/examples/02-settings-panel.tsx +48 -0
- package/src/components/Card/examples/03-task-progress.tsx +43 -0
- package/src/components/Card/examples/index.ts +8 -2
- package/src/components/Card/examples.json +14 -4
- package/src/components/Card/index.tsx +6 -2
- package/src/components/Card/metadata.json +42 -0
- package/src/components/Checkbox/examples/01-basic-states.tsx +17 -0
- package/src/components/Checkbox/examples/02-helper-text.tsx +26 -0
- package/src/components/Checkbox/examples/03-controlled.tsx +28 -0
- package/src/components/Checkbox/examples/04-group.tsx +49 -0
- package/src/components/Checkbox/examples/05-indeterminate.tsx +56 -0
- package/src/components/Checkbox/examples/06-consent-form.tsx +35 -0
- package/src/components/Checkbox/examples/index.ts +16 -4
- package/src/components/Checkbox/examples.json +29 -9
- package/src/components/Checkbox/index.tsx +12 -16
- package/src/components/Color/examples/01-basic-color-picker.tsx +18 -0
- package/src/components/Color/examples/02-color-picker-opacity.tsx +29 -0
- package/src/components/Color/examples/03-color-picker-preview.tsx +27 -0
- package/src/components/Color/examples/04-color-slider-primitive.tsx +47 -0
- package/src/components/Color/examples/index.ts +11 -3
- package/src/components/Color/examples.json +18 -8
- package/src/components/Color/index.tsx +8 -4
- package/src/components/Expand/examples/01-basic.tsx +18 -0
- package/src/components/Expand/examples/02-accordion.tsx +46 -0
- package/src/components/Expand/examples/03-custom-trigger.tsx +30 -0
- package/src/components/Expand/examples/04-directions.tsx +33 -0
- package/src/components/Expand/examples/05-settings-panel.tsx +54 -0
- package/src/components/Expand/examples/06-disabled.tsx +19 -0
- package/src/components/Expand/examples/07-inline-info.tsx +29 -0
- package/src/components/Expand/examples/index.ts +20 -2
- package/src/components/Expand/examples.json +34 -4
- package/src/components/Expand/index.tsx +14 -2
- package/src/components/Flex/examples/01-axis-control.tsx +199 -0
- package/src/components/Flex/examples/02-wrap-overflow.tsx +183 -0
- package/src/components/Flex/examples/03-container-query-reflow.tsx +198 -0
- package/src/components/Flex/examples/index.ts +8 -2
- package/src/components/Flex/examples.json +14 -4
- package/src/components/Flex/index.tsx +12 -8
- package/src/components/Gallery/examples/01-grid-composition.tsx +121 -0
- package/src/components/Gallery/examples/02-item-orientation.tsx +133 -0
- package/src/components/Gallery/examples/03-span-layout.tsx +130 -0
- package/src/components/Gallery/examples/index.ts +8 -2
- package/src/components/Gallery/examples.json +14 -4
- package/src/components/Gallery/index.tsx +6 -2
- package/src/components/Grid/examples/02-track-placement.tsx +210 -0
- package/src/components/Grid/examples/03-editorial-spans.tsx +196 -0
- package/src/components/Grid/examples/04-responsive-card-rail.tsx +153 -0
- package/src/components/Grid/examples/index.ts +6 -0
- package/src/components/Grid/examples.json +15 -0
- package/src/components/Grid/index.tsx +6 -0
- package/src/components/Group/examples/02-create-project.tsx +19 -0
- package/src/components/Group/examples/03-filter-bar.tsx +34 -0
- package/src/components/Group/examples/04-documentation-search.tsx +21 -0
- package/src/components/Group/examples/05-email-signup.tsx +21 -0
- package/src/components/Group/examples/06-copy-command.tsx +17 -0
- package/src/components/Group/examples/07-delete-confirmation.tsx +19 -0
- package/src/components/Group/examples/08-slider-integration.tsx +30 -0
- package/src/components/Group/examples/index.ts +14 -0
- package/src/components/Group/examples.json +35 -0
- package/src/components/Group/index.tsx +14 -0
- package/src/components/Input/examples/03-sign-in.tsx +41 -0
- package/src/components/Input/examples/04-search.tsx +31 -0
- package/src/components/Input/examples/05-user-handle.tsx +40 -0
- package/src/components/Input/examples/06-api-key.tsx +48 -0
- package/src/components/Input/examples/07-url-validation.tsx +36 -0
- package/src/components/Input/examples/08-quantity.tsx +26 -0
- package/src/components/Input/examples/index.ts +12 -0
- package/src/components/Input/examples.json +30 -0
- package/src/components/Input/index.tsx +12 -0
- package/src/components/List/examples/02-review-queue.tsx +54 -0
- package/src/components/List/examples/03-notification-rules.tsx +80 -0
- package/src/components/List/examples/04-quota-editor.tsx +71 -0
- package/src/components/List/examples/05-permissions-matrix.tsx +91 -0
- package/src/components/List/examples/index.ts +8 -0
- package/src/components/List/examples.json +20 -0
- package/src/components/List/index.tsx +10 -2
- package/src/components/Menu/examples/03-toolbar-dropdown.tsx +35 -0
- package/src/components/Menu/examples/04-table-row-actions.tsx +60 -0
- package/src/components/Menu/examples/05-context-menu.tsx +36 -0
- package/src/components/Menu/examples/06-view-options.tsx +39 -0
- package/src/components/Menu/examples/index.ts +8 -0
- package/src/components/Menu/examples.json +20 -0
- package/src/components/Menu/index.tsx +8 -0
- package/src/components/Modal/examples/02-form-modal.tsx +1 -1
- package/src/components/Modal/examples/03-delete-confirmation.tsx +42 -0
- package/src/components/Modal/examples/04-create-api-key.tsx +54 -0
- package/src/components/Modal/examples/05-notification-settings.tsx +58 -0
- package/src/components/Modal/examples/index.ts +6 -0
- package/src/components/Modal/examples.json +16 -1
- package/src/components/Modal/index.tsx +8 -0
- package/src/components/Modal/metadata.json +41 -1
- package/src/components/Panel/examples/01-sidebar-toggle.tsx +20 -0
- package/src/components/Panel/examples/index.ts +2 -0
- package/src/components/Panel/examples.json +7 -1
- package/src/components/Panel/index.tsx +9 -0
- package/src/components/Path/examples/01-basic-path.tsx +5 -5
- package/src/components/Path/examples/02-custom-separator.tsx +17 -0
- package/src/components/Path/examples/03-collapsed-breadcrumb.tsx +37 -0
- package/src/components/Path/examples/index.ts +4 -0
- package/src/components/Path/examples.json +11 -1
- package/src/components/Path/index.tsx +15 -11
- package/src/components/Popover/examples/01-basic-popover.tsx +24 -5
- package/src/components/Popover/examples/02-toggleable-options.tsx +58 -0
- package/src/components/Popover/examples/03-table-row-actions.tsx +64 -0
- package/src/components/Popover/examples/04-input-form.tsx +46 -0
- package/src/components/Popover/examples/05-arrow-positions.tsx +27 -0
- package/src/components/Popover/examples/index.ts +8 -0
- package/src/components/Popover/examples.json +23 -3
- package/src/components/Popover/index.tsx +8 -0
- package/src/components/Progress/examples/01-basic-progress.tsx +34 -5
- package/src/components/Progress/examples/02-storage-quota.tsx +22 -0
- package/src/components/Progress/examples/03-onboarding-steps.tsx +34 -0
- package/src/components/Progress/examples/04-indeterminate.tsx +33 -0
- package/src/components/Progress/examples/05-skill-levels.tsx +22 -0
- package/src/components/Progress/examples/index.ts +8 -0
- package/src/components/Progress/examples.json +23 -3
- package/src/components/Progress/index.tsx +10 -14
- package/src/components/Scroll/examples/01-basic-scroll.tsx +45 -12
- package/src/components/Scroll/examples/02-settings-panel.tsx +40 -0
- package/src/components/Scroll/examples/03-horizontal-tags.tsx +38 -0
- package/src/components/Scroll/examples/index.ts +4 -0
- package/src/components/Scroll/examples.json +13 -3
- package/src/components/Scroll/index.tsx +4 -0
- package/src/components/Select/examples/03-country-select.tsx +55 -0
- package/src/components/Select/examples/index.ts +2 -0
- package/src/components/Select/examples.json +5 -0
- package/src/components/Select/index.tsx +2 -0
- package/src/components/Slider/examples/01-basic-slider.tsx +19 -4
- package/src/components/Slider/examples/02-settings-panel.tsx +33 -0
- package/src/components/Slider/examples/03-price-range.tsx +34 -0
- package/src/components/Slider/examples/04-step-slider.tsx +35 -0
- package/src/components/Slider/examples/05-disabled-state.tsx +21 -0
- package/src/components/Slider/examples/06-vertical-mixer.tsx +34 -0
- package/src/components/Slider/examples/index.ts +10 -0
- package/src/components/Slider/examples.json +28 -3
- package/src/components/Slider/index.tsx +10 -0
- package/src/components/Switch/examples/01-basic-switch.tsx +20 -4
- package/src/components/Switch/examples/02-settings-panel.tsx +32 -0
- package/src/components/Switch/examples/03-disabled-state.tsx +21 -0
- package/src/components/Switch/examples/04-small-size.tsx +25 -0
- package/src/components/Switch/examples/05-controlled-toggle.tsx +32 -0
- package/src/components/Switch/examples/index.ts +8 -0
- package/src/components/Switch/examples.json +23 -3
- package/src/components/Switch/index.tsx +8 -0
- package/src/components/Table/index.tsx +0 -1
- package/src/components/Tabs/examples/03-underline-tabs.tsx +23 -0
- package/src/components/Tabs/examples/04-vertical-underline-tabs.tsx +23 -0
- package/src/components/Tabs/examples/index.ts +4 -0
- package/src/components/Tabs/examples.json +10 -0
- package/src/components/Tabs/index.tsx +4 -0
- package/src/components/Textarea/examples/01-basic-textarea.tsx +21 -8
- package/src/components/Textarea/examples/02-bio-settings.tsx +30 -0
- package/src/components/Textarea/examples/03-error-state.tsx +31 -0
- package/src/components/Textarea/examples/04-disabled-readonly.tsx +25 -0
- package/src/components/Textarea/examples/05-scrolling.tsx +26 -0
- package/src/components/Textarea/examples/index.ts +8 -0
- package/src/components/Textarea/examples.json +23 -3
- package/src/components/Textarea/index.tsx +8 -0
- package/src/components/Toast/index.tsx +1 -4
- package/src/generated-data.ts +999 -429
- package/src/generated-styles.ts +1135 -203
- package/src/index.ts +2 -0
- package/src/patterns/data/badge-row/variations/main/index.tsx +1 -1
- package/src/patterns/data/badge-row/variations/mixed/index.tsx +1 -1
- package/src/patterns/data/badge-row/variations/outline/index.tsx +1 -1
- package/src/patterns/data/data-table-row/variations/expandable/index.tsx +1 -1
- package/src/patterns/data/data-table-row/variations/main/index.tsx +1 -1
- package/src/patterns/data/data-table-row/variations/selectable/index.tsx +1 -1
- package/src/patterns/interaction/tab-content-header/variations/with-badge/index.tsx +1 -1
- package/src/patterns/layout/split-row/variations/main/index.tsx +1 -1
- package/src/registry.ts +536 -61
- package/src/types.ts +20 -1
- package/src/utils/load-component-examples.ts +8 -7
- package/src/components/Anchor/examples/01-basic-anchor.tsx +0 -18
- package/src/components/Badge/examples/01-basic-badge.tsx +0 -11
- package/src/components/Badge/examples/02-variants-and-sizes.tsx +0 -71
- package/src/components/Banner/examples/01-basic-banner.tsx +0 -15
- package/src/components/Card/examples/01-basic-card.tsx +0 -22
- package/src/components/Checkbox/examples/01-basic-checkbox.tsx +0 -21
- package/src/components/Checkbox/examples/02-checkbox-group-with-descriptions.tsx +0 -59
- package/src/components/Color/examples/01-basic-color.tsx +0 -25
- package/src/components/Color/examples/02-opacity-slider.tsx +0 -26
- package/src/components/Color/examples/03-format-switching.tsx +0 -46
- package/src/components/Expand/examples/01-basic-expand.tsx +0 -18
- package/src/components/Flex/examples/01-basic-flex.tsx +0 -17
- package/src/components/Gallery/examples/01-basic-gallery.tsx +0 -28
|
@@ -1,7 +1,37 @@
|
|
|
1
1
|
{
|
|
2
|
-
"01-basic
|
|
3
|
-
"title": "Basic
|
|
4
|
-
"description": "
|
|
5
|
-
"code": "import
|
|
2
|
+
"01-basic": {
|
|
3
|
+
"title": "Basic",
|
|
4
|
+
"description": "Preset mode using the title prop — the simplest way to render a labeled expandable section.",
|
|
5
|
+
"code": "import { Expand } from 'ui-lab-components';\n\nexport default function Example() {\n return (\n <div className=\"w-full max-w-sm border border-background-700 rounded-sm divide-y divide-background-700\">\n <Expand title=\"What is UI Lab?\">\n <p className=\"text-sm text-foreground-400 px-3 py-3\">\n UI Lab is a component library built for building beautiful, accessible interfaces with a consistent design system.\n </p>\n </Expand>\n </div>\n );\n}"
|
|
6
|
+
},
|
|
7
|
+
"02-accordion": {
|
|
8
|
+
"title": "Accordion",
|
|
9
|
+
"description": "Controlled expand group where only one item can be open at a time.",
|
|
10
|
+
"code": "\"use client\";\n\nimport { useState } from 'react';\nimport { Expand } from 'ui-lab-components';\n\nconst items = [\n {\n id: 'shipping',\n title: 'Shipping & Delivery',\n content: 'Standard shipping takes 3–5 business days. Express options are available at checkout for next-day delivery.',\n },\n {\n id: 'returns',\n title: 'Returns & Refunds',\n content: 'Items can be returned within 30 days of purchase. Refunds are processed within 5–7 business days after we receive the item.',\n },\n {\n id: 'warranty',\n title: 'Warranty',\n content: 'All products include a 12-month manufacturer warranty. Extended coverage can be purchased at checkout.',\n },\n];\n\nexport default function Example() {\n const [open, setOpen] = useState<string | null>('shipping');\n\n return (\n <div className=\"w-full max-w-sm border border-background-700 rounded-sm divide-y divide-background-700\">\n {items.map((item) => (\n <Expand\n key={item.id}\n title={item.title}\n isExpanded={open === item.id}\n onExpandedChange={(expanded) => setOpen(expanded ? item.id : null)}\n >\n <p className=\"text-sm text-foreground-400 px-3 py-3\">{item.content}</p>\n </Expand>\n ))}\n </div>\n );\n}"
|
|
11
|
+
},
|
|
12
|
+
"03-custom-trigger": {
|
|
13
|
+
"title": "Custom Trigger",
|
|
14
|
+
"description": "Compound mode with a fully composed trigger — custom icon, badge, and layout.",
|
|
15
|
+
"code": "import { Expand, Flex, Badge } from 'ui-lab-components';\nimport { FaUser } from 'react-icons/fa6';\n\nexport default function Example() {\n return (\n <div className=\"w-full max-w-sm border border-background-700 rounded-sm\">\n <Expand>\n <Expand.Trigger>\n <Flex align=\"center\" gap=\"xs\" className=\"flex-1 px-3 py-2.5\">\n <FaUser className=\"text-foreground-400 text-xs shrink-0\" />\n <span className=\"text-sm font-medium\">Account Settings</span>\n <Badge className=\"ml-auto mr-2\">New</Badge>\n </Flex>\n <Expand.Icon />\n </Expand.Trigger>\n <Expand.Divider />\n <Expand.Content>\n <Flex direction=\"column\" gap=\"xs\" className=\"px-3 py-3\">\n <p className=\"text-sm text-foreground-400\">Manage your profile, password, and notification preferences.</p>\n </Flex>\n </Expand.Content>\n </Expand>\n </div>\n );\n}"
|
|
16
|
+
},
|
|
17
|
+
"04-directions": {
|
|
18
|
+
"title": "Reveal Directions",
|
|
19
|
+
"description": "Content can reveal from above or horizontally using the from prop on Expand.Content.",
|
|
20
|
+
"code": "import { Expand, Flex } from 'ui-lab-components';\n\nexport default function Example() {\n return (\n <Flex direction=\"column\" gap=\"lg\" className=\"w-full max-w-sm\">\n <div>\n <p className=\"text-xs text-foreground-500 mb-2 px-1\">from=\"above\"</p>\n <div className=\"border border-background-700 rounded-sm\">\n <Expand title=\"Reveal above\">\n <Expand.Content from=\"above\">\n <p className=\"text-sm text-foreground-400 px-3 py-3\">This content slides in from above the trigger.</p>\n </Expand.Content>\n </Expand>\n </div>\n </div>\n <div>\n <p className=\"text-xs text-foreground-500 mb-2 px-1\">from=\"right\"</p>\n <div className=\"border border-background-700 rounded-sm\">\n <Expand title=\"Reveal right\">\n <Expand.Content from=\"right\">\n <p className=\"text-sm text-foreground-400 px-3 py-3\">Expands horizontally to the right.</p>\n </Expand.Content>\n </Expand>\n </div>\n </div>\n </Flex>\n );\n}"
|
|
21
|
+
},
|
|
22
|
+
"05-settings-panel": {
|
|
23
|
+
"title": "Settings Panel",
|
|
24
|
+
"description": "Grouped settings sections using compound mode with icons, dividers, and a list of rows.",
|
|
25
|
+
"code": "import { Expand, Flex } from 'ui-lab-components';\nimport { FaGear, FaCode } from 'react-icons/fa6';\n\nexport default function Example() {\n return (\n <div className=\"w-full max-w-sm border border-background-700 rounded-sm divide-y divide-background-700\">\n <Expand defaultExpanded>\n <Expand.Trigger>\n <Flex align=\"center\" gap=\"xs\" className=\"flex-1 px-3 py-2.5\">\n <FaGear className=\"text-foreground-400 text-xs\" />\n <span className=\"text-sm font-medium\">General</span>\n </Flex>\n <Expand.Icon />\n </Expand.Trigger>\n <Expand.Divider />\n <Expand.Content>\n <Flex direction=\"column\" className=\"divide-y divide-background-700\">\n {['Language', 'Timezone', 'Date format'].map((setting) => (\n <Flex key={setting} justify=\"between\" align=\"center\" className=\"px-3 py-2.5\">\n <span className=\"text-sm text-foreground-300\">{setting}</span>\n <span className=\"text-xs text-foreground-500\">Auto</span>\n </Flex>\n ))}\n </Flex>\n </Expand.Content>\n </Expand>\n <Expand>\n <Expand.Trigger>\n <Flex align=\"center\" gap=\"xs\" className=\"flex-1 px-3 py-2.5\">\n <FaCode className=\"text-foreground-400 text-xs\" />\n <span className=\"text-sm font-medium\">Developer</span>\n </Flex>\n <Expand.Icon />\n </Expand.Trigger>\n <Expand.Divider />\n <Expand.Content>\n <Flex direction=\"column\" className=\"divide-y divide-background-700\">\n {['API keys', 'Webhooks', 'Debug mode'].map((setting) => (\n <Flex key={setting} justify=\"between\" align=\"center\" className=\"px-3 py-2.5\">\n <span className=\"text-sm text-foreground-300\">{setting}</span>\n <span className=\"text-xs text-foreground-500\">Off</span>\n </Flex>\n ))}\n </Flex>\n </Expand.Content>\n </Expand>\n </div>\n );\n}"
|
|
26
|
+
},
|
|
27
|
+
"06-disabled": {
|
|
28
|
+
"title": "Disabled State",
|
|
29
|
+
"description": "An isDisabled section is visually dimmed and blocks interaction.",
|
|
30
|
+
"code": "import { Expand } from 'ui-lab-components';\n\nexport default function Example() {\n return (\n <div className=\"w-full max-w-sm border border-background-700 rounded-sm divide-y divide-background-700\">\n <Expand title=\"Available section\">\n <p className=\"text-sm text-foreground-400 px-3 py-3\">This section is accessible and can be expanded.</p>\n </Expand>\n <Expand title=\"Restricted section\" isDisabled>\n <p className=\"text-sm text-foreground-400 px-3 py-3\">This content is not accessible.</p>\n </Expand>\n </div>\n );\n}"
|
|
31
|
+
},
|
|
32
|
+
"07-inline-info": {
|
|
33
|
+
"title": "Inline Info",
|
|
34
|
+
"description": "A contextual disclosure pattern for surfacing supplementary information inline.",
|
|
35
|
+
"code": "import { Expand, Flex } from 'ui-lab-components';\nimport { FaCircleInfo } from 'react-icons/fa6';\n\nexport default function Example() {\n return (\n <div className=\"w-full max-w-sm rounded-sm border border-background-700 bg-background-900\">\n <Expand>\n <Expand.Trigger>\n <Flex align=\"center\" gap=\"xs\" className=\"flex-1 px-3 py-2.5\">\n <FaCircleInfo className=\"text-foreground-400 text-xs shrink-0\" />\n <span className=\"text-sm font-medium text-foreground-200\">Why do we collect this?</span>\n </Flex>\n <Expand.Icon />\n </Expand.Trigger>\n <Expand.Divider />\n <Expand.Content>\n <p className=\"text-sm text-foreground-400 px-3 py-3 leading-relaxed\">\n We use this information only to verify your identity and improve the service. It is never shared with third parties.\n </p>\n </Expand.Content>\n </Expand>\n </div>\n );\n}"
|
|
6
36
|
}
|
|
7
37
|
}
|
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Expand } from 'ui-lab-components';
|
|
3
3
|
import { ControlDef, ComponentDetail } from '@/types';
|
|
4
|
-
import Example1, { metadata as metadata1 } from './examples/01-basic
|
|
4
|
+
import Example1, { metadata as metadata1 } from './examples/01-basic.js';
|
|
5
|
+
import Example2, { metadata as metadata2 } from './examples/02-accordion.js';
|
|
6
|
+
import Example3, { metadata as metadata3 } from './examples/03-custom-trigger.js';
|
|
7
|
+
import Example4, { metadata as metadata4 } from './examples/04-directions.js';
|
|
8
|
+
import Example5, { metadata as metadata5 } from './examples/05-settings-panel.js';
|
|
9
|
+
import Example6, { metadata as metadata6 } from './examples/06-disabled.js';
|
|
10
|
+
import Example7, { metadata as metadata7 } from './examples/07-inline-info.js';
|
|
5
11
|
import examplesJson from './examples.json' with { type: 'json' };
|
|
6
12
|
import { loadComponentExamples } from '../../utils/load-component-examples.js';
|
|
7
13
|
import { FaChevronDown } from 'react-icons/fa6';
|
|
8
14
|
|
|
9
15
|
// Define examplesData locally
|
|
10
16
|
const examplesData = [
|
|
11
|
-
{ id: '01-basic
|
|
17
|
+
{ id: '01-basic', Component: Example1, metadata: metadata1 },
|
|
18
|
+
{ id: '02-accordion', Component: Example2, metadata: metadata2 },
|
|
19
|
+
{ id: '03-custom-trigger', Component: Example3, metadata: metadata3 },
|
|
20
|
+
{ id: '04-directions', Component: Example4, metadata: metadata4 },
|
|
21
|
+
{ id: '05-settings-panel', Component: Example5, metadata: metadata5 },
|
|
22
|
+
{ id: '06-disabled', Component: Example6, metadata: metadata6 },
|
|
23
|
+
{ id: '07-inline-info', Component: Example7, metadata: metadata7 },
|
|
12
24
|
];
|
|
13
25
|
|
|
14
26
|
const expandControls: ControlDef[] = [
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import React from 'react'
|
|
4
|
+
import { Flex, Frame } from 'ui-lab-components'
|
|
5
|
+
import type { FlexProps } from 'ui-lab-components'
|
|
6
|
+
import type { ControlDef } from '@/types'
|
|
7
|
+
|
|
8
|
+
type FlexDirection = NonNullable<FlexProps['direction']>;
|
|
9
|
+
type FlexJustify = NonNullable<FlexProps['justify']>;
|
|
10
|
+
type FlexAlign = NonNullable<FlexProps['align']>;
|
|
11
|
+
type FlexGap = NonNullable<FlexProps['gap']>;
|
|
12
|
+
type FlexWrap = NonNullable<FlexProps['wrap']>;
|
|
13
|
+
|
|
14
|
+
const BASE_CELL_STYLE = {
|
|
15
|
+
'--frame-fill': 'var(--background-900)',
|
|
16
|
+
'--frame-stroke-color': 'var(--background-600)',
|
|
17
|
+
} as React.CSSProperties;
|
|
18
|
+
|
|
19
|
+
export const metadata = {
|
|
20
|
+
title: 'Axis Control',
|
|
21
|
+
description: 'Interactive demo of Flex direction, justify, align, gap, and wrap across row and column layouts.',
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const controls: ControlDef[] = [
|
|
25
|
+
{
|
|
26
|
+
name: 'direction',
|
|
27
|
+
label: 'Main Axis',
|
|
28
|
+
type: 'select',
|
|
29
|
+
options: [
|
|
30
|
+
{ label: 'Row', value: 'row' },
|
|
31
|
+
{ label: 'Column', value: 'column' },
|
|
32
|
+
],
|
|
33
|
+
defaultValue: 'row',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: 'justify',
|
|
37
|
+
label: 'Main-Axis Distribution',
|
|
38
|
+
type: 'select',
|
|
39
|
+
options: [
|
|
40
|
+
{ label: 'Start', value: 'start' },
|
|
41
|
+
{ label: 'Center', value: 'center' },
|
|
42
|
+
{ label: 'End', value: 'end' },
|
|
43
|
+
{ label: 'Space Between', value: 'between' },
|
|
44
|
+
{ label: 'Space Around', value: 'around' },
|
|
45
|
+
{ label: 'Space Evenly', value: 'evenly' },
|
|
46
|
+
],
|
|
47
|
+
defaultValue: 'start',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: 'align',
|
|
51
|
+
label: 'Cross-Axis Alignment',
|
|
52
|
+
type: 'select',
|
|
53
|
+
options: [
|
|
54
|
+
{ label: 'Stretch', value: 'stretch' },
|
|
55
|
+
{ label: 'Start', value: 'start' },
|
|
56
|
+
{ label: 'Center', value: 'center' },
|
|
57
|
+
{ label: 'End', value: 'end' },
|
|
58
|
+
{ label: 'Baseline', value: 'baseline' },
|
|
59
|
+
],
|
|
60
|
+
defaultValue: 'stretch',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: 'gap',
|
|
64
|
+
label: 'Gap Token',
|
|
65
|
+
type: 'select',
|
|
66
|
+
options: [
|
|
67
|
+
{ label: 'Extra Small', value: 'xs' },
|
|
68
|
+
{ label: 'Small', value: 'sm' },
|
|
69
|
+
{ label: 'Medium', value: 'md' },
|
|
70
|
+
{ label: 'Large', value: 'lg' },
|
|
71
|
+
{ label: 'Extra Large', value: 'xl' },
|
|
72
|
+
],
|
|
73
|
+
defaultValue: 'md',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
name: 'frameCount',
|
|
77
|
+
label: 'Frames',
|
|
78
|
+
type: 'stepper',
|
|
79
|
+
defaultValue: 4,
|
|
80
|
+
min: 4,
|
|
81
|
+
max: 10,
|
|
82
|
+
step: 1,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'wrap',
|
|
86
|
+
label: 'Overflow Strategy',
|
|
87
|
+
type: 'select',
|
|
88
|
+
options: [
|
|
89
|
+
{ label: 'No Wrap', value: 'nowrap' },
|
|
90
|
+
{ label: 'Wrap', value: 'wrap' },
|
|
91
|
+
],
|
|
92
|
+
defaultValue: 'nowrap',
|
|
93
|
+
},
|
|
94
|
+
];
|
|
95
|
+
|
|
96
|
+
export const previewLayout = 'start' as const;
|
|
97
|
+
export const resizable = true;
|
|
98
|
+
|
|
99
|
+
function getDirection(value: unknown): FlexDirection {
|
|
100
|
+
return value === 'column' ? 'column' : 'row';
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function getJustify(value: unknown): FlexJustify {
|
|
104
|
+
if (value === 'center' || value === 'end' || value === 'between' || value === 'around' || value === 'evenly') return value;
|
|
105
|
+
return 'start';
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function getAlign(value: unknown): FlexAlign {
|
|
109
|
+
if (value === 'start' || value === 'center' || value === 'end' || value === 'baseline') return value;
|
|
110
|
+
return 'stretch';
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function getGap(value: unknown): FlexGap {
|
|
114
|
+
if (value === 'xs' || value === 'sm' || value === 'lg' || value === 'xl') return value;
|
|
115
|
+
return 'md';
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function getWrap(value: unknown): FlexWrap {
|
|
119
|
+
return value === 'wrap' ? 'wrap' : 'nowrap';
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function getFrameCount(value: unknown, min: number, max: number, fallback: number) {
|
|
123
|
+
const n = typeof value === 'number' ? value : Number(value);
|
|
124
|
+
if (Number.isNaN(n)) return fallback;
|
|
125
|
+
return Math.min(max, Math.max(min, Math.round(n)));
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function FrameCell({ className, style }: { className?: string; style?: React.CSSProperties }) {
|
|
129
|
+
return (
|
|
130
|
+
<Frame pathStroke="dashed" className={className} style={{ ...BASE_CELL_STYLE, ...style }}>
|
|
131
|
+
<div className="size-full" />
|
|
132
|
+
</Frame>
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
function getAxisColumnActionSpecs(frameCount: number) {
|
|
137
|
+
const total = Math.max(frameCount - 2, 1);
|
|
138
|
+
const pattern = [
|
|
139
|
+
{ className: 'min-w-[4.75rem] flex-1', style: { width: 'auto', minWidth: '4.75rem', height: '2.75rem' } },
|
|
140
|
+
{ className: 'min-w-[5.5rem] flex-1', style: { width: 'auto', minWidth: '5.5rem', height: '2.75rem' } },
|
|
141
|
+
{ className: 'min-w-[4rem] flex-1', style: { width: 'auto', minWidth: '4rem', height: '3rem' } },
|
|
142
|
+
];
|
|
143
|
+
return Array.from({ length: total }, (_, i) => pattern[i % pattern.length]);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
function getAxisRowGroups(frameCount: number) {
|
|
147
|
+
const groupCount = Math.max(Math.ceil(frameCount / 4), 1);
|
|
148
|
+
return Array.from({ length: groupCount }, (_, gi) => {
|
|
149
|
+
const remaining = frameCount - gi * 4;
|
|
150
|
+
const itemCount = Math.min(Math.max(remaining, 0), 4);
|
|
151
|
+
return { rail: itemCount >= 1, canvas: itemCount >= 2, actionTop: itemCount >= 3, actionBottom: itemCount >= 4 };
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export function renderPreview(props: Record<string, unknown>) {
|
|
156
|
+
const direction = getDirection(props.direction);
|
|
157
|
+
const justify = getJustify(props.justify);
|
|
158
|
+
const align = getAlign(props.align);
|
|
159
|
+
const gap = getGap(props.gap);
|
|
160
|
+
const wrap = getWrap(props.wrap);
|
|
161
|
+
const frameCount = getFrameCount(props.frameCount, 4, 10, 4);
|
|
162
|
+
|
|
163
|
+
if (direction === 'row') {
|
|
164
|
+
const groups = getAxisRowGroups(frameCount);
|
|
165
|
+
return (
|
|
166
|
+
<Flex direction="column" justify={justify} align={align} gap={gap} wrap="nowrap" className="w-full">
|
|
167
|
+
{groups.map((group, index) => (
|
|
168
|
+
<Flex key={`axis-row-group-${index}`} direction="row" gap="md" align="stretch" className="w-full">
|
|
169
|
+
{group.rail && <FrameCell className="shrink-0" style={{ width: '4.5rem', height: '8.5rem' }} />}
|
|
170
|
+
{group.canvas && <FrameCell className="min-w-[11rem] flex-1" style={{ width: 'auto', minWidth: '11rem', flex: '1.4 1 12rem', height: '8.5rem' }} />}
|
|
171
|
+
{(group.actionTop || group.actionBottom) && (
|
|
172
|
+
<Flex direction="column" gap="sm" className="w-[5.5rem] shrink-0">
|
|
173
|
+
{group.actionTop && <FrameCell className="shrink-0" style={{ width: '5.5rem', height: '4.5rem' }} />}
|
|
174
|
+
{group.actionBottom && <FrameCell className="shrink-0" style={{ width: '5.5rem', height: '3.25rem' }} />}
|
|
175
|
+
</Flex>
|
|
176
|
+
)}
|
|
177
|
+
</Flex>
|
|
178
|
+
))}
|
|
179
|
+
</Flex>
|
|
180
|
+
);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const actions = getAxisColumnActionSpecs(frameCount);
|
|
184
|
+
return (
|
|
185
|
+
<Flex direction="column" justify={justify} align={align} gap={gap} wrap={wrap} className="w-full">
|
|
186
|
+
<FrameCell className="w-full" style={{ width: '100%', height: '2.75rem' }} />
|
|
187
|
+
<FrameCell className="w-full" style={{ width: '100%', height: '8rem' }} />
|
|
188
|
+
<Flex direction="row" wrap="wrap" gap="sm" className="w-full">
|
|
189
|
+
{actions.map((action, index) => (
|
|
190
|
+
<FrameCell key={`column-action-${index}`} className={action.className} style={action.style as React.CSSProperties} />
|
|
191
|
+
))}
|
|
192
|
+
</Flex>
|
|
193
|
+
</Flex>
|
|
194
|
+
);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
export default function Example() {
|
|
198
|
+
return renderPreview({ direction: 'row', justify: 'start', align: 'stretch', gap: 'md', wrap: 'nowrap', frameCount: 4 });
|
|
199
|
+
}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import React from 'react'
|
|
4
|
+
import { Flex, Frame } from 'ui-lab-components'
|
|
5
|
+
import type { FlexProps } from 'ui-lab-components'
|
|
6
|
+
import type { ControlDef } from '@/types'
|
|
7
|
+
|
|
8
|
+
type FlexDirection = NonNullable<FlexProps['direction']>;
|
|
9
|
+
type FlexJustify = NonNullable<FlexProps['justify']>;
|
|
10
|
+
type FlexAlign = NonNullable<FlexProps['align']>;
|
|
11
|
+
type FlexGap = NonNullable<FlexProps['gap']>;
|
|
12
|
+
type FlexWrap = NonNullable<FlexProps['wrap']>;
|
|
13
|
+
|
|
14
|
+
const BASE_CELL_STYLE = {
|
|
15
|
+
'--frame-fill': 'var(--background-900)',
|
|
16
|
+
'--frame-stroke-color': 'var(--background-600)',
|
|
17
|
+
} as React.CSSProperties;
|
|
18
|
+
|
|
19
|
+
export const metadata = {
|
|
20
|
+
title: 'Wrap Overflow Into Rows',
|
|
21
|
+
description: 'When wrap="wrap" is set, items that exceed the container width reflow into additional rows.',
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const controls: ControlDef[] = [
|
|
25
|
+
{
|
|
26
|
+
name: 'direction',
|
|
27
|
+
label: 'Main Axis',
|
|
28
|
+
type: 'select',
|
|
29
|
+
options: [
|
|
30
|
+
{ label: 'Row', value: 'row' },
|
|
31
|
+
{ label: 'Column', value: 'column' },
|
|
32
|
+
],
|
|
33
|
+
defaultValue: 'row',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: 'justify',
|
|
37
|
+
label: 'Main-Axis Distribution',
|
|
38
|
+
type: 'select',
|
|
39
|
+
options: [
|
|
40
|
+
{ label: 'Start', value: 'start' },
|
|
41
|
+
{ label: 'Center', value: 'center' },
|
|
42
|
+
{ label: 'End', value: 'end' },
|
|
43
|
+
{ label: 'Space Between', value: 'between' },
|
|
44
|
+
{ label: 'Space Around', value: 'around' },
|
|
45
|
+
{ label: 'Space Evenly', value: 'evenly' },
|
|
46
|
+
],
|
|
47
|
+
defaultValue: 'start',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: 'align',
|
|
51
|
+
label: 'Cross-Axis Alignment',
|
|
52
|
+
type: 'select',
|
|
53
|
+
options: [
|
|
54
|
+
{ label: 'Stretch', value: 'stretch' },
|
|
55
|
+
{ label: 'Start', value: 'start' },
|
|
56
|
+
{ label: 'Center', value: 'center' },
|
|
57
|
+
{ label: 'End', value: 'end' },
|
|
58
|
+
{ label: 'Baseline', value: 'baseline' },
|
|
59
|
+
],
|
|
60
|
+
defaultValue: 'stretch',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: 'gap',
|
|
64
|
+
label: 'Gap Token',
|
|
65
|
+
type: 'select',
|
|
66
|
+
options: [
|
|
67
|
+
{ label: 'Extra Small', value: 'xs' },
|
|
68
|
+
{ label: 'Small', value: 'sm' },
|
|
69
|
+
{ label: 'Medium', value: 'md' },
|
|
70
|
+
{ label: 'Large', value: 'lg' },
|
|
71
|
+
{ label: 'Extra Large', value: 'xl' },
|
|
72
|
+
],
|
|
73
|
+
defaultValue: 'md',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
name: 'frameCount',
|
|
77
|
+
label: 'Frames',
|
|
78
|
+
type: 'stepper',
|
|
79
|
+
defaultValue: 7,
|
|
80
|
+
min: 4,
|
|
81
|
+
max: 12,
|
|
82
|
+
step: 1,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'wrap',
|
|
86
|
+
label: 'Overflow Strategy',
|
|
87
|
+
type: 'select',
|
|
88
|
+
options: [
|
|
89
|
+
{ label: 'No Wrap', value: 'nowrap' },
|
|
90
|
+
{ label: 'Wrap', value: 'wrap' },
|
|
91
|
+
],
|
|
92
|
+
defaultValue: 'wrap',
|
|
93
|
+
},
|
|
94
|
+
];
|
|
95
|
+
|
|
96
|
+
export const previewLayout = 'start' as const;
|
|
97
|
+
export const resizable = true;
|
|
98
|
+
|
|
99
|
+
function getDirection(value: unknown): FlexDirection {
|
|
100
|
+
return value === 'column' ? 'column' : 'row';
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function getJustify(value: unknown): FlexJustify {
|
|
104
|
+
if (value === 'center' || value === 'end' || value === 'between' || value === 'around' || value === 'evenly') return value;
|
|
105
|
+
return 'start';
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function getAlign(value: unknown): FlexAlign {
|
|
109
|
+
if (value === 'start' || value === 'center' || value === 'end' || value === 'baseline') return value;
|
|
110
|
+
return 'stretch';
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function getGap(value: unknown): FlexGap {
|
|
114
|
+
if (value === 'xs' || value === 'sm' || value === 'lg' || value === 'xl') return value;
|
|
115
|
+
return 'md';
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function getWrap(value: unknown): FlexWrap {
|
|
119
|
+
return value === 'wrap' ? 'wrap' : 'nowrap';
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function getFrameCount(value: unknown, min: number, max: number, fallback: number) {
|
|
123
|
+
const n = typeof value === 'number' ? value : Number(value);
|
|
124
|
+
if (Number.isNaN(n)) return fallback;
|
|
125
|
+
return Math.min(max, Math.max(min, Math.round(n)));
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function FrameCell({ className, style }: { className?: string; style?: React.CSSProperties }) {
|
|
129
|
+
return (
|
|
130
|
+
<Frame pathStroke="dashed" className={className} style={{ ...BASE_CELL_STYLE, ...style }}>
|
|
131
|
+
<div className="size-full" />
|
|
132
|
+
</Frame>
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
function getToolbarFlowSpecs(direction: FlexDirection, frameCount: number) {
|
|
137
|
+
if (direction === 'column') {
|
|
138
|
+
const pattern = [
|
|
139
|
+
{ style: { width: '100%', height: '3.25rem' } },
|
|
140
|
+
{ style: { width: '100%', height: '3rem' } },
|
|
141
|
+
{ style: { width: '100%', height: '3.25rem' } },
|
|
142
|
+
{ style: { width: '100%', height: '2.75rem' } },
|
|
143
|
+
];
|
|
144
|
+
return Array.from({ length: frameCount }, (_, i) => ({ className: 'w-full', ...pattern[i % pattern.length] }));
|
|
145
|
+
}
|
|
146
|
+
const repeatPattern = [
|
|
147
|
+
{ className: 'shrink-0', style: { width: '6rem', height: '3.25rem' } },
|
|
148
|
+
{ className: 'shrink-0', style: { width: '6.75rem', height: '3.25rem' } },
|
|
149
|
+
{ className: 'shrink-0', style: { width: '5.5rem', height: '3.25rem' } },
|
|
150
|
+
{ className: 'shrink-0', style: { width: '6.5rem', height: '3.25rem' } },
|
|
151
|
+
{ className: 'shrink-0', style: { width: '4.5rem', height: '3.25rem' } },
|
|
152
|
+
{ className: 'shrink-0', style: { width: '5.5rem', height: '3.25rem' } },
|
|
153
|
+
];
|
|
154
|
+
return [
|
|
155
|
+
{ className: 'min-w-[12rem]', style: { width: 'auto', minWidth: '12rem', flex: '1.6 1 14rem', height: '3.25rem' } },
|
|
156
|
+
...Array.from({ length: Math.max(frameCount - 1, 0) }, (_, i) => repeatPattern[i % repeatPattern.length]),
|
|
157
|
+
];
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
export function renderPreview(props: Record<string, unknown>) {
|
|
161
|
+
const direction = getDirection(props.direction);
|
|
162
|
+
const frameCount = getFrameCount(props.frameCount, 4, 12, 7);
|
|
163
|
+
const specs = getToolbarFlowSpecs(direction, frameCount);
|
|
164
|
+
|
|
165
|
+
return (
|
|
166
|
+
<Flex
|
|
167
|
+
direction={direction}
|
|
168
|
+
justify={getJustify(props.justify)}
|
|
169
|
+
align={getAlign(props.align)}
|
|
170
|
+
gap={getGap(props.gap)}
|
|
171
|
+
wrap={getWrap(props.wrap)}
|
|
172
|
+
className="w-full"
|
|
173
|
+
>
|
|
174
|
+
{specs.map((spec, index) => (
|
|
175
|
+
<FrameCell key={`${direction}-toolbar-${index}`} className={spec.className} style={spec.style as React.CSSProperties} />
|
|
176
|
+
))}
|
|
177
|
+
</Flex>
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
export default function Example() {
|
|
182
|
+
return renderPreview({ direction: 'row', justify: 'start', align: 'center', gap: 'md', wrap: 'wrap', frameCount: 7 });
|
|
183
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import React from 'react'
|
|
4
|
+
import { Flex, Frame } from 'ui-lab-components'
|
|
5
|
+
import type { FlexProps } from 'ui-lab-components'
|
|
6
|
+
import type { ControlDef } from '@/types'
|
|
7
|
+
|
|
8
|
+
type FlexJustify = NonNullable<FlexProps['justify']>;
|
|
9
|
+
type FlexGap = NonNullable<FlexProps['gap']>;
|
|
10
|
+
type FlexWrap = NonNullable<FlexProps['wrap']>;
|
|
11
|
+
|
|
12
|
+
const BASE_CELL_STYLE = {
|
|
13
|
+
'--frame-fill': 'var(--background-900)',
|
|
14
|
+
'--frame-stroke-color': 'var(--background-600)',
|
|
15
|
+
} as React.CSSProperties;
|
|
16
|
+
|
|
17
|
+
const CONTAINER_FLOW_STYLES = `
|
|
18
|
+
.flex-container-flow-avatar {
|
|
19
|
+
width: 5rem;
|
|
20
|
+
min-width: 5rem;
|
|
21
|
+
flex-grow: 0.65;
|
|
22
|
+
flex-shrink: 1;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.flex-container-flow-main {
|
|
26
|
+
width: 15rem;
|
|
27
|
+
min-width: 14rem;
|
|
28
|
+
flex-grow: 2;
|
|
29
|
+
flex-shrink: 1;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.flex-container-flow-sidebar {
|
|
33
|
+
width: 10rem;
|
|
34
|
+
min-width: 10rem;
|
|
35
|
+
flex-grow: 1;
|
|
36
|
+
flex-shrink: 1;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@container flex-parent (width < 400px) {
|
|
40
|
+
.flex-container-flow-avatar,
|
|
41
|
+
.flex-container-flow-main,
|
|
42
|
+
.flex-container-flow-sidebar {
|
|
43
|
+
width: 100%;
|
|
44
|
+
min-width: 0;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
`;
|
|
48
|
+
|
|
49
|
+
export const metadata = {
|
|
50
|
+
title: 'Container-Query Reflow',
|
|
51
|
+
description: 'With containerQueryResponsive enabled, the layout reflows based on available container width rather than viewport size.',
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export const controls: ControlDef[] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'gap',
|
|
57
|
+
label: 'Base Gap Token',
|
|
58
|
+
type: 'select',
|
|
59
|
+
options: [
|
|
60
|
+
{ label: 'Extra Small', value: 'xs' },
|
|
61
|
+
{ label: 'Small', value: 'sm' },
|
|
62
|
+
{ label: 'Medium', value: 'md' },
|
|
63
|
+
{ label: 'Large', value: 'lg' },
|
|
64
|
+
{ label: 'Extra Large', value: 'xl' },
|
|
65
|
+
],
|
|
66
|
+
defaultValue: 'md',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'frameCount',
|
|
70
|
+
label: 'Frames',
|
|
71
|
+
type: 'stepper',
|
|
72
|
+
defaultValue: 5,
|
|
73
|
+
min: 5,
|
|
74
|
+
max: 10,
|
|
75
|
+
step: 1,
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
name: 'justify',
|
|
79
|
+
label: 'Main-Axis Distribution',
|
|
80
|
+
type: 'select',
|
|
81
|
+
options: [
|
|
82
|
+
{ label: 'Start', value: 'start' },
|
|
83
|
+
{ label: 'Center', value: 'center' },
|
|
84
|
+
{ label: 'Space Between', value: 'between' },
|
|
85
|
+
{ label: 'Space Around', value: 'around' },
|
|
86
|
+
],
|
|
87
|
+
defaultValue: 'start',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: 'wrap',
|
|
91
|
+
label: 'Overflow Strategy',
|
|
92
|
+
type: 'select',
|
|
93
|
+
options: [
|
|
94
|
+
{ label: 'No Wrap', value: 'nowrap' },
|
|
95
|
+
{ label: 'Wrap', value: 'wrap' },
|
|
96
|
+
],
|
|
97
|
+
defaultValue: 'nowrap',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: 'containerQueryResponsive',
|
|
101
|
+
label: 'Enable Container Queries',
|
|
102
|
+
type: 'toggle',
|
|
103
|
+
defaultValue: true,
|
|
104
|
+
},
|
|
105
|
+
];
|
|
106
|
+
|
|
107
|
+
export const previewLayout = 'start' as const;
|
|
108
|
+
export const resizable = true;
|
|
109
|
+
|
|
110
|
+
function getJustify(value: unknown): FlexJustify {
|
|
111
|
+
if (value === 'center' || value === 'end' || value === 'between' || value === 'around' || value === 'evenly') return value;
|
|
112
|
+
return 'start';
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
function getGap(value: unknown): FlexGap {
|
|
116
|
+
if (value === 'xs' || value === 'sm' || value === 'lg' || value === 'xl') return value;
|
|
117
|
+
return 'md';
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
function getWrap(value: unknown): FlexWrap {
|
|
121
|
+
return value === 'wrap' ? 'wrap' : 'nowrap';
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function getFrameCount(value: unknown, min: number, max: number, fallback: number) {
|
|
125
|
+
const n = typeof value === 'number' ? value : Number(value);
|
|
126
|
+
if (Number.isNaN(n)) return fallback;
|
|
127
|
+
return Math.min(max, Math.max(min, Math.round(n)));
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function FrameCell({ className, style }: { className?: string; style?: React.CSSProperties }) {
|
|
131
|
+
return (
|
|
132
|
+
<Frame pathStroke="dashed" className={className} style={{ ...BASE_CELL_STYLE, ...style }}>
|
|
133
|
+
<div className="size-full" />
|
|
134
|
+
</Frame>
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
function getDistribution(frameCount: number) {
|
|
139
|
+
let metadataCount = 2;
|
|
140
|
+
let sidebarCount = 1;
|
|
141
|
+
let remaining = Math.max(frameCount - 5, 0);
|
|
142
|
+
while (remaining > 0) {
|
|
143
|
+
metadataCount += 1;
|
|
144
|
+
remaining -= 1;
|
|
145
|
+
if (remaining > 0) { sidebarCount += 1; remaining -= 1; }
|
|
146
|
+
}
|
|
147
|
+
return { metadataCount, sidebarCount };
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
const META_PATTERN = [
|
|
151
|
+
{ className: 'min-w-[4.75rem] flex-1', style: { width: 'auto', minWidth: '4.75rem', height: '2.25rem' } },
|
|
152
|
+
{ className: 'min-w-[4rem] flex-1', style: { width: 'auto', minWidth: '4rem', height: '2.25rem' } },
|
|
153
|
+
{ className: 'min-w-[5.25rem] flex-1', style: { width: 'auto', minWidth: '5.25rem', height: '2.25rem' } },
|
|
154
|
+
];
|
|
155
|
+
|
|
156
|
+
const SIDEBAR_PATTERN = [
|
|
157
|
+
{ style: { width: '100%', height: '7rem' } },
|
|
158
|
+
{ style: { width: '100%', height: '3rem' } },
|
|
159
|
+
{ style: { width: '100%', height: '2.5rem' } },
|
|
160
|
+
];
|
|
161
|
+
|
|
162
|
+
export function renderPreview(props: Record<string, unknown>) {
|
|
163
|
+
const frameCount = getFrameCount(props.frameCount, 5, 10, 5);
|
|
164
|
+
const { metadataCount, sidebarCount } = getDistribution(frameCount);
|
|
165
|
+
|
|
166
|
+
return (
|
|
167
|
+
<>
|
|
168
|
+
<style>{CONTAINER_FLOW_STYLES}</style>
|
|
169
|
+
<Flex
|
|
170
|
+
justify={getJustify(props.justify)}
|
|
171
|
+
align="stretch"
|
|
172
|
+
gap={getGap(props.gap)}
|
|
173
|
+
wrap={getWrap(props.wrap)}
|
|
174
|
+
containerQueryResponsive={Boolean(props.containerQueryResponsive)}
|
|
175
|
+
className="w-full"
|
|
176
|
+
>
|
|
177
|
+
<FrameCell className="flex-container-flow-avatar" style={{ height: '7rem' }} />
|
|
178
|
+
<Flex direction="column" gap="sm" className="flex-container-flow-main">
|
|
179
|
+
<FrameCell style={{ width: '100%', height: '4.5rem' }} />
|
|
180
|
+
<Flex gap="sm" wrap="wrap" className="w-full">
|
|
181
|
+
{Array.from({ length: metadataCount }, (_, i) => META_PATTERN[i % META_PATTERN.length]).map((spec, i) => (
|
|
182
|
+
<FrameCell key={`meta-${i}`} className={spec.className} style={spec.style as React.CSSProperties} />
|
|
183
|
+
))}
|
|
184
|
+
</Flex>
|
|
185
|
+
</Flex>
|
|
186
|
+
<Flex direction="column" gap="sm" className="flex-container-flow-sidebar">
|
|
187
|
+
{Array.from({ length: sidebarCount }, (_, i) => SIDEBAR_PATTERN[i % SIDEBAR_PATTERN.length]).map((spec, i) => (
|
|
188
|
+
<FrameCell key={`sidebar-${i}`} className="w-full" style={spec.style as React.CSSProperties} />
|
|
189
|
+
))}
|
|
190
|
+
</Flex>
|
|
191
|
+
</Flex>
|
|
192
|
+
</>
|
|
193
|
+
);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export default function Example() {
|
|
197
|
+
return renderPreview({ gap: 'md', frameCount: 5, justify: 'start', wrap: 'nowrap', containerQueryResponsive: true });
|
|
198
|
+
}
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
-
export { default as Example1 } from './01-
|
|
2
|
-
export { metadata as metadata1 } from './01-
|
|
1
|
+
export { default as Example1 } from './01-axis-control.js';
|
|
2
|
+
export { metadata as metadata1 } from './01-axis-control.js';
|
|
3
|
+
|
|
4
|
+
export { default as Example2 } from './02-wrap-overflow.js';
|
|
5
|
+
export { metadata as metadata2 } from './02-wrap-overflow.js';
|
|
6
|
+
|
|
7
|
+
export { default as Example3 } from './03-container-query-reflow.js';
|
|
8
|
+
export { metadata as metadata3 } from './03-container-query-reflow.js';
|