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
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Divider, Group } from "ui-lab-components";
|
|
2
|
+
import { FaPlus } from "react-icons/fa6";
|
|
3
|
+
|
|
4
|
+
export const metadata = {
|
|
5
|
+
title: "Create Project",
|
|
6
|
+
description: "A primary grouped action for creating a named item.",
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export default function Example() {
|
|
10
|
+
return (
|
|
11
|
+
<Group variant="primary" orientation="horizontal" spacing="xs">
|
|
12
|
+
<Group.Input aria-label="Project name" placeholder="Untitled project" className="w-56" />
|
|
13
|
+
<Divider orientation="vertical" />
|
|
14
|
+
<Group.Button>
|
|
15
|
+
<FaPlus className="mr-1.5" /> Create
|
|
16
|
+
</Group.Button>
|
|
17
|
+
</Group>
|
|
18
|
+
);
|
|
19
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { Divider, Group, Select } from "ui-lab-components";
|
|
5
|
+
import { FaMagnifyingGlass, FaFilter } from "react-icons/fa6";
|
|
6
|
+
|
|
7
|
+
export const metadata = {
|
|
8
|
+
title: "Filter Bar with Selects",
|
|
9
|
+
description: "Horizontal group combining Select dropdowns with action buttons for filtering interfaces.",
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function Example() {
|
|
13
|
+
const [status, setStatus] = useState<string | number | null>("active");
|
|
14
|
+
|
|
15
|
+
return (
|
|
16
|
+
<Group variant="default" orientation="horizontal">
|
|
17
|
+
<Group.Input icon={<FaMagnifyingGlass />} placeholder="Search...">
|
|
18
|
+
</Group.Input>
|
|
19
|
+
<Divider />
|
|
20
|
+
<Group.Select selectedKey={status} onSelectionChange={setStatus} className="w-36">
|
|
21
|
+
<Select.Trigger><Select.Value placeholder="Status" /></Select.Trigger>
|
|
22
|
+
<Select.Content>
|
|
23
|
+
<Select.List>
|
|
24
|
+
<Select.Item value="active" textValue="Active">Active</Select.Item>
|
|
25
|
+
<Select.Item value="inactive" textValue="Inactive">Inactive</Select.Item>
|
|
26
|
+
<Select.Item value="pending" textValue="Pending">Pending</Select.Item>
|
|
27
|
+
</Select.List>
|
|
28
|
+
</Select.Content>
|
|
29
|
+
</Group.Select>
|
|
30
|
+
<Divider />
|
|
31
|
+
<Group.Button size="md"><FaFilter className="mr-1.5" /> Apply</Group.Button>
|
|
32
|
+
</Group>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Divider, Group } from "ui-lab-components";
|
|
2
|
+
import { FaMagnifyingGlass } from "react-icons/fa6";
|
|
3
|
+
|
|
4
|
+
export const metadata = {
|
|
5
|
+
title: "Documentation Search",
|
|
6
|
+
description: "A search input with an icon prefix and joined submit button.",
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export default function Example() {
|
|
10
|
+
return (
|
|
11
|
+
<Group variant="secondary">
|
|
12
|
+
<div className="bg-background-800 flex items-center px-3 text-foreground-400">
|
|
13
|
+
<FaMagnifyingGlass />
|
|
14
|
+
</div>
|
|
15
|
+
<Divider />
|
|
16
|
+
<Group.Input placeholder="Search documentation..." className="w-64" />
|
|
17
|
+
<Divider />
|
|
18
|
+
<Group.Button className="w-full">Search</Group.Button>
|
|
19
|
+
</Group>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Divider, Group } from "ui-lab-components";
|
|
2
|
+
import { FaEnvelope } from "react-icons/fa6";
|
|
3
|
+
|
|
4
|
+
export const metadata = {
|
|
5
|
+
title: "Email Signup",
|
|
6
|
+
description: "An email input with a joined subscription action.",
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export default function Example() {
|
|
10
|
+
return (
|
|
11
|
+
<Group variant="outline">
|
|
12
|
+
<div className="bg-background-800 flex items-center px-3 text-foreground-400">
|
|
13
|
+
<FaEnvelope />
|
|
14
|
+
</div>
|
|
15
|
+
<Divider />
|
|
16
|
+
<Group.Input placeholder="you@example.com" type="email" className="w-64" />
|
|
17
|
+
<Divider />
|
|
18
|
+
<Group.Button>Subscribe</Group.Button>
|
|
19
|
+
</Group>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Divider, Group } from "ui-lab-components";
|
|
2
|
+
import { FaCopy } from "react-icons/fa6";
|
|
3
|
+
|
|
4
|
+
export const metadata = {
|
|
5
|
+
title: "Copy Command",
|
|
6
|
+
description: "A read-only command field with a joined copy action.",
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export default function Example() {
|
|
10
|
+
return (
|
|
11
|
+
<Group>
|
|
12
|
+
<Group.Input defaultValue="npm install ui-lab" readOnly className="w-full font-mono text-sm" />
|
|
13
|
+
<Divider />
|
|
14
|
+
<Group.Button icon={{ left: <FaCopy className="mr-1.5 text-foreground-400" /> }} />
|
|
15
|
+
</Group>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Divider, Group } from "ui-lab-components";
|
|
2
|
+
import { FaTrash } from "react-icons/fa6";
|
|
3
|
+
|
|
4
|
+
export const metadata = {
|
|
5
|
+
title: "Delete Confirmation",
|
|
6
|
+
description: "A danger variant group for destructive confirmation flows.",
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export default function Example() {
|
|
10
|
+
return (
|
|
11
|
+
<Group variant="danger">
|
|
12
|
+
<Group.Input aria-label="Confirmation" placeholder="Type DELETE" className="w-48" />
|
|
13
|
+
<Divider />
|
|
14
|
+
<Group.Button>
|
|
15
|
+
<FaTrash className="mr-1.5" /> Delete
|
|
16
|
+
</Group.Button>
|
|
17
|
+
</Group>
|
|
18
|
+
);
|
|
19
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { Group, Slider } from "ui-lab-components";
|
|
5
|
+
import { FaPercent } from "react-icons/fa6";
|
|
6
|
+
|
|
7
|
+
export const metadata = {
|
|
8
|
+
title: "Slider with Input Group",
|
|
9
|
+
description: "Numeric input synced with a slider for precise value selection.",
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function Example() {
|
|
13
|
+
const [sliderValue, setSliderValue] = useState<number[]>([45]);
|
|
14
|
+
const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
15
|
+
const val = parseInt(e.target.value);
|
|
16
|
+
if (!isNaN(val)) setSliderValue([Math.min(Math.max(val, 0), 100)]);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
return (
|
|
20
|
+
<div className="space-y-4 w-64">
|
|
21
|
+
<Group>
|
|
22
|
+
<Group.Input type="number" min={0} max={100} value={sliderValue[0]} onChange={handleInputChange} className="w-full" />
|
|
23
|
+
<div className="bg-background-800 flex items-center px-3 text-foreground-400 text-sm font-medium">
|
|
24
|
+
<FaPercent />
|
|
25
|
+
</div>
|
|
26
|
+
</Group>
|
|
27
|
+
<Slider.Root value={sliderValue} onValueChange={setSliderValue} max={100} step={1} />
|
|
28
|
+
</div>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
@@ -1,2 +1,16 @@
|
|
|
1
1
|
export { default as Example1 } from './01-basic-group.js';
|
|
2
2
|
export { metadata as metadata1 } from './01-basic-group.js';
|
|
3
|
+
export { default as Example2 } from './02-create-project.js';
|
|
4
|
+
export { metadata as metadata2 } from './02-create-project.js';
|
|
5
|
+
export { default as Example3 } from './03-filter-bar.js';
|
|
6
|
+
export { metadata as metadata3 } from './03-filter-bar.js';
|
|
7
|
+
export { default as Example4 } from './04-documentation-search.js';
|
|
8
|
+
export { metadata as metadata4 } from './04-documentation-search.js';
|
|
9
|
+
export { default as Example5 } from './05-email-signup.js';
|
|
10
|
+
export { metadata as metadata5 } from './05-email-signup.js';
|
|
11
|
+
export { default as Example6 } from './06-copy-command.js';
|
|
12
|
+
export { metadata as metadata6 } from './06-copy-command.js';
|
|
13
|
+
export { default as Example7 } from './07-delete-confirmation.js';
|
|
14
|
+
export { metadata as metadata7 } from './07-delete-confirmation.js';
|
|
15
|
+
export { default as Example8 } from './08-slider-integration.js';
|
|
16
|
+
export { metadata as metadata8 } from './08-slider-integration.js';
|
|
@@ -3,5 +3,40 @@
|
|
|
3
3
|
"title": "Basic Group",
|
|
4
4
|
"description": "A simple group container that arranges multiple elements together. Use this to organize related UI elements in a consistent layout.",
|
|
5
5
|
"code": "import { Group } from 'ui-lab-components';\n\nexport default function Example() {\n return (\n <Group>\n <Group.Button>First</Group.Button>\n <Group.Button>Second</Group.Button>\n <Group.Button>Third</Group.Button>\n </Group>\n );\n}"
|
|
6
|
+
},
|
|
7
|
+
"02-create-project": {
|
|
8
|
+
"title": "Create Project",
|
|
9
|
+
"description": "A primary grouped action for creating a named item.",
|
|
10
|
+
"code": "import { Divider, Group } from \"ui-lab-components\";\nimport { FaPlus } from \"react-icons/fa6\";\n\nexport default function Example() {\n return (\n <Group variant=\"primary\" orientation=\"horizontal\" spacing=\"xs\">\n <Group.Input aria-label=\"Project name\" placeholder=\"Untitled project\" className=\"w-56\" />\n <Divider orientation=\"vertical\" />\n <Group.Button>\n <FaPlus className=\"mr-1.5\" /> Create\n </Group.Button>\n </Group>\n );\n}"
|
|
11
|
+
},
|
|
12
|
+
"03-filter-bar": {
|
|
13
|
+
"title": "Filter Bar with Selects",
|
|
14
|
+
"description": "Horizontal group combining Select dropdowns with action buttons for filtering interfaces.",
|
|
15
|
+
"code": "\"use client\";\n\nimport { useState } from \"react\";\nimport { Divider, Group, Select } from \"ui-lab-components\";\nimport { FaMagnifyingGlass, FaFilter } from \"react-icons/fa6\";\n\nexport default function Example() {\n const [status, setStatus] = useState<string | number | null>(\"active\");\n\n return (\n <Group variant=\"default\" orientation=\"horizontal\">\n <Group.Input icon={<FaMagnifyingGlass />} placeholder=\"Search...\">\n </Group.Input>\n <Divider />\n <Group.Select selectedKey={status} onSelectionChange={setStatus} className=\"w-36\">\n <Select.Trigger><Select.Value placeholder=\"Status\" /></Select.Trigger>\n <Select.Content>\n <Select.List>\n <Select.Item value=\"active\" textValue=\"Active\">Active</Select.Item>\n <Select.Item value=\"inactive\" textValue=\"Inactive\">Inactive</Select.Item>\n <Select.Item value=\"pending\" textValue=\"Pending\">Pending</Select.Item>\n </Select.List>\n </Select.Content>\n </Group.Select>\n <Divider />\n <Group.Button size=\"md\"><FaFilter className=\"mr-1.5\" /> Apply</Group.Button>\n </Group>\n );\n}"
|
|
16
|
+
},
|
|
17
|
+
"04-documentation-search": {
|
|
18
|
+
"title": "Documentation Search",
|
|
19
|
+
"description": "A search input with an icon prefix and joined submit button.",
|
|
20
|
+
"code": "import { Divider, Group } from \"ui-lab-components\";\nimport { FaMagnifyingGlass } from \"react-icons/fa6\";\n\nexport default function Example() {\n return (\n <Group variant=\"secondary\">\n <div className=\"bg-background-800 flex items-center px-3 text-foreground-400\">\n <FaMagnifyingGlass />\n </div>\n <Divider />\n <Group.Input placeholder=\"Search documentation...\" className=\"w-64\" />\n <Divider />\n <Group.Button className=\"w-full\">Search</Group.Button>\n </Group>\n );\n}"
|
|
21
|
+
},
|
|
22
|
+
"05-email-signup": {
|
|
23
|
+
"title": "Email Signup",
|
|
24
|
+
"description": "An email input with a joined subscription action.",
|
|
25
|
+
"code": "import { Divider, Group } from \"ui-lab-components\";\nimport { FaEnvelope } from \"react-icons/fa6\";\n\nexport default function Example() {\n return (\n <Group variant=\"outline\">\n <div className=\"bg-background-800 flex items-center px-3 text-foreground-400\">\n <FaEnvelope />\n </div>\n <Divider />\n <Group.Input placeholder=\"you@example.com\" type=\"email\" className=\"w-64\" />\n <Divider />\n <Group.Button>Subscribe</Group.Button>\n </Group>\n );\n}"
|
|
26
|
+
},
|
|
27
|
+
"06-copy-command": {
|
|
28
|
+
"title": "Copy Command",
|
|
29
|
+
"description": "A read-only command field with a joined copy action.",
|
|
30
|
+
"code": "import { Divider, Group } from \"ui-lab-components\";\nimport { FaCopy } from \"react-icons/fa6\";\n\nexport default function Example() {\n return (\n <Group>\n <Group.Input defaultValue=\"npm install ui-lab\" readOnly className=\"w-full font-mono text-sm\" />\n <Divider />\n <Group.Button icon={{ left: <FaCopy className=\"mr-1.5 text-foreground-400\" /> }} />\n </Group>\n );\n}"
|
|
31
|
+
},
|
|
32
|
+
"07-delete-confirmation": {
|
|
33
|
+
"title": "Delete Confirmation",
|
|
34
|
+
"description": "A danger variant group for destructive confirmation flows.",
|
|
35
|
+
"code": "import { Divider, Group } from \"ui-lab-components\";\nimport { FaTrash } from \"react-icons/fa6\";\n\nexport default function Example() {\n return (\n <Group variant=\"danger\">\n <Group.Input aria-label=\"Confirmation\" placeholder=\"Type DELETE\" className=\"w-48\" />\n <Divider />\n <Group.Button>\n <FaTrash className=\"mr-1.5\" /> Delete\n </Group.Button>\n </Group>\n );\n}"
|
|
36
|
+
},
|
|
37
|
+
"08-slider-integration": {
|
|
38
|
+
"title": "Slider with Input Group",
|
|
39
|
+
"description": "Numeric input synced with a slider for precise value selection.",
|
|
40
|
+
"code": "\"use client\";\n\nimport { useState } from \"react\";\nimport { Group, Slider } from \"ui-lab-components\";\nimport { FaPercent } from \"react-icons/fa6\";\n\nexport default function Example() {\n const [sliderValue, setSliderValue] = useState<number[]>([45]);\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const val = parseInt(e.target.value);\n if (!isNaN(val)) setSliderValue([Math.min(Math.max(val, 0), 100)]);\n };\n\n return (\n <div className=\"space-y-4 w-64\">\n <Group>\n <Group.Input type=\"number\" min={0} max={100} value={sliderValue[0]} onChange={handleInputChange} className=\"w-full\" />\n <div className=\"bg-background-800 flex items-center px-3 text-foreground-400 text-sm font-medium\">\n <FaPercent />\n </div>\n </Group>\n <Slider.Root value={sliderValue} onValueChange={setSliderValue} max={100} step={1} />\n </div>\n );\n}"
|
|
6
41
|
}
|
|
7
42
|
}
|
|
@@ -2,11 +2,25 @@ import React from 'react';
|
|
|
2
2
|
import { Divider, Group } from 'ui-lab-components';
|
|
3
3
|
import { ControlDef, ComponentDetail } from '@/types';
|
|
4
4
|
import Example1, { metadata as metadata1 } from './examples/01-basic-group.js';
|
|
5
|
+
import Example2, { metadata as metadata2 } from './examples/02-create-project.js';
|
|
6
|
+
import Example3, { metadata as metadata3 } from './examples/03-filter-bar.js';
|
|
7
|
+
import Example4, { metadata as metadata4 } from './examples/04-documentation-search.js';
|
|
8
|
+
import Example5, { metadata as metadata5 } from './examples/05-email-signup.js';
|
|
9
|
+
import Example6, { metadata as metadata6 } from './examples/06-copy-command.js';
|
|
10
|
+
import Example7, { metadata as metadata7 } from './examples/07-delete-confirmation.js';
|
|
11
|
+
import Example8, { metadata as metadata8 } from './examples/08-slider-integration.js';
|
|
5
12
|
import examplesJson from './examples.json' with { type: 'json' };
|
|
6
13
|
import { loadComponentExamples } from '../../utils/load-component-examples.js';
|
|
7
14
|
|
|
8
15
|
const examplesData = [
|
|
9
16
|
{ id: '01-basic-group', Component: Example1, metadata: metadata1 },
|
|
17
|
+
{ id: '02-create-project', Component: Example2, metadata: metadata2 },
|
|
18
|
+
{ id: '03-filter-bar', Component: Example3, metadata: metadata3 },
|
|
19
|
+
{ id: '04-documentation-search', Component: Example4, metadata: metadata4 },
|
|
20
|
+
{ id: '05-email-signup', Component: Example5, metadata: metadata5 },
|
|
21
|
+
{ id: '06-copy-command', Component: Example6, metadata: metadata6 },
|
|
22
|
+
{ id: '07-delete-confirmation', Component: Example7, metadata: metadata7 },
|
|
23
|
+
{ id: '08-slider-integration', Component: Example8, metadata: metadata8 },
|
|
10
24
|
];
|
|
11
25
|
|
|
12
26
|
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { Input, Flex, Button } from "ui-lab-components";
|
|
5
|
+
import { FaEnvelope, FaLock, FaEye, FaEyeSlash } from "react-icons/fa6";
|
|
6
|
+
|
|
7
|
+
export const metadata = {
|
|
8
|
+
title: "Sign In Form",
|
|
9
|
+
description: "Email and password fields with a password visibility toggle — a common authentication pattern.",
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function Example() {
|
|
13
|
+
const [showPassword, setShowPassword] = useState(false);
|
|
14
|
+
|
|
15
|
+
return (
|
|
16
|
+
<Flex direction="column" gap="sm" style={{ width: 320 }}>
|
|
17
|
+
<Input
|
|
18
|
+
type="email"
|
|
19
|
+
icon={<FaEnvelope className="w-3.5 h-3.5 text-foreground-400" />}
|
|
20
|
+
placeholder="Email address"
|
|
21
|
+
autoComplete="email"
|
|
22
|
+
/>
|
|
23
|
+
<Input
|
|
24
|
+
type={showPassword ? "text" : "password"}
|
|
25
|
+
icon={<FaLock className="w-3.5 h-3.5 text-foreground-400" />}
|
|
26
|
+
placeholder="Password"
|
|
27
|
+
autoComplete="current-password"
|
|
28
|
+
actions={[
|
|
29
|
+
{
|
|
30
|
+
icon: showPassword
|
|
31
|
+
? <FaEyeSlash className="w-3.5 h-3.5" />
|
|
32
|
+
: <FaEye className="w-3.5 h-3.5" />,
|
|
33
|
+
title: showPassword ? "Hide password" : "Show password",
|
|
34
|
+
onClick: () => setShowPassword((v) => !v),
|
|
35
|
+
},
|
|
36
|
+
]}
|
|
37
|
+
/>
|
|
38
|
+
<Button variant="primary" className="w-full mt-1">Sign in</Button>
|
|
39
|
+
</Flex>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { Input, Flex, Badge } from "ui-lab-components";
|
|
5
|
+
import { FaMagnifyingGlass, FaXmark } from "react-icons/fa6";
|
|
6
|
+
|
|
7
|
+
export const metadata = {
|
|
8
|
+
title: "Search",
|
|
9
|
+
description: "Search input with a keyboard shortcut hint that switches to a clear action once the user types.",
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function Example() {
|
|
13
|
+
const [query, setQuery] = useState("");
|
|
14
|
+
|
|
15
|
+
return (
|
|
16
|
+
<Flex direction="column" gap="sm" style={{ width: 340 }}>
|
|
17
|
+
<Input
|
|
18
|
+
icon={<FaMagnifyingGlass className="w-3.5 h-3.5 text-foreground-400" />}
|
|
19
|
+
placeholder="Search components..."
|
|
20
|
+
value={query}
|
|
21
|
+
onChange={(e) => setQuery(e.target.value)}
|
|
22
|
+
hint={!query ? <Badge>⌘K</Badge> : undefined}
|
|
23
|
+
actions={
|
|
24
|
+
query
|
|
25
|
+
? [{ icon: <FaXmark className="w-3.5 h-3.5" />, title: "Clear", onClick: () => setQuery("") }]
|
|
26
|
+
: []
|
|
27
|
+
}
|
|
28
|
+
/>
|
|
29
|
+
</Flex>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { Input, Flex } from "ui-lab-components";
|
|
5
|
+
import { FaAt, FaCopy, FaCheck } from "react-icons/fa6";
|
|
6
|
+
|
|
7
|
+
export const metadata = {
|
|
8
|
+
title: "User Handle",
|
|
9
|
+
description: "Editable username field with an inline copy action.",
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function Example() {
|
|
13
|
+
const [handle, setHandle] = useState("kyza");
|
|
14
|
+
const [copied, setCopied] = useState(false);
|
|
15
|
+
|
|
16
|
+
const handleCopy = () => {
|
|
17
|
+
setCopied(true);
|
|
18
|
+
setTimeout(() => setCopied(false), 1500);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<Flex direction="column" gap="sm" style={{ width: 320 }}>
|
|
23
|
+
<Input
|
|
24
|
+
icon={<FaAt className="w-3.5 h-3.5 text-foreground-400" />}
|
|
25
|
+
placeholder="username"
|
|
26
|
+
value={handle}
|
|
27
|
+
onChange={(e) => setHandle(e.target.value)}
|
|
28
|
+
actions={[
|
|
29
|
+
{
|
|
30
|
+
icon: copied
|
|
31
|
+
? <FaCheck className="w-3.5 h-3.5 text-green-500" />
|
|
32
|
+
: <FaCopy className="w-3.5 h-3.5" />,
|
|
33
|
+
title: copied ? "Copied!" : "Copy handle",
|
|
34
|
+
onClick: handleCopy,
|
|
35
|
+
},
|
|
36
|
+
]}
|
|
37
|
+
/>
|
|
38
|
+
</Flex>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { Input, Flex } from "ui-lab-components";
|
|
5
|
+
import { FaKey, FaEye, FaEyeSlash, FaCopy, FaCheck } from "react-icons/fa6";
|
|
6
|
+
|
|
7
|
+
export const metadata = {
|
|
8
|
+
title: "API Key",
|
|
9
|
+
description: "Read-only secret field with reveal and copy actions — suitable for credentials and tokens.",
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function Example() {
|
|
13
|
+
const [revealed, setRevealed] = useState(false);
|
|
14
|
+
const [copied, setCopied] = useState(false);
|
|
15
|
+
const key = "sk-proj-a8f2c1d9e4b7";
|
|
16
|
+
|
|
17
|
+
const handleCopy = () => {
|
|
18
|
+
setCopied(true);
|
|
19
|
+
setTimeout(() => setCopied(false), 1500);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<Flex direction="column" gap="sm" style={{ width: 360 }}>
|
|
24
|
+
<Input
|
|
25
|
+
type={revealed ? "text" : "password"}
|
|
26
|
+
icon={<FaKey className="w-3.5 h-3.5 text-foreground-400" />}
|
|
27
|
+
value={key}
|
|
28
|
+
readOnly
|
|
29
|
+
actions={[
|
|
30
|
+
{
|
|
31
|
+
icon: revealed
|
|
32
|
+
? <FaEyeSlash className="w-3.5 h-3.5" />
|
|
33
|
+
: <FaEye className="w-3.5 h-3.5" />,
|
|
34
|
+
title: revealed ? "Hide key" : "Reveal key",
|
|
35
|
+
onClick: () => setRevealed((v) => !v),
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
icon: copied
|
|
39
|
+
? <FaCheck className="w-3.5 h-3.5 text-green-500" />
|
|
40
|
+
: <FaCopy className="w-3.5 h-3.5" />,
|
|
41
|
+
title: copied ? "Copied!" : "Copy key",
|
|
42
|
+
onClick: handleCopy,
|
|
43
|
+
},
|
|
44
|
+
]}
|
|
45
|
+
/>
|
|
46
|
+
</Flex>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { Input, Flex } from "ui-lab-components";
|
|
5
|
+
import { FaLink, FaCircleExclamation, FaCheck } from "react-icons/fa6";
|
|
6
|
+
|
|
7
|
+
export const metadata = {
|
|
8
|
+
title: "URL with Validation",
|
|
9
|
+
description: "URL field that shows a success or error icon in the suffix slot based on the input value.",
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function Example() {
|
|
13
|
+
const [url, setUrl] = useState("");
|
|
14
|
+
|
|
15
|
+
const isValid = url.length === 0 || /^https?:\/\/.+\..+/.test(url);
|
|
16
|
+
const showError = url.length > 0 && !isValid;
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<Flex direction="column" gap="sm" style={{ width: 340 }}>
|
|
20
|
+
<Input
|
|
21
|
+
placeholder="https://example.com"
|
|
22
|
+
value={url}
|
|
23
|
+
onChange={(e) => setUrl(e.target.value)}
|
|
24
|
+
error={showError}
|
|
25
|
+
icon={{
|
|
26
|
+
prefix: <FaLink className="w-3.5 h-3.5 text-foreground-400" />,
|
|
27
|
+
suffix: showError
|
|
28
|
+
? <FaCircleExclamation className="w-3.5 h-3.5 text-red-500" />
|
|
29
|
+
: url.length > 0
|
|
30
|
+
? <FaCheck className="w-3.5 h-3.5 text-green-500" />
|
|
31
|
+
: undefined,
|
|
32
|
+
}}
|
|
33
|
+
/>
|
|
34
|
+
</Flex>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { Input, Flex } from "ui-lab-components";
|
|
5
|
+
|
|
6
|
+
export const metadata = {
|
|
7
|
+
title: "Quantity",
|
|
8
|
+
description: "Number input with native spin controls for selecting a bounded quantity.",
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default function Example() {
|
|
12
|
+
const [qty, setQty] = useState(1);
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<Flex direction="column" gap="sm" style={{ width: 200 }}>
|
|
16
|
+
<Input
|
|
17
|
+
type="number"
|
|
18
|
+
placeholder="Qty"
|
|
19
|
+
value={qty}
|
|
20
|
+
min={1}
|
|
21
|
+
max={99}
|
|
22
|
+
onChange={(e) => setQty(Number(e.target.value))}
|
|
23
|
+
/>
|
|
24
|
+
</Flex>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
@@ -2,3 +2,15 @@ export { default as Example1 } from './01-basic-input.js';
|
|
|
2
2
|
export { metadata as metadata1 } from './01-basic-input.js';
|
|
3
3
|
export { default as Example2 } from './02-validation.js';
|
|
4
4
|
export { metadata as metadata2 } from './02-validation.js';
|
|
5
|
+
export { default as Example3 } from './03-sign-in.js';
|
|
6
|
+
export { metadata as metadata3 } from './03-sign-in.js';
|
|
7
|
+
export { default as Example4 } from './04-search.js';
|
|
8
|
+
export { metadata as metadata4 } from './04-search.js';
|
|
9
|
+
export { default as Example5 } from './05-user-handle.js';
|
|
10
|
+
export { metadata as metadata5 } from './05-user-handle.js';
|
|
11
|
+
export { default as Example6 } from './06-api-key.js';
|
|
12
|
+
export { metadata as metadata6 } from './06-api-key.js';
|
|
13
|
+
export { default as Example7 } from './07-url-validation.js';
|
|
14
|
+
export { metadata as metadata7 } from './07-url-validation.js';
|
|
15
|
+
export { default as Example8 } from './08-quantity.js';
|
|
16
|
+
export { metadata as metadata8 } from './08-quantity.js';
|
|
@@ -8,5 +8,35 @@
|
|
|
8
8
|
"title": "Validation States",
|
|
9
9
|
"description": "Input fields with error and success validation states, including helper text for user feedback.",
|
|
10
10
|
"code": "import React from 'react';\nimport { Input, Label } from 'ui-lab-components';\nimport { FaCircleExclamation, FaCircleCheck } from 'react-icons/fa6';\n\nexport default function Example() {\n return (\n <div className=\"flex flex-col gap-6 w-full max-w-sm\">\n {/* Error State */}\n <div className=\"flex flex-col gap-1.5\">\n <Label error helperText=\"Please enter a valid email address\" helperTextError>\n Email\n </Label>\n <Input\n type=\"email\"\n placeholder=\"Enter your email\"\n error\n defaultValue=\"invalid-email\"\n icon={{ suffix: <FaCircleExclamation className=\"text-danger-600\" size={14} /> }}\n />\n </div>\n\n {/* Success State */}\n <div className=\"flex flex-col gap-1.5\">\n <Label helperText=\"Email address is available\">\n Email\n </Label>\n <Input\n type=\"email\"\n placeholder=\"Enter your email\"\n defaultValue=\"user@example.com\"\n icon={{ suffix: <FaCircleCheck className=\"text-success-600\" size={14} /> }}\n className=\"border-success-600 focus:border-success-600\"\n />\n </div>\n\n {/* Default State with Helper Text */}\n <div className=\"flex flex-col gap-1.5\">\n <Label required helperText=\"We'll never share your email with anyone else.\">\n Email\n </Label>\n <Input\n type=\"email\"\n placeholder=\"Enter your email\"\n />\n </div>\n </div>\n );\n}"
|
|
11
|
+
},
|
|
12
|
+
"03-sign-in": {
|
|
13
|
+
"title": "Sign In Form",
|
|
14
|
+
"description": "Email and password fields with a password visibility toggle — a common authentication pattern.",
|
|
15
|
+
"code": "\"use client\";\n\nimport { useState } from \"react\";\nimport { Input, Flex, Button } from \"ui-lab-components\";\nimport { FaEnvelope, FaLock, FaEye, FaEyeSlash } from \"react-icons/fa6\";\n\nexport default function Example() {\n const [showPassword, setShowPassword] = useState(false);\n\n return (\n <Flex direction=\"column\" gap=\"sm\" style={{ width: 320 }}>\n <Input\n type=\"email\"\n icon={<FaEnvelope className=\"w-3.5 h-3.5 text-foreground-400\" />}\n placeholder=\"Email address\"\n autoComplete=\"email\"\n />\n <Input\n type={showPassword ? \"text\" : \"password\"}\n icon={<FaLock className=\"w-3.5 h-3.5 text-foreground-400\" />}\n placeholder=\"Password\"\n autoComplete=\"current-password\"\n actions={[\n {\n icon: showPassword\n ? <FaEyeSlash className=\"w-3.5 h-3.5\" />\n : <FaEye className=\"w-3.5 h-3.5\" />,\n title: showPassword ? \"Hide password\" : \"Show password\",\n onClick: () => setShowPassword((v) => !v),\n },\n ]}\n />\n <Button variant=\"primary\" className=\"w-full mt-1\">Sign in</Button>\n </Flex>\n );\n}"
|
|
16
|
+
},
|
|
17
|
+
"04-search": {
|
|
18
|
+
"title": "Search",
|
|
19
|
+
"description": "Search input with a keyboard shortcut hint that switches to a clear action once the user types.",
|
|
20
|
+
"code": "\"use client\";\n\nimport { useState } from \"react\";\nimport { Input, Flex, Badge } from \"ui-lab-components\";\nimport { FaMagnifyingGlass, FaXmark } from \"react-icons/fa6\";\n\nexport default function Example() {\n const [query, setQuery] = useState(\"\");\n\n return (\n <Flex direction=\"column\" gap=\"sm\" style={{ width: 340 }}>\n <Input\n icon={<FaMagnifyingGlass className=\"w-3.5 h-3.5 text-foreground-400\" />}\n placeholder=\"Search components...\"\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n hint={!query ? <Badge>⌘K</Badge> : undefined}\n actions={\n query\n ? [{ icon: <FaXmark className=\"w-3.5 h-3.5\" />, title: \"Clear\", onClick: () => setQuery(\"\") }]\n : []\n }\n />\n </Flex>\n );\n}"
|
|
21
|
+
},
|
|
22
|
+
"05-user-handle": {
|
|
23
|
+
"title": "User Handle",
|
|
24
|
+
"description": "Editable username field with an inline copy action.",
|
|
25
|
+
"code": "\"use client\";\n\nimport { useState } from \"react\";\nimport { Input, Flex } from \"ui-lab-components\";\nimport { FaAt, FaCopy, FaCheck } from \"react-icons/fa6\";\n\nexport default function Example() {\n const [handle, setHandle] = useState(\"kyza\");\n const [copied, setCopied] = useState(false);\n\n const handleCopy = () => {\n setCopied(true);\n setTimeout(() => setCopied(false), 1500);\n };\n\n return (\n <Flex direction=\"column\" gap=\"sm\" style={{ width: 320 }}>\n <Input\n icon={<FaAt className=\"w-3.5 h-3.5 text-foreground-400\" />}\n placeholder=\"username\"\n value={handle}\n onChange={(e) => setHandle(e.target.value)}\n actions={[\n {\n icon: copied\n ? <FaCheck className=\"w-3.5 h-3.5 text-green-500\" />\n : <FaCopy className=\"w-3.5 h-3.5\" />,\n title: copied ? \"Copied!\" : \"Copy handle\",\n onClick: handleCopy,\n },\n ]}\n />\n </Flex>\n );\n}"
|
|
26
|
+
},
|
|
27
|
+
"06-api-key": {
|
|
28
|
+
"title": "API Key",
|
|
29
|
+
"description": "Read-only secret field with reveal and copy actions — suitable for credentials and tokens.",
|
|
30
|
+
"code": "\"use client\";\n\nimport { useState } from \"react\";\nimport { Input, Flex } from \"ui-lab-components\";\nimport { FaKey, FaEye, FaEyeSlash, FaCopy, FaCheck } from \"react-icons/fa6\";\n\nexport default function Example() {\n const [revealed, setRevealed] = useState(false);\n const [copied, setCopied] = useState(false);\n const key = \"sk-proj-a8f2c1d9e4b7\";\n\n const handleCopy = () => {\n setCopied(true);\n setTimeout(() => setCopied(false), 1500);\n };\n\n return (\n <Flex direction=\"column\" gap=\"sm\" style={{ width: 360 }}>\n <Input\n type={revealed ? \"text\" : \"password\"}\n icon={<FaKey className=\"w-3.5 h-3.5 text-foreground-400\" />}\n value={key}\n readOnly\n actions={[\n {\n icon: revealed\n ? <FaEyeSlash className=\"w-3.5 h-3.5\" />\n : <FaEye className=\"w-3.5 h-3.5\" />,\n title: revealed ? \"Hide key\" : \"Reveal key\",\n onClick: () => setRevealed((v) => !v),\n },\n {\n icon: copied\n ? <FaCheck className=\"w-3.5 h-3.5 text-green-500\" />\n : <FaCopy className=\"w-3.5 h-3.5\" />,\n title: copied ? \"Copied!\" : \"Copy key\",\n onClick: handleCopy,\n },\n ]}\n />\n </Flex>\n );\n}"
|
|
31
|
+
},
|
|
32
|
+
"07-url-validation": {
|
|
33
|
+
"title": "URL with Validation",
|
|
34
|
+
"description": "URL field that shows a success or error icon in the suffix slot based on the input value.",
|
|
35
|
+
"code": "\"use client\";\n\nimport { useState } from \"react\";\nimport { Input, Flex } from \"ui-lab-components\";\nimport { FaLink, FaCircleExclamation, FaCheck } from \"react-icons/fa6\";\n\nexport default function Example() {\n const [url, setUrl] = useState(\"\");\n\n const isValid = url.length === 0 || /^https?:\\/\\/.+\\..+/.test(url);\n const showError = url.length > 0 && !isValid;\n\n return (\n <Flex direction=\"column\" gap=\"sm\" style={{ width: 340 }}>\n <Input\n placeholder=\"https://example.com\"\n value={url}\n onChange={(e) => setUrl(e.target.value)}\n error={showError}\n icon={{\n prefix: <FaLink className=\"w-3.5 h-3.5 text-foreground-400\" />,\n suffix: showError\n ? <FaCircleExclamation className=\"w-3.5 h-3.5 text-red-500\" />\n : url.length > 0\n ? <FaCheck className=\"w-3.5 h-3.5 text-green-500\" />\n : undefined,\n }}\n />\n </Flex>\n );\n}"
|
|
36
|
+
},
|
|
37
|
+
"08-quantity": {
|
|
38
|
+
"title": "Quantity",
|
|
39
|
+
"description": "Number input with native spin controls for selecting a bounded quantity.",
|
|
40
|
+
"code": "\"use client\";\n\nimport { useState } from \"react\";\nimport { Input, Flex } from \"ui-lab-components\";\n\nexport default function Example() {\n const [qty, setQty] = useState(1);\n\n return (\n <Flex direction=\"column\" gap=\"sm\" style={{ width: 200 }}>\n <Input\n type=\"number\"\n placeholder=\"Qty\"\n value={qty}\n min={1}\n max={99}\n onChange={(e) => setQty(Number(e.target.value))}\n />\n </Flex>\n );\n}"
|
|
11
41
|
}
|
|
12
42
|
}
|
|
@@ -3,12 +3,24 @@ import { Input } from 'ui-lab-components';
|
|
|
3
3
|
import { ControlDef, ComponentDetail } from '@/types';
|
|
4
4
|
import Example1, { metadata as metadata1 } from './examples/01-basic-input.js';
|
|
5
5
|
import Example2, { metadata as metadata2 } from './examples/02-validation.js';
|
|
6
|
+
import Example3, { metadata as metadata3 } from './examples/03-sign-in.js';
|
|
7
|
+
import Example4, { metadata as metadata4 } from './examples/04-search.js';
|
|
8
|
+
import Example5, { metadata as metadata5 } from './examples/05-user-handle.js';
|
|
9
|
+
import Example6, { metadata as metadata6 } from './examples/06-api-key.js';
|
|
10
|
+
import Example7, { metadata as metadata7 } from './examples/07-url-validation.js';
|
|
11
|
+
import Example8, { metadata as metadata8 } from './examples/08-quantity.js';
|
|
6
12
|
import examplesJson from './examples.json' with { type: 'json' };
|
|
7
13
|
import { loadComponentExamples } from '../../utils/load-component-examples.js';
|
|
8
14
|
|
|
9
15
|
const examplesData = [
|
|
10
16
|
{ id: '01-basic-input', Component: Example1, metadata: metadata1 },
|
|
11
17
|
{ id: '02-validation', Component: Example2, metadata: metadata2 },
|
|
18
|
+
{ id: '03-sign-in', Component: Example3, metadata: metadata3 },
|
|
19
|
+
{ id: '04-search', Component: Example4, metadata: metadata4 },
|
|
20
|
+
{ id: '05-user-handle', Component: Example5, metadata: metadata5 },
|
|
21
|
+
{ id: '06-api-key', Component: Example6, metadata: metadata6 },
|
|
22
|
+
{ id: '07-url-validation', Component: Example7, metadata: metadata7 },
|
|
23
|
+
{ id: '08-quantity', Component: Example8, metadata: metadata8 },
|
|
12
24
|
];
|
|
13
25
|
|
|
14
26
|
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { List } from "ui-lab-components";
|
|
5
|
+
|
|
6
|
+
export const metadata = {
|
|
7
|
+
title: "Review Queue",
|
|
8
|
+
description: "A compact checklist for work that can be completed directly from each row.",
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const reviewItems = [
|
|
12
|
+
{ id: "legal", title: "Legal review", desc: "Updated retention language" },
|
|
13
|
+
{ id: "security", title: "Security review", desc: "New access scopes" },
|
|
14
|
+
{ id: "billing", title: "Billing review", desc: "Invoice copy changes" },
|
|
15
|
+
];
|
|
16
|
+
|
|
17
|
+
export default function Example() {
|
|
18
|
+
const [checked, setChecked] = useState(() => new Set(["legal"]));
|
|
19
|
+
|
|
20
|
+
const setItem = (id: string, value: boolean) => {
|
|
21
|
+
setChecked((current) => {
|
|
22
|
+
const next = new Set(current);
|
|
23
|
+
value ? next.add(id) : next.delete(id);
|
|
24
|
+
return next;
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const toggleItem = (id: string) => {
|
|
29
|
+
setChecked((current) => {
|
|
30
|
+
const next = new Set(current);
|
|
31
|
+
next.has(id) ? next.delete(id) : next.add(id);
|
|
32
|
+
return next;
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
return (
|
|
37
|
+
<List items={reviewItems} spacing="sm" style={{ width: 320 }}>
|
|
38
|
+
{reviewItems.map((item) => (
|
|
39
|
+
<List.Item key={item.id} value={item.id} interactive onClick={() => toggleItem(item.id)}>
|
|
40
|
+
<List.Checkbox
|
|
41
|
+
aria-label={`Mark ${item.title} reviewed`}
|
|
42
|
+
placement="start"
|
|
43
|
+
checked={checked.has(item.id)}
|
|
44
|
+
onCheckedChange={(value) => setItem(item.id, value)}
|
|
45
|
+
/>
|
|
46
|
+
<div className="min-w-0 flex-1">
|
|
47
|
+
<List.Title>{item.title}</List.Title>
|
|
48
|
+
<List.Desc>{item.desc}</List.Desc>
|
|
49
|
+
</div>
|
|
50
|
+
</List.Item>
|
|
51
|
+
))}
|
|
52
|
+
</List>
|
|
53
|
+
);
|
|
54
|
+
}
|