@nxgt/material 3.57.0 → 3.59.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 +32 -0
- package/README.md +33 -1
- package/dist/{async-slice-B3RMgJUn.js → async-slice-Cmvxrvn9.js} +2 -2
- package/dist/{background-BtSZsTvY.js → background-qdnet2A5.js} +124 -83
- package/dist/backgrounds.js +1 -1
- package/dist/barcode.js +440 -0
- package/dist/{button-hnUZpzYu.js → button-Deo7l4wM.js} +97 -74
- package/dist/{callout-view-C6voDS00.js → callout-view-C7UznnDW.js} +1 -1
- package/dist/charts.js +1531 -1489
- package/dist/{chip-kplPa8ZV.js → chip-BlmIjpiD.js} +2 -2
- package/dist/{code-editor-Ba61Cd-g.js → code-editor-BYEpBp_U.js} +312 -282
- package/dist/code-editor.js +14 -14
- package/dist/{code-language-items-CsDC4Ky4.js → code-language-items-Cqk4Fq61.js} +2 -2
- package/dist/components/components.css +1 -0
- package/dist/components/ui/widgets/barcode/barcode.css +112 -0
- package/dist/{components-BgckuX2C.js → components-BsKpeqVX.js} +28688 -25977
- package/dist/components.js +26 -26
- package/dist/{convert-XAkWyO8-.js → convert-7g-F5cNf.js} +1 -1
- package/dist/{dialog-DS8O4Kkb.js → dialog-1BstKBvt.js} +4 -4
- package/dist/dnd.js +1 -1
- package/dist/draw-animate.js +1 -1
- package/dist/{dropdown-menu-CvVQJpsn.js → dropdown-menu-hoaocAS7.js} +1 -1
- package/dist/editor-viewer.js +1 -1
- package/dist/editor.js +715 -607
- package/dist/empty-state-DEG9h7xk.js +139 -0
- package/dist/{escape-owner-BJvicDmr.js → escape-owner-BvLBo_Al.js} +22 -22
- package/dist/{field-blur-Cnjk0o9A.js → field-blur-BkeYPaWi.js} +1 -1
- package/dist/{field-blur-context-CYlx9KnB.js → field-blur-context-Ba7iZVm_.js} +1 -1
- package/dist/{headless-extensions-CvmdhANJ.js → headless-extensions-B1NAgmkE.js} +1 -1
- package/dist/hooks.js +2 -2
- package/dist/{hover-card-DW4XnExA.js → hover-card-C5DTU9P_.js} +2 -2
- package/dist/{i18n-provider-DBr59j1p.js → i18n-provider-BJDI-A5w.js} +1 -1
- package/dist/i18n.js +5 -5
- package/dist/{icon-badge-4FMy66AC.js → icon-badge-9ZE6k7cn.js} +3 -3
- package/dist/{icon-button-QF7smCoV.js → icon-button-AwJtCkV5.js} +59 -59
- package/dist/{illustration-B4_W-OUS.js → illustration-DjZXUFbz.js} +11 -11
- package/dist/illustrations.js +1 -1
- package/dist/lib/backgrounds/background/background.d.ts +1 -1
- package/dist/lib/backgrounds/background/partials/use-background-scenes.d.ts +22 -0
- package/dist/lib/backgrounds/background/partials/use-themed-background.d.ts +304 -0
- package/dist/lib/barcode/index.d.ts +15 -0
- package/dist/lib/components/ui/actions/action-card/action-card-semantics-branches.d.ts +63 -0
- package/dist/lib/components/ui/actions/action-card/action-card-semantics.d.ts +0 -4
- package/dist/lib/components/ui/actions/action-card/partials/action-card-text.d.ts +3 -1
- package/dist/lib/components/ui/actions/action-card/use-action-card.d.ts +80 -0
- package/dist/lib/components/ui/actions/button/button-busy.d.ts +8 -0
- package/dist/lib/components/ui/actions/button/button.classes.d.ts +7 -0
- package/dist/lib/components/ui/actions/index.d.ts +1 -0
- package/dist/lib/components/ui/actions/load-more-footer/index.d.ts +1 -0
- package/dist/lib/components/ui/actions/load-more-footer/load-more-footer.d.ts +24 -0
- package/dist/lib/components/ui/actions/toolbar/use-toolbar-state.d.ts +22 -0
- package/dist/lib/components/ui/collections/data-grid/columns/column-check.d.ts +15 -0
- package/dist/lib/components/ui/collections/data-grid/columns/column-edit.d.ts +1 -12
- package/dist/lib/components/ui/collections/data-grid/editors/editor-props.d.ts +20 -0
- package/dist/lib/components/ui/collections/data-grid/editors/editor-route-key.d.ts +11 -0
- package/dist/lib/components/ui/collections/data-grid/partials/grid-cell-access.d.ts +26 -0
- package/dist/lib/components/ui/collections/data-grid/partials/grid-header-name.d.ts +15 -0
- package/dist/lib/components/ui/collections/data-grid/partials/header-menu-button.d.ts +17 -0
- package/dist/lib/components/ui/collections/data-grid/partials/open-header-menu.d.ts +14 -0
- package/dist/lib/components/ui/collections/data-grid/partials/width-field.d.ts +18 -0
- package/dist/lib/components/ui/collections/data-grid/phone/phone-item.d.ts +2 -2
- package/dist/lib/components/ui/collections/data-table/partials/layouts/data-table-card-list.d.ts +17 -0
- package/dist/lib/components/ui/collections/data-table/partials/layouts/list-bar-clear.d.ts +10 -0
- package/dist/lib/components/ui/collections/data-table/partials/layouts/list-bar-in-row.d.ts +18 -0
- package/dist/lib/components/ui/collections/data-table/partials/page-button.d.ts +12 -0
- package/dist/lib/components/ui/collections/data-table/partials/page-icon-control.d.ts +21 -0
- package/dist/lib/components/ui/collections/data-table/partials/pager-buttons.d.ts +7 -0
- package/dist/lib/components/ui/collections/data-table/use-data-table-setup.d.ts +36 -0
- package/dist/lib/components/ui/collections/facet-group/partials/facet-group-header.d.ts +11 -0
- package/dist/lib/components/ui/collections/filter/filter-field-config-base.utils.d.ts +13 -0
- package/dist/lib/components/ui/collections/filter/filter-field-config-choice.utils.d.ts +5 -0
- package/dist/lib/components/ui/collections/filter/filter-field-config-value.utils.d.ts +5 -0
- package/dist/lib/components/ui/collections/filter/filter-field-config.utils.d.ts +6 -0
- package/dist/lib/components/ui/collections/filter/filter-legacy.d.ts +1 -1
- package/dist/lib/components/ui/collections/filter/filter-persistence-url-value.utils.d.ts +9 -0
- package/dist/lib/components/ui/collections/filter/filter-schema.utils.d.ts +1 -5
- package/dist/lib/components/ui/collections/filter/filter-validation-presets.utils.d.ts +24 -0
- package/dist/lib/components/ui/collections/filter/filter-validation-rules.utils.d.ts +11 -0
- package/dist/lib/components/ui/collections/filter/filter-validation.utils.d.ts +1 -23
- package/dist/lib/components/ui/collections/filter/partials/filter-field-special.d.ts +8 -0
- package/dist/lib/components/ui/collections/filter/partials/filter-form-field-variant.d.ts +10 -0
- package/dist/lib/components/ui/collections/filter/partials/filter-group-fields.d.ts +5 -0
- package/dist/lib/components/ui/collections/filter/partials/filter-legacy-variant.d.ts +3 -0
- package/dist/lib/components/ui/collections/filter/partials/filter-preset-fields.d.ts +9 -0
- package/dist/lib/components/ui/collections/filter/partials/filter-presets-menu-items.d.ts +13 -0
- package/dist/lib/components/ui/collections/filter/partials/filter-presets-menu.d.ts +5 -0
- package/dist/lib/components/ui/collections/filter/partials/filter-presets-save-dialog.d.ts +7 -0
- package/dist/lib/components/ui/collections/filter/partials/filter-presets-save-trigger.d.ts +7 -0
- package/dist/lib/components/ui/collections/filter/query/types.d.ts +3 -39
- package/dist/lib/components/ui/collections/filter/query/use-filter-query-options.d.ts +1 -1
- package/dist/lib/components/ui/collections/filter/query/use-filter-query-value.d.ts +2 -2
- package/dist/lib/components/ui/collections/filter/query/view-types.d.ts +40 -0
- package/dist/lib/components/ui/collections/filter/sections/use-filter-search.d.ts +14 -0
- package/dist/lib/components/ui/collections/filter/use-filter-field-config.d.ts +7483 -0
- package/dist/lib/components/ui/collections/list-pane/partials/list-pane-body.d.ts +12 -0
- package/dist/lib/components/ui/collections/list-pane/partials/list-pane-item-content.d.ts +15 -0
- package/dist/lib/components/ui/collections/list-pane/partials/list-pane-search.d.ts +8 -0
- package/dist/lib/components/ui/collections/pagination/pagination-bar-pages.d.ts +8 -0
- package/dist/lib/components/ui/collections/server-table/partials/server-table-bulk-action-button.d.ts +26 -0
- package/dist/lib/components/ui/collections/server-table/partials/server-table-bulk-buttons.d.ts +13 -11
- package/dist/lib/components/ui/collections/server-table/partials/server-table-bulk-entries.d.ts +11 -0
- package/dist/lib/components/ui/collections/server-table/partials/server-table-bulk-focus.d.ts +1 -28
- package/dist/lib/components/ui/collections/server-table/partials/server-table-bulk-keys.d.ts +37 -0
- package/dist/lib/components/ui/collections/server-table/partials/server-table-grid-paging.d.ts +8 -0
- package/dist/lib/components/ui/collections/server-table/types-filter.d.ts +70 -0
- package/dist/lib/components/ui/collections/server-table/types-states.d.ts +42 -0
- package/dist/lib/components/ui/collections/server-table/types.d.ts +4 -110
- package/dist/lib/components/ui/collections/tree/tree-expand-button.d.ts +6 -0
- package/dist/lib/components/ui/collections/tree/use-tree-keys.d.ts +14 -0
- package/dist/lib/components/ui/collections/tree/use-tree-select.d.ts +14 -0
- package/dist/lib/components/ui/collections/tree/use-tree.d.ts +5 -4
- package/dist/lib/components/ui/dates/calendar/calendar-year-button.d.ts +10 -0
- package/dist/lib/components/ui/dates/calendar/calendar-year-nav.d.ts +9 -0
- package/dist/lib/components/ui/dates/date-field/date-field-parts.d.ts +78 -0
- package/dist/lib/components/ui/dates/date-range-field/partials/date-range-body-scroll.d.ts +15 -0
- package/dist/lib/components/ui/dates/date-range-field/partials/preview-calendar-props.d.ts +11 -0
- package/dist/lib/components/ui/dates/date-range-field/partials/use-cancel-range.d.ts +6 -0
- package/dist/lib/components/ui/dates/date-range-field/use-end-on.d.ts +12 -0
- package/dist/lib/components/ui/dates/date-range-field/use-typed-range.d.ts +2 -3
- package/dist/lib/components/ui/dates/mini-month/partials/mini-month-day.d.ts +8 -0
- package/dist/lib/components/ui/dates/mini-month/partials/mini-month-head.d.ts +18 -0
- package/dist/lib/components/ui/dates/mini-month/partials/mini-month-markers.d.ts +5 -0
- package/dist/lib/components/ui/dates/mini-month/partials/use-grid-focus.d.ts +11 -0
- package/dist/lib/components/ui/dates/picker-trigger/typed-box-parts.d.ts +12 -0
- package/dist/lib/components/ui/dates/time-field/partials/use-time-field-model.d.ts +14 -5
- package/dist/lib/components/ui/dates/time-picker/partials/time-column.d.ts +13 -0
- package/dist/lib/components/ui/display/cards/cards.stories.data.detail.d.ts +9 -0
- package/dist/lib/components/ui/display/cards/cards.stories.data.feed.d.ts +7 -0
- package/dist/lib/components/ui/display/cards/cards.stories.data.intro.d.ts +11 -0
- package/dist/lib/components/ui/display/cards/types-detail.d.ts +74 -0
- package/dist/lib/components/ui/display/cards/types-feed.d.ts +41 -0
- package/dist/lib/components/ui/display/cards/types-intro.d.ts +76 -0
- package/dist/lib/components/ui/display/cards/types.d.ts +3 -187
- package/dist/lib/components/ui/display/code/code-block-parts.d.ts +16 -0
- package/dist/lib/components/ui/display/enrolment-secret/enrolment-secret-manual.d.ts +9 -0
- package/dist/lib/components/ui/display/entity-header/partials/entity-header-start.d.ts +11 -0
- package/dist/lib/components/ui/display/event-chip/event-chip-content.d.ts +12 -0
- package/dist/lib/components/ui/display/param-table/param-table-views.d.ts +19 -0
- package/dist/lib/components/ui/display/recovery-codes/partials/use-recovery-codes-actions.d.ts +22 -0
- package/dist/lib/components/ui/display/recovery-codes-status/partials/recovery-codes-status-plain.d.ts +13 -0
- package/dist/lib/components/ui/feedback/alert-dialog/alert-dialog-actions.d.ts +6 -0
- package/dist/lib/components/ui/feedback/alert-dialog/alert-dialog.d.ts +1 -3
- package/dist/lib/components/ui/feedback/confirm-dialog/use-confirm-action.d.ts +16 -0
- package/dist/lib/components/ui/feedback/confirmation-dialog/use-confirmation-form.d.ts +18 -0
- package/dist/lib/components/ui/feedback/countdown-timer/countdown-timer.d.ts +5 -3
- package/dist/lib/components/ui/feedback/index.d.ts +1 -0
- package/dist/lib/components/ui/feedback/notification-row/partials/notification-row-body.d.ts +10 -0
- package/dist/lib/components/ui/feedback/notification-row/partials/notification-row-dot.d.ts +2 -0
- package/dist/lib/components/ui/feedback/notification-row/partials/notification-row-open.d.ts +5 -0
- package/dist/lib/components/ui/feedback/notifications/notifications-model.d.ts +59 -0
- package/dist/lib/components/ui/feedback/notifications/use-notifications-chrome.d.ts +17 -0
- package/dist/lib/components/ui/feedback/notifications/use-notifications.d.ts +4 -38
- package/dist/lib/components/ui/feedback/page-load-failed/index.d.ts +1 -0
- package/dist/lib/components/ui/feedback/page-load-failed/page-load-failed.d.ts +15 -0
- package/dist/lib/components/ui/feedback/spinner/spinner-variants.d.ts +5 -0
- package/dist/lib/components/ui/feedback/spinner/spinner.d.ts +1 -5
- package/dist/lib/components/ui/feedback/state-frame/state-frame-text.d.ts +10 -0
- package/dist/lib/components/ui/feedback/state-frame/use-state-media.d.ts +14 -0
- package/dist/lib/components/ui/feedback/step-dots/step-dot.d.ts +13 -0
- package/dist/lib/components/ui/feedback/step-dots/step-dots.d.ts +2 -1
- package/dist/lib/components/ui/feedback/step-up-dialog/describe-by.d.ts +4 -0
- package/dist/lib/components/ui/feedback/step-up-dialog/use-step-up-view.d.ts +34 -0
- package/dist/lib/components/ui/fields/attributes/attribute-form/attribute-options-form-fields.d.ts +7 -0
- package/dist/lib/components/ui/fields/attributes/attributes-list/attribute-tile.d.ts +11 -0
- package/dist/lib/components/ui/fields/attributes/partials/editor-rows.d.ts +15 -0
- package/dist/lib/components/ui/fields/contacts/partials/contact-groups.d.ts +20 -0
- package/dist/lib/components/ui/fields/contacts/partials/contact-tile.d.ts +13 -0
- package/dist/lib/components/ui/fields/contacts/partials/dialog-actions.d.ts +14 -0
- package/dist/lib/components/ui/fields/contacts/partials/dialog-fields.d.ts +14 -0
- package/dist/lib/components/ui/fields/contacts/placeholders.d.ts +1 -1
- package/dist/lib/components/ui/fields/country-field/iso-codes-1.d.ts +2 -0
- package/dist/lib/components/ui/fields/country-field/iso-codes-2.d.ts +2 -0
- package/dist/lib/components/ui/fields/country-field/iso-codes-3.d.ts +2 -0
- package/dist/lib/components/ui/fields/currency-field/use-currency-amount.d.ts +17 -0
- package/dist/lib/components/ui/fields/field/render-choice-field.d.ts +3 -0
- package/dist/lib/components/ui/fields/inline-edit/inline-edit-display.d.ts +12 -0
- package/dist/lib/components/ui/fields/inline-edit/inline-edit-editor.d.ts +14 -0
- package/dist/lib/components/ui/fields/inline-edit/use-inline-edit.d.ts +19 -0
- package/dist/lib/components/ui/fields/opening-hours/logic/missing-days.d.ts +3 -0
- package/dist/lib/components/ui/fields/opening-hours/partials/day-switch.d.ts +14 -0
- package/dist/lib/components/ui/fields/opening-hours/partials/dialog-actions.d.ts +13 -0
- package/dist/lib/components/ui/fields/opening-hours/partials/dialog-fields.d.ts +14 -0
- package/dist/lib/components/ui/fields/opening-hours/partials/hours-actions.d.ts +9 -0
- package/dist/lib/components/ui/fields/opening-hours/partials/hours-tile.d.ts +11 -0
- package/dist/lib/components/ui/fields/opening-hours/partials/week-rows.d.ts +14 -0
- package/dist/lib/components/ui/fields/opening-hours/use-hours-editor.d.ts +1 -0
- package/dist/lib/components/ui/fields/phone-field/phone-country-list.d.ts +10 -0
- package/dist/lib/components/ui/fields/phone-field/phone-dial-button.d.ts +10 -0
- package/dist/lib/components/ui/fields/phone-field/phone-number-input.d.ts +19 -0
- package/dist/lib/components/ui/fields/phone-field/use-phone-value.d.ts +17 -0
- package/dist/lib/components/ui/fields/postal-address/postal-address-dialog-actions.d.ts +14 -0
- package/dist/lib/components/ui/fields/postal-address/postal-address-dialog-fields.d.ts +10 -0
- package/dist/lib/components/ui/fields/rating-field/rating-color.d.ts +4 -0
- package/dist/lib/components/ui/fields/rating-field/rating-field.d.ts +1 -4
- package/dist/lib/components/ui/fields/rating-field/rating-star.d.ts +22 -0
- package/dist/lib/components/ui/fields/rating-field/use-rating.d.ts +16 -0
- package/dist/lib/components/ui/fields/search-field/search-box.d.ts +11 -0
- package/dist/lib/components/ui/fields/search-field/use-search-value.d.ts +21 -0
- package/dist/lib/components/ui/fields/slider/slider-control-row.d.ts +10 -0
- package/dist/lib/components/ui/fields/slider/slider-group-props.d.ts +16 -0
- package/dist/lib/components/ui/fields/slider/slider-group.d.ts +14 -0
- package/dist/lib/components/ui/fields/slider/slider-horizontal.d.ts +3 -0
- package/dist/lib/components/ui/fields/slider/slider-vertical.d.ts +3 -0
- package/dist/lib/components/ui/fields/slider/slider.d.ts +1 -1
- package/dist/lib/components/ui/fields/slider/use-slider-value.d.ts +10 -0
- package/dist/lib/components/ui/fields/textarea-field/textarea-footer.d.ts +14 -0
- package/dist/lib/components/ui/layout/app-shell/activity-chrome.d.ts +17 -0
- package/dist/lib/components/ui/layout/app-shell/activity-content-header.d.ts +15 -0
- package/dist/lib/components/ui/layout/app-shell/app-header-menu.d.ts +5 -0
- package/dist/lib/components/ui/layout/app-shell/band-boxes.d.ts +3 -0
- package/dist/lib/components/ui/layout/app-shell/collect-content.d.ts +24 -0
- package/dist/lib/components/ui/layout/app-shell/keep-inside-checker.d.ts +10 -0
- package/dist/lib/components/ui/layout/app-shell/page-title-focus.d.ts +32 -0
- package/dist/lib/components/ui/layout/app-shell/page-title-scope.d.ts +53 -0
- package/dist/lib/components/ui/layout/app-shell/page-title.d.ts +2 -82
- package/dist/lib/components/ui/layout/app-shell/use-keep-shapes-inside.d.ts +3 -13
- package/dist/lib/components/ui/layout/app-shell/watch-content.d.ts +2 -18
- package/dist/lib/components/ui/layout/auth-card/auth-card-parts.d.ts +25 -0
- package/dist/lib/components/ui/layout/doc/partials/doc-header-parts.d.ts +18 -0
- package/dist/lib/components/ui/layout/doc/partials/doc-header.d.ts +2 -4
- package/dist/lib/components/ui/layout/doc/partials/doc-nav-parts.d.ts +11 -0
- package/dist/lib/components/ui/layout/doc/use-doc-effects.d.ts +23 -0
- package/dist/lib/components/ui/layout/index.d.ts +1 -0
- package/dist/lib/components/ui/layout/sidebar/sidebar-menu-item-content.d.ts +7 -0
- package/dist/lib/components/ui/layout/sidebar/sidebar-menu-item.d.ts +2 -47
- package/dist/lib/components/ui/layout/sidebar/sidebar-menu-item.types.d.ts +54 -0
- package/dist/lib/components/ui/layout/sticky-action-bar/index.d.ts +1 -0
- package/dist/lib/components/ui/layout/sticky-action-bar/keyboard-inset.d.ts +17 -0
- package/dist/lib/components/ui/layout/sticky-action-bar/sticky-action-bar.d.ts +17 -0
- package/dist/lib/components/ui/layout/sticky-action-bar/use-keyboard-inset.d.ts +8 -0
- package/dist/lib/components/ui/layout/toc/toc-list.d.ts +16 -0
- package/dist/lib/components/ui/media/compare-slider/partials/compare-slider-handle.d.ts +9 -0
- package/dist/lib/components/ui/media/compare-slider/use-compare-slider.d.ts +22 -0
- package/dist/lib/components/ui/media/file-list/file-list-field.d.ts +1 -1
- package/dist/lib/components/ui/media/file-list/partials/file-list-dropzone.d.ts +13 -0
- package/dist/lib/components/ui/media/file-list/partials/file-list-input.d.ts +11 -0
- package/dist/lib/components/ui/media/file-list/partials/file-list-items.d.ts +14 -0
- package/dist/lib/components/ui/media/file-list/partials/file-list-row-actions.d.ts +12 -0
- package/dist/lib/components/ui/media/file-list/use-file-list-field.d.ts +33 -0
- package/dist/lib/components/ui/media/galleries/partials/gallery-chrome-toolbar.d.ts +2 -6
- package/dist/lib/components/ui/media/galleries/partials/gallery-chrome-zoom.d.ts +2 -0
- package/dist/lib/components/ui/media/galleries/partials/gallery-featured-arrows.d.ts +2 -0
- package/dist/lib/components/ui/media/galleries/partials/gallery-tile-media.d.ts +17 -0
- package/dist/lib/components/ui/media/galleries/partials/gallery-viewer-button.d.ts +6 -0
- package/dist/lib/components/ui/media/galleries/use-gallery-navigation.d.ts +18 -0
- package/dist/lib/components/ui/media/galleries/use-gallery-sync.d.ts +15 -0
- package/dist/lib/components/ui/media/image-cropper/partials/image-cropper-actions.d.ts +12 -0
- package/dist/lib/components/ui/media/image-cropper/partials/image-cropper-controls.d.ts +8 -0
- package/dist/lib/components/ui/media/image-cropper/partials/image-cropper-stage.d.ts +12 -0
- package/dist/lib/components/ui/media/image-cropper/use-image-cropper.d.ts +34 -0
- package/dist/lib/components/ui/media/image-editor/image-editor.slice.d.ts +43 -43
- package/dist/lib/components/ui/media/image-editor/image-editor.stage-gestures.d.ts +29 -0
- package/dist/lib/components/ui/media/image-editor/image-editor.stage-paint.d.ts +17 -0
- package/dist/lib/components/ui/media/image-editor/partials/crop-aspect-picker.d.ts +2 -0
- package/dist/lib/components/ui/media/image-editor/partials/crop-orientation.d.ts +2 -0
- package/dist/lib/components/ui/media/image-editor/partials/editor-export-options.d.ts +2 -0
- package/dist/lib/components/ui/media/image-editor/partials/editor-file-info.d.ts +2 -0
- package/dist/lib/components/ui/media/image-editor/partials/editor-history-buttons.d.ts +2 -0
- package/dist/lib/components/ui/media/image-editor/partials/markup-brush-section.d.ts +2 -0
- package/dist/lib/components/ui/media/image-editor/partials/markup-tool-picker.d.ts +2 -0
- package/dist/lib/components/ui/media/image-editor/types-edits.d.ts +106 -0
- package/dist/lib/components/ui/media/image-editor/types-session.d.ts +58 -0
- package/dist/lib/components/ui/media/image-editor/types.d.ts +4 -163
- package/dist/lib/components/ui/media/image-editor/use-crop-frame.d.ts +26 -0
- package/dist/lib/components/ui/media/image-editor/use-image-editor-keys.d.ts +4 -0
- package/dist/lib/components/ui/media/image-editor/use-image-editor.d.ts +10 -10
- package/dist/lib/components/ui/media/image-editor/use-markup-text.d.ts +10 -0
- package/dist/lib/components/ui/media/image-editor/use-stage-layer-key.d.ts +6 -0
- package/dist/lib/components/ui/media/image-editor/use-stage-pointer.d.ts +2 -3
- package/dist/lib/components/ui/media/media-player/partials/panels/transcript-follow.d.ts +7 -0
- package/dist/lib/components/ui/media/media-player/partials/panels/transcript-notice.d.ts +7 -0
- package/dist/lib/components/ui/media/media-player/partials/panels/use-search-announcement.d.ts +6 -0
- package/dist/lib/components/ui/media/media-player/partials/playlist-item.d.ts +13 -0
- package/dist/lib/components/ui/media/pdf-reader/partials/search-nav-buttons.d.ts +4 -0
- package/dist/lib/components/ui/media/pdf-reader/use-reader-chrome-state.d.ts +35 -0
- package/dist/lib/components/ui/media/pdf-reader/use-reader-chrome-value.d.ts +14 -0
- package/dist/lib/components/ui/media/upload/network-upload-field/network-upload-dropzone-body.d.ts +8 -0
- package/dist/lib/components/ui/primitives/segmented-input/segmented-input-cells.d.ts +20 -0
- package/dist/lib/components/ui/primitives/segmented-input/use-segment-paste.d.ts +17 -0
- package/dist/lib/components/ui/primitives/segmented-input/use-segmented-keys.d.ts +17 -0
- package/dist/lib/components/ui/selection/autocomplete/autocomplete-equality.d.ts +7 -0
- package/dist/lib/components/ui/selection/autocomplete/partials/autocomplete-chips.d.ts +2 -19
- package/dist/lib/components/ui/selection/autocomplete/types.d.ts +19 -1
- package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-handlers.d.ts +5 -6
- package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-leave.d.ts +14 -0
- package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-picks.d.ts +17 -0
- package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-typing.d.ts +14 -0
- package/dist/lib/components/ui/selection/autocomplete/use-autocomplete.d.ts +3 -3
- package/dist/lib/components/ui/selection/checkbox-group/checkbox-group.d.ts +2 -23
- package/dist/lib/components/ui/selection/checkbox-group/partials/checkbox-group-options.d.ts +10 -0
- package/dist/lib/components/ui/selection/checkbox-group/types.d.ts +23 -0
- package/dist/lib/components/ui/selection/color-swatches/color-swatches.d.ts +2 -1
- package/dist/lib/components/ui/selection/color-swatches/color-swatches.utils.d.ts +3 -0
- package/dist/lib/components/ui/selection/color-swatches/partials/color-swatch-button.d.ts +13 -0
- package/dist/lib/components/ui/selection/color-swatches/partials/color-swatch-styles.d.ts +3 -0
- package/dist/lib/components/ui/selection/color-swatches/partials/custom-color-swatch.d.ts +11 -0
- package/dist/lib/components/ui/selection/color-swatches/types.d.ts +1 -0
- package/dist/lib/components/ui/selection/combobox-field/combobox-field.d.ts +3 -48
- package/dist/lib/components/ui/selection/combobox-field/partials/combobox-field-input.d.ts +4 -0
- package/dist/lib/components/ui/selection/combobox-field/types.d.ts +47 -0
- package/dist/lib/components/ui/selection/combobox-field/use-combobox-field-aria.d.ts +15 -0
- package/dist/lib/components/ui/selection/combobox-field/use-combobox-field-items.d.ts +1 -1
- package/dist/lib/components/ui/selection/combobox-field/use-typed-query.d.ts +8 -0
- package/dist/lib/components/ui/selection/option-tile/use-status-text.d.ts +3 -0
- package/dist/lib/components/ui/selection/radio-group/partials/radio-group-options.d.ts +7 -0
- package/dist/lib/components/ui/selection/radio-group/partials/radio-group-parts.d.ts +4 -0
- package/dist/lib/components/ui/selection/radio-group/radio-group.d.ts +3 -24
- package/dist/lib/components/ui/selection/radio-group/types.d.ts +22 -0
- package/dist/lib/components/ui/selection/sortable-list/partials/sortable-list-footer.d.ts +4 -0
- package/dist/lib/components/ui/selection/sortable-list/partials/sortable-list-frame.d.ts +20 -0
- package/dist/lib/components/ui/selection/sortable-list/partials/sortable-list-row-parts.d.ts +20 -0
- package/dist/lib/components/ui/selection/sortable-list/partials/sortable-list-row-props.d.ts +298 -0
- package/dist/lib/components/ui/selection/sortable-list/use-sortable-list-chrome.d.ts +20 -0
- package/dist/lib/components/ui/selection/sortable-list/use-sortable-list-data.d.ts +20 -0
- package/dist/lib/components/ui/selection/sortable-list/use-sortable-list-grab.d.ts +15 -0
- package/dist/lib/components/ui/selection/sortable-list/use-sortable-list-moves.d.ts +18 -0
- package/dist/lib/components/ui/selection/sortable-list/use-sortable-list.d.ts +7 -8
- package/dist/lib/components/ui/selection/switcher/partials/switcher-recent.d.ts +11 -0
- package/dist/lib/components/ui/selection/switcher/partials/switcher-row-body.d.ts +8 -0
- package/dist/lib/components/ui/selection/switcher/switcher-list-keys.d.ts +17 -0
- package/dist/lib/components/ui/selection/switcher/switcher.d.ts +1 -1
- package/dist/lib/components/ui/selection/switcher/use-switcher-clip.d.ts +9 -0
- package/dist/lib/components/ui/selection/switcher/use-switcher-list-focus.d.ts +14 -0
- package/dist/lib/components/ui/selection/switcher/use-switcher-open.d.ts +9 -0
- package/dist/lib/components/ui/selection/switcher/use-switcher-panel.d.ts +24 -0
- package/dist/lib/components/ui/selection/switcher/use-switcher.d.ts +326 -0
- package/dist/lib/components/ui/selection/transfer-list/partials/transfer-list-frame.d.ts +19 -0
- package/dist/lib/components/ui/selection/transfer-list/partials/transfer-list-item-row.d.ts +2 -3
- package/dist/lib/components/ui/selection/transfer-list/partials/transfer-list-listbox.d.ts +5 -0
- package/dist/lib/components/ui/selection/transfer-list/partials/transfer-list-row-parts.d.ts +16 -0
- package/dist/lib/components/ui/selection/transfer-list/partials/transfer-list-row-props.d.ts +283 -0
- package/dist/lib/components/ui/selection/transfer-list/transfer-list.keyboard.d.ts +3 -2
- package/dist/lib/components/ui/selection/transfer-list/use-transfer-list-actions.d.ts +3 -2
- package/dist/lib/components/ui/selection/transfer-list/use-transfer-list-checks.d.ts +18 -0
- package/dist/lib/components/ui/selection/transfer-list/use-transfer-list-derived.d.ts +14 -0
- package/dist/lib/components/ui/selection/transfer-list/use-transfer-list.d.ts +1 -1
- package/dist/lib/components/ui/selection/tree-select-field/partials/tree-select-chips.d.ts +9 -0
- package/dist/lib/components/ui/selection/tree-select-field/partials/tree-select-trigger-button.d.ts +15 -0
- package/dist/lib/components/ui/widgets/barcode/barcode-error.d.ts +4 -0
- package/dist/lib/components/ui/widgets/barcode/barcode-geometry.d.ts +22 -0
- package/dist/lib/components/ui/widgets/barcode/barcode.d.ts +31 -0
- package/dist/lib/components/ui/widgets/barcode/code128.d.ts +15 -0
- package/dist/lib/components/ui/widgets/barcode/datamatrix-placement.d.ts +7 -0
- package/dist/lib/components/ui/widgets/barcode/datamatrix-rs.d.ts +2 -0
- package/dist/lib/components/ui/widgets/barcode/datamatrix-tables.d.ts +13 -0
- package/dist/lib/components/ui/widgets/barcode/datamatrix.d.ts +10 -0
- package/dist/lib/components/ui/widgets/barcode/encode.d.ts +12 -0
- package/dist/lib/components/ui/widgets/barcode/index.d.ts +6 -0
- package/dist/lib/components/ui/widgets/barcode/label-length.d.ts +4 -0
- package/dist/lib/components/ui/widgets/barcode/label-sheet.d.ts +37 -0
- package/dist/lib/components/ui/widgets/chat/chat-message.d.ts +1 -1
- package/dist/lib/components/ui/widgets/chat/chat-message.view.d.ts +32 -0
- package/dist/lib/components/ui/widgets/chat/partials/chat-composer-notices.d.ts +8 -0
- package/dist/lib/components/ui/widgets/chat/partials/chat-composer-surface.d.ts +11 -0
- package/dist/lib/components/ui/widgets/chat/partials/chat-conversation-item-skeleton.d.ts +4 -0
- package/dist/lib/components/ui/widgets/chat/partials/chat-conversation-item-text.d.ts +10 -0
- package/dist/lib/components/ui/widgets/chat/partials/chat-inbox-list.d.ts +8 -0
- package/dist/lib/components/ui/widgets/chat/partials/chat-inbox-thread.d.ts +11 -0
- package/dist/lib/components/ui/widgets/chat/partials/chat-message-action-menus.d.ts +17 -0
- package/dist/lib/components/ui/widgets/chat/partials/chat-message-body.d.ts +6 -0
- package/dist/lib/components/ui/widgets/chat/partials/chat-scroll-to-latest.d.ts +7 -0
- package/dist/lib/components/ui/widgets/chat/partials/chat-typing-row.d.ts +9 -0
- package/dist/lib/components/ui/widgets/chat/use-chat-inbox-pane.d.ts +13 -0
- package/dist/lib/components/ui/widgets/chat/use-chat-widget-open.d.ts +19 -0
- package/dist/lib/components/ui/widgets/code-editor/toolbar/code-view-tools.d.ts +10 -0
- package/dist/lib/components/ui/widgets/code-editor/use-monaco-options.d.ts +9 -0
- package/dist/lib/components/ui/widgets/editor/extensions/custom/accordion/accordion-item-actions.d.ts +7 -0
- package/dist/lib/components/ui/widgets/editor/extensions/custom/action-card/action-card-tile.d.ts +10 -0
- package/dist/lib/components/ui/widgets/editor/extensions/custom/select-card/select-card-tile.d.ts +11 -0
- package/dist/lib/components/ui/widgets/editor/extensions/custom/select-card/toggle-selection.d.ts +3 -0
- package/dist/lib/components/ui/widgets/editor/extensions/custom/shared/use-node-list.d.ts +11 -0
- package/dist/lib/components/ui/widgets/editor/extensions/emoji/use-emoji-groups.d.ts +13 -0
- package/dist/lib/components/ui/widgets/editor/presets/compact-editor-parts.d.ts +10 -0
- package/dist/lib/components/ui/widgets/editor/presets/document-editor-frame-parts.d.ts +19 -0
- package/dist/lib/components/ui/widgets/editor/presets/document-editor-layout.d.ts +5 -0
- package/dist/lib/components/ui/widgets/editor/presets/document-editor-overlays.d.ts +6 -0
- package/dist/lib/components/ui/widgets/editor/presets/document-editor-page-parts.d.ts +25 -0
- package/dist/lib/components/ui/widgets/editor/presets/rich-chat-composer/composer-class.d.ts +8 -0
- package/dist/lib/components/ui/widgets/editor/presets/rich-chat-composer/partials/composer-toolbar.d.ts +6 -0
- package/dist/lib/components/ui/widgets/editor/presets/rich-chat-composer/partials/format-buttons.d.ts +8 -0
- package/dist/lib/components/ui/widgets/editor/presets/use-document-features.d.ts +15 -0
- package/dist/lib/components/ui/widgets/education/questions/partials/question-body.d.ts +5 -0
- package/dist/lib/components/ui/widgets/education/questions/partials/question-content.d.ts +3 -0
- package/dist/lib/components/ui/widgets/education/questions/partials/question-extras.d.ts +10 -0
- package/dist/lib/components/ui/widgets/education/questions/partials/question-outcome.d.ts +7 -0
- package/dist/lib/components/ui/widgets/education/questions/question-options.keyboard.d.ts +17 -0
- package/dist/lib/components/ui/widgets/education/questions/question.d.ts +1 -1
- package/dist/lib/components/ui/widgets/education/questions/types.d.ts +3 -2
- package/dist/lib/components/ui/widgets/education/quizzes/partials/quiz-shortcuts.d.ts +6 -0
- package/dist/lib/components/ui/widgets/education/quizzes/partials/results-actions.d.ts +7 -0
- package/dist/lib/components/ui/widgets/education/quizzes/partials/results-ring.d.ts +5 -0
- package/dist/lib/components/ui/widgets/education/quizzes/quiz.flow.d.ts +29 -0
- package/dist/lib/components/ui/widgets/education/quizzes/quiz.slice.d.ts +3 -0
- package/dist/lib/components/ui/widgets/education/quizzes/use-quiz-actions.d.ts +20 -0
- package/dist/lib/components/ui/widgets/education/quizzes/use-quiz-flow.d.ts +29 -0
- package/dist/lib/components/ui/widgets/education/quizzes/use-quiz-lifecycle.d.ts +12 -0
- package/dist/lib/components/ui/widgets/education/quizzes/use-quiz.d.ts +2 -1
- package/dist/lib/components/ui/widgets/event-calendar/partials/calendar-step-buttons.d.ts +2 -0
- package/dist/lib/components/ui/widgets/event-calendar/partials/month-day-cell-class.d.ts +9 -0
- package/dist/lib/components/ui/widgets/event-calendar/partials/month-day-parts.d.ts +12 -0
- package/dist/lib/components/ui/widgets/event-calendar/use-month-day.d.ts +26 -0
- package/dist/lib/components/ui/widgets/kanban/kanban.drag.d.ts +15 -0
- package/dist/lib/components/ui/widgets/kanban/partials/kanban-card-tile.d.ts +7 -0
- package/dist/lib/components/ui/widgets/kanban/partials/kanban-column-cards.d.ts +8 -0
- package/dist/lib/components/ui/widgets/kanban/partials/kanban-drag-preview.d.ts +8 -0
- package/dist/lib/components/ui/widgets/kanban/partials/kanban-group-header.d.ts +8 -0
- package/dist/lib/components/ui/widgets/kanban/use-kanban-item-actions.d.ts +20 -0
- package/dist/lib/components/ui/widgets/native-charts/core/base-props-types.d.ts +64 -0
- package/dist/lib/components/ui/widgets/native-charts/core/reference-geometry.d.ts +62 -0
- package/dist/lib/components/ui/widgets/native-charts/core/reference-types.d.ts +35 -0
- package/dist/lib/components/ui/widgets/native-charts/core/reference.d.ts +1 -56
- package/dist/lib/components/ui/widgets/native-charts/core/types.d.ts +2 -96
- package/dist/lib/components/ui/widgets/native-charts/hooks/use-model-parts.d.ts +20 -0
- package/dist/lib/components/ui/widgets/native-charts/hooks/use-model-shown.d.ts +23 -0
- package/dist/lib/components/ui/widgets/native-charts/line-chart/partials/line-strokes.d.ts +10 -0
- package/dist/lib/components/ui/widgets/native-charts/line-chart/partials/use-line-reveal.d.ts +9 -0
- package/dist/lib/i18n/resources/en/en.d.ts +12 -0
- package/dist/lib/i18n/resources/en/material.json.d.ts +13 -1
- package/dist/lib/i18n/resources/fr/fr.d.ts +12 -0
- package/dist/lib/i18n/resources/fr/material.json.d.ts +13 -1
- package/dist/lib/i18n/resources/resources.d.ts +24 -0
- package/dist/lib/i18n/translator.d.ts +1 -1
- package/dist/lib/map/components/partials/default-location.d.ts +2 -0
- package/dist/lib/map/components/partials/location-dialog.d.ts +17 -0
- package/dist/lib/print/components/print-document/print-document.d.ts +2 -37
- package/dist/lib/print/components/print-document/print-document.types.d.ts +37 -0
- package/dist/lib/print/components/print-document/use-print-context.d.ts +11 -0
- package/dist/lib/print/components/print-section.d.ts +8 -1
- package/dist/lib.js +55 -48
- package/dist/main.js +43 -43
- package/dist/map.js +91 -74
- package/dist/material.css +1 -1
- package/dist/{nxgt-theme-ivgNca3z.js → nxgt-theme-DA1IQe0O.js} +5 -5
- package/dist/pdf-reader.js +1 -1
- package/dist/print.js +123 -108
- package/dist/{public-DVZJVdxD.js → public-CLkf8uky.js} +368 -338
- package/dist/{render-json-BOhvPnSv.js → render-json-COvAkihK.js} +3 -3
- package/dist/{rich-code-block-DL5-9JIi.js → rich-code-block-hJexXOdk.js} +5 -5
- package/dist/{rich-text-viewer-W15XIwah.js → rich-text-viewer-CXJp584B.js} +3 -3
- package/dist/{sortable-provider-DrpBwx75.js → sortable-provider-DE-MSfeJ.js} +2 -2
- package/dist/{spinner-D4XGdse6.js → spinner-CquTUxzt.js} +3 -1
- package/dist/{stored-language-C89mti-z.js → stored-language-BDzGeEAm.js} +22 -2
- package/dist/theme-picker.js +3 -3
- package/dist/{theme-toggle-BFhqLmgx.js → theme-toggle-DBgsBw8S.js} +1 -1
- package/dist/themes.js +1 -1
- package/dist/{toolbar-items-SZ5pyAFz.js → toolbar-items-Bm1baIp6.js} +578 -567
- package/dist/{translate-material-BkqnImND.js → translate-material-Q67GD4co.js} +2 -2
- package/dist/{translator-B5fId5Rw.js → translator-CBhGdYun.js} +1 -1
- package/dist/{use-chat-composer-BG5B4DGB.js → use-chat-composer-Cx7Q_KOV.js} +8929 -8650
- package/dist/{use-heading-spy-51GQw8tH.js → use-heading-spy-COxCWqWF.js} +1 -1
- package/dist/{use-material-translation-BQOr4Oks.js → use-material-translation-BZAy_ffS.js} +2 -2
- package/dist/use-shape-morph-BKA_R5P5.js +35 -0
- package/dist/{youtube-node-OWSNlYCc.js → youtube-node-A3NPAPgK.js} +27 -27
- package/docs/README.md +1 -0
- package/docs/components/buttons-and-actions.md +37 -0
- package/docs/components/feedback-and-status.md +30 -4
- package/docs/components/navigation-and-layout.md +47 -0
- package/docs/components/rich-widgets.md +34 -3
- package/docs/guides/barcode.md +203 -0
- package/docs/guides/data-grid.md +11 -1
- package/docs/guides/printing.md +28 -3
- package/docs/previews/buttons-actions-loadmorefooter.webp +0 -0
- package/docs/previews/feedback-status-pageloadfailed.webp +0 -0
- package/docs/previews/navigation-layout-stickyactionbar.webp +0 -0
- package/docs/roadmap.md +18 -3
- package/docs/troubleshooting.md +62 -0
- package/lib/components/components.css +1 -0
- package/lib/components/ui/widgets/barcode/barcode.css +112 -0
- package/package.json +10 -3
- package/dist/empty-state-4gmbCkcw.js +0 -117
- package/dist/use-shape-morph-DXdy2X5g.js +0 -35
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as e } from "./i18n-provider-
|
|
1
|
+
import { r as e } from "./i18n-provider-BJDI-A5w.js";
|
|
2
2
|
import { _ as t, g as n, h as r, n as i, v as a, y as o } from "./number.utils-BG_eEt5g.js";
|
|
3
3
|
import { useCallback as s, useEffect as c, useMemo as l, useRef as u, useState as d } from "react";
|
|
4
4
|
import { busySettler as f, busySettler as p, createSubmitGuard as m, createSubmitGuard as h } from "@nxgt/material-core/submit-guard";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as e } from "./i18n-provider-
|
|
2
|
-
import { t } from "./translate-material-
|
|
1
|
+
import { r as e } from "./i18n-provider-BJDI-A5w.js";
|
|
2
|
+
import { t } from "./translate-material-Q67GD4co.js";
|
|
3
3
|
import { useCallback as n } from "react";
|
|
4
4
|
//#region lib/i18n/use-material-translation.ts
|
|
5
5
|
function r() {
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { morph as e, morphAt as t, toSvgPath as n } from "@nxgt/material-core/shapes";
|
|
2
|
+
import { useLayoutEffect as r, useRef as i } from "react";
|
|
3
|
+
//#region lib/components/ui/display/shape/use-shape-morph.ts
|
|
4
|
+
var a = .8, o = 14, s = o * Math.sqrt(1 - a * a);
|
|
5
|
+
function c(e) {
|
|
6
|
+
let t = e / 1e3;
|
|
7
|
+
return 1 - Math.exp(-.8 * o * t) * (Math.cos(s * t) + a * o / s * Math.sin(s * t));
|
|
8
|
+
}
|
|
9
|
+
var l = () => typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
10
|
+
function u(a, o, s) {
|
|
11
|
+
let u = i(o);
|
|
12
|
+
r(() => {
|
|
13
|
+
let r = a.current, i = u.current;
|
|
14
|
+
if (!r || i === o || !s || l()) {
|
|
15
|
+
r && i !== o && r.setAttribute("d", n(o)), u.current = o;
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
let d = e(i, o), f = n(o), p = 0, m = performance.now(), h = (e) => {
|
|
19
|
+
let i = e - m;
|
|
20
|
+
if (i >= 520) {
|
|
21
|
+
u.current = o, r.setAttribute("d", f);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
let a = t(d, c(i));
|
|
25
|
+
u.current = a, r.setAttribute("d", n(a)), p = requestAnimationFrame(h);
|
|
26
|
+
};
|
|
27
|
+
return r.setAttribute("d", n(d.from)), p = requestAnimationFrame(h), () => cancelAnimationFrame(p);
|
|
28
|
+
}, [
|
|
29
|
+
a,
|
|
30
|
+
o,
|
|
31
|
+
s
|
|
32
|
+
]);
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { u as n, c as t };
|
|
@@ -172,15 +172,7 @@ var mt = D.create({
|
|
|
172
172
|
return ["div", w(e)];
|
|
173
173
|
},
|
|
174
174
|
...A(Be, ft)
|
|
175
|
-
}), ht =
|
|
176
|
-
function _t(e) {
|
|
177
|
-
if (typeof e != "string") return;
|
|
178
|
-
let t = e.replace(/[\u0000-\u001f\u007f\s]+/g, "");
|
|
179
|
-
if (t) return ht.test(t) ? e.trim() : gt.test(t) ? void 0 : e.trim();
|
|
180
|
-
}
|
|
181
|
-
//#endregion
|
|
182
|
-
//#region lib/components/ui/widgets/editor/extensions/custom/shared/icon-options.ts
|
|
183
|
-
var vt = {
|
|
175
|
+
}), ht = {
|
|
184
176
|
sparkles: Pe,
|
|
185
177
|
rocket: je,
|
|
186
178
|
star: Fe,
|
|
@@ -195,34 +187,42 @@ var vt = {
|
|
|
195
187
|
"trending-up": Le,
|
|
196
188
|
info: Ae,
|
|
197
189
|
settings: Me
|
|
198
|
-
},
|
|
199
|
-
function
|
|
190
|
+
}, gt = Object.keys(ht), _t = "sparkles";
|
|
191
|
+
function vt(e) {
|
|
200
192
|
return e.split("-").map((e) => e[0].toUpperCase() + e.slice(1)).join(" ");
|
|
201
193
|
}
|
|
202
|
-
function
|
|
203
|
-
return
|
|
194
|
+
function yt(e) {
|
|
195
|
+
return ht[typeof e == "string" && gt.includes(e) ? e : _t];
|
|
204
196
|
}
|
|
205
197
|
//#endregion
|
|
206
198
|
//#region lib/components/ui/widgets/editor/extensions/custom/action-card/const.ts
|
|
207
|
-
var
|
|
199
|
+
var bt = "actionCard", xt = [{
|
|
208
200
|
value: "sm",
|
|
209
201
|
label: "Small"
|
|
210
202
|
}, {
|
|
211
203
|
value: "md",
|
|
212
204
|
label: "Medium"
|
|
213
|
-
}],
|
|
205
|
+
}], St = [{
|
|
214
206
|
id: "card-1",
|
|
215
|
-
icon:
|
|
207
|
+
icon: _t,
|
|
216
208
|
title: "Title",
|
|
217
209
|
description: "Description",
|
|
218
210
|
href: ""
|
|
219
211
|
}, {
|
|
220
212
|
id: "card-2",
|
|
221
|
-
icon:
|
|
213
|
+
icon: _t,
|
|
222
214
|
title: "Title",
|
|
223
215
|
description: "Description",
|
|
224
216
|
href: ""
|
|
225
|
-
}],
|
|
217
|
+
}], Ct = /^(https?:|mailto:|tel:)/i, wt = /^[a-z][a-z0-9+.-]*:/i;
|
|
218
|
+
function Tt(e) {
|
|
219
|
+
if (typeof e != "string") return;
|
|
220
|
+
let t = e.replace(/[\u0000-\u001f\u007f\s]+/g, "");
|
|
221
|
+
if (t) return Ct.test(t) ? e.trim() : wt.test(t) ? void 0 : e.trim();
|
|
222
|
+
}
|
|
223
|
+
//#endregion
|
|
224
|
+
//#region lib/components/ui/widgets/editor/format/codecs/cards.ts
|
|
225
|
+
var Et = /^\[((?:\\.|[^\]])*)\]\(([^)\s]*)\)$/, Dt = (e) => Array.isArray(e) ? e : [], Ot = (e) => j(e) ? [` ${j(e).replace(/\n/g, " ")}`] : [], kt = {
|
|
226
226
|
write: (e) => {
|
|
227
227
|
let t = new Set((Array.isArray(e.value) ? e.value : []).map(String));
|
|
228
228
|
return {
|
|
@@ -279,23 +279,23 @@ var Ct = "actionCard", wt = [{
|
|
|
279
279
|
//#endregion
|
|
280
280
|
//#region lib/components/ui/widgets/editor/extensions/custom/action-card/spec.ts
|
|
281
281
|
function jt(e) {
|
|
282
|
-
if (!e) return
|
|
282
|
+
if (!e) return St;
|
|
283
283
|
try {
|
|
284
284
|
let t = JSON.parse(e);
|
|
285
|
-
return Array.isArray(t) ? t :
|
|
285
|
+
return Array.isArray(t) ? t : St;
|
|
286
286
|
} catch {
|
|
287
|
-
return
|
|
287
|
+
return St;
|
|
288
288
|
}
|
|
289
289
|
}
|
|
290
290
|
var Mt = D.create({
|
|
291
|
-
name:
|
|
291
|
+
name: bt,
|
|
292
292
|
group: "block",
|
|
293
293
|
atom: !0,
|
|
294
294
|
draggable: !0,
|
|
295
295
|
addAttributes() {
|
|
296
296
|
return {
|
|
297
297
|
items: {
|
|
298
|
-
default:
|
|
298
|
+
default: St,
|
|
299
299
|
parseHTML: (e) => jt(e.getAttribute("data-action-card-items")),
|
|
300
300
|
renderHTML: (e) => ({ "data-action-card-items": JSON.stringify(e.items) })
|
|
301
301
|
},
|
|
@@ -312,7 +312,7 @@ var Mt = D.create({
|
|
|
312
312
|
renderHTML({ HTMLAttributes: e }) {
|
|
313
313
|
return ["div", w(e)];
|
|
314
314
|
},
|
|
315
|
-
...A(
|
|
315
|
+
...A(bt, At)
|
|
316
316
|
}), Nt = "callout", Pt = {
|
|
317
317
|
info: {
|
|
318
318
|
label: "Info",
|
|
@@ -4583,12 +4583,12 @@ var Ls = D.create({
|
|
|
4583
4583
|
value: "option-1",
|
|
4584
4584
|
title: "Option 1",
|
|
4585
4585
|
description: "",
|
|
4586
|
-
icon:
|
|
4586
|
+
icon: _t
|
|
4587
4587
|
}, {
|
|
4588
4588
|
value: "option-2",
|
|
4589
4589
|
title: "Option 2",
|
|
4590
4590
|
description: "",
|
|
4591
|
-
icon:
|
|
4591
|
+
icon: _t
|
|
4592
4592
|
}];
|
|
4593
4593
|
//#endregion
|
|
4594
4594
|
//#region lib/components/ui/widgets/editor/extensions/custom/select-card/spec.ts
|
|
@@ -6778,4 +6778,4 @@ var ru = nu(Ll), iu = nu(Rl), au = E.create({
|
|
|
6778
6778
|
})
|
|
6779
6779
|
});
|
|
6780
6780
|
//#endregion
|
|
6781
|
-
export { Ve as $, fr as A, It as B, Di as C, mr as D, vr as E, $t as F,
|
|
6781
|
+
export { Ve as $, fr as A, It as B, Di as C, mr as D, vr as E, $t as F, xt as G, Ft as H, Ut as I, gt as J, St as K, zt as L, Ln as M, nr as N, dr as O, Xt as P, mt as Q, Bt as R, Ei as S, xr as T, Mt as U, Pt as V, Tt as W, vt as X, ht as Y, yt as Z, Ps as _, tu as a, ki as b, Js as c, Us as d, Bs as f, Ns as g, Fs as h, iu as i, Fn as j, ur as k, Ks as l, Ls as m, au as n, zl as o, zs as p, _t as q, ru as r, Z as s, gu as t, Gs as u, js as v, Cr as w, Oi as x, Ts as y, Rt as z };
|
package/docs/README.md
CHANGED
|
@@ -9,6 +9,7 @@ detail: every option, the second example, and the traps.
|
|
|
9
9
|
| [Components](components/README.md) | You are looking for a component — one preview per category, then one page per category |
|
|
10
10
|
| [Forms](guides/forms.md) | You are building a form: the field / `*FormField` pair, React Hook Form + Zod, what each field emits, server errors, multi-step forms |
|
|
11
11
|
| [Themes for your app](guides/themes.md) | You define your own themes: `defineTheme` modules, the Vite plugin's `themes` option, the `nxgt-theme` command and its CI check, the tone warnings |
|
|
12
|
+
| [Barcodes and label sheets](guides/barcode.md) | You draw a Code 128 or Data Matrix code and print a sheet of labels with `@nxgt/material/barcode`: `Barcode`, `LabelSheet` and `Label`, label size, columns, rows, gaps and a start offset, dark mode, print and accessibility |
|
|
12
13
|
| [Charts](guides/charts.md) | You draw charts with `@nxgt/material/charts`: each chart, the shared props, reference bands, thresholds and point tones, zoom and phone scroll, the keyboard, accessibility, theming the `--chart-1..5` tokens, and moving off the Nivo charts, removed in 3.0 |
|
|
13
14
|
| [Cards and tiles](guides/cards-and-tiles.md) | You want a `DataTable` as a list of cards or tiles: `layout`, `renderCard`, `renderTile`, the card's one link, selection, the sort control, columns by the list's width |
|
|
14
15
|
| [DataGrid](guides/data-grid.md) | You are building an editable grid: columns and editors, save modes and conflicts, resizing, hiding and reordering columns, paste, fill and series, undo, totals, long lists, phones, custom editors, CSP |
|
|
@@ -18,6 +18,7 @@ and language switches. Everything is imported from `@nxgt/material/components`.
|
|
|
18
18
|
| <img src="../previews/buttons-actions-copybutton.webp" width="96" alt=""> | [CopyButton](#copybutton) | Copies a value, shows a check mark |
|
|
19
19
|
| <img src="../previews/buttons-actions-highlighttext.webp" width="96" alt=""> | [HighlightText](#highlighttext) | Marks matches of a query inside a string |
|
|
20
20
|
| <img src="../previews/buttons-actions-loadmorebutton.webp" width="96" alt=""> | [LoadMoreButton](#loadmorebutton) | "Load more" for cursor pagination |
|
|
21
|
+
| <img src="../previews/buttons-actions-loadmorefooter.webp" width="96" alt=""> | [LoadMoreFooter](#loadmorefooter) | Shown-of-total line, load button and a failed state with retry, for a paged list |
|
|
21
22
|
| <img src="../previews/buttons-actions-scrolltotop.webp" width="96" alt=""> | [ScrollToTop](#scrolltotop) | Appears past a scroll threshold |
|
|
22
23
|
| <img src="../previews/buttons-actions-scrolltolatestbutton.webp" width="96" alt=""> | [ScrollToLatestButton](#scrolltolatestbutton) | "Jump to latest" over a scroll box, counting what arrived |
|
|
23
24
|
| <img src="../previews/buttons-actions-actioncard.webp" width="96" alt=""> | [ActionCard](#actioncard) | Clickable card, a button (`aria-pressed`) when it chooses or reacts, with an active indicator; `status`, `meta`, a trailing `action` and a `tile` variant |
|
|
@@ -969,6 +970,42 @@ buttons.
|
|
|
969
970
|
|
|
970
971
|
---
|
|
971
972
|
|
|
973
|
+
|
|
974
|
+
## LoadMoreFooter
|
|
975
|
+
|
|
976
|
+

|
|
977
|
+
|
|
978
|
+
The footer of a paged list: a "Showing N of M" line (a polite live region), the load button and, when the next page failed, an error alert whose "Try again" calls `onLoad`. The rows already shown stay on screen. It renders nothing when there is no next page.
|
|
979
|
+
|
|
980
|
+
```tsx
|
|
981
|
+
import { LoadMoreFooter } from '@nxgt/material/components';
|
|
982
|
+
|
|
983
|
+
<LoadMoreFooter
|
|
984
|
+
shown={items.length}
|
|
985
|
+
total={totalCount}
|
|
986
|
+
hasMore={hasNextPage}
|
|
987
|
+
loading={isFetchingNextPage}
|
|
988
|
+
failed={isFetchNextPageError}
|
|
989
|
+
onLoad={() => fetchNextPage()}
|
|
990
|
+
/>;
|
|
991
|
+
```
|
|
992
|
+
|
|
993
|
+
| Prop | Type | Default | Effect |
|
|
994
|
+
| --- | --- | --- | --- |
|
|
995
|
+
| `shown` | `number` | — | items shown now |
|
|
996
|
+
| `total` | `number` | — | items in all; leave it out when unknown, the line then reads "20 shown" |
|
|
997
|
+
| `hasMore` | `boolean` | — | `false` renders nothing, not even the count |
|
|
998
|
+
| `loading` | `boolean` | `false` | the button (or the retry) spins and ignores clicks |
|
|
999
|
+
| `failed` | `boolean` | `false` | an error alert with a tonal "Try again" replaces the button |
|
|
1000
|
+
| `label` | `string` | `"Load more"` (translated) | the load button's text; the button is expanded here |
|
|
1001
|
+
| `onLoad` | `() => void` | — | loads the next page; the retry calls it too |
|
|
1002
|
+
|
|
1003
|
+
Texts are `material.load-more.shown`, `.shown-count`, `.failed` and `.retry` (English and French). It composes [`LoadMoreButton`](#loadmorebutton); keep that one for a pagination bar. For a page opened at a cursor that failed, see [`PageLoadFailed`](./feedback-and-status.md#pageloadfailed).
|
|
1004
|
+
|
|
1005
|
+
**Storybook:** `Buttons & actions/LoadMoreFooter` · **Vue:** not yet (tracked as a `vue` issue)
|
|
1006
|
+
|
|
1007
|
+
---
|
|
1008
|
+
|
|
972
1009
|
## ScrollToTop
|
|
973
1010
|
|
|
974
1011
|

|
|
@@ -13,11 +13,12 @@ centre.
|
|
|
13
13
|
| <img src="../previews/feedback-status-customdialog.webp" width="96" alt=""> | [CustomDialog](#customdialog) | Ready-made dialog with trigger, icon, title, body and footer |
|
|
14
14
|
| <img src="../previews/feedback-status-stepupdialog.webp" width="96" alt=""> | [StepUpDialog](#stepupdialog) | "Confirm it's you": a dialog that asks for a one-time code, driven by props |
|
|
15
15
|
| <img src="../previews/feedback-status-emptystate.webp" width="96" alt=""> | [EmptyState](#emptystate) | Illustration, title, description and action, by kind (empty, search, not-found, unauthorized) |
|
|
16
|
+
| <img src="../previews/feedback-status-pageloadfailed.webp" width="96" alt=""> | [PageLoadFailed](#pageloadfailed) | An empty state for a page opened at a cursor that failed, with a link back to the start |
|
|
16
17
|
| <img src="../previews/feedback-status-errorstate.webp" width="96" alt=""> | [ErrorState](#errorstate) | Failure block with Retry and technical details |
|
|
17
18
|
| <img src="../previews/feedback-status-progress.webp" width="96" alt=""> | [Progress](#progress) | Material 3 Expressive linear bar, circular ring and labelled progress field, flat or wavy |
|
|
18
19
|
| <img src="../previews/feedback-status-scrollprogress.webp" width="96" alt=""> | [ScrollProgress](#scrollprogress) | Hairline tracking the window or a scrollable element |
|
|
19
20
|
| <img src="../previews/feedback-status-stepdots.webp" width="96" alt=""> | [StepDots](#stepdots) | Segmented step progress, each step coloured by its state |
|
|
20
|
-
| <img src="../previews/feedback-status-countdowntimer.webp" width="96" alt=""> | [CountdownTimer](#countdowntimer) | Countdown clock with a ring, amber then red as time runs out, with an icon and words
|
|
21
|
+
| <img src="../previews/feedback-status-countdowntimer.webp" width="96" alt=""> | [CountdownTimer](#countdowntimer) | Countdown clock with a ring, amber then red as time runs out, with an icon and words when time is low |
|
|
21
22
|
| <img src="../previews/feedback-status-spinner.webp" width="96" alt=""> | [Spinner](#spinner) | Loading spinner in several styles and colours |
|
|
22
23
|
| <img src="../previews/feedback-status-loadingindicator.webp" width="96" alt=""> | [LoadingIndicator](#loadingindicator) | Material 3 Expressive's loading indicator: a shape morphing while it turns |
|
|
23
24
|
| <img src="../previews/feedback-status-typingindicator.webp" width="96" alt=""> | [TypingIndicator](#typingindicator) | Three dots in a wave: someone is writing |
|
|
@@ -502,6 +503,30 @@ The default description is the companion of its title: with your own `title` and
|
|
|
502
503
|
|
|
503
504
|
---
|
|
504
505
|
|
|
506
|
+
## PageLoadFailed
|
|
507
|
+
|
|
508
|
+

|
|
509
|
+
|
|
510
|
+
An `EmptyState` for a list page opened at a cursor that failed to load (a stale link, a lost page): a title and a tonal "Back to the start" link. The link is rendered by the `LinkComponentProvider`'s component. For the next page of a list that is already shown, use [`LoadMoreFooter`](./buttons-and-actions.md#loadmorefooter), which keeps the rows.
|
|
511
|
+
|
|
512
|
+
```tsx
|
|
513
|
+
import { PageLoadFailed } from '@nxgt/material/components';
|
|
514
|
+
|
|
515
|
+
<PageLoadFailed href="/orders" />;
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
| Prop | Type | Default | Effect |
|
|
519
|
+
| --- | --- | --- | --- |
|
|
520
|
+
| `href` | `string` | — | where "Back to the start" goes: the list without its cursor |
|
|
521
|
+
| `linkLabel` | `string` | `"Back to the start"` (translated) | the link's text |
|
|
522
|
+
| `title` | `ReactNode` | `"This page could not be loaded"` (translated) | the title |
|
|
523
|
+
|
|
524
|
+
It takes the other `EmptyState` props (`size`, `illustration`, `description`, `headingLevel`) except `action`. Texts are `material.load-more.page-failed-title` and `.back-to-start`.
|
|
525
|
+
|
|
526
|
+
**Storybook:** `Feedback & status/PageLoadFailed` · **Vue:** not yet (tracked as a `vue` issue)
|
|
527
|
+
|
|
528
|
+
---
|
|
529
|
+
|
|
505
530
|
## ErrorState
|
|
506
531
|
|
|
507
532
|

|
|
@@ -747,7 +772,8 @@ import { CountdownTimer } from '@nxgt/material/components';
|
|
|
747
772
|
|
|
748
773
|
<CountdownTimer duration={300} onExpire={() => submit()} />;
|
|
749
774
|
|
|
750
|
-
// Past `warningAt` it shows a clock icon and "Little time left"
|
|
775
|
+
// Past `warningAt` it shows a clock icon and "Little time left" ("Almost out of time" past
|
|
776
|
+
// `criticalAt`); change (both tones) or hide the words:
|
|
751
777
|
<CountdownTimer duration={300} warningText="Hurry up" />;
|
|
752
778
|
<CountdownTimer duration={300} warningText={false} />;
|
|
753
779
|
```
|
|
@@ -759,12 +785,12 @@ import { CountdownTimer } from '@nxgt/material/components';
|
|
|
759
785
|
| `onExpire` | `() => void` | — | called once, at zero |
|
|
760
786
|
| `warningAt` / `criticalAt` | `number` | a quarter (≤ 60 s) / a tenth (≤ 10 s) | the seconds left when it turns amber / red |
|
|
761
787
|
| `label` | `string` | `'Time remaining'` | its name |
|
|
762
|
-
| `warningText` | `string \| false` | `'Little time left'` | the words shown with a clock icon in the warning
|
|
788
|
+
| `warningText` | `string \| false` | `'Little time left'` / `'Almost out of time'` | the words shown with a clock icon in the warning and critical tones, so low time is not told by colour alone; a string replaces both phrases; `false` hides them |
|
|
763
789
|
| `size` | `'sm' \| 'md'` | `'md'` | 28 or 36 px high |
|
|
764
790
|
|
|
765
791
|
It ticks on the client only: the server renders the full time. The clock is a
|
|
766
792
|
`role="timer"`; a polite live region speaks only when a threshold is crossed
|
|
767
|
-
("Little time left. 1:00 left", the phrase being `warningText`) and when the time is up, never every second. `formatClock` and
|
|
793
|
+
("Little time left. 1:00 left", the phrase being `warningText` or the critical one) and when the time is up, never every second. `formatClock` and
|
|
768
794
|
`countdownTone` are exported too, and so is the clock itself as the
|
|
769
795
|
[`useCountdown`](../guides/helpers.md#usecountdown) hook (`@nxgt/material/hooks`),
|
|
770
796
|
for a button that waits without a ring.
|
|
@@ -12,6 +12,7 @@ documentation-site shell. Everything is imported from
|
|
|
12
12
|
| <img src="../previews/navigation-layout-authcard.webp" width="96" alt=""> | [AuthCard](#authcard) | Signed-out page frame: one `main`, a centred card, its title the `h1` |
|
|
13
13
|
| <img src="../previews/navigation-layout-sidebar.webp" width="96" alt=""> | [Sidebar](#sidebar) | Collapsible navigation sidebar |
|
|
14
14
|
| <img src="../previews/navigation-layout-topappbar.webp" width="96" alt=""> | [TopAppBar, BottomAppBar](#topappbar) | Top and bottom bars |
|
|
15
|
+
| <img src="../previews/navigation-layout-stickyactionbar.webp" width="96" alt=""> | [StickyActionBar](#stickyactionbar) | A page's main decision, stuck to the bottom on a phone, inline from `md` |
|
|
15
16
|
| <img src="../previews/navigation-layout-breadcrumb.webp" width="96" alt=""> | [Breadcrumb](#breadcrumb) | Breadcrumb primitives |
|
|
16
17
|
| <img src="../previews/navigation-layout-listdetailslayout.webp" width="96" alt=""> | [ListDetailsLayout, PaneLayout, ThreadLayout](#listdetailslayout) | Page layouts that adapt to phones |
|
|
17
18
|
| <img src="../previews/navigation-layout-responsivegrid.webp" width="96" alt=""> | [ResponsiveGrid](#responsivegrid) | Container-query grid, 1 to 5 columns, or `auto-fill` columns by a minimum tile width (`minItem`) |
|
|
@@ -343,6 +344,52 @@ the one with `data-state="active"`.
|
|
|
343
344
|
|
|
344
345
|
---
|
|
345
346
|
|
|
347
|
+
## StickyActionBar
|
|
348
|
+
|
|
349
|
+

|
|
350
|
+
|
|
351
|
+
The bar that holds a page's main decision (approve / send back). On a phone it
|
|
352
|
+
sticks to the bottom of the scroll box, above the on-screen keyboard and clear
|
|
353
|
+
of the safe areas; from `md` (768px) it is an inline row after the content.
|
|
354
|
+
|
|
355
|
+
```tsx
|
|
356
|
+
import { Button, StickyActionBar } from '@nxgt/material/components';
|
|
357
|
+
|
|
358
|
+
<main>
|
|
359
|
+
{/* long content */}
|
|
360
|
+
<StickyActionBar aria-label="Review decision">
|
|
361
|
+
<Button variant="outlined">Send back</Button>
|
|
362
|
+
<Button>Approve</Button>
|
|
363
|
+
</StickyActionBar>
|
|
364
|
+
</main>
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
Put it last in the scrolling content: it is `position: sticky`, not `fixed`, so
|
|
368
|
+
it takes its own room (nothing hides behind it) and rests inline at the end of
|
|
369
|
+
the page. It takes a `div`'s props.
|
|
370
|
+
|
|
371
|
+
- **One primary action.** The last child is the primary: on a phone it takes
|
|
372
|
+
the room the others leave, which keep their size. Give it the one filled
|
|
373
|
+
`Button`; a second filled `Button` among the children warns once in
|
|
374
|
+
development, make the others `outlined` or `tonal`.
|
|
375
|
+
- **Safe areas.** Under `viewport-fit=cover` the bar pads clear of
|
|
376
|
+
`env(safe-area-inset-left | right | bottom)`, as classes.
|
|
377
|
+
- **Keyboard.** From the visual viewport (`visualViewport`), the bar rises by
|
|
378
|
+
the height the on-screen keyboard covers (`--nxgt-keyboard-inset` on the bar,
|
|
379
|
+
`data-keyboard="open"` while it is open) and drops the bottom safe-area
|
|
380
|
+
padding, which the keyboard covers. A browser that resizes the layout itself
|
|
381
|
+
(`interactive-widget=resizes-content`) needs no lift, and none is applied.
|
|
382
|
+
Pinch-zoom is not treated as a keyboard.
|
|
383
|
+
- **Name.** With `aria-label` or `aria-labelledby` the bar is a `group`.
|
|
384
|
+
|
|
385
|
+
| Prop | Type | Default | Effect |
|
|
386
|
+
| --- | --- | --- | --- |
|
|
387
|
+
| `sticky` | `boolean` | `true` | `false`: inline on a phone too |
|
|
388
|
+
|
|
389
|
+
**Storybook:** `Navigation & layout/StickyActionBar` · **Vue:** not yet
|
|
390
|
+
|
|
391
|
+
---
|
|
392
|
+
|
|
346
393
|
## Breadcrumb
|
|
347
394
|
|
|
348
395
|

|
|
@@ -11,6 +11,7 @@ the app owns the data.
|
|
|
11
11
|
| <img src="../previews/rich-widgets-eventcalendar.webp" width="96" alt=""> | [EventCalendar](#eventcalendar) | Month / week / day / agenda calendar, a day view split by resource, a named time zone, phone to desktop |
|
|
12
12
|
| <img src="../previews/rich-widgets-native-charts-linechart.webp" width="96" alt=""> | [Charts](#charts) | Native SVG charts (line, area, bar, pie, donut, gauge, radial, funnel, heat map, radar, scatter, combo) with keyboard, summary and View data; the Nivo ones were removed in 3.0 |
|
|
13
13
|
| <img src="../previews/rich-widgets-drawing.webp" width="96" alt=""> | [Drawing](#drawing) | Vector drawing from a scene of plain data or JSX primitives: theme colours, accessible, focusable nodes, strict-CSP safe |
|
|
14
|
+
| | [Barcode](#barcode) | Code 128 and Data Matrix as accessible SVG, themed and dark-aware, black on white in print, with `LabelSheet` for a printed sheet of labels |
|
|
14
15
|
| <img src="../previews/rich-widgets-emojipicker.webp" width="96" alt=""> | [EmojiPicker](#emojipicker) | Shared emoji picker and list |
|
|
15
16
|
| <img src="../previews/rich-widgets-mentionlist.webp" width="96" alt=""> | [MentionList](#mentionlist) | `@` mention list with local search |
|
|
16
17
|
| <img src="../previews/rich-widgets-documenteditor.webp" width="96" alt=""> | [DocumentEditor](#documenteditor) | Rich text editor for long-form writing, built on a headless core |
|
|
@@ -615,6 +616,36 @@ How to use it in an app (server rendering, CSP, colours, events, PNG, PDF, e-mai
|
|
|
615
616
|
|
|
616
617
|
---
|
|
617
618
|
|
|
619
|
+
## Barcode
|
|
620
|
+
|
|
621
|
+
Code 128 and Data Matrix from `@nxgt/material/barcode`, drawn as SVG by the
|
|
622
|
+
package (no runtime dependency). The symbol follows the theme and dark mode on
|
|
623
|
+
screen (`appearance="paper"` keeps it dark on light), is black on white in
|
|
624
|
+
print, is named by `label` (or its value) and writes no inline `style`. Its own
|
|
625
|
+
entry, server-safe.
|
|
626
|
+
|
|
627
|
+
```tsx
|
|
628
|
+
import { Barcode, Label, LabelSheet } from '@nxgt/material/barcode';
|
|
629
|
+
|
|
630
|
+
<Barcode value="TUBE-0042" label="Tube 0042" showText />
|
|
631
|
+
<Barcode value="TUBE-0042" symbology="datamatrix" />
|
|
632
|
+
|
|
633
|
+
<LabelSheet label={{ width: '50mm', height: '25mm' }} columns={3} rows={8} gap="2mm" offset={{ x: 5, y: 8 }}>
|
|
634
|
+
{items.map((i) => (
|
|
635
|
+
<Label key={i.id}>
|
|
636
|
+
<Barcode value={i.code} decorative />
|
|
637
|
+
{i.code}
|
|
638
|
+
</Label>
|
|
639
|
+
))}
|
|
640
|
+
</LabelSheet>
|
|
641
|
+
```
|
|
642
|
+
|
|
643
|
+
`LabelSheet` takes `label` (`{ width, height }`), `columns`, `rows` (labels per
|
|
644
|
+
page), `gap`, `offset` (margin before the first label) and `skip` (blank labels
|
|
645
|
+
first); lengths are millimetres or a string with a unit. A value a symbology cannot hold throws a `BarcodeError`; `barcodeGeometry(value, options)` returns the `viewBox` size and path for an SVG of your own. See the
|
|
646
|
+
[barcode guide](../guides/barcode.md) for printing a sheet and for the limits
|
|
647
|
+
of each symbology.
|
|
648
|
+
|
|
618
649
|
## EmojiPicker
|
|
619
650
|
|
|
620
651
|

|
|
@@ -2412,7 +2443,7 @@ French bundle — see [i18n](../guides/i18n.md).
|
|
|
2412
2443
|
| `onComplete` | `(result: QuizResult) => void` | — | `{ correct, total, percent, answers, timedOut }`, once per results screen |
|
|
2413
2444
|
| `onAnswersChange` / `onIndexChange` | callbacks | — | follow progress |
|
|
2414
2445
|
| `QuestionCard` `revealed` | `boolean` | `false` | marks right / wrong and shows the verdict and `explanation` |
|
|
2415
|
-
| `QuestionCard` `verdict` | `'correct' \| 'incorrect' \| 'pending'` | — | the server's verdict, shown as given (word and icon, never colour alone); reveals the card. `question.correct` is optional and only highlights the right choices. Without it, `revealed` compares in the browser as before |
|
|
2446
|
+
| `QuestionCard` `verdict` | `'correct' \| 'incorrect' \| 'pending' \| 'unanswered'` | — | the server's verdict, shown as given (word and icon, never colour alone); reveals the card; `unanswered` is a blank question ("No answer", no value shown, the correct answer and `explanation` shown, points read 0). `question.correct` is optional and only highlights the right choices. Without it, `revealed` compares in the browser as before |
|
|
2416
2447
|
| `QuestionCard` `points` / `feedback` | `{ awarded, possible }` / `string` | — | points earned and a grader's remark, in the verdict banner (with `verdict`) |
|
|
2417
2448
|
| `Question` `media` | `{ src, alt?, kind?, type?, name? }` | — | an image (default), audio (`kind: 'audio'` or `type: 'audio/*'`, an `AudioPlayer`) or a document link (any other `type`, a `FilePreview`); `name` (else `alt`) is the text alternative |
|
|
2418
2449
|
| `QuestionCard` `value` / `onValueChange` | `QuestionAnswer` | — | controlled answer |
|
|
@@ -2424,7 +2455,7 @@ A server-graded answer, shown as given (no comparison in the browser):
|
|
|
2424
2455
|
<QuestionCard
|
|
2425
2456
|
question={{ id: 'q1', kind: 'text', prompt: 'Explain X' }}
|
|
2426
2457
|
value="my answer"
|
|
2427
|
-
verdict="incorrect" // or 'correct' | 'pending'
|
|
2458
|
+
verdict="incorrect" // or 'correct' | 'pending' | 'unanswered'
|
|
2428
2459
|
points={{ awarded: 2, possible: 3 }}
|
|
2429
2460
|
feedback="Good, but cite a source"
|
|
2430
2461
|
/>
|
|
@@ -2436,7 +2467,7 @@ A server-graded answer, shown as given (no comparison in the browser):
|
|
|
2436
2467
|
|
|
2437
2468
|
The numbered questions of a quiz or exam player: jump to one, see the current
|
|
2438
2469
|
one and which are answered or flagged. Import it from
|
|
2439
|
-
`@nxgt/material/
|
|
2470
|
+
`@nxgt/material/components`.
|
|
2440
2471
|
|
|
2441
2472
|
```tsx
|
|
2442
2473
|
<QuestionNavigator
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# Barcodes and label sheets
|
|
2
|
+
|
|
3
|
+
`@nxgt/material/barcode` draws a scannable code and lays labels out on a sheet
|
|
4
|
+
to print. `Barcode` is a Code 128 or Data Matrix symbol as SVG: it follows the
|
|
5
|
+
theme and dark mode on screen, is black on white in print, has an accessible
|
|
6
|
+
name and writes no inline `style` (a strict CSP is satisfied). `LabelSheet`
|
|
7
|
+
and `Label` set the label size, the columns, rows, gaps and a start offset.
|
|
8
|
+
|
|
9
|
+
The encoders are in the package: no runtime dependency comes with it. Its
|
|
10
|
+
tests read the symbols back with a real decoder (zxing-cpp) and compare the
|
|
11
|
+
Data Matrix modules with bwip-js.
|
|
12
|
+
|
|
13
|
+
- [Set up](#set-up)
|
|
14
|
+
- [A barcode](#a-barcode)
|
|
15
|
+
- [Code 128 or Data Matrix](#code-128-or-data-matrix)
|
|
16
|
+
- [Colours, dark mode and print](#colours-dark-mode-and-print)
|
|
17
|
+
- [Accessibility](#accessibility)
|
|
18
|
+
- [A sheet of labels](#a-sheet-of-labels)
|
|
19
|
+
- [Printing a sheet](#printing-a-sheet)
|
|
20
|
+
- [Without React](#without-react)
|
|
21
|
+
- [Troubleshooting](#troubleshooting)
|
|
22
|
+
|
|
23
|
+
## Set up
|
|
24
|
+
|
|
25
|
+
```tsx
|
|
26
|
+
import { Barcode, Label, LabelSheet } from '@nxgt/material/barcode';
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
The entry is its own: it is not in `@nxgt/material` or
|
|
30
|
+
`@nxgt/material/components`. The colours come from `styles.css`, which your app
|
|
31
|
+
already imports. `Barcode` has no hooks and renders on the server; `LabelSheet`
|
|
32
|
+
sets its lengths once mounted (see [Printing a sheet](#printing-a-sheet)).
|
|
33
|
+
|
|
34
|
+
## A barcode
|
|
35
|
+
|
|
36
|
+
```tsx
|
|
37
|
+
<Barcode value="TUBE-0042" showText />
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
| Prop | Default | |
|
|
41
|
+
| --- | --- | --- |
|
|
42
|
+
| `value` | | The text to encode (required). |
|
|
43
|
+
| `symbology` | `'code128'` | `'code128'` or `'datamatrix'`. |
|
|
44
|
+
| `label` | the value | The accessible name. |
|
|
45
|
+
| `decorative` | `false` | Hide the symbol from assistive technology. |
|
|
46
|
+
| `showText` | `false` | Print the value under a Code 128, inside the SVG (a Data Matrix ignores it). |
|
|
47
|
+
| `appearance` | `'themed'` | `'themed'` or `'paper'` ([Colours](#colours-dark-mode-and-print)). |
|
|
48
|
+
| `moduleSize` | | Pixels per module: sets a fixed `width` and `height`. Without it the SVG fills its box and keeps its ratio. |
|
|
49
|
+
| `quietZone` | 10 (Code 128), 2 (Data Matrix) | The blank margin, in modules. Scanners need it: keep at least 10 and 1. |
|
|
50
|
+
| `barHeight` | 40 | The bar height of a Code 128, in modules. |
|
|
51
|
+
|
|
52
|
+
Other SVG props (`className`, `data-*`...) pass to the `<svg>`. An invalid
|
|
53
|
+
value throws a `BarcodeError` while rendering, with a message that names the
|
|
54
|
+
limit.
|
|
55
|
+
|
|
56
|
+
## Code 128 or Data Matrix
|
|
57
|
+
|
|
58
|
+
| | Code 128 | Data Matrix |
|
|
59
|
+
| --- | --- | --- |
|
|
60
|
+
| Shape | bars, as wide as the text is long | a square |
|
|
61
|
+
| Holds | ASCII, characters 0 to 127 | any text (UTF-8), up to about 3 100 digits |
|
|
62
|
+
| Best for | an identifier a handheld laser or camera reads at 5 to 10 cm | a small label (a tube, a part) read by a camera, error correction included |
|
|
63
|
+
| Digits | two per symbol character (code set C) | two per codeword |
|
|
64
|
+
|
|
65
|
+
Code 128 switches between its three code sets to keep the symbol short. Data
|
|
66
|
+
Matrix uses the ASCII encodation, with the smallest square symbol (10x10 to
|
|
67
|
+
144x144) that holds the text; upper-case text may come out one size larger than
|
|
68
|
+
a symbol made with the denser C40 encodation. Text outside ASCII goes through
|
|
69
|
+
`symbology="datamatrix"` as UTF-8: tell your scanner's decoder to read UTF-8.
|
|
70
|
+
|
|
71
|
+
## Colours, dark mode and print
|
|
72
|
+
|
|
73
|
+
On screen the symbol is drawn with the theme: `--foreground` on `--background`,
|
|
74
|
+
so it follows light and dark. Many scanners read **dark on light only**, so in
|
|
75
|
+
dark mode a themed symbol may not scan from the screen: use
|
|
76
|
+
`appearance="paper"` for a symbol that must be scanned from the screen, which
|
|
77
|
+
stays black on white in dark mode too. In print every symbol is black on white,
|
|
78
|
+
whatever the theme or `appearance`.
|
|
79
|
+
|
|
80
|
+
## Accessibility
|
|
81
|
+
|
|
82
|
+
A symbol is `role="img"` named by `label`, or by the value when there is no
|
|
83
|
+
`label`, with the same text in a `<title>`. A code is not meant to be read aloud:
|
|
84
|
+
name it with what it identifies (`label="Tube 0042"`). When the value is written
|
|
85
|
+
beside the symbol, pass `decorative`: the symbol is then hidden, and the text
|
|
86
|
+
carries the meaning. `showText` writes the value under a Code 128 in a
|
|
87
|
+
`<text>` that is hidden from assistive technology (the image already carries
|
|
88
|
+
the name).
|
|
89
|
+
|
|
90
|
+
## A sheet of labels
|
|
91
|
+
|
|
92
|
+
```tsx
|
|
93
|
+
<LabelSheet
|
|
94
|
+
label={{ width: '50mm', height: '25mm' }}
|
|
95
|
+
columns={3}
|
|
96
|
+
rows={8}
|
|
97
|
+
gap="2mm"
|
|
98
|
+
offset={{ x: '5mm', y: '8mm' }}
|
|
99
|
+
>
|
|
100
|
+
{items.map((i) => (
|
|
101
|
+
<Label key={i.id}>
|
|
102
|
+
<Barcode value={i.code} decorative barHeight={30} />
|
|
103
|
+
{i.code}
|
|
104
|
+
</Label>
|
|
105
|
+
))}
|
|
106
|
+
</LabelSheet>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
| Prop | Default | |
|
|
110
|
+
| --- | --- | --- |
|
|
111
|
+
| `label` | | `{ width, height }` of one label (required). |
|
|
112
|
+
| `columns` | | Labels per row (required). |
|
|
113
|
+
| `rows` | all on one page | Rows per page: every `columns` x `rows` labels start a new page. |
|
|
114
|
+
| `gap` | 0 | One length, or `{ x, y }`. |
|
|
115
|
+
| `offset` | 0 | `{ x, y }`: the margin before the first label, for a printer's unprintable edge or a sheet's own margin. |
|
|
116
|
+
| `skip` | 0 | Blank labels first: start on the fifth label of a sheet that is partly used. |
|
|
117
|
+
|
|
118
|
+
`columns` and `rows` are whole numbers of at least 1, `skip` a whole number of at least 0. A length is a number of millimetres or a string with a unit (`'2.5cm'`,
|
|
119
|
+
`'0.5in'`, `'8pt'`, `'12px'`, `'1rem'`); anything else throws a `BarcodeError`.
|
|
120
|
+
A `Label` clips to the label size and never splits across two pages. A symbol
|
|
121
|
+
inside a `Label` scales to fit it, leaving room for the text under it.
|
|
122
|
+
|
|
123
|
+
## Printing a sheet
|
|
124
|
+
|
|
125
|
+
A browser prints a page size that the page's CSS names. Add it to your print
|
|
126
|
+
stylesheet, with the size of your sheet and no margin of its own (the sheet's
|
|
127
|
+
`offset` is the margin):
|
|
128
|
+
|
|
129
|
+
```css
|
|
130
|
+
@media print {
|
|
131
|
+
@page {
|
|
132
|
+
size: A4;
|
|
133
|
+
margin: 0;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Then call `window.print()`. The preview on screen draws a dashed outline around
|
|
139
|
+
each page and a dotted one around each label; both disappear in print, and the
|
|
140
|
+
symbols turn black on white. To print the sheet alone from a page with other
|
|
141
|
+
content, use `printOnly` from `@nxgt/material/lib`.
|
|
142
|
+
|
|
143
|
+
`LabelSheet` writes its lengths as custom properties (`--nxgt-label-w`...) from
|
|
144
|
+
an effect, because a strict CSP blocks a `style` attribute in server markup.
|
|
145
|
+
Print after the page has hydrated; the server's markup alone has no label size, so a sheet printed from it comes out wrong.
|
|
146
|
+
Check the printed size once on your own printer: browsers scale a page to fit
|
|
147
|
+
unless the print dialog says "100%" or "Actual size".
|
|
148
|
+
|
|
149
|
+
## Without React
|
|
150
|
+
|
|
151
|
+
`barcodeGeometry(value, options)` returns the `viewBox` size and one SVG path of
|
|
152
|
+
the dark modules, in module units, for an SVG you assemble yourself (an e-mail,
|
|
153
|
+
a PDF drawing). Options: `symbology`, `quietZone`, `barHeight` and
|
|
154
|
+
`textHeight` (room under a Code 128 for text). The result is
|
|
155
|
+
`{ symbology, width, height, path, textY }`; `textY` is where a Code 128's text
|
|
156
|
+
baseline sits.
|
|
157
|
+
|
|
158
|
+
```tsx
|
|
159
|
+
const g = barcodeGeometry('TUBE-0042', { symbology: 'code128', barHeight: 30 });
|
|
160
|
+
const svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${g.width} ${g.height}">
|
|
161
|
+
<rect width="${g.width}" height="${g.height}" fill="#fff"/><path d="${g.path}"/></svg>`;
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
The types `BarcodeProps`, `BarcodeSymbology`, `BarcodeGeometry`,
|
|
165
|
+
`BarcodeGeometryOptions`, `LabelSheetProps` and `LabelLength` are exported too.
|
|
166
|
+
|
|
167
|
+
## Troubleshooting
|
|
168
|
+
|
|
169
|
+
### `Code 128 holds ASCII only (0-127)`
|
|
170
|
+
|
|
171
|
+
The value has a character such as `é` or `€`. Use `symbology="datamatrix"`, or
|
|
172
|
+
remove the character.
|
|
173
|
+
|
|
174
|
+
### `Code 128 needs a value` / `Data Matrix needs a value`
|
|
175
|
+
|
|
176
|
+
The value is an empty string. Render the symbol only once there is a code.
|
|
177
|
+
|
|
178
|
+
### `<name> must be a whole number`
|
|
179
|
+
|
|
180
|
+
`columns`, `rows` or `skip` is zero, negative or fractional.
|
|
181
|
+
|
|
182
|
+
### `Data Matrix holds at most 1558 codewords`
|
|
183
|
+
|
|
184
|
+
The value is longer than the largest symbol (about 3 100 digits, fewer
|
|
185
|
+
characters otherwise). Encode an identifier and look the rest up.
|
|
186
|
+
|
|
187
|
+
### `<name> must be a number (millimetres) or a length such as "50mm"`
|
|
188
|
+
|
|
189
|
+
A size or gap is a bare string (`'50'`) or an unsupported unit. Pass a number
|
|
190
|
+
(millimetres) or a string like `'50mm'`.
|
|
191
|
+
|
|
192
|
+
### `Unknown symbology "x"`
|
|
193
|
+
|
|
194
|
+
`symbology` is neither `"code128"` nor `"datamatrix"`; TypeScript catches it, plain JS does not.
|
|
195
|
+
|
|
196
|
+
### The code does not scan from the screen in dark mode
|
|
197
|
+
|
|
198
|
+
Use `appearance="paper"`, and keep the quiet zone.
|
|
199
|
+
|
|
200
|
+
### The printed labels are a little off
|
|
201
|
+
|
|
202
|
+
The print dialog scaled the page. Choose "100%" / "Actual size", set the
|
|
203
|
+
`@page` size to the sheet's, and set `offset` to move the first label.
|