@rookcom/monarch-react 0.0.0-stage → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +51 -0
- package/README.md +4 -2
- package/dist/components/actions/button/button.d.ts +40 -0
- package/dist/components/actions/button/button.d.ts.map +1 -0
- package/dist/components/actions/button/button.js +69 -0
- package/dist/components/actions/button/button.js.map +1 -0
- package/dist/components/actions/button/index.d.ts +2 -0
- package/dist/components/actions/button/index.d.ts.map +1 -0
- package/dist/components/actions/button/index.js +2 -0
- package/dist/components/actions/button/index.js.map +1 -0
- package/dist/components/actions/copy-button/copy-button.d.ts +71 -0
- package/dist/components/actions/copy-button/copy-button.d.ts.map +1 -0
- package/dist/components/actions/copy-button/copy-button.js +150 -0
- package/dist/components/actions/copy-button/copy-button.js.map +1 -0
- package/dist/components/actions/copy-button/index.d.ts +2 -0
- package/dist/components/actions/copy-button/index.d.ts.map +1 -0
- package/dist/components/actions/copy-button/index.js +2 -0
- package/dist/components/actions/copy-button/index.js.map +1 -0
- package/dist/components/actions/copy-field/copy-field.d.ts +47 -0
- package/dist/components/actions/copy-field/copy-field.d.ts.map +1 -0
- package/dist/components/actions/copy-field/copy-field.js +37 -0
- package/dist/components/actions/copy-field/copy-field.js.map +1 -0
- package/dist/components/actions/copy-field/index.d.ts +2 -0
- package/dist/components/actions/copy-field/index.d.ts.map +1 -0
- package/dist/components/actions/copy-field/index.js +2 -0
- package/dist/components/actions/copy-field/index.js.map +1 -0
- package/dist/components/billing/money/index.d.ts +2 -0
- package/dist/components/billing/money/index.d.ts.map +1 -0
- package/dist/components/billing/money/index.js +2 -0
- package/dist/components/billing/money/index.js.map +1 -0
- package/dist/components/billing/money/money.d.ts +44 -0
- package/dist/components/billing/money/money.d.ts.map +1 -0
- package/dist/components/billing/money/money.js +75 -0
- package/dist/components/billing/money/money.js.map +1 -0
- package/dist/components/data-display/accordion/accordion.d.ts +17 -0
- package/dist/components/data-display/accordion/accordion.d.ts.map +1 -0
- package/dist/components/data-display/accordion/accordion.js +23 -0
- package/dist/components/data-display/accordion/accordion.js.map +1 -0
- package/dist/components/data-display/accordion/index.d.ts +2 -0
- package/dist/components/data-display/accordion/index.d.ts.map +1 -0
- package/dist/components/data-display/accordion/index.js +2 -0
- package/dist/components/data-display/accordion/index.js.map +1 -0
- package/dist/components/data-display/badge/badge.d.ts +13 -0
- package/dist/components/data-display/badge/badge.d.ts.map +1 -0
- package/dist/components/data-display/badge/badge.js +7 -0
- package/dist/components/data-display/badge/badge.js.map +1 -0
- package/dist/components/data-display/badge/index.d.ts +2 -0
- package/dist/components/data-display/badge/index.d.ts.map +1 -0
- package/dist/components/data-display/badge/index.js +2 -0
- package/dist/components/data-display/badge/index.js.map +1 -0
- package/dist/components/data-display/card/card.d.ts +18 -0
- package/dist/components/data-display/card/card.d.ts.map +1 -0
- package/dist/components/data-display/card/card.js +21 -0
- package/dist/components/data-display/card/card.js.map +1 -0
- package/dist/components/data-display/card/index.d.ts +2 -0
- package/dist/components/data-display/card/index.d.ts.map +1 -0
- package/dist/components/data-display/card/index.js +2 -0
- package/dist/components/data-display/card/index.js.map +1 -0
- package/dist/components/data-display/description-list/description-list.d.ts +17 -0
- package/dist/components/data-display/description-list/description-list.d.ts.map +1 -0
- package/dist/components/data-display/description-list/description-list.js +10 -0
- package/dist/components/data-display/description-list/description-list.js.map +1 -0
- package/dist/components/data-display/description-list/index.d.ts +2 -0
- package/dist/components/data-display/description-list/index.d.ts.map +1 -0
- package/dist/components/data-display/description-list/index.js +2 -0
- package/dist/components/data-display/description-list/index.js.map +1 -0
- package/dist/components/data-display/progress-bar/index.d.ts +2 -0
- package/dist/components/data-display/progress-bar/index.d.ts.map +1 -0
- package/dist/components/data-display/progress-bar/index.js +2 -0
- package/dist/components/data-display/progress-bar/index.js.map +1 -0
- package/dist/components/data-display/progress-bar/progress-bar.d.ts +57 -0
- package/dist/components/data-display/progress-bar/progress-bar.d.ts.map +1 -0
- package/dist/components/data-display/progress-bar/progress-bar.js +57 -0
- package/dist/components/data-display/progress-bar/progress-bar.js.map +1 -0
- package/dist/components/data-display/relative-time/index.d.ts +2 -0
- package/dist/components/data-display/relative-time/index.d.ts.map +1 -0
- package/dist/components/data-display/relative-time/index.js +2 -0
- package/dist/components/data-display/relative-time/index.js.map +1 -0
- package/dist/components/data-display/relative-time/relative-time.d.ts +66 -0
- package/dist/components/data-display/relative-time/relative-time.d.ts.map +1 -0
- package/dist/components/data-display/relative-time/relative-time.js +102 -0
- package/dist/components/data-display/relative-time/relative-time.js.map +1 -0
- package/dist/components/data-display/stat-card/index.d.ts +2 -0
- package/dist/components/data-display/stat-card/index.d.ts.map +1 -0
- package/dist/components/data-display/stat-card/index.js +2 -0
- package/dist/components/data-display/stat-card/index.js.map +1 -0
- package/dist/components/data-display/stat-card/stat-card.d.ts +19 -0
- package/dist/components/data-display/stat-card/stat-card.d.ts.map +1 -0
- package/dist/components/data-display/stat-card/stat-card.js +11 -0
- package/dist/components/data-display/stat-card/stat-card.js.map +1 -0
- package/dist/components/data-display/status-badge/index.d.ts +2 -0
- package/dist/components/data-display/status-badge/index.d.ts.map +1 -0
- package/dist/components/data-display/status-badge/index.js +2 -0
- package/dist/components/data-display/status-badge/index.js.map +1 -0
- package/dist/components/data-display/status-badge/status-badge.d.ts +169 -0
- package/dist/components/data-display/status-badge/status-badge.d.ts.map +1 -0
- package/dist/components/data-display/status-badge/status-badge.js +139 -0
- package/dist/components/data-display/status-badge/status-badge.js.map +1 -0
- package/dist/components/data-grid/data-table/data-table.d.ts +53 -0
- package/dist/components/data-grid/data-table/data-table.d.ts.map +1 -0
- package/dist/components/data-grid/data-table/data-table.js +47 -0
- package/dist/components/data-grid/data-table/data-table.js.map +1 -0
- package/dist/components/data-grid/data-table/index.d.ts +2 -0
- package/dist/components/data-grid/data-table/index.d.ts.map +1 -0
- package/dist/components/data-grid/data-table/index.js +2 -0
- package/dist/components/data-grid/data-table/index.js.map +1 -0
- package/dist/components/data-grid/load-more/index.d.ts +2 -0
- package/dist/components/data-grid/load-more/index.d.ts.map +1 -0
- package/dist/components/data-grid/load-more/index.js +2 -0
- package/dist/components/data-grid/load-more/index.js.map +1 -0
- package/dist/components/data-grid/load-more/load-more.d.ts +97 -0
- package/dist/components/data-grid/load-more/load-more.d.ts.map +1 -0
- package/dist/components/data-grid/load-more/load-more.js +184 -0
- package/dist/components/data-grid/load-more/load-more.js.map +1 -0
- package/dist/components/feedback/alert/alert.d.ts +17 -0
- package/dist/components/feedback/alert/alert.d.ts.map +1 -0
- package/dist/components/feedback/alert/alert.js +17 -0
- package/dist/components/feedback/alert/alert.js.map +1 -0
- package/dist/components/feedback/alert/index.d.ts +2 -0
- package/dist/components/feedback/alert/index.d.ts.map +1 -0
- package/dist/components/feedback/alert/index.js +2 -0
- package/dist/components/feedback/alert/index.js.map +1 -0
- package/dist/components/feedback/callout-banner/callout-banner.d.ts +66 -0
- package/dist/components/feedback/callout-banner/callout-banner.d.ts.map +1 -0
- package/dist/components/feedback/callout-banner/callout-banner.js +35 -0
- package/dist/components/feedback/callout-banner/callout-banner.js.map +1 -0
- package/dist/components/feedback/callout-banner/index.d.ts +2 -0
- package/dist/components/feedback/callout-banner/index.d.ts.map +1 -0
- package/dist/components/feedback/callout-banner/index.js +2 -0
- package/dist/components/feedback/callout-banner/index.js.map +1 -0
- package/dist/components/feedback/empty-state/empty-state.d.ts +59 -0
- package/dist/components/feedback/empty-state/empty-state.d.ts.map +1 -0
- package/dist/components/feedback/empty-state/empty-state.js +16 -0
- package/dist/components/feedback/empty-state/empty-state.js.map +1 -0
- package/dist/components/feedback/empty-state/index.d.ts +2 -0
- package/dist/components/feedback/empty-state/index.d.ts.map +1 -0
- package/dist/components/feedback/empty-state/index.js +2 -0
- package/dist/components/feedback/empty-state/index.js.map +1 -0
- package/dist/components/feedback/error-page/error-page.d.ts +66 -0
- package/dist/components/feedback/error-page/error-page.d.ts.map +1 -0
- package/dist/components/feedback/error-page/error-page.js +43 -0
- package/dist/components/feedback/error-page/error-page.js.map +1 -0
- package/dist/components/feedback/error-page/index.d.ts +2 -0
- package/dist/components/feedback/error-page/index.d.ts.map +1 -0
- package/dist/components/feedback/error-page/index.js +2 -0
- package/dist/components/feedback/error-page/index.js.map +1 -0
- package/dist/components/feedback/error-state/error-state.boundary.d.ts +45 -0
- package/dist/components/feedback/error-state/error-state.boundary.d.ts.map +1 -0
- package/dist/components/feedback/error-state/error-state.boundary.js +40 -0
- package/dist/components/feedback/error-state/error-state.boundary.js.map +1 -0
- package/dist/components/feedback/error-state/error-state.d.ts +51 -0
- package/dist/components/feedback/error-state/error-state.d.ts.map +1 -0
- package/dist/components/feedback/error-state/error-state.js +47 -0
- package/dist/components/feedback/error-state/error-state.js.map +1 -0
- package/dist/components/feedback/error-state/index.d.ts +3 -0
- package/dist/components/feedback/error-state/index.d.ts.map +1 -0
- package/dist/components/feedback/error-state/index.js +3 -0
- package/dist/components/feedback/error-state/index.js.map +1 -0
- package/dist/components/feedback/inline-error-retry/index.d.ts +2 -0
- package/dist/components/feedback/inline-error-retry/index.d.ts.map +1 -0
- package/dist/components/feedback/inline-error-retry/index.js +2 -0
- package/dist/components/feedback/inline-error-retry/index.js.map +1 -0
- package/dist/components/feedback/inline-error-retry/inline-error-retry.d.ts +41 -0
- package/dist/components/feedback/inline-error-retry/inline-error-retry.d.ts.map +1 -0
- package/dist/components/feedback/inline-error-retry/inline-error-retry.js +75 -0
- package/dist/components/feedback/inline-error-retry/inline-error-retry.js.map +1 -0
- package/dist/components/feedback/inline-notice/index.d.ts +2 -0
- package/dist/components/feedback/inline-notice/index.d.ts.map +1 -0
- package/dist/components/feedback/inline-notice/index.js +2 -0
- package/dist/components/feedback/inline-notice/index.js.map +1 -0
- package/dist/components/feedback/inline-notice/inline-notice.d.ts +40 -0
- package/dist/components/feedback/inline-notice/inline-notice.d.ts.map +1 -0
- package/dist/components/feedback/inline-notice/inline-notice.js +29 -0
- package/dist/components/feedback/inline-notice/inline-notice.js.map +1 -0
- package/dist/components/feedback/loading-state/index.d.ts +2 -0
- package/dist/components/feedback/loading-state/index.d.ts.map +1 -0
- package/dist/components/feedback/loading-state/index.js +2 -0
- package/dist/components/feedback/loading-state/index.js.map +1 -0
- package/dist/components/feedback/loading-state/loading-state.d.ts +17 -0
- package/dist/components/feedback/loading-state/loading-state.d.ts.map +1 -0
- package/dist/components/feedback/loading-state/loading-state.js +12 -0
- package/dist/components/feedback/loading-state/loading-state.js.map +1 -0
- package/dist/components/feedback/skeleton/index.d.ts +2 -0
- package/dist/components/feedback/skeleton/index.d.ts.map +1 -0
- package/dist/components/feedback/skeleton/index.js +2 -0
- package/dist/components/feedback/skeleton/index.js.map +1 -0
- package/dist/components/feedback/skeleton/skeleton.d.ts +12 -0
- package/dist/components/feedback/skeleton/skeleton.d.ts.map +1 -0
- package/dist/components/feedback/skeleton/skeleton.js +10 -0
- package/dist/components/feedback/skeleton/skeleton.js.map +1 -0
- package/dist/components/feedback/spinner/index.d.ts +2 -0
- package/dist/components/feedback/spinner/index.d.ts.map +1 -0
- package/dist/components/feedback/spinner/index.js +2 -0
- package/dist/components/feedback/spinner/index.js.map +1 -0
- package/dist/components/feedback/spinner/spinner.d.ts +12 -0
- package/dist/components/feedback/spinner/spinner.d.ts.map +1 -0
- package/dist/components/feedback/spinner/spinner.js +10 -0
- package/dist/components/feedback/spinner/spinner.js.map +1 -0
- package/dist/components/feedback/toast/index.d.ts +2 -0
- package/dist/components/feedback/toast/index.d.ts.map +1 -0
- package/dist/components/feedback/toast/index.js +2 -0
- package/dist/components/feedback/toast/index.js.map +1 -0
- package/dist/components/feedback/toast/toast.d.ts +109 -0
- package/dist/components/feedback/toast/toast.d.ts.map +1 -0
- package/dist/components/feedback/toast/toast.js +187 -0
- package/dist/components/feedback/toast/toast.js.map +1 -0
- package/dist/components/forms/checkbox/checkbox.d.ts +15 -0
- package/dist/components/forms/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/forms/checkbox/checkbox.js +23 -0
- package/dist/components/forms/checkbox/checkbox.js.map +1 -0
- package/dist/components/forms/checkbox/index.d.ts +2 -0
- package/dist/components/forms/checkbox/index.d.ts.map +1 -0
- package/dist/components/forms/checkbox/index.js +2 -0
- package/dist/components/forms/checkbox/index.js.map +1 -0
- package/dist/components/forms/combobox/combobox.d.ts +35 -0
- package/dist/components/forms/combobox/combobox.d.ts.map +1 -0
- package/dist/components/forms/combobox/combobox.js +152 -0
- package/dist/components/forms/combobox/combobox.js.map +1 -0
- package/dist/components/forms/combobox/index.d.ts +2 -0
- package/dist/components/forms/combobox/index.d.ts.map +1 -0
- package/dist/components/forms/combobox/index.js +2 -0
- package/dist/components/forms/combobox/index.js.map +1 -0
- package/dist/components/forms/form-field/form-field.d.ts +104 -0
- package/dist/components/forms/form-field/form-field.d.ts.map +1 -0
- package/dist/components/forms/form-field/form-field.js +114 -0
- package/dist/components/forms/form-field/form-field.js.map +1 -0
- package/dist/components/forms/form-field/index.d.ts +2 -0
- package/dist/components/forms/form-field/index.d.ts.map +1 -0
- package/dist/components/forms/form-field/index.js +2 -0
- package/dist/components/forms/form-field/index.js.map +1 -0
- package/dist/components/forms/inline-edit-text/index.d.ts +2 -0
- package/dist/components/forms/inline-edit-text/index.d.ts.map +1 -0
- package/dist/components/forms/inline-edit-text/index.js +2 -0
- package/dist/components/forms/inline-edit-text/index.js.map +1 -0
- package/dist/components/forms/inline-edit-text/inline-edit-text.d.ts +63 -0
- package/dist/components/forms/inline-edit-text/inline-edit-text.d.ts.map +1 -0
- package/dist/components/forms/inline-edit-text/inline-edit-text.js +175 -0
- package/dist/components/forms/inline-edit-text/inline-edit-text.js.map +1 -0
- package/dist/components/forms/otp-pin-input/index.d.ts +2 -0
- package/dist/components/forms/otp-pin-input/index.d.ts.map +1 -0
- package/dist/components/forms/otp-pin-input/index.js +2 -0
- package/dist/components/forms/otp-pin-input/index.js.map +1 -0
- package/dist/components/forms/otp-pin-input/otp-pin-input.d.ts +32 -0
- package/dist/components/forms/otp-pin-input/otp-pin-input.d.ts.map +1 -0
- package/dist/components/forms/otp-pin-input/otp-pin-input.js +73 -0
- package/dist/components/forms/otp-pin-input/otp-pin-input.js.map +1 -0
- package/dist/components/forms/segmented-control/index.d.ts +2 -0
- package/dist/components/forms/segmented-control/index.d.ts.map +1 -0
- package/dist/components/forms/segmented-control/index.js +2 -0
- package/dist/components/forms/segmented-control/index.js.map +1 -0
- package/dist/components/forms/segmented-control/segmented-control.d.ts +62 -0
- package/dist/components/forms/segmented-control/segmented-control.d.ts.map +1 -0
- package/dist/components/forms/segmented-control/segmented-control.js +139 -0
- package/dist/components/forms/segmented-control/segmented-control.js.map +1 -0
- package/dist/components/forms/select/index.d.ts +2 -0
- package/dist/components/forms/select/index.d.ts.map +1 -0
- package/dist/components/forms/select/index.js +2 -0
- package/dist/components/forms/select/index.js.map +1 -0
- package/dist/components/forms/select/select.d.ts +27 -0
- package/dist/components/forms/select/select.d.ts.map +1 -0
- package/dist/components/forms/select/select.js +39 -0
- package/dist/components/forms/select/select.js.map +1 -0
- package/dist/components/forms/switch/index.d.ts +2 -0
- package/dist/components/forms/switch/index.d.ts.map +1 -0
- package/dist/components/forms/switch/index.js +2 -0
- package/dist/components/forms/switch/index.js.map +1 -0
- package/dist/components/forms/switch/switch.d.ts +13 -0
- package/dist/components/forms/switch/switch.d.ts.map +1 -0
- package/dist/components/forms/switch/switch.js +21 -0
- package/dist/components/forms/switch/switch.js.map +1 -0
- package/dist/components/forms/switch-settings-list/index.d.ts +2 -0
- package/dist/components/forms/switch-settings-list/index.d.ts.map +1 -0
- package/dist/components/forms/switch-settings-list/index.js +2 -0
- package/dist/components/forms/switch-settings-list/index.js.map +1 -0
- package/dist/components/forms/switch-settings-list/switch-settings-list.d.ts +58 -0
- package/dist/components/forms/switch-settings-list/switch-settings-list.d.ts.map +1 -0
- package/dist/components/forms/switch-settings-list/switch-settings-list.js +123 -0
- package/dist/components/forms/switch-settings-list/switch-settings-list.js.map +1 -0
- package/dist/components/forms/tag-input/index.d.ts +2 -0
- package/dist/components/forms/tag-input/index.d.ts.map +1 -0
- package/dist/components/forms/tag-input/index.js +2 -0
- package/dist/components/forms/tag-input/index.js.map +1 -0
- package/dist/components/forms/tag-input/tag-input.d.ts +60 -0
- package/dist/components/forms/tag-input/tag-input.d.ts.map +1 -0
- package/dist/components/forms/tag-input/tag-input.js +258 -0
- package/dist/components/forms/tag-input/tag-input.js.map +1 -0
- package/dist/components/forms/text-field/index.d.ts +2 -0
- package/dist/components/forms/text-field/index.d.ts.map +1 -0
- package/dist/components/forms/text-field/index.js +2 -0
- package/dist/components/forms/text-field/index.js.map +1 -0
- package/dist/components/forms/text-field/text-field.d.ts +15 -0
- package/dist/components/forms/text-field/text-field.d.ts.map +1 -0
- package/dist/components/forms/text-field/text-field.js +14 -0
- package/dist/components/forms/text-field/text-field.js.map +1 -0
- package/dist/components/geo/location-fields/index.d.ts +2 -0
- package/dist/components/geo/location-fields/index.d.ts.map +1 -0
- package/dist/components/geo/location-fields/index.js +2 -0
- package/dist/components/geo/location-fields/index.js.map +1 -0
- package/dist/components/geo/location-fields/location-fields.d.ts +104 -0
- package/dist/components/geo/location-fields/location-fields.d.ts.map +1 -0
- package/dist/components/geo/location-fields/location-fields.js +248 -0
- package/dist/components/geo/location-fields/location-fields.js.map +1 -0
- package/dist/components/identity/avatar/avatar.d.ts +68 -0
- package/dist/components/identity/avatar/avatar.d.ts.map +1 -0
- package/dist/components/identity/avatar/avatar.js +73 -0
- package/dist/components/identity/avatar/avatar.js.map +1 -0
- package/dist/components/identity/avatar/index.d.ts +2 -0
- package/dist/components/identity/avatar/index.d.ts.map +1 -0
- package/dist/components/identity/avatar/index.js +2 -0
- package/dist/components/identity/avatar/index.js.map +1 -0
- package/dist/components/identity/username-availability-input/index.d.ts +2 -0
- package/dist/components/identity/username-availability-input/index.d.ts.map +1 -0
- package/dist/components/identity/username-availability-input/index.js +2 -0
- package/dist/components/identity/username-availability-input/index.js.map +1 -0
- package/dist/components/identity/username-availability-input/username-availability-input.d.ts +71 -0
- package/dist/components/identity/username-availability-input/username-availability-input.d.ts.map +1 -0
- package/dist/components/identity/username-availability-input/username-availability-input.js +110 -0
- package/dist/components/identity/username-availability-input/username-availability-input.js.map +1 -0
- package/dist/components/layout/section-header/index.d.ts +2 -0
- package/dist/components/layout/section-header/index.d.ts.map +1 -0
- package/dist/components/layout/section-header/index.js +2 -0
- package/dist/components/layout/section-header/index.js.map +1 -0
- package/dist/components/layout/section-header/section-header.d.ts +49 -0
- package/dist/components/layout/section-header/section-header.d.ts.map +1 -0
- package/dist/components/layout/section-header/section-header.js +39 -0
- package/dist/components/layout/section-header/section-header.js.map +1 -0
- package/dist/components/layout/separator/index.d.ts +2 -0
- package/dist/components/layout/separator/index.d.ts.map +1 -0
- package/dist/components/layout/separator/index.js +2 -0
- package/dist/components/layout/separator/index.js.map +1 -0
- package/dist/components/layout/separator/separator.d.ts +4 -0
- package/dist/components/layout/separator/separator.d.ts.map +1 -0
- package/dist/components/layout/separator/separator.js +9 -0
- package/dist/components/layout/separator/separator.js.map +1 -0
- package/dist/components/layout/visually-hidden/index.d.ts +2 -0
- package/dist/components/layout/visually-hidden/index.d.ts.map +1 -0
- package/dist/components/layout/visually-hidden/index.js +2 -0
- package/dist/components/layout/visually-hidden/index.js.map +1 -0
- package/dist/components/layout/visually-hidden/visually-hidden.d.ts +4 -0
- package/dist/components/layout/visually-hidden/visually-hidden.d.ts.map +1 -0
- package/dist/components/layout/visually-hidden/visually-hidden.js +7 -0
- package/dist/components/layout/visually-hidden/visually-hidden.js.map +1 -0
- package/dist/components/navigation/back-link/back-link.d.ts +18 -0
- package/dist/components/navigation/back-link/back-link.d.ts.map +1 -0
- package/dist/components/navigation/back-link/back-link.js +16 -0
- package/dist/components/navigation/back-link/back-link.js.map +1 -0
- package/dist/components/navigation/back-link/index.d.ts +2 -0
- package/dist/components/navigation/back-link/index.d.ts.map +1 -0
- package/dist/components/navigation/back-link/index.js +2 -0
- package/dist/components/navigation/back-link/index.js.map +1 -0
- package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +19 -0
- package/dist/components/navigation/breadcrumb/breadcrumb.d.ts.map +1 -0
- package/dist/components/navigation/breadcrumb/breadcrumb.js +19 -0
- package/dist/components/navigation/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/components/navigation/breadcrumb/index.d.ts +2 -0
- package/dist/components/navigation/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/navigation/breadcrumb/index.js +2 -0
- package/dist/components/navigation/breadcrumb/index.js.map +1 -0
- package/dist/components/navigation/link/index.d.ts +2 -0
- package/dist/components/navigation/link/index.d.ts.map +1 -0
- package/dist/components/navigation/link/index.js +2 -0
- package/dist/components/navigation/link/index.js.map +1 -0
- package/dist/components/navigation/link/link.d.ts +13 -0
- package/dist/components/navigation/link/link.d.ts.map +1 -0
- package/dist/components/navigation/link/link.js +18 -0
- package/dist/components/navigation/link/link.js.map +1 -0
- package/dist/components/navigation/pagination/index.d.ts +2 -0
- package/dist/components/navigation/pagination/index.d.ts.map +1 -0
- package/dist/components/navigation/pagination/index.js +2 -0
- package/dist/components/navigation/pagination/index.js.map +1 -0
- package/dist/components/navigation/pagination/pagination.d.ts +18 -0
- package/dist/components/navigation/pagination/pagination.d.ts.map +1 -0
- package/dist/components/navigation/pagination/pagination.js +40 -0
- package/dist/components/navigation/pagination/pagination.js.map +1 -0
- package/dist/components/navigation/tabs/index.d.ts +2 -0
- package/dist/components/navigation/tabs/index.d.ts.map +1 -0
- package/dist/components/navigation/tabs/index.js +2 -0
- package/dist/components/navigation/tabs/index.js.map +1 -0
- package/dist/components/navigation/tabs/tabs.d.ts +121 -0
- package/dist/components/navigation/tabs/tabs.d.ts.map +1 -0
- package/dist/components/navigation/tabs/tabs.js +127 -0
- package/dist/components/navigation/tabs/tabs.js.map +1 -0
- package/dist/components/overlays/confirm-dialog/confirm-dialog.d.ts +107 -0
- package/dist/components/overlays/confirm-dialog/confirm-dialog.d.ts.map +1 -0
- package/dist/components/overlays/confirm-dialog/confirm-dialog.js +186 -0
- package/dist/components/overlays/confirm-dialog/confirm-dialog.js.map +1 -0
- package/dist/components/overlays/confirm-dialog/index.d.ts +2 -0
- package/dist/components/overlays/confirm-dialog/index.d.ts.map +1 -0
- package/dist/components/overlays/confirm-dialog/index.js +2 -0
- package/dist/components/overlays/confirm-dialog/index.js.map +1 -0
- package/dist/components/overlays/dialog/dialog.d.ts +48 -0
- package/dist/components/overlays/dialog/dialog.d.ts.map +1 -0
- package/dist/components/overlays/dialog/dialog.js +35 -0
- package/dist/components/overlays/dialog/dialog.js.map +1 -0
- package/dist/components/overlays/dialog/index.d.ts +2 -0
- package/dist/components/overlays/dialog/index.d.ts.map +1 -0
- package/dist/components/overlays/dialog/index.js +2 -0
- package/dist/components/overlays/dialog/index.js.map +1 -0
- package/dist/components/overlays/dropdown-menu/dropdown-menu.d.ts +24 -0
- package/dist/components/overlays/dropdown-menu/dropdown-menu.d.ts.map +1 -0
- package/dist/components/overlays/dropdown-menu/dropdown-menu.js +41 -0
- package/dist/components/overlays/dropdown-menu/dropdown-menu.js.map +1 -0
- package/dist/components/overlays/dropdown-menu/index.d.ts +2 -0
- package/dist/components/overlays/dropdown-menu/index.d.ts.map +1 -0
- package/dist/components/overlays/dropdown-menu/index.js +2 -0
- package/dist/components/overlays/dropdown-menu/index.js.map +1 -0
- package/dist/components/overlays/popover/index.d.ts +2 -0
- package/dist/components/overlays/popover/index.d.ts.map +1 -0
- package/dist/components/overlays/popover/index.js +2 -0
- package/dist/components/overlays/popover/index.js.map +1 -0
- package/dist/components/overlays/popover/popover.d.ts +8 -0
- package/dist/components/overlays/popover/popover.d.ts.map +1 -0
- package/dist/components/overlays/popover/popover.js +14 -0
- package/dist/components/overlays/popover/popover.js.map +1 -0
- package/dist/components/overlays/responsive-dialog/index.d.ts +2 -0
- package/dist/components/overlays/responsive-dialog/index.d.ts.map +1 -0
- package/dist/components/overlays/responsive-dialog/index.js +2 -0
- package/dist/components/overlays/responsive-dialog/index.js.map +1 -0
- package/dist/components/overlays/responsive-dialog/responsive-dialog.d.ts +25 -0
- package/dist/components/overlays/responsive-dialog/responsive-dialog.d.ts.map +1 -0
- package/dist/components/overlays/responsive-dialog/responsive-dialog.js +22 -0
- package/dist/components/overlays/responsive-dialog/responsive-dialog.js.map +1 -0
- package/dist/components/overlays/sheet/index.d.ts +2 -0
- package/dist/components/overlays/sheet/index.d.ts.map +1 -0
- package/dist/components/overlays/sheet/index.js +2 -0
- package/dist/components/overlays/sheet/index.js.map +1 -0
- package/dist/components/overlays/sheet/sheet.d.ts +53 -0
- package/dist/components/overlays/sheet/sheet.d.ts.map +1 -0
- package/dist/components/overlays/sheet/sheet.js +43 -0
- package/dist/components/overlays/sheet/sheet.js.map +1 -0
- package/dist/components/overlays/tooltip/index.d.ts +2 -0
- package/dist/components/overlays/tooltip/index.d.ts.map +1 -0
- package/dist/components/overlays/tooltip/index.js +2 -0
- package/dist/components/overlays/tooltip/index.js.map +1 -0
- package/dist/components/overlays/tooltip/tooltip.d.ts +20 -0
- package/dist/components/overlays/tooltip/tooltip.d.ts.map +1 -0
- package/dist/components/overlays/tooltip/tooltip.js +12 -0
- package/dist/components/overlays/tooltip/tooltip.js.map +1 -0
- package/dist/components/search/search-input/index.d.ts +2 -0
- package/dist/components/search/search-input/index.d.ts.map +1 -0
- package/dist/components/search/search-input/index.js +2 -0
- package/dist/components/search/search-input/index.js.map +1 -0
- package/dist/components/search/search-input/search-input.d.ts +48 -0
- package/dist/components/search/search-input/search-input.d.ts.map +1 -0
- package/dist/components/search/search-input/search-input.js +140 -0
- package/dist/components/search/search-input/search-input.js.map +1 -0
- package/dist/components/technical/secret-field/index.d.ts +2 -0
- package/dist/components/technical/secret-field/index.d.ts.map +1 -0
- package/dist/components/technical/secret-field/index.js +2 -0
- package/dist/components/technical/secret-field/index.js.map +1 -0
- package/dist/components/technical/secret-field/secret-field.d.ts +38 -0
- package/dist/components/technical/secret-field/secret-field.d.ts.map +1 -0
- package/dist/components/technical/secret-field/secret-field.js +42 -0
- package/dist/components/technical/secret-field/secret-field.js.map +1 -0
- package/dist/components/typography/kbd/index.d.ts +2 -0
- package/dist/components/typography/kbd/index.d.ts.map +1 -0
- package/dist/components/typography/kbd/index.js +2 -0
- package/dist/components/typography/kbd/index.js.map +1 -0
- package/dist/components/typography/kbd/kbd.d.ts +4 -0
- package/dist/components/typography/kbd/kbd.d.ts.map +1 -0
- package/dist/components/typography/kbd/kbd.js +7 -0
- package/dist/components/typography/kbd/kbd.js.map +1 -0
- package/dist/entries/marketing.d.ts +9 -0
- package/dist/entries/marketing.d.ts.map +1 -0
- package/dist/entries/marketing.js +9 -0
- package/dist/entries/marketing.js.map +1 -0
- package/dist/index.d.ts +64 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +67 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/cx.d.ts +3 -0
- package/dist/internal/cx.d.ts.map +1 -0
- package/dist/internal/cx.js +6 -0
- package/dist/internal/cx.js.map +1 -0
- package/dist/internal/dismiss.d.ts +23 -0
- package/dist/internal/dismiss.d.ts.map +1 -0
- package/dist/internal/dismiss.js +36 -0
- package/dist/internal/dismiss.js.map +1 -0
- package/dist/internal/dismissible.d.ts +26 -0
- package/dist/internal/dismissible.d.ts.map +1 -0
- package/dist/internal/dismissible.js +82 -0
- package/dist/internal/dismissible.js.map +1 -0
- package/dist/internal/icons.d.ts +26 -0
- package/dist/internal/icons.d.ts.map +1 -0
- package/dist/internal/icons.js +81 -0
- package/dist/internal/icons.js.map +1 -0
- package/dist/internal/inert.d.ts +7 -0
- package/dist/internal/inert.d.ts.map +1 -0
- package/dist/internal/inert.js +10 -0
- package/dist/internal/inert.js.map +1 -0
- package/dist/manifest.json +8532 -0
- package/dist/patterns/actions/toolbar/index.d.ts +2 -0
- package/dist/patterns/actions/toolbar/index.d.ts.map +1 -0
- package/dist/patterns/actions/toolbar/index.js +2 -0
- package/dist/patterns/actions/toolbar/index.js.map +1 -0
- package/dist/patterns/actions/toolbar/toolbar.d.ts +20 -0
- package/dist/patterns/actions/toolbar/toolbar.d.ts.map +1 -0
- package/dist/patterns/actions/toolbar/toolbar.js +46 -0
- package/dist/patterns/actions/toolbar/toolbar.js.map +1 -0
- package/dist/patterns/layout/marketing-hero/index.d.ts +2 -0
- package/dist/patterns/layout/marketing-hero/index.d.ts.map +1 -0
- package/dist/patterns/layout/marketing-hero/index.js +2 -0
- package/dist/patterns/layout/marketing-hero/index.js.map +1 -0
- package/dist/patterns/layout/marketing-hero/marketing-hero.d.ts +24 -0
- package/dist/patterns/layout/marketing-hero/marketing-hero.d.ts.map +1 -0
- package/dist/patterns/layout/marketing-hero/marketing-hero.js +7 -0
- package/dist/patterns/layout/marketing-hero/marketing-hero.js.map +1 -0
- package/dist/patterns/layout/marketing-section-blocks/index.d.ts +7 -0
- package/dist/patterns/layout/marketing-section-blocks/index.d.ts.map +1 -0
- package/dist/patterns/layout/marketing-section-blocks/index.js +7 -0
- package/dist/patterns/layout/marketing-section-blocks/index.js.map +1 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.cta-band.d.ts +15 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.cta-band.d.ts.map +1 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.cta-band.js +7 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.cta-band.js.map +1 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.d.ts +37 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.d.ts.map +1 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.faq.d.ts +23 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.faq.d.ts.map +1 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.faq.js +15 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.faq.js.map +1 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.feature-grid.d.ts +25 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.feature-grid.d.ts.map +1 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.feature-grid.js +10 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.feature-grid.js.map +1 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.js +14 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.js.map +1 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.product-frame.d.ts +25 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.product-frame.d.ts.map +1 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.product-frame.js +12 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.product-frame.js.map +1 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.stat-strip.d.ts +14 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.stat-strip.d.ts.map +1 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.stat-strip.js +7 -0
- package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.stat-strip.js.map +1 -0
- package/dist/patterns/layout/marketing-site-shell/index.d.ts +4 -0
- package/dist/patterns/layout/marketing-site-shell/index.d.ts.map +1 -0
- package/dist/patterns/layout/marketing-site-shell/index.js +3 -0
- package/dist/patterns/layout/marketing-site-shell/index.js.map +1 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.d.ts +31 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.d.ts.map +1 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.footer.d.ts +33 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.footer.d.ts.map +1 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.footer.js +11 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.footer.js.map +1 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.js +32 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.js.map +1 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.link.d.ts +10 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.link.d.ts.map +1 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.link.js +8 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.link.js.map +1 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.types.d.ts +24 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.types.d.ts.map +1 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.types.js +4 -0
- package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.types.js.map +1 -0
- package/dist/patterns/layout/page-header/index.d.ts +2 -0
- package/dist/patterns/layout/page-header/index.d.ts.map +1 -0
- package/dist/patterns/layout/page-header/index.js +2 -0
- package/dist/patterns/layout/page-header/index.js.map +1 -0
- package/dist/patterns/layout/page-header/page-header.d.ts +17 -0
- package/dist/patterns/layout/page-header/page-header.d.ts.map +1 -0
- package/dist/patterns/layout/page-header/page-header.js +7 -0
- package/dist/patterns/layout/page-header/page-header.js.map +1 -0
- package/dist/patterns/layout/settings-section/index.d.ts +2 -0
- package/dist/patterns/layout/settings-section/index.d.ts.map +1 -0
- package/dist/patterns/layout/settings-section/index.js +2 -0
- package/dist/patterns/layout/settings-section/index.js.map +1 -0
- package/dist/patterns/layout/settings-section/settings-section.d.ts +33 -0
- package/dist/patterns/layout/settings-section/settings-section.d.ts.map +1 -0
- package/dist/patterns/layout/settings-section/settings-section.js +15 -0
- package/dist/patterns/layout/settings-section/settings-section.js.map +1 -0
- package/dist/patterns/layout/split-layout/index.d.ts +2 -0
- package/dist/patterns/layout/split-layout/index.d.ts.map +1 -0
- package/dist/patterns/layout/split-layout/index.js +2 -0
- package/dist/patterns/layout/split-layout/index.js.map +1 -0
- package/dist/patterns/layout/split-layout/split-layout.d.ts +21 -0
- package/dist/patterns/layout/split-layout/split-layout.d.ts.map +1 -0
- package/dist/patterns/layout/split-layout/split-layout.js +10 -0
- package/dist/patterns/layout/split-layout/split-layout.js.map +1 -0
- package/dist/patterns/search/filter-bar/filter-bar.d.ts +25 -0
- package/dist/patterns/search/filter-bar/filter-bar.d.ts.map +1 -0
- package/dist/patterns/search/filter-bar/filter-bar.js +13 -0
- package/dist/patterns/search/filter-bar/filter-bar.js.map +1 -0
- package/dist/patterns/search/filter-bar/index.d.ts +2 -0
- package/dist/patterns/search/filter-bar/index.d.ts.map +1 -0
- package/dist/patterns/search/filter-bar/index.js +2 -0
- package/dist/patterns/search/filter-bar/index.js.map +1 -0
- package/dist/styles.css +5621 -0
- package/package.json +75 -4
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { createContext, forwardRef, useCallback, useContext, useEffect, useId, useMemo, useState, } from 'react';
|
|
4
|
+
import { cx } from '../../../internal/cx.js';
|
|
5
|
+
import { ChevronDownGlyph } from '../../../internal/icons.js';
|
|
6
|
+
const FieldContext = createContext(null);
|
|
7
|
+
/**
|
|
8
|
+
* Groups a label, a control, help text and an error message, and wires their
|
|
9
|
+
* ids together: the control gets `id`, `aria-describedby`, `aria-invalid`,
|
|
10
|
+
* `aria-required` and `disabled` automatically. Descriptions and errors
|
|
11
|
+
* register themselves, so `aria-describedby` only names elements that exist.
|
|
12
|
+
*
|
|
13
|
+
* <Field invalid={!!error}>
|
|
14
|
+
* <FieldLabel>Email</FieldLabel>
|
|
15
|
+
* <Input type="email" />
|
|
16
|
+
* <FieldError>{error}</FieldError>
|
|
17
|
+
* </Field>
|
|
18
|
+
*/
|
|
19
|
+
export function Field({ id, invalid = false, required = false, disabled = false, layout = 'stack', className, children, ...rest }) {
|
|
20
|
+
const auto = useId();
|
|
21
|
+
const controlId = id ?? `mn-field-${auto}`;
|
|
22
|
+
const [hasDescription, setHasDescription] = useState(false);
|
|
23
|
+
const [hasError, setHasError] = useState(false);
|
|
24
|
+
const register = useCallback((part, present) => {
|
|
25
|
+
if (part === 'description')
|
|
26
|
+
setHasDescription(present);
|
|
27
|
+
else
|
|
28
|
+
setHasError(present);
|
|
29
|
+
}, []);
|
|
30
|
+
const value = useMemo(() => ({
|
|
31
|
+
controlId,
|
|
32
|
+
labelId: `${controlId}-label`,
|
|
33
|
+
descriptionId: `${controlId}-description`,
|
|
34
|
+
errorId: `${controlId}-error`,
|
|
35
|
+
invalid,
|
|
36
|
+
required,
|
|
37
|
+
disabled,
|
|
38
|
+
hasDescription,
|
|
39
|
+
hasError,
|
|
40
|
+
register,
|
|
41
|
+
}), [controlId, invalid, required, disabled, hasDescription, hasError, register]);
|
|
42
|
+
return (_jsx(FieldContext.Provider, { value: value, children: _jsx("div", { ...rest, className: cx('mn-field', className), "data-invalid": invalid || undefined, "data-disabled": disabled || undefined, "data-layout": layout === 'row' ? 'row' : undefined, children: children }) }));
|
|
43
|
+
}
|
|
44
|
+
export function useFieldContext() {
|
|
45
|
+
return useContext(FieldContext);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Merges Field context into a control's props. Explicit props win, so a
|
|
49
|
+
* control can still be used outside a Field.
|
|
50
|
+
*/
|
|
51
|
+
export function useFieldControl(props, options = {}) {
|
|
52
|
+
const field = useContext(FieldContext);
|
|
53
|
+
const invalid = options.invalid ?? field?.invalid ?? false;
|
|
54
|
+
const describedBy = [
|
|
55
|
+
props['aria-describedby'],
|
|
56
|
+
field?.hasDescription ? field.descriptionId : undefined,
|
|
57
|
+
field?.hasError && invalid ? field.errorId : undefined,
|
|
58
|
+
]
|
|
59
|
+
.filter(Boolean)
|
|
60
|
+
.join(' ');
|
|
61
|
+
const required = props.required ?? field?.required;
|
|
62
|
+
return {
|
|
63
|
+
...props,
|
|
64
|
+
id: props.id ?? field?.controlId,
|
|
65
|
+
disabled: props.disabled ?? (field?.disabled || undefined),
|
|
66
|
+
required,
|
|
67
|
+
'aria-describedby': describedBy || undefined,
|
|
68
|
+
...(invalid ? { 'aria-invalid': true } : {}),
|
|
69
|
+
...(required ? { 'aria-required': true } : {}),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
export const FieldLabel = forwardRef(function FieldLabel({ className, children, optionalText, htmlFor, ...rest }, ref) {
|
|
73
|
+
const field = useContext(FieldContext);
|
|
74
|
+
return (_jsxs("label", { ref: ref, ...rest, id: rest.id ?? field?.labelId, htmlFor: htmlFor ?? field?.controlId, className: cx('mn-field__label', className), children: [children, field?.required ? (_jsx("span", { className: "mn-field__required", "aria-hidden": true, children: "*" })) : optionalText ? (_jsx("span", { className: "mn-field__optional", children: optionalText })) : null] }));
|
|
75
|
+
});
|
|
76
|
+
function useRegister(part, present) {
|
|
77
|
+
const field = useContext(FieldContext);
|
|
78
|
+
const register = field?.register;
|
|
79
|
+
useEffect(() => {
|
|
80
|
+
if (!register || !present)
|
|
81
|
+
return;
|
|
82
|
+
register(part, true);
|
|
83
|
+
return () => register(part, false);
|
|
84
|
+
}, [register, part, present]);
|
|
85
|
+
return field;
|
|
86
|
+
}
|
|
87
|
+
export function FieldDescription({ className, ...rest }) {
|
|
88
|
+
const field = useRegister('description', true);
|
|
89
|
+
return (_jsx("p", { ...rest, id: rest.id ?? field?.descriptionId, className: cx('mn-field__description', className) }));
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Renders nothing when empty, so it can always be present. Announced politely
|
|
93
|
+
* when it appears.
|
|
94
|
+
*/
|
|
95
|
+
export function FieldError({ className, children, ...rest }) {
|
|
96
|
+
const empty = children === null || children === undefined || children === false || children === '';
|
|
97
|
+
const field = useRegister('error', !empty);
|
|
98
|
+
if (empty)
|
|
99
|
+
return null;
|
|
100
|
+
return (_jsx("p", { ...rest, id: rest.id ?? field?.errorId, className: cx('mn-field__error', className), "aria-live": "polite", children: children }));
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* The platform `<select>`, styled like Input and wired to Field. Use it where
|
|
104
|
+
* the native picker is right: long option lists on mobile, forms that must
|
|
105
|
+
* work without JavaScript, compact toolbar filters. For a styled listbox use
|
|
106
|
+
* Select; for search use Combobox.
|
|
107
|
+
*/
|
|
108
|
+
export const NativeSelect = forwardRef(function NativeSelect({ size = 'md', invalid, options, placeholder, label, wrapperClassName, className, children, ...rest }, ref) {
|
|
109
|
+
const auto = useId();
|
|
110
|
+
const props = useFieldControl(rest, { invalid });
|
|
111
|
+
const id = props.id ?? (label ? `mn-native-select-${auto}` : undefined);
|
|
112
|
+
return (_jsxs("span", { className: cx('mn-native-select', wrapperClassName), "data-size": size, "data-inline-label": label ? '' : undefined, "data-disabled": props.disabled || undefined, children: [label ? (_jsx("label", { htmlFor: id, className: "mn-native-select__label", children: label })) : null, _jsxs("span", { className: "mn-native-select__box", children: [_jsxs("select", { ref: ref, ...props, id: id, "data-size": size, className: cx('mn-input', 'mn-native-select__control', className), children: [placeholder !== undefined ? (_jsx("option", { value: "", disabled: props.required || undefined, children: placeholder })) : null, options?.map((o) => (_jsx("option", { value: o.value, disabled: o.disabled, children: o.label }, o.value))), children] }), _jsx(ChevronDownGlyph, { className: "mn-native-select__chevron" })] })] }));
|
|
113
|
+
});
|
|
114
|
+
//# sourceMappingURL=form-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-field.js","sourceRoot":"","sources":["../../../../src/components/forms/form-field/form-field.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-field/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/forms/form-field/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/inline-edit-text/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/forms/inline-edit-text/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
export interface InlineEditTextProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defaultValue' | 'onChange' | 'children' | 'onError'> {
|
|
3
|
+
/** What the text is, for example "Title". The input's accessible name, and part of the view button's. */
|
|
4
|
+
label: string;
|
|
5
|
+
/** The saved value (controlled). */
|
|
6
|
+
value?: string;
|
|
7
|
+
/** The initial saved value (uncontrolled). */
|
|
8
|
+
defaultValue?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Persists a new value. Return a promise to show the pending state; reject
|
|
11
|
+
* it (throw) to keep the editor open with the error and the user's draft.
|
|
12
|
+
* Not called when the value is unchanged.
|
|
13
|
+
*/
|
|
14
|
+
onSave: (next: string) => void | Promise<void>;
|
|
15
|
+
/** Called when the user cancels with Escape or the Cancel button. */
|
|
16
|
+
onCancel?: () => void;
|
|
17
|
+
/**
|
|
18
|
+
* Called when `onSave` rejects, with the error and the draft that failed.
|
|
19
|
+
* Use it for product-specific handling such as an edit conflict (HTTP 409):
|
|
20
|
+
* keep the editor open and pass your own resolution UI through `error`.
|
|
21
|
+
*/
|
|
22
|
+
onSaveError?: (error: unknown, draft: string) => void;
|
|
23
|
+
/** Turns a rejected save into a message. Default: the Error's message, or "Couldn't save. Try again." */
|
|
24
|
+
getErrorMessage?: (error: unknown) => ReactNode;
|
|
25
|
+
/** Validates the draft before saving. Return a message to block the save, or nothing to allow it. */
|
|
26
|
+
validate?: (draft: string) => ReactNode | null | undefined;
|
|
27
|
+
/** An error supplied by the product (for example a conflict notice), shown while editing. */
|
|
28
|
+
error?: ReactNode;
|
|
29
|
+
/** Edit mode (controlled). */
|
|
30
|
+
editing?: boolean;
|
|
31
|
+
/** Initial edit mode (uncontrolled). */
|
|
32
|
+
defaultEditing?: boolean;
|
|
33
|
+
onEditingChange?: (editing: boolean) => void;
|
|
34
|
+
/** Shown in view mode when the value is empty, and as the input placeholder. */
|
|
35
|
+
placeholder?: string;
|
|
36
|
+
/** A textarea instead of an input: Enter adds a line, Ctrl/⌘+Enter saves. */
|
|
37
|
+
multiline?: boolean;
|
|
38
|
+
/** Rows for `multiline`. Default 3. */
|
|
39
|
+
rows?: number;
|
|
40
|
+
maxLength?: number;
|
|
41
|
+
/** Trim whitespace before comparing and saving. Default true. */
|
|
42
|
+
trim?: boolean;
|
|
43
|
+
/** Save when focus leaves the editor. Default true. */
|
|
44
|
+
saveOnBlur?: boolean;
|
|
45
|
+
/** Show Save and Cancel buttons under the editor. Default: true for `multiline`. */
|
|
46
|
+
showActions?: boolean;
|
|
47
|
+
/** Not editable: the value is shown as plain text. */
|
|
48
|
+
disabled?: boolean;
|
|
49
|
+
/** Visually hidden hint read after the view button's name. Default "Edit". */
|
|
50
|
+
editHint?: string;
|
|
51
|
+
saveLabel?: string;
|
|
52
|
+
cancelLabel?: string;
|
|
53
|
+
/** Accessible name of the pending spinner. Default "Saving". */
|
|
54
|
+
savingLabel?: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Text that turns into an input in place: click it or press Enter to edit,
|
|
58
|
+
* Enter (or leaving the field) saves, Escape cancels. Saving can be async,
|
|
59
|
+
* with a pending state, and a failed save keeps the editor open with the
|
|
60
|
+
* error. The product owns persistence and conflict handling.
|
|
61
|
+
*/
|
|
62
|
+
export declare const InlineEditText: import("react").ForwardRefExoticComponent<InlineEditTextProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
63
|
+
//# sourceMappingURL=inline-edit-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-edit-text.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/inline-edit-text/inline-edit-text.tsx"],"names":[],"mappings":"AAEA,OAAO,EASL,KAAK,cAAc,EAEnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AASf,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAC/C,cAAc,CAAC,cAAc,CAAC,EAC9B,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CACrD;IACC,yGAAyG;IACzG,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,yGAAyG;IACzG,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,SAAS,CAAC;IAChD,qGAAqG;IACrG,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3D,6FAA6F;IAC7F,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oFAAoF;IACpF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAOD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,gHA8Q1B,CAAC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef, useCallback, useEffect, useId, useLayoutEffect, useRef, useState, } from 'react';
|
|
4
|
+
import { cx } from '../../../internal/cx.js';
|
|
5
|
+
import { PencilGlyph } from '../../../internal/icons.js';
|
|
6
|
+
import { Button } from '../../actions/button/index.js';
|
|
7
|
+
import { Spinner } from '../../feedback/spinner/index.js';
|
|
8
|
+
// useLayoutEffect warns during server rendering; focus work only runs in the browser.
|
|
9
|
+
const useIsomorphicLayoutEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect;
|
|
10
|
+
function defaultMessage(error) {
|
|
11
|
+
if (error instanceof Error && error.message)
|
|
12
|
+
return error.message;
|
|
13
|
+
return 'Couldn’t save. Try again.';
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Text that turns into an input in place: click it or press Enter to edit,
|
|
17
|
+
* Enter (or leaving the field) saves, Escape cancels. Saving can be async,
|
|
18
|
+
* with a pending state, and a failed save keeps the editor open with the
|
|
19
|
+
* error. The product owns persistence and conflict handling.
|
|
20
|
+
*/
|
|
21
|
+
export const InlineEditText = forwardRef(function InlineEditText({ label, value: valueProp, defaultValue = '', onSave, onCancel, onSaveError, getErrorMessage = defaultMessage, validate, error: externalError, editing: editingProp, defaultEditing = false, onEditingChange, placeholder, multiline = false, rows = 3, maxLength, trim = true, saveOnBlur = true, showActions = multiline, disabled = false, editHint = 'Edit', saveLabel = 'Save', cancelLabel = 'Cancel', savingLabel = 'Saving', className, ...rest }, ref) {
|
|
22
|
+
const auto = useId();
|
|
23
|
+
const errorId = `mn-inline-edit-${auto}-error`;
|
|
24
|
+
const hintId = `mn-inline-edit-${auto}-hint`;
|
|
25
|
+
const [innerValue, setInnerValue] = useState(defaultValue);
|
|
26
|
+
const value = valueProp ?? innerValue;
|
|
27
|
+
const [innerEditing, setInnerEditing] = useState(defaultEditing && !disabled);
|
|
28
|
+
const editing = (editingProp ?? innerEditing) && !disabled;
|
|
29
|
+
const [draft, setDraft] = useState(value);
|
|
30
|
+
const [saving, setSaving] = useState(false);
|
|
31
|
+
const [localError, setLocalError] = useState(null);
|
|
32
|
+
const viewRef = useRef(null);
|
|
33
|
+
const inputRef = useRef(null);
|
|
34
|
+
const rootRef = useRef(null);
|
|
35
|
+
// Focus returns to the view button after Enter / Escape / the buttons, not
|
|
36
|
+
// after a blur save (the user has already moved elsewhere).
|
|
37
|
+
const restoreFocus = useRef(false);
|
|
38
|
+
const failedDraft = useRef(null);
|
|
39
|
+
const mounted = useRef(true);
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
mounted.current = true;
|
|
42
|
+
return () => {
|
|
43
|
+
mounted.current = false;
|
|
44
|
+
};
|
|
45
|
+
}, []);
|
|
46
|
+
const setEditing = useCallback((next) => {
|
|
47
|
+
if (editingProp === undefined)
|
|
48
|
+
setInnerEditing(next);
|
|
49
|
+
onEditingChange?.(next);
|
|
50
|
+
}, [editingProp, onEditingChange]);
|
|
51
|
+
// Entering edit mode starts the draft from the saved value and focuses
|
|
52
|
+
// it; leaving after Enter / Escape / the buttons returns focus to the text.
|
|
53
|
+
const valueRef = useRef(value);
|
|
54
|
+
valueRef.current = value;
|
|
55
|
+
const wasEditing = useRef(editing);
|
|
56
|
+
useIsomorphicLayoutEffect(() => {
|
|
57
|
+
if (editing && !wasEditing.current) {
|
|
58
|
+
setDraft(valueRef.current);
|
|
59
|
+
setLocalError(null);
|
|
60
|
+
failedDraft.current = null;
|
|
61
|
+
inputRef.current?.focus();
|
|
62
|
+
inputRef.current?.select();
|
|
63
|
+
}
|
|
64
|
+
if (!editing && wasEditing.current && restoreFocus.current) {
|
|
65
|
+
viewRef.current?.focus();
|
|
66
|
+
}
|
|
67
|
+
if (!editing)
|
|
68
|
+
restoreFocus.current = false;
|
|
69
|
+
wasEditing.current = editing;
|
|
70
|
+
}, [editing]);
|
|
71
|
+
// Mounted already editing (defaultEditing / editing): focus the input once.
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
if (wasEditing.current)
|
|
74
|
+
inputRef.current?.focus();
|
|
75
|
+
}, []);
|
|
76
|
+
const exit = (restore) => {
|
|
77
|
+
restoreFocus.current = restore;
|
|
78
|
+
setLocalError(null);
|
|
79
|
+
failedDraft.current = null;
|
|
80
|
+
setEditing(false);
|
|
81
|
+
};
|
|
82
|
+
const commit = async (restore) => {
|
|
83
|
+
if (saving)
|
|
84
|
+
return;
|
|
85
|
+
const next = trim ? draft.trim() : draft;
|
|
86
|
+
if (next === value) {
|
|
87
|
+
exit(restore);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const invalid = validate?.(next);
|
|
91
|
+
if (invalid !== null && invalid !== undefined && invalid !== false && invalid !== '') {
|
|
92
|
+
setLocalError(invalid);
|
|
93
|
+
failedDraft.current = draft;
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
setSaving(true);
|
|
97
|
+
setLocalError(null);
|
|
98
|
+
try {
|
|
99
|
+
await onSave(next);
|
|
100
|
+
if (!mounted.current)
|
|
101
|
+
return;
|
|
102
|
+
if (valueProp === undefined)
|
|
103
|
+
setInnerValue(next);
|
|
104
|
+
setSaving(false);
|
|
105
|
+
exit(restore);
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
if (!mounted.current)
|
|
109
|
+
return;
|
|
110
|
+
setSaving(false);
|
|
111
|
+
failedDraft.current = draft;
|
|
112
|
+
setLocalError(getErrorMessage(err));
|
|
113
|
+
onSaveError?.(err, next);
|
|
114
|
+
// Keep the user in the editor with their draft.
|
|
115
|
+
if (restore)
|
|
116
|
+
inputRef.current?.focus();
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
const cancel = () => {
|
|
120
|
+
if (saving)
|
|
121
|
+
return;
|
|
122
|
+
setDraft(value);
|
|
123
|
+
exit(true);
|
|
124
|
+
onCancel?.();
|
|
125
|
+
};
|
|
126
|
+
const onKeyDown = (event) => {
|
|
127
|
+
if (event.nativeEvent.isComposing)
|
|
128
|
+
return;
|
|
129
|
+
if (event.key === 'Escape') {
|
|
130
|
+
event.preventDefault();
|
|
131
|
+
event.stopPropagation();
|
|
132
|
+
cancel();
|
|
133
|
+
}
|
|
134
|
+
else if (event.key === 'Enter' && (!multiline || event.metaKey || event.ctrlKey)) {
|
|
135
|
+
event.preventDefault();
|
|
136
|
+
void commit(true);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
const onBlur = (event) => {
|
|
140
|
+
if (!saveOnBlur || saving)
|
|
141
|
+
return;
|
|
142
|
+
// Moving to the Save / Cancel buttons is not leaving the editor.
|
|
143
|
+
if (event.relatedTarget && rootRef.current?.contains(event.relatedTarget))
|
|
144
|
+
return;
|
|
145
|
+
// Do not retry a draft that has just failed; the error stays visible.
|
|
146
|
+
if (failedDraft.current !== null && failedDraft.current === draft)
|
|
147
|
+
return;
|
|
148
|
+
void commit(false);
|
|
149
|
+
};
|
|
150
|
+
const shownError = localError ?? (editing ? externalError : null);
|
|
151
|
+
const hasError = shownError !== null && shownError !== undefined && shownError !== false && shownError !== '';
|
|
152
|
+
const empty = value === '';
|
|
153
|
+
const setRoot = (el) => {
|
|
154
|
+
rootRef.current = el;
|
|
155
|
+
if (typeof ref === 'function')
|
|
156
|
+
ref(el);
|
|
157
|
+
else if (ref)
|
|
158
|
+
ref.current = el;
|
|
159
|
+
};
|
|
160
|
+
const shared = {
|
|
161
|
+
'aria-label': label,
|
|
162
|
+
'aria-invalid': hasError || undefined,
|
|
163
|
+
'aria-describedby': hasError ? errorId : undefined,
|
|
164
|
+
'aria-busy': saving || undefined,
|
|
165
|
+
readOnly: saving,
|
|
166
|
+
value: draft,
|
|
167
|
+
placeholder,
|
|
168
|
+
maxLength,
|
|
169
|
+
onKeyDown,
|
|
170
|
+
onBlur,
|
|
171
|
+
className: 'mn-inline-edit-text__input',
|
|
172
|
+
};
|
|
173
|
+
return (_jsxs("div", { ref: setRoot, ...rest, className: cx('mn-inline-edit-text', className), "data-state": editing ? 'editing' : 'viewing', "data-multiline": multiline || undefined, "data-empty": empty || undefined, "data-saving": saving || undefined, "data-invalid": hasError || undefined, "data-disabled": disabled || undefined, children: [editing ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "mn-inline-edit-text__editor", children: [multiline ? (_jsx("textarea", { ref: inputRef, ...shared, rows: rows, onChange: (e) => setDraft(e.target.value) })) : (_jsx("input", { ref: inputRef, ...shared, type: "text", onChange: (e) => setDraft(e.target.value) })), saving && !showActions ? (_jsx(Spinner, { size: "sm", label: savingLabel, className: "mn-inline-edit-text__spinner" })) : null] }), hasError ? (_jsx("p", { id: errorId, role: "alert", className: "mn-inline-edit-text__error", children: shownError })) : null, showActions ? (_jsxs("div", { className: "mn-inline-edit-text__actions", children: [_jsx(Button, { size: "sm", variant: "primary", loading: saving, onMouseDown: (e) => e.preventDefault(), onClick: () => void commit(true), children: saving ? savingLabel : saveLabel }), _jsx(Button, { size: "sm", variant: "ghost", disabled: saving, onMouseDown: (e) => e.preventDefault(), onClick: cancel, children: cancelLabel })] })) : null] })) : disabled ? (_jsx("span", { className: "mn-inline-edit-text__view", children: _jsx("span", { className: "mn-inline-edit-text__value", children: empty ? placeholder : value }) })) : (_jsxs("button", { ref: viewRef, type: "button", className: "mn-inline-edit-text__view", "aria-describedby": hintId, onClick: () => setEditing(true), children: [_jsxs("span", { className: "mn-visually-hidden", children: [label, ": "] }), _jsx("span", { className: "mn-inline-edit-text__value", children: empty ? (placeholder ?? '\u00a0') : value }), _jsx(PencilGlyph, { className: "mn-inline-edit-text__icon" })] })), !editing && !disabled ? (_jsx("span", { id: hintId, className: "mn-visually-hidden", children: editHint })) : null] }));
|
|
174
|
+
});
|
|
175
|
+
//# sourceMappingURL=inline-edit-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-edit-text.js","sourceRoot":"","sources":["../../../../src/components/forms/inline-edit-text/inline-edit-text.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/otp-pin-input/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/forms/otp-pin-input/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type InputHTMLAttributes } from 'react';
|
|
2
|
+
export interface OTPPinInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'onChange' | 'size' | 'type' | 'maxLength' | 'minLength' | 'pattern'> {
|
|
3
|
+
/** Number of characters. Default 6. */
|
|
4
|
+
length?: number;
|
|
5
|
+
/** The code (controlled). */
|
|
6
|
+
value?: string;
|
|
7
|
+
/** Initial code when uncontrolled. */
|
|
8
|
+
defaultValue?: string;
|
|
9
|
+
/** Called with the cleaned code on every change. */
|
|
10
|
+
onValueChange?: (value: string) => void;
|
|
11
|
+
/** Called once each time the code reaches `length` characters (typed, pasted or autofilled). */
|
|
12
|
+
onComplete?: (value: string) => void;
|
|
13
|
+
/** `numeric` (default) accepts digits and opens the number keypad; `alphanumeric` accepts A–Z and 0–9, upper-cased. */
|
|
14
|
+
mode?: 'numeric' | 'alphanumeric';
|
|
15
|
+
/** Show dots instead of the characters, for a PIN typed on a shared screen. */
|
|
16
|
+
mask?: boolean;
|
|
17
|
+
/** Draw a gap after every N slots, e.g. 3 for "123 456". Visual only. */
|
|
18
|
+
groupSize?: number;
|
|
19
|
+
size?: 'md' | 'lg';
|
|
20
|
+
/** Marks the code invalid (e.g. after a failed verification). Inside a Field, the Field's `invalid` is used. */
|
|
21
|
+
invalid?: boolean;
|
|
22
|
+
/** Class for the outer wrapper (the real input is `.mn-otp-pin-input__input`). */
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A one-time code or PIN entry shown as separate boxes. It is one real
|
|
27
|
+
* `<input>` underneath, so autofill from SMS or email (`autocomplete="one-time-code"`),
|
|
28
|
+
* paste, the numeric keypad and screen readers all treat it as a single field.
|
|
29
|
+
* Give it a label with Field or `aria-label`.
|
|
30
|
+
*/
|
|
31
|
+
export declare const OTPPinInput: import("react").ForwardRefExoticComponent<OTPPinInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
32
|
+
//# sourceMappingURL=otp-pin-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otp-pin-input.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/otp-pin-input/otp-pin-input.tsx"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,mBAAmB,EAGzB,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAChG;IACC,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,gGAAgG;IAChG,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,uHAAuH;IACvH,IAAI,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC;IAClC,+EAA+E;IAC/E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,gHAAgH;IAChH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,+GA4HtB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef, useState, } from 'react';
|
|
4
|
+
import { cx } from '../../../internal/cx.js';
|
|
5
|
+
import { useFieldControl } from '../form-field/index.js';
|
|
6
|
+
function clean(raw, mode, length) {
|
|
7
|
+
const kept = mode === 'numeric' ? raw.replace(/\D/g, '') : raw.toUpperCase().replace(/[^A-Z0-9]/g, '');
|
|
8
|
+
return kept.slice(0, length);
|
|
9
|
+
}
|
|
10
|
+
function caretToEnd(e) {
|
|
11
|
+
const input = e.currentTarget;
|
|
12
|
+
const end = input.value.length;
|
|
13
|
+
if (input.selectionStart !== end || input.selectionEnd !== end)
|
|
14
|
+
input.setSelectionRange(end, end);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* A one-time code or PIN entry shown as separate boxes. It is one real
|
|
18
|
+
* `<input>` underneath, so autofill from SMS or email (`autocomplete="one-time-code"`),
|
|
19
|
+
* paste, the numeric keypad and screen readers all treat it as a single field.
|
|
20
|
+
* Give it a label with Field or `aria-label`.
|
|
21
|
+
*/
|
|
22
|
+
export const OTPPinInput = forwardRef(function OTPPinInput({ length = 6, value: valueProp, defaultValue = '', onValueChange, onComplete, mode = 'numeric', mask = false, groupSize, size = 'md', invalid, className, onPaste, onFocus, onBlur, onSelect, onClick, ...rest }, ref) {
|
|
23
|
+
const [internal, setInternal] = useState(() => clean(defaultValue, mode, length));
|
|
24
|
+
const value = clean(valueProp !== undefined ? valueProp : internal, mode, length);
|
|
25
|
+
const [focused, setFocused] = useState(false);
|
|
26
|
+
const setValue = (next) => {
|
|
27
|
+
if (next === value)
|
|
28
|
+
return;
|
|
29
|
+
if (valueProp === undefined)
|
|
30
|
+
setInternal(next);
|
|
31
|
+
onValueChange?.(next);
|
|
32
|
+
if (next.length === length)
|
|
33
|
+
onComplete?.(next);
|
|
34
|
+
};
|
|
35
|
+
const handlePaste = (e) => {
|
|
36
|
+
onPaste?.(e);
|
|
37
|
+
if (e.defaultPrevented)
|
|
38
|
+
return;
|
|
39
|
+
e.preventDefault();
|
|
40
|
+
const pasted = clean(e.clipboardData.getData('text'), mode, length);
|
|
41
|
+
if (!pasted)
|
|
42
|
+
return;
|
|
43
|
+
// A full code replaces what is there; a fragment is appended.
|
|
44
|
+
setValue(pasted.length === length ? pasted : clean(value + pasted, mode, length));
|
|
45
|
+
};
|
|
46
|
+
const fieldProps = useFieldControl(rest, { invalid });
|
|
47
|
+
const active = focused ? Math.min(value.length, length - 1) : -1;
|
|
48
|
+
const slots = [];
|
|
49
|
+
for (let i = 0; i < length; i++) {
|
|
50
|
+
if (groupSize && i > 0 && i % groupSize === 0)
|
|
51
|
+
slots.push(_jsx("span", { className: "mn-otp-pin-input__separator" }, `sep-${i}`));
|
|
52
|
+
const char = value[i];
|
|
53
|
+
slots.push(_jsx("span", { className: "mn-otp-pin-input__slot", "data-filled": char !== undefined || undefined, "data-active": i === active || undefined, children: char === undefined ? (i === active && value.length < length ? (_jsx("span", { className: "mn-otp-pin-input__caret" })) : null) : mask ? (_jsx("span", { className: "mn-otp-pin-input__dot" })) : (char) }, i));
|
|
54
|
+
}
|
|
55
|
+
return (_jsxs("div", { className: cx('mn-otp-pin-input', className), style: {
|
|
56
|
+
'--_n': length,
|
|
57
|
+
'--_seps': groupSize ? Math.floor((length - 1) / groupSize) : 0,
|
|
58
|
+
}, "data-size": size, "data-focused": focused || undefined, "data-complete": value.length === length || undefined, "data-invalid": fieldProps['aria-invalid'] ? true : undefined, "data-disabled": fieldProps.disabled || undefined, children: [_jsx("div", { className: "mn-otp-pin-input__slots", "aria-hidden": true, children: slots }), _jsx("input", { ref: ref, autoComplete: "one-time-code", autoCapitalize: mode === 'alphanumeric' ? 'characters' : 'off', autoCorrect: "off", spellCheck: false, ...fieldProps, type: mask ? 'password' : 'text', inputMode: mode === 'numeric' ? 'numeric' : 'text', pattern: mode === 'numeric' ? '[0-9]*' : '[A-Za-z0-9]*', className: "mn-otp-pin-input__input", "data-mask": mask || undefined, value: value, onChange: (e) => setValue(clean(e.target.value, mode, length)), onPaste: handlePaste, onFocus: (e) => {
|
|
59
|
+
onFocus?.(e);
|
|
60
|
+
setFocused(true);
|
|
61
|
+
caretToEnd(e);
|
|
62
|
+
}, onBlur: (e) => {
|
|
63
|
+
onBlur?.(e);
|
|
64
|
+
setFocused(false);
|
|
65
|
+
}, onSelect: (e) => {
|
|
66
|
+
onSelect?.(e);
|
|
67
|
+
caretToEnd(e);
|
|
68
|
+
}, onClick: (e) => {
|
|
69
|
+
onClick?.(e);
|
|
70
|
+
caretToEnd(e);
|
|
71
|
+
} })] }));
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=otp-pin-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otp-pin-input.js","sourceRoot":"","sources":["../../../../src/components/forms/otp-pin-input/otp-pin-input.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/segmented-control/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/forms/segmented-control/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|