@motifx-community/ui 0.0.0-stage → 0.1.0-beta.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.
Potentially problematic release.
This version of @motifx-community/ui might be problematic. Click here for more details.
- package/CHANGELOG.md +1803 -0
- package/LICENSE +21 -0
- package/README.md +139 -3
- package/dist/components/accordion/Accordion.d.ts +100 -0
- package/dist/components/accordion/AccordionItem.d.ts +66 -0
- package/dist/components/accordion/accordion-chevron.d.ts +2 -0
- package/dist/components/accordion/accordion-expanded-event-args.d.ts +9 -0
- package/dist/components/accordion/accordion-expanding-event-args.d.ts +10 -0
- package/dist/components/accordion/accordion-item-props.d.ts +25 -0
- package/dist/components/accordion/accordion-props.d.ts +38 -0
- package/dist/components/accordion/accordion-variant.d.ts +2 -0
- package/dist/components/accordion/index.d.ts +8 -0
- package/dist/components/actionsheet/ActionSheet.d.ts +61 -0
- package/dist/components/actionsheet/action-sheet-props.d.ts +17 -0
- package/dist/components/actionsheet/index.d.ts +2 -0
- package/dist/components/avatar/Avatar.d.ts +54 -0
- package/dist/components/avatar/AvatarGroup.d.ts +41 -0
- package/dist/components/avatar/avatar-group-layout.d.ts +2 -0
- package/dist/components/avatar/avatar-group-props.d.ts +17 -0
- package/dist/components/avatar/avatar-props.d.ts +25 -0
- package/dist/components/avatar/avatar-shape.d.ts +2 -0
- package/dist/components/avatar/avatar-size.d.ts +2 -0
- package/dist/components/avatar/avatar-status.d.ts +2 -0
- package/dist/components/avatar/avatar-tone.d.ts +2 -0
- package/dist/components/avatar/index.d.ts +11 -0
- package/dist/components/avatar/initials-of.d.ts +6 -0
- package/dist/components/avatar/tone-of-name.d.ts +3 -0
- package/dist/components/badge/Badge.d.ts +53 -0
- package/dist/components/badge/badge-position.d.ts +2 -0
- package/dist/components/badge/badge-props.d.ts +27 -0
- package/dist/components/badge/badge-tone.d.ts +2 -0
- package/dist/components/badge/badge-variant.d.ts +2 -0
- package/dist/components/badge/index.d.ts +5 -0
- package/dist/components/breadcrumb/Breadcrumb.d.ts +56 -0
- package/dist/components/breadcrumb/breadcrumb-item-click-event-args.d.ts +10 -0
- package/dist/components/breadcrumb/breadcrumb-item.d.ts +13 -0
- package/dist/components/breadcrumb/breadcrumb-props.d.ts +21 -0
- package/dist/components/breadcrumb/index.d.ts +4 -0
- package/dist/components/button/Button.d.ts +117 -0
- package/dist/components/button/button-props.d.ts +45 -0
- package/dist/components/button/button-size.d.ts +3 -0
- package/dist/components/button/button-tone.d.ts +2 -0
- package/dist/components/button/button-variant.d.ts +2 -0
- package/dist/components/buttongroup/ButtonGroup.d.ts +79 -0
- package/dist/components/buttongroup/button-group-item-click-event-args.d.ts +8 -0
- package/dist/components/buttongroup/button-group-item.d.ts +15 -0
- package/dist/components/buttongroup/button-group-props.d.ts +36 -0
- package/dist/components/buttongroup/button-group-selection.d.ts +2 -0
- package/dist/components/buttongroup/button-group-value-changed-event-args.d.ts +8 -0
- package/dist/components/buttongroup/index.d.ts +6 -0
- package/dist/components/calendar/Calendar.d.ts +70 -0
- package/dist/components/calendar/calendar-props.d.ts +26 -0
- package/dist/components/calendar/calendar-view.d.ts +2 -0
- package/dist/components/calendar/index.d.ts +3 -0
- package/dist/components/card/Card.d.ts +92 -0
- package/dist/components/card/card-orientation.d.ts +2 -0
- package/dist/components/card/card-props.d.ts +44 -0
- package/dist/components/card/card-selected-changed-event-args.d.ts +7 -0
- package/dist/components/card/card-variant.d.ts +2 -0
- package/dist/components/card/index.d.ts +5 -0
- package/dist/components/checkbox/CheckBox.d.ts +34 -0
- package/dist/components/checkbox/ToggleField.d.ts +26 -0
- package/dist/components/checkbox/check-box-props.d.ts +7 -0
- package/dist/components/checkbox/index.d.ts +5 -0
- package/dist/components/checkbox/label-position.d.ts +2 -0
- package/dist/components/checkbox/toggle-field-props.d.ts +10 -0
- package/dist/components/chip/Chip.d.ts +86 -0
- package/dist/components/chip/ChipGroup.d.ts +45 -0
- package/dist/components/chip/chip-group-props.d.ts +16 -0
- package/dist/components/chip/chip-group-selection.d.ts +2 -0
- package/dist/components/chip/chip-group-value-changed-event-args.d.ts +8 -0
- package/dist/components/chip/chip-props.d.ts +34 -0
- package/dist/components/chip/chip-remove-event-args.d.ts +7 -0
- package/dist/components/chip/chip-selected-changed-event-args.d.ts +7 -0
- package/dist/components/chip/chip-tone.d.ts +2 -0
- package/dist/components/chip/chip-variant.d.ts +2 -0
- package/dist/components/chip/index.d.ts +10 -0
- package/dist/components/colorbox/ColorBox.d.ts +55 -0
- package/dist/components/colorbox/color-box-apply.d.ts +2 -0
- package/dist/components/colorbox/color-box-props.d.ts +15 -0
- package/dist/components/colorbox/index.d.ts +3 -0
- package/dist/components/colorpicker/ColorPicker.d.ts +66 -0
- package/dist/components/colorpicker/color-changed-event-args.d.ts +8 -0
- package/dist/components/colorpicker/color-picker-props.d.ts +17 -0
- package/dist/components/colorpicker/index.d.ts +4 -0
- package/dist/components/combobox/Autocomplete.d.ts +17 -0
- package/dist/components/combobox/ComboBox.d.ts +103 -0
- package/dist/components/combobox/combo-box-props.d.ts +37 -0
- package/dist/components/combobox/index.d.ts +3 -0
- package/dist/components/contextmenu/ContextMenu.d.ts +96 -0
- package/dist/components/contextmenu/attach-context-menu.d.ts +12 -0
- package/dist/components/contextmenu/context-menu-opening-event-args.d.ts +16 -0
- package/dist/components/contextmenu/context-menu-presentation.d.ts +2 -0
- package/dist/components/contextmenu/context-menu-props.d.ts +30 -0
- package/dist/components/contextmenu/context-menu-target.d.ts +3 -0
- package/dist/components/contextmenu/index.d.ts +6 -0
- package/dist/components/datagrid/DataGrid.d.ts +1194 -0
- package/dist/components/datagrid/band-cell-context.d.ts +7 -0
- package/dist/components/datagrid/band-layout.d.ts +7 -0
- package/dist/components/datagrid/built-in-action.d.ts +3 -0
- package/dist/components/datagrid/cell-context.d.ts +14 -0
- package/dist/components/datagrid/column-features.d.ts +68 -0
- package/dist/components/datagrid/column-filter.d.ts +20 -0
- package/dist/components/datagrid/column-layout.d.ts +10 -0
- package/dist/components/datagrid/column-option-name.d.ts +7 -0
- package/dist/components/datagrid/column-resize-mode.d.ts +2 -0
- package/dist/components/datagrid/column-type.d.ts +2 -0
- package/dist/components/datagrid/data-grid-props.d.ts +353 -0
- package/dist/components/datagrid/detail-context.d.ts +13 -0
- package/dist/components/datagrid/editor-context.d.ts +26 -0
- package/dist/components/datagrid/grid-action-item.d.ts +4 -0
- package/dist/components/datagrid/grid-action-location.d.ts +2 -0
- package/dist/components/datagrid/grid-action-ran-event-args.d.ts +17 -0
- package/dist/components/datagrid/grid-action-run.d.ts +10 -0
- package/dist/components/datagrid/grid-action-running-event-args.d.ts +13 -0
- package/dist/components/datagrid/grid-action.d.ts +55 -0
- package/dist/components/datagrid/grid-adaptive-detail-row-preparing-event-args.d.ts +14 -0
- package/dist/components/datagrid/grid-adaptive-detail.d.ts +25 -0
- package/dist/components/datagrid/grid-adaptive-form-options.d.ts +10 -0
- package/dist/components/datagrid/grid-adaptive-row-expanded-event-args.d.ts +7 -0
- package/dist/components/datagrid/grid-adaptive-row-expanding-event-args.d.ts +8 -0
- package/dist/components/datagrid/grid-band.d.ts +38 -0
- package/dist/components/datagrid/grid-bar-action.d.ts +14 -0
- package/dist/components/datagrid/grid-built-in-actions.d.ts +14 -0
- package/dist/components/datagrid/grid-cell-click-event-args.d.ts +16 -0
- package/dist/components/datagrid/grid-cell-extend-keys.d.ts +22 -0
- package/dist/components/datagrid/grid-cell-point.d.ts +10 -0
- package/dist/components/datagrid/grid-cell-prepared-event-args.d.ts +13 -0
- package/dist/components/datagrid/grid-cell-range.d.ts +11 -0
- package/dist/components/datagrid/grid-cell-selection-changed-event-args.d.ts +7 -0
- package/dist/components/datagrid/grid-cell-selection-changing-event-args.d.ts +9 -0
- package/dist/components/datagrid/grid-cell-summary-item.d.ts +2 -0
- package/dist/components/datagrid/grid-cell-summary.d.ts +14 -0
- package/dist/components/datagrid/grid-cell-value.d.ts +9 -0
- package/dist/components/datagrid/grid-changes.d.ts +10 -0
- package/dist/components/datagrid/grid-column-form-item.d.ts +16 -0
- package/dist/components/datagrid/grid-column-item.d.ts +4 -0
- package/dist/components/datagrid/grid-column.d.ts +190 -0
- package/dist/components/datagrid/grid-content-ready-event-args.d.ts +5 -0
- package/dist/components/datagrid/grid-context-menu-preparing-event-args.d.ts +15 -0
- package/dist/components/datagrid/grid-copying-event-args.d.ts +13 -0
- package/dist/components/datagrid/grid-custom-summary-info.d.ts +17 -0
- package/dist/components/datagrid/grid-data-error-event-args.d.ts +8 -0
- package/dist/components/datagrid/grid-date-interval.d.ts +2 -0
- package/dist/components/datagrid/grid-edit-canceled-event-args.d.ts +4 -0
- package/dist/components/datagrid/grid-edit-canceling-event-args.d.ts +8 -0
- package/dist/components/datagrid/grid-edit-form.d.ts +22 -0
- package/dist/components/datagrid/grid-edit-popup.d.ts +22 -0
- package/dist/components/datagrid/grid-editing-cell.d.ts +6 -0
- package/dist/components/datagrid/grid-editing-start-event-args.d.ts +14 -0
- package/dist/components/datagrid/grid-editor-prepared-event-args.d.ts +18 -0
- package/dist/components/datagrid/grid-editor-preparing-event-args.d.ts +19 -0
- package/dist/components/datagrid/grid-export-cell.d.ts +26 -0
- package/dist/components/datagrid/grid-export-options.d.ts +35 -0
- package/dist/components/datagrid/grid-export-settings.d.ts +19 -0
- package/dist/components/datagrid/grid-export-texts.d.ts +11 -0
- package/dist/components/datagrid/grid-exported-event-args.d.ts +8 -0
- package/dist/components/datagrid/grid-exporting-event-args.d.ts +17 -0
- package/dist/components/datagrid/grid-filter-builder-closed-event-args.d.ts +6 -0
- package/dist/components/datagrid/grid-filter-builder-closing-event-args.d.ts +10 -0
- package/dist/components/datagrid/grid-filter-builder-opened-event-args.d.ts +7 -0
- package/dist/components/datagrid/grid-filter-builder-opening-event-args.d.ts +6 -0
- package/dist/components/datagrid/grid-filter-builder-options.d.ts +7 -0
- package/dist/components/datagrid/grid-filter-builder-popup.d.ts +22 -0
- package/dist/components/datagrid/grid-filter-changed-event-args.d.ts +12 -0
- package/dist/components/datagrid/grid-filter-changing-event-args.d.ts +15 -0
- package/dist/components/datagrid/grid-filter-operator.d.ts +2 -0
- package/dist/components/datagrid/grid-filter-panel-text-info.d.ts +6 -0
- package/dist/components/datagrid/grid-filter-value.d.ts +9 -0
- package/dist/components/datagrid/grid-filters.d.ts +3 -0
- package/dist/components/datagrid/grid-focused-cell-changed-event-args.d.ts +6 -0
- package/dist/components/datagrid/grid-focused-cell-changing-event-args.d.ts +13 -0
- package/dist/components/datagrid/grid-focused-row-changed-event-args.d.ts +7 -0
- package/dist/components/datagrid/grid-focused-row-changing-event-args.d.ts +7 -0
- package/dist/components/datagrid/grid-group-dropping-event-args.d.ts +11 -0
- package/dist/components/datagrid/grid-group-summary-item.d.ts +12 -0
- package/dist/components/datagrid/grid-grouping-changed-event-args.d.ts +7 -0
- package/dist/components/datagrid/grid-grouping-changing-event-args.d.ts +10 -0
- package/dist/components/datagrid/grid-header-filter-interval.d.ts +7 -0
- package/dist/components/datagrid/grid-header-filter-items-request.d.ts +12 -0
- package/dist/components/datagrid/grid-header-filter-items.d.ts +7 -0
- package/dist/components/datagrid/grid-init-new-row-event-args.d.ts +9 -0
- package/dist/components/datagrid/grid-key-handling-event-args.d.ts +11 -0
- package/dist/components/datagrid/grid-layout-changing-event-args.d.ts +7 -0
- package/dist/components/datagrid/grid-layout.d.ts +16 -0
- package/dist/components/datagrid/grid-load-panel.d.ts +11 -0
- package/dist/components/datagrid/grid-lookup.d.ts +47 -0
- package/dist/components/datagrid/grid-master-detail.d.ts +38 -0
- package/dist/components/datagrid/grid-mode.d.ts +2 -0
- package/dist/components/datagrid/grid-more-rows-loaded-event-args.d.ts +6 -0
- package/dist/components/datagrid/grid-more-rows-loading-event-args.d.ts +6 -0
- package/dist/components/datagrid/grid-option-changed-event-args.d.ts +14 -0
- package/dist/components/datagrid/grid-page-changed-event-args.d.ts +5 -0
- package/dist/components/datagrid/grid-page-changing-event-args.d.ts +6 -0
- package/dist/components/datagrid/grid-page-size-changed-event-args.d.ts +5 -0
- package/dist/components/datagrid/grid-page-size-changing-event-args.d.ts +6 -0
- package/dist/components/datagrid/grid-pasting-event-args.d.ts +7 -0
- package/dist/components/datagrid/grid-row-click-event-args.d.ts +13 -0
- package/dist/components/datagrid/grid-row-drag-event-args.d.ts +36 -0
- package/dist/components/datagrid/grid-row-dragging.d.ts +71 -0
- package/dist/components/datagrid/grid-row-drop-event-args.d.ts +9 -0
- package/dist/components/datagrid/grid-row-expanded-event-args.d.ts +10 -0
- package/dist/components/datagrid/grid-row-expanding-event-args.d.ts +15 -0
- package/dist/components/datagrid/grid-row-extend-keys.d.ts +7 -0
- package/dist/components/datagrid/grid-row-inserted-event-args.d.ts +6 -0
- package/dist/components/datagrid/grid-row-inserting-event-args.d.ts +7 -0
- package/dist/components/datagrid/grid-row-prepared-event-args.d.ts +14 -0
- package/dist/components/datagrid/grid-row-removed-event-args.d.ts +5 -0
- package/dist/components/datagrid/grid-row-removing-event-args.d.ts +6 -0
- package/dist/components/datagrid/grid-row-type.d.ts +2 -0
- package/dist/components/datagrid/grid-row-updated-event-args.d.ts +7 -0
- package/dist/components/datagrid/grid-row-updating-event-args.d.ts +9 -0
- package/dist/components/datagrid/grid-row-validating-event-args.d.ts +22 -0
- package/dist/components/datagrid/grid-saved-event-args.d.ts +7 -0
- package/dist/components/datagrid/grid-saving-event-args.d.ts +10 -0
- package/dist/components/datagrid/grid-search-text-changed-event-args.d.ts +4 -0
- package/dist/components/datagrid/grid-search-text-changing-event-args.d.ts +6 -0
- package/dist/components/datagrid/grid-selection-changed-event-args.d.ts +7 -0
- package/dist/components/datagrid/grid-selection-changing-event-args.d.ts +9 -0
- package/dist/components/datagrid/grid-selection.d.ts +16 -0
- package/dist/components/datagrid/grid-settings-props.d.ts +6 -0
- package/dist/components/datagrid/grid-settings.d.ts +354 -0
- package/dist/components/datagrid/grid-sheet-cell.d.ts +9 -0
- package/dist/components/datagrid/grid-sheet-column.d.ts +14 -0
- package/dist/components/datagrid/grid-sheet-merge.d.ts +9 -0
- package/dist/components/datagrid/grid-sheet-options.d.ts +24 -0
- package/dist/components/datagrid/grid-sheet-row.d.ts +8 -0
- package/dist/components/datagrid/grid-sheet.d.ts +24 -0
- package/dist/components/datagrid/grid-sort-changed-event-args.d.ts +7 -0
- package/dist/components/datagrid/grid-sort-changing-event-args.d.ts +9 -0
- package/dist/components/datagrid/grid-state-value.d.ts +19 -0
- package/dist/components/datagrid/grid-summary-changed-event-args.d.ts +7 -0
- package/dist/components/datagrid/grid-summary-item.d.ts +37 -0
- package/dist/components/datagrid/grid-summary-text-info.d.ts +7 -0
- package/dist/components/datagrid/grid-summary-texts.d.ts +15 -0
- package/dist/components/datagrid/grid-summary-type.d.ts +2 -0
- package/dist/components/datagrid/grid-summary-value.d.ts +10 -0
- package/dist/components/datagrid/grid-summary.d.ts +25 -0
- package/dist/components/datagrid/grid-toolbar-item-click-event-args.d.ts +9 -0
- package/dist/components/datagrid/grid-toolbar-item-name.d.ts +6 -0
- package/dist/components/datagrid/grid-toolbar-item.d.ts +34 -0
- package/dist/components/datagrid/grid-toolbar-preparing-event-args.d.ts +9 -0
- package/dist/components/datagrid/grid-toolbar.d.ts +15 -0
- package/dist/components/datagrid/grid-validation-callback-args.d.ts +13 -0
- package/dist/components/datagrid/grid-validation-rule.d.ts +74 -0
- package/dist/components/datagrid/grid-values-request.d.ts +13 -0
- package/dist/components/datagrid/grid-values-result.d.ts +6 -0
- package/dist/components/datagrid/grid-visible-row.d.ts +12 -0
- package/dist/components/datagrid/group-cell-context.d.ts +22 -0
- package/dist/components/datagrid/header-cell-context.d.ts +9 -0
- package/dist/components/datagrid/index.d.ts +161 -0
- package/dist/components/datagrid/layout-storage.d.ts +6 -0
- package/dist/components/datagrid/list-option.d.ts +5 -0
- package/dist/components/datagrid/model/ActionRunner.d.ts +28 -0
- package/dist/components/datagrid/model/ActionSets.d.ts +64 -0
- package/dist/components/datagrid/model/AdaptiveRow.d.ts +24 -0
- package/dist/components/datagrid/model/CellFormatter.d.ts +41 -0
- package/dist/components/datagrid/model/CellRanges.d.ts +88 -0
- package/dist/components/datagrid/model/CellRules.d.ts +34 -0
- package/dist/components/datagrid/model/ColumnModel.d.ts +251 -0
- package/dist/components/datagrid/model/ColumnWindow.d.ts +32 -0
- package/dist/components/datagrid/model/DetailRows.d.ts +42 -0
- package/dist/components/datagrid/model/ExtraHeights.d.ts +33 -0
- package/dist/components/datagrid/model/FilterModel.d.ts +113 -0
- package/dist/components/datagrid/model/FilterValues.d.ts +47 -0
- package/dist/components/datagrid/model/GridClipboard.d.ts +42 -0
- package/dist/components/datagrid/model/GridData.d.ts +193 -0
- package/dist/components/datagrid/model/GridEvents.d.ts +157 -0
- package/dist/components/datagrid/model/GridExport.d.ts +70 -0
- package/dist/components/datagrid/model/GridGroups.d.ts +61 -0
- package/dist/components/datagrid/model/GridModel.d.ts +475 -0
- package/dist/components/datagrid/model/GridNotices.d.ts +22 -0
- package/dist/components/datagrid/model/GridRowsAdapter.d.ts +19 -0
- package/dist/components/datagrid/model/GridSearch.d.ts +68 -0
- package/dist/components/datagrid/model/GridSummaries.d.ts +91 -0
- package/dist/components/datagrid/model/GroupView.d.ts +40 -0
- package/dist/components/datagrid/model/LayoutStore.d.ts +16 -0
- package/dist/components/datagrid/model/LiveOptions.d.ts +15 -0
- package/dist/components/datagrid/model/LookupTexts.d.ts +72 -0
- package/dist/components/datagrid/model/LookupValues.d.ts +23 -0
- package/dist/components/datagrid/model/RowDragOptions.d.ts +28 -0
- package/dist/components/datagrid/model/RowSelection.d.ts +86 -0
- package/dist/components/datagrid/model/ScrollGeometry.d.ts +84 -0
- package/dist/components/datagrid/model/Switches.d.ts +36 -0
- package/dist/components/datagrid/model/ValueIntervals.d.ts +27 -0
- package/dist/components/datagrid/model/ValueListAdapter.d.ts +17 -0
- package/dist/components/datagrid/model/action-entry.d.ts +22 -0
- package/dist/components/datagrid/model/action-target.d.ts +16 -0
- package/dist/components/datagrid/model/adaptive-detail-values.d.ts +11 -0
- package/dist/components/datagrid/model/added-row.d.ts +6 -0
- package/dist/components/datagrid/model/adjustment.d.ts +10 -0
- package/dist/components/datagrid/model/band-node.d.ts +8 -0
- package/dist/components/datagrid/model/builder-fields.d.ts +10 -0
- package/dist/components/datagrid/model/cell-corner.d.ts +8 -0
- package/dist/components/datagrid/model/cell-range-entry.d.ts +7 -0
- package/dist/components/datagrid/model/cell-value.d.ts +3 -0
- package/dist/components/datagrid/model/clipboard-content.d.ts +11 -0
- package/dist/components/datagrid/model/column-feature-names.d.ts +2 -0
- package/dist/components/datagrid/model/column-zone.d.ts +3 -0
- package/dist/components/datagrid/model/data-state.d.ts +11 -0
- package/dist/components/datagrid/model/date-like.d.ts +2 -0
- package/dist/components/datagrid/model/day-condition.d.ts +6 -0
- package/dist/components/datagrid/model/default-settings.d.ts +2 -0
- package/dist/components/datagrid/model/delimited-text.d.ts +4 -0
- package/dist/components/datagrid/model/export-table.d.ts +20 -0
- package/dist/components/datagrid/model/filter-tree-node.d.ts +11 -0
- package/dist/components/datagrid/model/filter-value-state.d.ts +8 -0
- package/dist/components/datagrid/model/formula-guard.d.ts +2 -0
- package/dist/components/datagrid/model/grid-data-options.d.ts +42 -0
- package/dist/components/datagrid/model/grid-state.d.ts +41 -0
- package/dist/components/datagrid/model/group-item-entry.d.ts +11 -0
- package/dist/components/datagrid/model/group-level.d.ts +12 -0
- package/dist/components/datagrid/model/group-node.d.ts +21 -0
- package/dist/components/datagrid/model/group-nodes.d.ts +7 -0
- package/dist/components/datagrid/model/html-table.d.ts +2 -0
- package/dist/components/datagrid/model/list-separator.d.ts +2 -0
- package/dist/components/datagrid/model/lookup-cell.d.ts +7 -0
- package/dist/components/datagrid/model/master-detail-values.d.ts +16 -0
- package/dist/components/datagrid/model/nothing-entered.d.ts +3 -0
- package/dist/components/datagrid/model/option-of.d.ts +6 -0
- package/dist/components/datagrid/model/parse-date-text.d.ts +6 -0
- package/dist/components/datagrid/model/paste-result.d.ts +9 -0
- package/dist/components/datagrid/model/placed-item.d.ts +19 -0
- package/dist/components/datagrid/model/range-box.d.ts +8 -0
- package/dist/components/datagrid/model/range-look.d.ts +18 -0
- package/dist/components/datagrid/model/read-field.d.ts +5 -0
- package/dist/components/datagrid/model/row-dragging-values.d.ts +24 -0
- package/dist/components/datagrid/model/row-run.d.ts +2 -0
- package/dist/components/datagrid/model/row-status.d.ts +2 -0
- package/dist/components/datagrid/model/rows-sorting.d.ts +7 -0
- package/dist/components/datagrid/model/run-panel.d.ts +7 -0
- package/dist/components/datagrid/model/same-value.d.ts +2 -0
- package/dist/components/datagrid/model/sticky-offset.d.ts +8 -0
- package/dist/components/datagrid/model/stored-layout.d.ts +15 -0
- package/dist/components/datagrid/model/summary-part.d.ts +7 -0
- package/dist/components/datagrid/model/text-ranges.d.ts +6 -0
- package/dist/components/datagrid/model/value-list.d.ts +12 -0
- package/dist/components/datagrid/model/value-loader.d.ts +8 -0
- package/dist/components/datagrid/new-row-options.d.ts +8 -0
- package/dist/components/datagrid/row-change.d.ts +7 -0
- package/dist/components/datagrid/row-state.d.ts +17 -0
- package/dist/components/datagrid/selection-mode.d.ts +2 -0
- package/dist/components/datagrid/sticky-side.d.ts +2 -0
- package/dist/components/datagrid/view/ActionWidths.d.ts +23 -0
- package/dist/components/datagrid/view/AdaptiveForm.d.ts +38 -0
- package/dist/components/datagrid/view/BandRows.d.ts +43 -0
- package/dist/components/datagrid/view/BarButtons.d.ts +53 -0
- package/dist/components/datagrid/view/CellEditor.d.ts +83 -0
- package/dist/components/datagrid/view/CellTip.d.ts +24 -0
- package/dist/components/datagrid/view/ColumnMenu.d.ts +59 -0
- package/dist/components/datagrid/view/ColumnStyles.d.ts +31 -0
- package/dist/components/datagrid/view/DetailRow.d.ts +56 -0
- package/dist/components/datagrid/view/DragSelect.d.ts +50 -0
- package/dist/components/datagrid/view/EditForm.d.ts +59 -0
- package/dist/components/datagrid/view/FilterBuilderWindow.d.ts +26 -0
- package/dist/components/datagrid/view/FilterCell.d.ts +42 -0
- package/dist/components/datagrid/view/FilterPanel.d.ts +21 -0
- package/dist/components/datagrid/view/FilterRow.d.ts +29 -0
- package/dist/components/datagrid/view/GridBody.d.ts +216 -0
- package/dist/components/datagrid/view/GridPager.d.ts +69 -0
- package/dist/components/datagrid/view/GridRow.d.ts +95 -0
- package/dist/components/datagrid/view/GridToolbar.d.ts +79 -0
- package/dist/components/datagrid/view/GroupFooterRow.d.ts +32 -0
- package/dist/components/datagrid/view/GroupPanel.d.ts +41 -0
- package/dist/components/datagrid/view/GroupRow.d.ts +62 -0
- package/dist/components/datagrid/view/HeaderFilter.d.ts +55 -0
- package/dist/components/datagrid/view/HeaderRow.d.ts +72 -0
- package/dist/components/datagrid/view/MenuPopup.d.ts +19 -0
- package/dist/components/datagrid/view/RowActions.d.ts +30 -0
- package/dist/components/datagrid/view/RowDrag.d.ts +79 -0
- package/dist/components/datagrid/view/TotalRow.d.ts +28 -0
- package/dist/components/datagrid/view/action-button.d.ts +10 -0
- package/dist/components/datagrid/view/adaptive-form-host.d.ts +8 -0
- package/dist/components/datagrid/view/check-mark.d.ts +4 -0
- package/dist/components/datagrid/view/column-node.d.ts +7 -0
- package/dist/components/datagrid/view/detail-host.d.ts +12 -0
- package/dist/components/datagrid/view/drag-handle.d.ts +2 -0
- package/dist/components/datagrid/view/drag-select-host.d.ts +20 -0
- package/dist/components/datagrid/view/drop-place.d.ts +16 -0
- package/dist/components/datagrid/view/edit-form-host.d.ts +11 -0
- package/dist/components/datagrid/view/editor-host.d.ts +7 -0
- package/dist/components/datagrid/view/editor-kind.d.ts +2 -0
- package/dist/components/datagrid/view/editor-value.d.ts +8 -0
- package/dist/components/datagrid/view/expand-button.d.ts +4 -0
- package/dist/components/datagrid/view/export-command.d.ts +8 -0
- package/dist/components/datagrid/view/export-values.d.ts +7 -0
- package/dist/components/datagrid/view/filter-builder-window-host.d.ts +15 -0
- package/dist/components/datagrid/view/filter-panel-host.d.ts +8 -0
- package/dist/components/datagrid/view/form-values.d.ts +9 -0
- package/dist/components/datagrid/view/ghost-target.d.ts +2 -0
- package/dist/components/datagrid/view/group-panel-host.d.ts +15 -0
- package/dist/components/datagrid/view/header-host.d.ts +24 -0
- package/dist/components/datagrid/view/next-frame.d.ts +4 -0
- package/dist/components/datagrid/view/operator-texts.d.ts +6 -0
- package/dist/components/datagrid/view/pager-host.d.ts +11 -0
- package/dist/components/datagrid/view/place-in-order.d.ts +6 -0
- package/dist/components/datagrid/view/popup-values.d.ts +12 -0
- package/dist/components/datagrid/view/resolved-action.d.ts +16 -0
- package/dist/components/datagrid/view/row-drag-host.d.ts +14 -0
- package/dist/components/datagrid/view/row-drop-place.d.ts +15 -0
- package/dist/components/datagrid/view/row-notices.d.ts +14 -0
- package/dist/components/datagrid/view/summary-cell.d.ts +8 -0
- package/dist/components/datagrid/view/toolbar-host.d.ts +32 -0
- package/dist/components/datagrid/view/toolbar-values.d.ts +7 -0
- package/dist/components/datebox/DateBox.d.ts +77 -0
- package/dist/components/datebox/date-box-props.d.ts +26 -0
- package/dist/components/datebox/index.d.ts +2 -0
- package/dist/components/drawer/Drawer.d.ts +68 -0
- package/dist/components/drawer/drawer-mode.d.ts +2 -0
- package/dist/components/drawer/drawer-props.d.ts +23 -0
- package/dist/components/drawer/drawer-side.d.ts +2 -0
- package/dist/components/drawer/index.d.ts +4 -0
- package/dist/components/dropdown/DropDown.d.ts +96 -0
- package/dist/components/dropdown/drop-down-item.d.ts +10 -0
- package/dist/components/dropdown/drop-down-props.d.ts +36 -0
- package/dist/components/dropdown/index.d.ts +3 -0
- package/dist/components/filterbuilder/FilterBuilder.d.ts +158 -0
- package/dist/components/filterbuilder/FilterBuilderModel.d.ts +79 -0
- package/dist/components/filterbuilder/default-operations.d.ts +4 -0
- package/dist/components/filterbuilder/filter-builder-condition.d.ts +12 -0
- package/dist/components/filterbuilder/filter-builder-custom-operation.d.ts +35 -0
- package/dist/components/filterbuilder/filter-builder-data-type.d.ts +2 -0
- package/dist/components/filterbuilder/filter-builder-editor-context.d.ts +15 -0
- package/dist/components/filterbuilder/filter-builder-editor-prepared-event-args.d.ts +14 -0
- package/dist/components/filterbuilder/filter-builder-editor-preparing-event-args.d.ts +21 -0
- package/dist/components/filterbuilder/filter-builder-field.d.ts +39 -0
- package/dist/components/filterbuilder/filter-builder-group-operation.d.ts +2 -0
- package/dist/components/filterbuilder/filter-builder-group.d.ts +10 -0
- package/dist/components/filterbuilder/filter-builder-item-added-event-args.d.ts +10 -0
- package/dist/components/filterbuilder/filter-builder-item-adding-event-args.d.ts +11 -0
- package/dist/components/filterbuilder/filter-builder-item-change.d.ts +2 -0
- package/dist/components/filterbuilder/filter-builder-item-changed-event-args.d.ts +11 -0
- package/dist/components/filterbuilder/filter-builder-item-changing-event-args.d.ts +13 -0
- package/dist/components/filterbuilder/filter-builder-item-removed-event-args.d.ts +10 -0
- package/dist/components/filterbuilder/filter-builder-item-removing-event-args.d.ts +11 -0
- package/dist/components/filterbuilder/filter-builder-item.d.ts +3 -0
- package/dist/components/filterbuilder/filter-builder-lookup.d.ts +13 -0
- package/dist/components/filterbuilder/filter-builder-model-options.d.ts +14 -0
- package/dist/components/filterbuilder/filter-builder-operation.d.ts +3 -0
- package/dist/components/filterbuilder/filter-builder-props.d.ts +57 -0
- package/dist/components/filterbuilder/filter-builder-value-changed-event-args.d.ts +9 -0
- package/dist/components/filterbuilder/filter-builder-value-info.d.ts +7 -0
- package/dist/components/filterbuilder/filter-text.d.ts +8 -0
- package/dist/components/filterbuilder/index.d.ts +27 -0
- package/dist/components/form/MxForm.d.ts +195 -0
- package/dist/components/form/confirm.d.ts +10 -0
- package/dist/components/form/form-close-reason.d.ts +2 -0
- package/dist/components/form/form-closed-event-args.d.ts +8 -0
- package/dist/components/form/form-closing-event-args.d.ts +10 -0
- package/dist/components/form/form-event-args.d.ts +5 -0
- package/dist/components/form/form-host.d.ts +3 -0
- package/dist/components/form/form-props.d.ts +68 -0
- package/dist/components/form/form-result.d.ts +2 -0
- package/dist/components/form/form-start-position.d.ts +2 -0
- package/dist/components/form/form-window-state.d.ts +1 -0
- package/dist/components/form/index.d.ts +15 -0
- package/dist/components/form/message-box-button.d.ts +10 -0
- package/dist/components/form/message-box-options.d.ts +18 -0
- package/dist/components/form/message-box-tone.d.ts +2 -0
- package/dist/components/form/message-box.d.ts +10 -0
- package/dist/components/formlayout/FormLayout.d.ts +78 -0
- package/dist/components/formlayout/form-editor-factory.d.ts +3 -0
- package/dist/components/formlayout/form-editor-type.d.ts +2 -0
- package/dist/components/formlayout/form-item.d.ts +44 -0
- package/dist/components/formlayout/form-layout-props.d.ts +31 -0
- package/dist/components/formlayout/form-tab.d.ts +9 -0
- package/dist/components/formlayout/form-template-context.d.ts +9 -0
- package/dist/components/formlayout/index.d.ts +7 -0
- package/dist/components/layout/ChildSettings.d.ts +41 -0
- package/dist/components/layout/DockPanel.d.ts +42 -0
- package/dist/components/layout/Grid.d.ts +57 -0
- package/dist/components/layout/GroupBox.d.ts +54 -0
- package/dist/components/layout/Panel.d.ts +28 -0
- package/dist/components/layout/SplitContainer.d.ts +86 -0
- package/dist/components/layout/Stack.d.ts +45 -0
- package/dist/components/layout/dock-child-props.d.ts +16 -0
- package/dist/components/layout/dock-panel-props.d.ts +10 -0
- package/dist/components/layout/dock.d.ts +6 -0
- package/dist/components/layout/grid-cell.d.ts +11 -0
- package/dist/components/layout/grid-flow.d.ts +2 -0
- package/dist/components/layout/grid-justify.d.ts +2 -0
- package/dist/components/layout/grid-props.d.ts +34 -0
- package/dist/components/layout/grid-tracks.d.ts +5 -0
- package/dist/components/layout/group-box-props.d.ts +22 -0
- package/dist/components/layout/group-box-toggled-event-args.d.ts +7 -0
- package/dist/components/layout/group-box-variant.d.ts +2 -0
- package/dist/components/layout/index.d.ts +33 -0
- package/dist/components/layout/layout-align.d.ts +2 -0
- package/dist/components/layout/layout-orientation.d.ts +2 -0
- package/dist/components/layout/layout-space.d.ts +5 -0
- package/dist/components/layout/panel-props.d.ts +17 -0
- package/dist/components/layout/panel-scroll.d.ts +2 -0
- package/dist/components/layout/panel-variant.d.ts +2 -0
- package/dist/components/layout/set-padding.d.ts +6 -0
- package/dist/components/layout/set-space.d.ts +3 -0
- package/dist/components/layout/space-value.d.ts +3 -0
- package/dist/components/layout/split-container-props.d.ts +34 -0
- package/dist/components/layout/split-panel.d.ts +2 -0
- package/dist/components/layout/split-position.d.ts +2 -0
- package/dist/components/layout/splitter-moved-event-args.d.ts +10 -0
- package/dist/components/layout/stack-child-props.d.ts +6 -0
- package/dist/components/layout/stack-justify.d.ts +2 -0
- package/dist/components/layout/stack-props.d.ts +25 -0
- package/dist/components/layout/track-list.d.ts +3 -0
- package/dist/components/listbox/ListBox.d.ts +112 -0
- package/dist/components/listbox/all-values.d.ts +7 -0
- package/dist/components/listbox/index.d.ts +4 -0
- package/dist/components/listbox/item-template.d.ts +2 -0
- package/dist/components/listbox/list-box-props.d.ts +38 -0
- package/dist/components/listbox/list-rows.d.ts +12 -0
- package/dist/components/listbox/list-selection-mode.d.ts +2 -0
- package/dist/components/listbox/select-all-row.d.ts +5 -0
- package/dist/components/listbox/select-all-state.d.ts +3 -0
- package/dist/components/listbox/value-items.d.ts +21 -0
- package/dist/components/lookup/Lookup.d.ts +33 -0
- package/dist/components/lookup/index.d.ts +3 -0
- package/dist/components/lookup/lookup-column.d.ts +11 -0
- package/dist/components/lookup/lookup-props.d.ts +12 -0
- package/dist/components/menubar/MenuBar.d.ts +59 -0
- package/dist/components/menubar/index.d.ts +2 -0
- package/dist/components/menubar/menu-bar-props.d.ts +17 -0
- package/dist/components/numberbox/NumberBox.d.ts +115 -0
- package/dist/components/numberbox/decimal-math.d.ts +7 -0
- package/dist/components/numberbox/index.d.ts +3 -0
- package/dist/components/numberbox/number-box-props.d.ts +44 -0
- package/dist/components/numberbox/number-text.d.ts +12 -0
- package/dist/components/numberbox/spin-layout.d.ts +2 -0
- package/dist/components/pagination/Pagination.d.ts +92 -0
- package/dist/components/pagination/index.d.ts +4 -0
- package/dist/components/pagination/page-changed-event-args.d.ts +10 -0
- package/dist/components/pagination/pagination-mode.d.ts +2 -0
- package/dist/components/pagination/pagination-props.d.ts +32 -0
- package/dist/components/progress/ProgressBar.d.ts +67 -0
- package/dist/components/progress/ProgressWave.d.ts +53 -0
- package/dist/components/progress/Spinner.d.ts +50 -0
- package/dist/components/progress/index.d.ts +8 -0
- package/dist/components/progress/progress-bar-props.d.ts +33 -0
- package/dist/components/progress/progress-label-position.d.ts +2 -0
- package/dist/components/progress/progress-shape.d.ts +2 -0
- package/dist/components/progress/progress-tone.d.ts +2 -0
- package/dist/components/progress/spinner-label-position.d.ts +2 -0
- package/dist/components/progress/spinner-props.d.ts +20 -0
- package/dist/components/progress/wave-geometry.d.ts +19 -0
- package/dist/components/radiogroup/RadioGroup.d.ts +73 -0
- package/dist/components/radiogroup/index.d.ts +4 -0
- package/dist/components/radiogroup/radio-group-orientation.d.ts +2 -0
- package/dist/components/radiogroup/radio-group-props.d.ts +20 -0
- package/dist/components/radiogroup/radio-item.d.ts +15 -0
- package/dist/components/rating/Rating.d.ts +52 -0
- package/dist/components/rating/index.d.ts +3 -0
- package/dist/components/rating/rating-props.d.ts +20 -0
- package/dist/components/rating/rating-tone.d.ts +2 -0
- package/dist/components/scheduler/AppointmentEditor.d.ts +232 -0
- package/dist/components/scheduler/RecurrenceEditor.d.ts +66 -0
- package/dist/components/scheduler/Scheduler.d.ts +515 -0
- package/dist/components/scheduler/agenda-row-context.d.ts +15 -0
- package/dist/components/scheduler/appointment-added-event-args.d.ts +7 -0
- package/dist/components/scheduler/appointment-adding-event-args.d.ts +10 -0
- package/dist/components/scheduler/appointment-click-event-args.d.ts +13 -0
- package/dist/components/scheduler/appointment-deleted-event-args.d.ts +9 -0
- package/dist/components/scheduler/appointment-deleting-event-args.d.ts +13 -0
- package/dist/components/scheduler/appointment-form-context.d.ts +11 -0
- package/dist/components/scheduler/appointment-form-data.d.ts +10 -0
- package/dist/components/scheduler/appointment-template-context.d.ts +15 -0
- package/dist/components/scheduler/appointment-updated-event-args.d.ts +12 -0
- package/dist/components/scheduler/appointment-updating-event-args.d.ts +15 -0
- package/dist/components/scheduler/cell-click-event-args.d.ts +9 -0
- package/dist/components/scheduler/cell-template-context.d.ts +16 -0
- package/dist/components/scheduler/content-ready-event-args.d.ts +9 -0
- package/dist/components/scheduler/data-error-event-args.d.ts +16 -0
- package/dist/components/scheduler/date-changed-event-args.d.ts +10 -0
- package/dist/components/scheduler/date-changing-event-args.d.ts +9 -0
- package/dist/components/scheduler/date-template-context.d.ts +13 -0
- package/dist/components/scheduler/drag-event-args.d.ts +21 -0
- package/dist/components/scheduler/form-bind.d.ts +4 -0
- package/dist/components/scheduler/form-items.d.ts +10 -0
- package/dist/components/scheduler/form-opening-event-args.d.ts +20 -0
- package/dist/components/scheduler/icalendar-export-options.d.ts +10 -0
- package/dist/components/scheduler/icalendar-exported-event-args.d.ts +6 -0
- package/dist/components/scheduler/icalendar-exporting-event-args.d.ts +10 -0
- package/dist/components/scheduler/icalendar-import-result.d.ts +6 -0
- package/dist/components/scheduler/icalendar-imported-event-args.d.ts +5 -0
- package/dist/components/scheduler/icalendar-importing-event-args.d.ts +8 -0
- package/dist/components/scheduler/index.d.ts +73 -0
- package/dist/components/scheduler/model/AppointmentStore.d.ts +27 -0
- package/dist/components/scheduler/model/ICalendarBridge.d.ts +44 -0
- package/dist/components/scheduler/model/Occurrences.d.ts +39 -0
- package/dist/components/scheduler/model/RecurrenceDraft.d.ts +56 -0
- package/dist/components/scheduler/model/ResourceKind.d.ts +35 -0
- package/dist/components/scheduler/model/Resources.d.ts +53 -0
- package/dist/components/scheduler/model/SchedulerModel.d.ts +377 -0
- package/dist/components/scheduler/model/SeriesEdit.d.ts +49 -0
- package/dist/components/scheduler/model/SeriesWriter.d.ts +18 -0
- package/dist/components/scheduler/model/agenda-day.d.ts +14 -0
- package/dist/components/scheduler/model/agenda-piece.d.ts +21 -0
- package/dist/components/scheduler/model/any-piece.d.ts +6 -0
- package/dist/components/scheduler/model/blocked-spans.d.ts +14 -0
- package/dist/components/scheduler/model/cell-place.d.ts +5 -0
- package/dist/components/scheduler/model/column-edge.d.ts +2 -0
- package/dist/components/scheduler/model/day-block.d.ts +6 -0
- package/dist/components/scheduler/model/draft.d.ts +15 -0
- package/dist/components/scheduler/model/group-resource.d.ts +8 -0
- package/dist/components/scheduler/model/header-cell.d.ts +16 -0
- package/dist/components/scheduler/model/header-row.d.ts +8 -0
- package/dist/components/scheduler/model/line-piece.d.ts +29 -0
- package/dist/components/scheduler/model/make-groups.d.ts +14 -0
- package/dist/components/scheduler/model/occurrence-info.d.ts +8 -0
- package/dist/components/scheduler/model/overlap-mode.d.ts +2 -0
- package/dist/components/scheduler/model/place-lanes.d.ts +10 -0
- package/dist/components/scheduler/model/place-stack.d.ts +17 -0
- package/dist/components/scheduler/model/place-timed.d.ts +18 -0
- package/dist/components/scheduler/model/range-filter-options.d.ts +8 -0
- package/dist/components/scheduler/model/range-filter.d.ts +13 -0
- package/dist/components/scheduler/model/resolved-view.d.ts +23 -0
- package/dist/components/scheduler/model/resource-entry.d.ts +5 -0
- package/dist/components/scheduler/model/same-value.d.ts +2 -0
- package/dist/components/scheduler/model/scale-cell.d.ts +14 -0
- package/dist/components/scheduler/model/scheduler-column.d.ts +21 -0
- package/dist/components/scheduler/model/scheduler-day.d.ts +21 -0
- package/dist/components/scheduler/model/scheduler-group.d.ts +14 -0
- package/dist/components/scheduler/model/scrolling-mode.d.ts +5 -0
- package/dist/components/scheduler/model/series-plan.d.ts +9 -0
- package/dist/components/scheduler/model/series-run.d.ts +14 -0
- package/dist/components/scheduler/model/series-scope.d.ts +2 -0
- package/dist/components/scheduler/model/series-write.d.ts +8 -0
- package/dist/components/scheduler/model/strip-piece.d.ts +29 -0
- package/dist/components/scheduler/model/strip-row.d.ts +17 -0
- package/dist/components/scheduler/model/time-slot.d.ts +8 -0
- package/dist/components/scheduler/model/time-tick.d.ts +14 -0
- package/dist/components/scheduler/model/timed-piece.d.ts +31 -0
- package/dist/components/scheduler/model/timeline-row.d.ts +27 -0
- package/dist/components/scheduler/model/to-date.d.ts +2 -0
- package/dist/components/scheduler/model/view-dates.d.ts +7 -0
- package/dist/components/scheduler/model/view-kind.d.ts +6 -0
- package/dist/components/scheduler/more-list-context.d.ts +7 -0
- package/dist/components/scheduler/more-opening-event-args.d.ts +8 -0
- package/dist/components/scheduler/presentation-changed-event-args.d.ts +8 -0
- package/dist/components/scheduler/presentation-changing-event-args.d.ts +11 -0
- package/dist/components/scheduler/printed-event-args.d.ts +5 -0
- package/dist/components/scheduler/printing-event-args.d.ts +6 -0
- package/dist/components/scheduler/recurrence-editor-props.d.ts +30 -0
- package/dist/components/scheduler/resource-header-context.d.ts +17 -0
- package/dist/components/scheduler/scheduler-blocked-time.d.ts +16 -0
- package/dist/components/scheduler/scheduler-cell.d.ts +9 -0
- package/dist/components/scheduler/scheduler-editing.d.ts +24 -0
- package/dist/components/scheduler/scheduler-fields.d.ts +39 -0
- package/dist/components/scheduler/scheduler-form-item.d.ts +27 -0
- package/dist/components/scheduler/scheduler-form-tab.d.ts +9 -0
- package/dist/components/scheduler/scheduler-form.d.ts +26 -0
- package/dist/components/scheduler/scheduler-keys.d.ts +22 -0
- package/dist/components/scheduler/scheduler-presentation-kind.d.ts +2 -0
- package/dist/components/scheduler/scheduler-presentation.d.ts +2 -0
- package/dist/components/scheduler/scheduler-props.d.ts +210 -0
- package/dist/components/scheduler/scheduler-range.d.ts +5 -0
- package/dist/components/scheduler/scheduler-resource.d.ts +33 -0
- package/dist/components/scheduler/scheduler-tablet-when.d.ts +2 -0
- package/dist/components/scheduler/scheduler-templates.d.ts +34 -0
- package/dist/components/scheduler/scheduler-time-check.d.ts +19 -0
- package/dist/components/scheduler/scheduler-view-type.d.ts +6 -0
- package/dist/components/scheduler/scheduler-view.d.ts +33 -0
- package/dist/components/scheduler/selection-changed-event-args.d.ts +7 -0
- package/dist/components/scheduler/series-action.d.ts +2 -0
- package/dist/components/scheduler/series-answered-event-args.d.ts +12 -0
- package/dist/components/scheduler/series-asking-event-args.d.ts +18 -0
- package/dist/components/scheduler/series-edit-mode.d.ts +3 -0
- package/dist/components/scheduler/time-template-context.d.ts +11 -0
- package/dist/components/scheduler/time-zoom-changed-event-args.d.ts +7 -0
- package/dist/components/scheduler/time-zoom-changing-event-args.d.ts +8 -0
- package/dist/components/scheduler/tooltip-template-context.d.ts +14 -0
- package/dist/components/scheduler/view/AgendaView.d.ts +50 -0
- package/dist/components/scheduler/view/AppointmentBox.d.ts +58 -0
- package/dist/components/scheduler/view/AppointmentDrag.d.ts +66 -0
- package/dist/components/scheduler/view/AppointmentTooltip.d.ts +40 -0
- package/dist/components/scheduler/view/CellAttributes.d.ts +8 -0
- package/dist/components/scheduler/view/CellWriter.d.ts +35 -0
- package/dist/components/scheduler/view/GroupHeads.d.ts +32 -0
- package/dist/components/scheduler/view/KeyedParts.d.ts +27 -0
- package/dist/components/scheduler/view/MonthView.d.ts +58 -0
- package/dist/components/scheduler/view/MoreList.d.ts +32 -0
- package/dist/components/scheduler/view/SchedulerFormat.d.ts +43 -0
- package/dist/components/scheduler/view/SchedulerTouch.d.ts +38 -0
- package/dist/components/scheduler/view/TimeView.d.ts +101 -0
- package/dist/components/scheduler/view/TimelineLine.d.ts +77 -0
- package/dist/components/scheduler/view/TimelineScale.d.ts +22 -0
- package/dist/components/scheduler/view/TimelineScaleCell.d.ts +37 -0
- package/dist/components/scheduler/view/TimelineView.d.ts +72 -0
- package/dist/components/scheduler/view/ask-series-scope.d.ts +21 -0
- package/dist/components/scheduler/view/cell-spot.d.ts +8 -0
- package/dist/components/scheduler/view/cell-words.d.ts +7 -0
- package/dist/components/scheduler/view/scheduler-host.d.ts +87 -0
- package/dist/components/scheduler/view/timeline-scroll.d.ts +7 -0
- package/dist/components/scheduler/view/touch-host.d.ts +21 -0
- package/dist/components/scheduler/view-changed-event-args.d.ts +7 -0
- package/dist/components/scheduler/view-changing-event-args.d.ts +9 -0
- package/dist/components/sheet/BottomSheet.d.ts +82 -0
- package/dist/components/sheet/bottom-sheet-detent.d.ts +6 -0
- package/dist/components/sheet/bottom-sheet-props.d.ts +27 -0
- package/dist/components/sheet/detent-changed-event-args.d.ts +8 -0
- package/dist/components/sheet/detent-changing-event-args.d.ts +11 -0
- package/dist/components/sheet/index.d.ts +5 -0
- package/dist/components/skeleton/Skeleton.d.ts +45 -0
- package/dist/components/skeleton/index.d.ts +4 -0
- package/dist/components/skeleton/skeleton-animation.d.ts +2 -0
- package/dist/components/skeleton/skeleton-props.d.ts +21 -0
- package/dist/components/skeleton/skeleton-shape.d.ts +2 -0
- package/dist/components/slider/Slider.d.ts +114 -0
- package/dist/components/slider/index.d.ts +5 -0
- package/dist/components/slider/slider-orientation.d.ts +2 -0
- package/dist/components/slider/slider-props.d.ts +40 -0
- package/dist/components/slider/slider-show-value.d.ts +2 -0
- package/dist/components/slider/slider-value.d.ts +2 -0
- package/dist/components/switch/Switch.d.ts +32 -0
- package/dist/components/switch/index.d.ts +3 -0
- package/dist/components/switch/switch-props.d.ts +12 -0
- package/dist/components/switch/switch-state-text.d.ts +2 -0
- package/dist/components/tabdocs/AutoHideStrip.d.ts +31 -0
- package/dist/components/tabdocs/DockDropTarget.d.ts +34 -0
- package/dist/components/tabdocs/DockGuides.d.ts +35 -0
- package/dist/components/tabdocs/DocumentList.d.ts +76 -0
- package/dist/components/tabdocs/DocumentTab.d.ts +66 -0
- package/dist/components/tabdocs/DropMarks.d.ts +16 -0
- package/dist/components/tabdocs/LayoutDropTarget.d.ts +39 -0
- package/dist/components/tabdocs/MoveByKeys.d.ts +31 -0
- package/dist/components/tabdocs/NewWindowDropTarget.d.ts +19 -0
- package/dist/components/tabdocs/PhoneBar.d.ts +33 -0
- package/dist/components/tabdocs/PhoneList.d.ts +54 -0
- package/dist/components/tabdocs/PhoneTools.d.ts +20 -0
- package/dist/components/tabdocs/SplitSash.d.ts +23 -0
- package/dist/components/tabdocs/TabBarSettings.d.ts +35 -0
- package/dist/components/tabdocs/TabBrowserWindow.d.ts +60 -0
- package/dist/components/tabdocs/TabDockArea.d.ts +91 -0
- package/dist/components/tabdocs/TabDocument.d.ts +129 -0
- package/dist/components/tabdocs/TabDocumentManager.d.ts +1073 -0
- package/dist/components/tabdocs/TabDrag.d.ts +76 -0
- package/dist/components/tabdocs/TabGroup.d.ts +156 -0
- package/dist/components/tabdocs/TabMenus.d.ts +34 -0
- package/dist/components/tabdocs/TabPresenter.d.ts +105 -0
- package/dist/components/tabdocs/TabSplit.d.ts +40 -0
- package/dist/components/tabdocs/TabWindow.d.ts +82 -0
- package/dist/components/tabdocs/WindowByKeys.d.ts +18 -0
- package/dist/components/tabdocs/content-lifetime.d.ts +6 -0
- package/dist/components/tabdocs/dock-guide-hit.d.ts +10 -0
- package/dist/components/tabdocs/document-activated-event-args.d.ts +11 -0
- package/dist/components/tabdocs/document-activating-event-args.d.ts +12 -0
- package/dist/components/tabdocs/document-changed-event-args.d.ts +10 -0
- package/dist/components/tabdocs/document-changing-event-args.d.ts +11 -0
- package/dist/components/tabdocs/document-closed-event-args.d.ts +10 -0
- package/dist/components/tabdocs/document-closing-event-args.d.ts +18 -0
- package/dist/components/tabdocs/document-moved-event-args.d.ts +12 -0
- package/dist/components/tabdocs/document-moving-event-args.d.ts +14 -0
- package/dist/components/tabdocs/document-opened-event-args.d.ts +10 -0
- package/dist/components/tabdocs/document-opening-event-args.d.ts +13 -0
- package/dist/components/tabdocs/document-showing-event-args.d.ts +19 -0
- package/dist/components/tabdocs/document-shown-event-args.d.ts +11 -0
- package/dist/components/tabdocs/group-locked-event-args.d.ts +8 -0
- package/dist/components/tabdocs/group-locking-event-args.d.ts +9 -0
- package/dist/components/tabdocs/group-split-event-args.d.ts +15 -0
- package/dist/components/tabdocs/group-splitting-event-args.d.ts +17 -0
- package/dist/components/tabdocs/index.d.ts +102 -0
- package/dist/components/tabdocs/keep-scroll.d.ts +6 -0
- package/dist/components/tabdocs/layout-changed-event-args.d.ts +17 -0
- package/dist/components/tabdocs/layout-changing-event-args.d.ts +19 -0
- package/dist/components/tabdocs/layout-item.d.ts +4 -0
- package/dist/components/tabdocs/pinned-tab-size.d.ts +2 -0
- package/dist/components/tabdocs/place-node.d.ts +6 -0
- package/dist/components/tabdocs/presentation-changed-event-args.d.ts +8 -0
- package/dist/components/tabdocs/presentation-changing-event-args.d.ts +11 -0
- package/dist/components/tabdocs/sash-owner.d.ts +15 -0
- package/dist/components/tabdocs/screen-offsets.d.ts +9 -0
- package/dist/components/tabdocs/split-direction.d.ts +2 -0
- package/dist/components/tabdocs/tab-after-close.d.ts +2 -0
- package/dist/components/tabdocs/tab-auto-hidden-event-args.d.ts +9 -0
- package/dist/components/tabdocs/tab-auto-hiding-event-args.d.ts +10 -0
- package/dist/components/tabdocs/tab-bar-button-size.d.ts +2 -0
- package/dist/components/tabdocs/tab-bar-button.d.ts +2 -0
- package/dist/components/tabdocs/tab-close-button.d.ts +2 -0
- package/dist/components/tabdocs/tab-content-clone.d.ts +4 -0
- package/dist/components/tabdocs/tab-content-factory.d.ts +4 -0
- package/dist/components/tabdocs/tab-context-menu-event-args.d.ts +16 -0
- package/dist/components/tabdocs/tab-copy-modifier.d.ts +2 -0
- package/dist/components/tabdocs/tab-dock-guide-kind.d.ts +2 -0
- package/dist/components/tabdocs/tab-dock-presentation.d.ts +5 -0
- package/dist/components/tabdocs/tab-dock-side.d.ts +2 -0
- package/dist/components/tabdocs/tab-docked-event-args.d.ts +16 -0
- package/dist/components/tabdocs/tab-docking-event-args.d.ts +21 -0
- package/dist/components/tabdocs/tab-document-content.d.ts +4 -0
- package/dist/components/tabdocs/tab-document-keys.d.ts +105 -0
- package/dist/components/tabdocs/tab-document-manager-props.d.ts +351 -0
- package/dist/components/tabdocs/tab-document-options.d.ts +57 -0
- package/dist/components/tabdocs/tab-drag-ended-event-args.d.ts +11 -0
- package/dist/components/tabdocs/tab-drag-starting-event-args.d.ts +14 -0
- package/dist/components/tabdocs/tab-drag-subject.d.ts +16 -0
- package/dist/components/tabdocs/tab-drop-event-args.d.ts +20 -0
- package/dist/components/tabdocs/tab-drop-marks.d.ts +5 -0
- package/dist/components/tabdocs/tab-drop-place.d.ts +25 -0
- package/dist/components/tabdocs/tab-drop-side.d.ts +2 -0
- package/dist/components/tabdocs/tab-drop-target-kind.d.ts +10 -0
- package/dist/components/tabdocs/tab-drop-target.d.ts +23 -0
- package/dist/components/tabdocs/tab-dropped-event-args.d.ts +13 -0
- package/dist/components/tabdocs/tab-error-event-args.d.ts +17 -0
- package/dist/components/tabdocs/tab-floated-event-args.d.ts +13 -0
- package/dist/components/tabdocs/tab-floating-event-args.d.ts +16 -0
- package/dist/components/tabdocs/tab-key-preset.d.ts +6 -0
- package/dist/components/tabdocs/tab-keys.d.ts +12 -0
- package/dist/components/tabdocs/tab-layout-area.d.ts +13 -0
- package/dist/components/tabdocs/tab-layout-bar.d.ts +12 -0
- package/dist/components/tabdocs/tab-layout-browser-window.d.ts +10 -0
- package/dist/components/tabdocs/tab-layout-change.d.ts +2 -0
- package/dist/components/tabdocs/tab-layout-document.d.ts +9 -0
- package/dist/components/tabdocs/tab-layout-factory.d.ts +9 -0
- package/dist/components/tabdocs/tab-layout-group.d.ts +16 -0
- package/dist/components/tabdocs/tab-layout-hidden.d.ts +16 -0
- package/dist/components/tabdocs/tab-layout-node.d.ts +3 -0
- package/dist/components/tabdocs/tab-layout-split.d.ts +10 -0
- package/dist/components/tabdocs/tab-layout-window.d.ts +17 -0
- package/dist/components/tabdocs/tab-layout.d.ts +23 -0
- package/dist/components/tabdocs/tab-list-scope.d.ts +2 -0
- package/dist/components/tabdocs/tab-menu-command.d.ts +2 -0
- package/dist/components/tabdocs/tab-narrow-bars.d.ts +2 -0
- package/dist/components/tabdocs/tab-new-document.d.ts +5 -0
- package/dist/components/tabdocs/tab-new-window-close-action.d.ts +2 -0
- package/dist/components/tabdocs/tab-new-window-fallback.d.ts +2 -0
- package/dist/components/tabdocs/tab-new-window-options.d.ts +8 -0
- package/dist/components/tabdocs/tab-new-window-title.d.ts +7 -0
- package/dist/components/tabdocs/tab-open-options.d.ts +16 -0
- package/dist/components/tabdocs/tab-open-position.d.ts +2 -0
- package/dist/components/tabdocs/tab-open-window.d.ts +7 -0
- package/dist/components/tabdocs/tab-presentation-kind.d.ts +2 -0
- package/dist/components/tabdocs/tab-presentation.d.ts +2 -0
- package/dist/components/tabdocs/tab-rect.d.ts +7 -0
- package/dist/components/tabdocs/tab-restore-windows.d.ts +7 -0
- package/dist/components/tabdocs/tab-show-description.d.ts +2 -0
- package/dist/components/tabdocs/tab-show-options.d.ts +15 -0
- package/dist/components/tabdocs/tab-size.d.ts +2 -0
- package/dist/components/tabdocs/tab-slide-event-args.d.ts +16 -0
- package/dist/components/tabdocs/tab-tablet-when.d.ts +2 -0
- package/dist/components/tabdocs/tab-tone.d.ts +2 -0
- package/dist/components/tabdocs/tab-toolbar-items.d.ts +4 -0
- package/dist/components/tabdocs/tab-window-closed-event-args.d.ts +14 -0
- package/dist/components/tabdocs/tab-window-closing-event-args.d.ts +18 -0
- package/dist/components/tabdocs/tab-window-opened-event-args.d.ts +14 -0
- package/dist/components/tabdocs/tab-window-opening-event-args.d.ts +21 -0
- package/dist/components/tabdocs/tab-window-request.d.ts +11 -0
- package/dist/components/tabs/PanelContent.d.ts +20 -0
- package/dist/components/tabs/Tab.d.ts +71 -0
- package/dist/components/tabs/Tabs.d.ts +126 -0
- package/dist/components/tabs/index.d.ts +11 -0
- package/dist/components/tabs/tab-close-event-args.d.ts +11 -0
- package/dist/components/tabs/tab-props.d.ts +27 -0
- package/dist/components/tabs/tab-selecting-event-args.d.ts +12 -0
- package/dist/components/tabs/tab-selection-changed-event-args.d.ts +13 -0
- package/dist/components/tabs/tabs-activation.d.ts +2 -0
- package/dist/components/tabs/tabs-placement.d.ts +2 -0
- package/dist/components/tabs/tabs-props.d.ts +41 -0
- package/dist/components/tabs/tabs-variant.d.ts +2 -0
- package/dist/components/tagbox/TagBox.d.ts +140 -0
- package/dist/components/tagbox/index.d.ts +2 -0
- package/dist/components/tagbox/tag-box-props.d.ts +56 -0
- package/dist/components/textarea/TextArea.d.ts +76 -0
- package/dist/components/textarea/index.d.ts +3 -0
- package/dist/components/textarea/text-area-props.d.ts +36 -0
- package/dist/components/textarea/text-area-resize.d.ts +2 -0
- package/dist/components/textbox/TextBox.d.ts +89 -0
- package/dist/components/textbox/text-box-props.d.ts +41 -0
- package/dist/components/textbox/text-box-type.d.ts +1 -0
- package/dist/components/toast/Toast.d.ts +63 -0
- package/dist/components/toast/Toaster.d.ts +68 -0
- package/dist/components/toast/index.d.ts +9 -0
- package/dist/components/toast/show-toast.d.ts +20 -0
- package/dist/components/toast/toast-action.d.ts +7 -0
- package/dist/components/toast/toast-close-reason.d.ts +2 -0
- package/dist/components/toast/toast-position.d.ts +2 -0
- package/dist/components/toast/toast-props.d.ts +28 -0
- package/dist/components/toast/toast-tone.d.ts +2 -0
- package/dist/components/toast/toaster-props.d.ts +17 -0
- package/dist/components/toolbar/Toolbar.d.ts +93 -0
- package/dist/components/toolbar/ToolbarSeparator.d.ts +6 -0
- package/dist/components/toolbar/index.d.ts +9 -0
- package/dist/components/toolbar/toolbar-item-click-event-args.d.ts +9 -0
- package/dist/components/toolbar/toolbar-item-overflow.d.ts +2 -0
- package/dist/components/toolbar/toolbar-item-type.d.ts +2 -0
- package/dist/components/toolbar/toolbar-item.d.ts +36 -0
- package/dist/components/toolbar/toolbar-orientation.d.ts +2 -0
- package/dist/components/toolbar/toolbar-overflow.d.ts +2 -0
- package/dist/components/toolbar/toolbar-props.d.ts +25 -0
- package/dist/components/tooltip/Tooltip.d.ts +57 -0
- package/dist/components/tooltip/add-tooltip.d.ts +11 -0
- package/dist/components/tooltip/index.d.ts +5 -0
- package/dist/components/tooltip/tooltip-hub.d.ts +12 -0
- package/dist/components/tooltip/tooltip-props.d.ts +25 -0
- package/dist/components/tooltip/tooltip-show-on.d.ts +2 -0
- package/dist/components/tooltip/tooltip-target.d.ts +3 -0
- package/dist/components/treeview/TreeModel.d.ts +43 -0
- package/dist/components/treeview/TreeView.d.ts +218 -0
- package/dist/components/treeview/index.d.ts +16 -0
- package/dist/components/treeview/tree-check-state.d.ts +2 -0
- package/dist/components/treeview/tree-fields.d.ts +7 -0
- package/dist/components/treeview/tree-node.d.ts +12 -0
- package/dist/components/treeview/tree-row.d.ts +9 -0
- package/dist/components/treeview/tree-view-check-changed-event-args.d.ts +13 -0
- package/dist/components/treeview/tree-view-expand-on.d.ts +2 -0
- package/dist/components/treeview/tree-view-expanded-event-args.d.ts +8 -0
- package/dist/components/treeview/tree-view-expanding-event-args.d.ts +11 -0
- package/dist/components/treeview/tree-view-item-click-event-args.d.ts +8 -0
- package/dist/components/treeview/tree-view-item-template.d.ts +2 -0
- package/dist/components/treeview/tree-view-load-children.d.ts +2 -0
- package/dist/components/treeview/tree-view-props.d.ts +75 -0
- package/dist/components/treeview/tree-view-selection-changed-event-args.d.ts +10 -0
- package/dist/components/treeview/tree-view-selection-mode.d.ts +2 -0
- package/dist/core/UiLocale.d.ts +52 -0
- package/dist/core/access-key.d.ts +32 -0
- package/dist/core/after-press.d.ts +5 -0
- package/dist/core/back-button.d.ts +15 -0
- package/dist/core/connect-i18n.d.ts +11 -0
- package/dist/core/container.d.ts +52 -0
- package/dist/core/control-map.d.ts +7 -0
- package/dist/core/control-size.d.ts +2 -0
- package/dist/core/control.d.ts +156 -0
- package/dist/core/document-watch.d.ts +10 -0
- package/dist/core/draw-parts.d.ts +36 -0
- package/dist/core/enable.d.ts +16 -0
- package/dist/core/every.d.ts +5 -0
- package/dist/core/fill-template.d.ts +2 -0
- package/dist/core/fill-text.d.ts +6 -0
- package/dist/core/focus-guard.d.ts +2 -0
- package/dist/core/focus.d.ts +32 -0
- package/dist/core/follow.d.ts +7 -0
- package/dist/core/function-value.d.ts +6 -0
- package/dist/core/given-field.d.ts +12 -0
- package/dist/core/glyphs.d.ts +67 -0
- package/dist/core/icon-node.d.ts +10 -0
- package/dist/core/icon-source.d.ts +3 -0
- package/dist/core/input-mode.d.ts +2 -0
- package/dist/core/keyboard.d.ts +55 -0
- package/dist/core/language-look.d.ts +18 -0
- package/dist/core/later.d.ts +4 -0
- package/dist/core/locale-source.d.ts +9 -0
- package/dist/core/look-watch.d.ts +2 -0
- package/dist/core/mirror-page.d.ts +9 -0
- package/dist/core/next-frame.d.ts +6 -0
- package/dist/core/next-id.d.ts +1 -0
- package/dist/core/node-kind.d.ts +10 -0
- package/dist/core/on-language.d.ts +9 -0
- package/dist/core/on-re-state.d.ts +6 -0
- package/dist/core/page-documents.d.ts +21 -0
- package/dist/core/platform.d.ts +2 -0
- package/dist/core/press-origin.d.ts +2 -0
- package/dist/core/prop-binding.d.ts +25 -0
- package/dist/core/resize-watch.d.ts +21 -0
- package/dist/core/ui-locale-changed-event-args.d.ts +5 -0
- package/dist/core/ui-locale.d.ts +13 -0
- package/dist/core/ui-pack-module.d.ts +5 -0
- package/dist/core/ui-pack.d.ts +3 -0
- package/dist/core/ui-strings.d.ts +573 -0
- package/dist/core/window-stack.d.ts +21 -0
- package/dist/defineProperty-C0rC37pP.js +39 -0
- package/dist/excel/cell-range.d.ts +11 -0
- package/dist/excel/date-format.d.ts +6 -0
- package/dist/excel/excel-customize-cell-args.d.ts +8 -0
- package/dist/excel/excel-export-options.d.ts +50 -0
- package/dist/excel/export-data-grid.d.ts +21 -0
- package/dist/excel/index.d.ts +6 -0
- package/dist/excel/index.js +244 -0
- package/dist/excel/index.js.map +1 -0
- package/dist/excel/number-format.d.ts +6 -0
- package/dist/formula-guard-NYlpoA-t.js +10 -0
- package/dist/formula-guard-NYlpoA-t.js.map +1 -0
- package/dist/generated/tokens.d.ts +17580 -0
- package/dist/index.d.ts +157 -0
- package/dist/index.js +79642 -0
- package/dist/index.js.map +1 -0
- package/dist/locales/en.json +556 -0
- package/dist/locales/tr.json +556 -0
- package/dist/parts/color/color-hsva.d.ts +7 -0
- package/dist/parts/color/color-rgba.d.ts +7 -0
- package/dist/parts/color/colors.d.ts +11 -0
- package/dist/parts/data/DataItems.d.ts +50 -0
- package/dist/parts/data/KeyedItems.d.ts +91 -0
- package/dist/parts/data/keyed-item.d.ts +9 -0
- package/dist/parts/data/text-search.d.ts +12 -0
- package/dist/parts/dates/add-days.d.ts +1 -0
- package/dist/parts/dates/add-months.d.ts +2 -0
- package/dist/parts/dates/date-kind.d.ts +2 -0
- package/dist/parts/dates/date-part.d.ts +1 -0
- package/dist/parts/dates/date-pattern-of.d.ts +4 -0
- package/dist/parts/dates/date-pattern.d.ts +7 -0
- package/dist/parts/dates/date-to-digits.d.ts +3 -0
- package/dist/parts/dates/day-start.d.ts +2 -0
- package/dist/parts/dates/digits-to-date.d.ts +3 -0
- package/dist/parts/dates/first-day-of-week.d.ts +2 -0
- package/dist/parts/dates/iso-week.d.ts +2 -0
- package/dist/parts/dates/same-day.d.ts +1 -0
- package/dist/parts/dates/time-zone.d.ts +53 -0
- package/dist/parts/drag/DragGhost.d.ts +57 -0
- package/dist/parts/drag/scroll-step.d.ts +6 -0
- package/dist/parts/field/Field.d.ts +130 -0
- package/dist/parts/field/box-area.d.ts +2 -0
- package/dist/parts/field/enter-key-event-args.d.ts +6 -0
- package/dist/parts/field/field-button-click-event-args.d.ts +7 -0
- package/dist/parts/field/field-button.d.ts +18 -0
- package/dist/parts/field/field-label-mode.d.ts +2 -0
- package/dist/parts/field/field-props.d.ts +44 -0
- package/dist/parts/field/field-variant.d.ts +2 -0
- package/dist/parts/field/same-as-written.d.ts +5 -0
- package/dist/parts/field/validate-on.d.ts +2 -0
- package/dist/parts/field/validated-event-args.d.ts +7 -0
- package/dist/parts/field/value-changed-event-args.d.ts +10 -0
- package/dist/parts/icalendar/add-duration.d.ts +9 -0
- package/dist/parts/icalendar/date-property.d.ts +4 -0
- package/dist/parts/icalendar/escape-text.d.ts +2 -0
- package/dist/parts/icalendar/event-lines.d.ts +3 -0
- package/dist/parts/icalendar/fold-line.d.ts +2 -0
- package/dist/parts/icalendar/format-content-line.d.ts +3 -0
- package/dist/parts/icalendar/format-offset.d.ts +2 -0
- package/dist/parts/icalendar/icalendar-component.d.ts +8 -0
- package/dist/parts/icalendar/icalendar-date.d.ts +6 -0
- package/dist/parts/icalendar/icalendar-event.d.ts +25 -0
- package/dist/parts/icalendar/icalendar-moment.d.ts +12 -0
- package/dist/parts/icalendar/icalendar-observance.d.ts +15 -0
- package/dist/parts/icalendar/icalendar-property.d.ts +9 -0
- package/dist/parts/icalendar/icalendar-time-zone.d.ts +7 -0
- package/dist/parts/icalendar/icalendar-write-options.d.ts +15 -0
- package/dist/parts/icalendar/icalendar.d.ts +13 -0
- package/dist/parts/icalendar/observance-moment.d.ts +7 -0
- package/dist/parts/icalendar/parse-icalendar.d.ts +11 -0
- package/dist/parts/icalendar/read-components.d.ts +3 -0
- package/dist/parts/icalendar/read-content-line.d.ts +3 -0
- package/dist/parts/icalendar/read-duration.d.ts +5 -0
- package/dist/parts/icalendar/read-event.d.ts +4 -0
- package/dist/parts/icalendar/read-icalendar-dates.d.ts +4 -0
- package/dist/parts/icalendar/read-offset.d.ts +2 -0
- package/dist/parts/icalendar/read-time-zone.d.ts +4 -0
- package/dist/parts/icalendar/same-form.d.ts +3 -0
- package/dist/parts/icalendar/short-zone-name.d.ts +2 -0
- package/dist/parts/icalendar/time-zone-lines.d.ts +10 -0
- package/dist/parts/icalendar/unescape-text.d.ts +2 -0
- package/dist/parts/icalendar/unfold-lines.d.ts +2 -0
- package/dist/parts/icalendar/write-icalendar.d.ts +9 -0
- package/dist/parts/list/OptionList.d.ts +88 -0
- package/dist/parts/list/item-field.d.ts +2 -0
- package/dist/parts/list/item-own-value.d.ts +2 -0
- package/dist/parts/list/item-source.d.ts +8 -0
- package/dist/parts/list/list-move.d.ts +2 -0
- package/dist/parts/list/option-chosen-event-args.d.ts +5 -0
- package/dist/parts/list/read-item-field.d.ts +6 -0
- package/dist/parts/mask/InputMask.d.ts +41 -0
- package/dist/parts/mask/MaskedText.d.ts +38 -0
- package/dist/parts/mask/input-mask-options.d.ts +11 -0
- package/dist/parts/mask/mask-char.d.ts +4 -0
- package/dist/parts/mask/mask-chars.d.ts +3 -0
- package/dist/parts/mask/mask-slot.d.ts +8 -0
- package/dist/parts/mask/parse-mask.d.ts +4 -0
- package/dist/parts/menu/MenuList.d.ts +74 -0
- package/dist/parts/menu/line-after.d.ts +4 -0
- package/dist/parts/menu/menu-item-click-event-args.d.ts +10 -0
- package/dist/parts/menu/menu-item.d.ts +37 -0
- package/dist/parts/overlay/OverlayPanel.d.ts +123 -0
- package/dist/parts/overlay/css-length.d.ts +2 -0
- package/dist/parts/overlay/inert-around.d.ts +5 -0
- package/dist/parts/overlay/overlay-close-reason.d.ts +2 -0
- package/dist/parts/overlay/overlay-closed-event-args.d.ts +6 -0
- package/dist/parts/overlay/overlay-closing-event-args.d.ts +8 -0
- package/dist/parts/overlay/overlay-container.d.ts +3 -0
- package/dist/parts/overlay/overlay-event-args.d.ts +5 -0
- package/dist/parts/overlay/overlay-opening-event-args.d.ts +6 -0
- package/dist/parts/overlay/overlay-panel-props.d.ts +48 -0
- package/dist/parts/overlay/swipe-tracker.d.ts +11 -0
- package/dist/parts/popup/Popup.d.ts +41 -0
- package/dist/parts/popup/place-popup.d.ts +7 -0
- package/dist/parts/popup/popup-close-reason.d.ts +2 -0
- package/dist/parts/popup/popup-open-options.d.ts +7 -0
- package/dist/parts/popup/popup-placement.d.ts +6 -0
- package/dist/parts/recurrence/add-rule-date.d.ts +6 -0
- package/dist/parts/recurrence/describe-recurrence.d.ts +16 -0
- package/dist/parts/recurrence/filter-rule-dates.d.ts +3 -0
- package/dist/parts/recurrence/format-recurrence-rule.d.ts +3 -0
- package/dist/parts/recurrence/format-rule-date.d.ts +3 -0
- package/dist/parts/recurrence/parse-recurrence-rule.d.ts +11 -0
- package/dist/parts/recurrence/parse-rule-date.d.ts +3 -0
- package/dist/parts/recurrence/read-rule-dates.d.ts +7 -0
- package/dist/parts/recurrence/recurrence-dates-options.d.ts +7 -0
- package/dist/parts/recurrence/recurrence-dates.d.ts +14 -0
- package/dist/parts/recurrence/recurrence-frequency.d.ts +2 -0
- package/dist/parts/recurrence/recurrence-rule.d.ts +33 -0
- package/dist/parts/recurrence/rule-date.d.ts +10 -0
- package/dist/parts/recurrence/rule-weekday.d.ts +7 -0
- package/dist/parts/recurrence/weekday-codes.d.ts +2 -0
- package/dist/parts/validation/ValidationGroup.d.ts +25 -0
- package/dist/parts/validation/check-rules.d.ts +4 -0
- package/dist/parts/validation/validate-fields.d.ts +10 -0
- package/dist/parts/validation/validate-targets.d.ts +3 -0
- package/dist/parts/validation/validation-message.d.ts +2 -0
- package/dist/parts/validation/validation-result.d.ts +6 -0
- package/dist/parts/validation/validation-rule.d.ts +55 -0
- package/dist/parts/validation/validation-target.d.ts +8 -0
- package/dist/parts/window/follow-pointer.d.ts +5 -0
- package/dist/parts/window/resize-box.d.ts +13 -0
- package/dist/parts/window/resize-frame.d.ts +2 -0
- package/dist/parts/window/window-box.d.ts +7 -0
- package/dist/parts/window/window-edge.d.ts +2 -0
- package/dist/pdf/export-data-grid.d.ts +23 -0
- package/dist/pdf/index.d.ts +8 -0
- package/dist/pdf/index.js +355 -0
- package/dist/pdf/index.js.map +1 -0
- package/dist/pdf/pdf-cell.d.ts +33 -0
- package/dist/pdf/pdf-custom-draw-cell-args.d.ts +17 -0
- package/dist/pdf/pdf-customize-cell-args.d.ts +7 -0
- package/dist/pdf/pdf-export-options.d.ts +59 -0
- package/dist/pdf/pdf-export-result.d.ts +7 -0
- package/dist/pdf/pdf-margin.d.ts +7 -0
- package/dist/pdf/pdf-row-exporting-args.d.ts +7 -0
- package/dist/pdf/pdf-table.d.ts +49 -0
- package/dist/styles.css +27373 -0
- package/dist/tokens/index.d.ts +19290 -0
- package/dist/tokens/index.js +17611 -0
- package/dist/tokens/index.js.map +1 -0
- package/docs/accordion.md +295 -0
- package/docs/actionsheet.md +209 -0
- package/docs/avatar.md +238 -0
- package/docs/badge.md +193 -0
- package/docs/bottomsheet.md +316 -0
- package/docs/breadcrumb.md +125 -0
- package/docs/button.md +416 -0
- package/docs/buttongroup.md +141 -0
- package/docs/calendar.md +136 -0
- package/docs/card.md +254 -0
- package/docs/checkbox.md +336 -0
- package/docs/chip.md +278 -0
- package/docs/colorbox.md +153 -0
- package/docs/combobox.md +214 -0
- package/docs/control.md +232 -0
- package/docs/datagrid-api.md +417 -0
- package/docs/datagrid-bands.md +317 -0
- package/docs/datagrid-drag-select.md +326 -0
- package/docs/datagrid-drag.md +341 -0
- package/docs/datagrid-editing.md +537 -0
- package/docs/datagrid-filtering.md +455 -0
- package/docs/datagrid-forms.md +402 -0
- package/docs/datagrid-grouping.md +419 -0
- package/docs/datagrid-layout.md +540 -0
- package/docs/datagrid-lookups.md +363 -0
- package/docs/datagrid-master-detail.md +326 -0
- package/docs/datagrid-scrolling.md +348 -0
- package/docs/datagrid-selection.md +599 -0
- package/docs/datagrid.md +362 -0
- package/docs/datebox.md +201 -0
- package/docs/drawer.md +229 -0
- package/docs/dropdown.md +317 -0
- package/docs/filterbuilder.md +601 -0
- package/docs/formlayout.md +118 -0
- package/docs/getting-started.md +105 -0
- package/docs/home.md +54 -0
- package/docs/keyboard.md +188 -0
- package/docs/layout.md +584 -0
- package/docs/listbox.md +374 -0
- package/docs/lookup.md +128 -0
- package/docs/menus.md +312 -0
- package/docs/numberbox.md +309 -0
- package/docs/pagination.md +115 -0
- package/docs/progress.md +401 -0
- package/docs/radiogroup.md +324 -0
- package/docs/rating.md +124 -0
- package/docs/scheduler-agenda.md +597 -0
- package/docs/scheduler-big-data.md +253 -0
- package/docs/scheduler-editing.md +545 -0
- package/docs/scheduler-form.md +631 -0
- package/docs/scheduler-icalendar.md +591 -0
- package/docs/scheduler-mobile.md +664 -0
- package/docs/scheduler-recurrence.md +420 -0
- package/docs/scheduler-resources.md +702 -0
- package/docs/scheduler-timeline.md +632 -0
- package/docs/scheduler.md +592 -0
- package/docs/showcase.md +5 -0
- package/docs/skeleton.md +131 -0
- package/docs/slider.md +361 -0
- package/docs/switch.md +242 -0
- package/docs/tabdocs-dock.md +877 -0
- package/docs/tabdocs-drag.md +554 -0
- package/docs/tabdocs-menus.md +689 -0
- package/docs/tabdocs-mobile.md +277 -0
- package/docs/tabdocs-tabs.md +830 -0
- package/docs/tabdocs-windows.md +657 -0
- package/docs/tabdocs-workspace.md +409 -0
- package/docs/tabdocs.md +888 -0
- package/docs/tabs.md +456 -0
- package/docs/tagbox.md +361 -0
- package/docs/textarea.md +305 -0
- package/docs/textbox.md +449 -0
- package/docs/toast.md +313 -0
- package/docs/tokens.md +3903 -0
- package/docs/toolbar.md +462 -0
- package/docs/tooltip.md +339 -0
- package/docs/treeview.md +763 -0
- package/docs/window.md +556 -0
- package/llms-full.txt +33665 -0
- package/llms.txt +127 -0
- package/package.json +116 -6
|
@@ -0,0 +1,877 @@
|
|
|
1
|
+
# TabDocumentManager: Dock and floating windows
|
|
2
|
+
|
|
3
|
+
> TabDocumentManager · @motifx-community/ui 0.1.0-beta.0
|
|
4
|
+
|
|
5
|
+
Documents and whole groups float in windows of their own in the page and dock again into the documents' groups or into dock areas around them, which fold to the manager's edge. The mouse, the keys and the code do the same, through the same events.
|
|
6
|
+
|
|
7
|
+
## Tool areas around the documents
|
|
8
|
+
|
|
9
|
+
A dock area holds groups of its own beside the documents and resizes by its splitter. Folded (the pin in its toolbar, the tab menu, Ctrl+K H, or `autoHide`), only its titles stay at the edge; one of them slides the area out over the documents, and a press outside, Escape or focus leaving slides it back. The close button next to the pin closes the active document, or hides it when it cannot close, as these tools: "Show hidden" in the strip's menu or the "…" menu, or `show`, puts it back where it was.
|
|
10
|
+
|
|
11
|
+
```tsx
|
|
12
|
+
import type { ComponentBase } from '@motifx/core';
|
|
13
|
+
import { TabDocument, type TabDocumentOptions } from '@motifx-community/ui';
|
|
14
|
+
|
|
15
|
+
/** A page with a folded corner: a file. */
|
|
16
|
+
export const FileIcon = () => (
|
|
17
|
+
<svg viewBox="0 0 16 16" aria-hidden="true">
|
|
18
|
+
<path d="M4 1.75h5l3 3v9.5H4zM9 1.75v3h3" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round" />
|
|
19
|
+
</svg>
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
/** A few files of a made-up project. */
|
|
23
|
+
export const FILES = [
|
|
24
|
+
{ path: 'src/index.ts', text: "export { App } from './app';\nexport { router } from './router';" },
|
|
25
|
+
{ path: 'src/app.ts', text: "import { Application } from '@motifx/core';\n\nexport const App = Application.CreateBuilder().build();" },
|
|
26
|
+
{ path: 'src/router.ts', text: "export const router = { mode: 'history', routes: [] };" },
|
|
27
|
+
{ path: 'src/orders/index.ts', text: "export * from './orders';" },
|
|
28
|
+
{ path: 'src/orders/orders.ts', text: 'export interface Order {\n id: number;\n amount: number;\n}' },
|
|
29
|
+
{ path: 'README.md', text: '# Shop\n\nA small shop written with MotifJS.' },
|
|
30
|
+
{ path: 'package.json', text: '{\n "name": "shop",\n "private": true\n}' },
|
|
31
|
+
{ path: 'vite.config.ts', text: "import { defineConfig } from 'vite';\n\nexport default defineConfig({});" },
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
/** A file's text, as a document's content. */
|
|
35
|
+
export function source(text: string): ComponentBase {
|
|
36
|
+
// The panel scrolls (and takes focus for it): the text itself does not.
|
|
37
|
+
return <pre style="margin: 0; padding: var(--mx-space-4); overflow: visible; font: var(--mx-font-size-body) / var(--mx-font-line-body) var(--mx-font-family-mono)">{text}</pre>;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** A document for a file: its name as the title, its folder as the description. */
|
|
41
|
+
export function fileDocument(path: string, extra: TabDocumentOptions = {}): TabDocument {
|
|
42
|
+
const file = FILES.find((f) => f.path === path);
|
|
43
|
+
const at = path.lastIndexOf('/');
|
|
44
|
+
return new TabDocument({
|
|
45
|
+
id: path,
|
|
46
|
+
type: 'file',
|
|
47
|
+
title: path.slice(at + 1),
|
|
48
|
+
description: at > 0 ? path.slice(0, at) : '',
|
|
49
|
+
icon: () => <FileIcon />,
|
|
50
|
+
content: () => source(file?.text ?? ''),
|
|
51
|
+
...extra,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
| Dropped on | What happens |
|
|
57
|
+
| --- | --- |
|
|
58
|
+
| `A guide of the cross over a group` | Its middle puts the tab (or the group, or the window) into that group; a side splits that group, as an edge zone does without guides. |
|
|
59
|
+
| `A guide at an edge of the manager` | Into the dock area of that side: a tab joins the area's group, a group or a window goes along the area. The area is made when there is none, at `dockAreaSize`. |
|
|
60
|
+
| `A strip` | Among its tabs, as before; a floating window dropped on a strip gives that group all its documents and closes. |
|
|
61
|
+
| `The titles of a folded area` | Into that area. |
|
|
62
|
+
| `Anywhere else (guides on), or outside every manager` | Floats: a window of its own at the pointer, as large as the group it came from (`floatingWindowSize`). A floating window moved by its strip stays where it is let go. |
|
|
63
|
+
| `Over a manager outside its `dragGroup`` | Refused: nothing floats over another manager. |
|
|
64
|
+
|
|
65
|
+
## Floating windows
|
|
66
|
+
|
|
67
|
+
A window holds groups as the documents' area does, split and resized the same way. It moves by the empty part of its strips, resizes from its edges and corners, comes to the front when pressed, maximizes within the page, and a double click on its strip docks it back. Its documents keep their content: nothing is made again.
|
|
68
|
+
|
|
69
|
+
```tsx
|
|
70
|
+
import type { ComponentBase } from '@motifx/core';
|
|
71
|
+
import { TabDocument, type TabDocumentOptions } from '@motifx-community/ui';
|
|
72
|
+
|
|
73
|
+
/** A page with a folded corner: a file. */
|
|
74
|
+
export const FileIcon = () => (
|
|
75
|
+
<svg viewBox="0 0 16 16" aria-hidden="true">
|
|
76
|
+
<path d="M4 1.75h5l3 3v9.5H4zM9 1.75v3h3" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round" />
|
|
77
|
+
</svg>
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
/** A few files of a made-up project. */
|
|
81
|
+
export const FILES = [
|
|
82
|
+
{ path: 'src/index.ts', text: "export { App } from './app';\nexport { router } from './router';" },
|
|
83
|
+
{ path: 'src/app.ts', text: "import { Application } from '@motifx/core';\n\nexport const App = Application.CreateBuilder().build();" },
|
|
84
|
+
{ path: 'src/router.ts', text: "export const router = { mode: 'history', routes: [] };" },
|
|
85
|
+
{ path: 'src/orders/index.ts', text: "export * from './orders';" },
|
|
86
|
+
{ path: 'src/orders/orders.ts', text: 'export interface Order {\n id: number;\n amount: number;\n}' },
|
|
87
|
+
{ path: 'README.md', text: '# Shop\n\nA small shop written with MotifJS.' },
|
|
88
|
+
{ path: 'package.json', text: '{\n "name": "shop",\n "private": true\n}' },
|
|
89
|
+
{ path: 'vite.config.ts', text: "import { defineConfig } from 'vite';\n\nexport default defineConfig({});" },
|
|
90
|
+
];
|
|
91
|
+
|
|
92
|
+
/** A file's text, as a document's content. */
|
|
93
|
+
export function source(text: string): ComponentBase {
|
|
94
|
+
// The panel scrolls (and takes focus for it): the text itself does not.
|
|
95
|
+
return <pre style="margin: 0; padding: var(--mx-space-4); overflow: visible; font: var(--mx-font-size-body) / var(--mx-font-line-body) var(--mx-font-family-mono)">{text}</pre>;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/** A document for a file: its name as the title, its folder as the description. */
|
|
99
|
+
export function fileDocument(path: string, extra: TabDocumentOptions = {}): TabDocument {
|
|
100
|
+
const file = FILES.find((f) => f.path === path);
|
|
101
|
+
const at = path.lastIndexOf('/');
|
|
102
|
+
return new TabDocument({
|
|
103
|
+
id: path,
|
|
104
|
+
type: 'file',
|
|
105
|
+
title: path.slice(at + 1),
|
|
106
|
+
description: at > 0 ? path.slice(0, at) : '',
|
|
107
|
+
icon: () => <FileIcon />,
|
|
108
|
+
content: () => source(file?.text ?? ''),
|
|
109
|
+
...extra,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Compact bars
|
|
115
|
+
|
|
116
|
+
The bars of dock areas and floating windows are compact, so that the tabs keep the room: no scroll buttons (the wheel, touch and the keys scroll the strip, and the "…" button tells how many tabs are out of sight), tabs that shrink before they scroll, one document shown as a title with its close button, and only the pin and the close button of an area, or the close button of a window, beside one "…" menu, all of them small buttons, which holds the other buttons above the list of documents. Each part is a setting: the manager's `compact…` props for every area and window, the area's or the window's own (`area.scrollButtons = true`) over them. The documents' bar keeps its whole toolbar by default, and has the same settings without the prefix; new browser windows use it too, as they fill a window of their own.
|
|
117
|
+
|
|
118
|
+
```tsx
|
|
119
|
+
import type { ComponentBase } from '@motifx/core';
|
|
120
|
+
import { TabDocument, type TabDocumentOptions } from '@motifx-community/ui';
|
|
121
|
+
|
|
122
|
+
/** A page with a folded corner: a file. */
|
|
123
|
+
export const FileIcon = () => (
|
|
124
|
+
<svg viewBox="0 0 16 16" aria-hidden="true">
|
|
125
|
+
<path d="M4 1.75h5l3 3v9.5H4zM9 1.75v3h3" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round" />
|
|
126
|
+
</svg>
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
/** A few files of a made-up project. */
|
|
130
|
+
export const FILES = [
|
|
131
|
+
{ path: 'src/index.ts', text: "export { App } from './app';\nexport { router } from './router';" },
|
|
132
|
+
{ path: 'src/app.ts', text: "import { Application } from '@motifx/core';\n\nexport const App = Application.CreateBuilder().build();" },
|
|
133
|
+
{ path: 'src/router.ts', text: "export const router = { mode: 'history', routes: [] };" },
|
|
134
|
+
{ path: 'src/orders/index.ts', text: "export * from './orders';" },
|
|
135
|
+
{ path: 'src/orders/orders.ts', text: 'export interface Order {\n id: number;\n amount: number;\n}' },
|
|
136
|
+
{ path: 'README.md', text: '# Shop\n\nA small shop written with MotifJS.' },
|
|
137
|
+
{ path: 'package.json', text: '{\n "name": "shop",\n "private": true\n}' },
|
|
138
|
+
{ path: 'vite.config.ts', text: "import { defineConfig } from 'vite';\n\nexport default defineConfig({});" },
|
|
139
|
+
];
|
|
140
|
+
|
|
141
|
+
/** A file's text, as a document's content. */
|
|
142
|
+
export function source(text: string): ComponentBase {
|
|
143
|
+
// The panel scrolls (and takes focus for it): the text itself does not.
|
|
144
|
+
return <pre style="margin: 0; padding: var(--mx-space-4); overflow: visible; font: var(--mx-font-size-body) / var(--mx-font-line-body) var(--mx-font-family-mono)">{text}</pre>;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/** A document for a file: its name as the title, its folder as the description. */
|
|
148
|
+
export function fileDocument(path: string, extra: TabDocumentOptions = {}): TabDocument {
|
|
149
|
+
const file = FILES.find((f) => f.path === path);
|
|
150
|
+
const at = path.lastIndexOf('/');
|
|
151
|
+
return new TabDocument({
|
|
152
|
+
id: path,
|
|
153
|
+
type: 'file',
|
|
154
|
+
title: path.slice(at + 1),
|
|
155
|
+
description: at > 0 ? path.slice(0, at) : '',
|
|
156
|
+
icon: () => <FileIcon />,
|
|
157
|
+
content: () => source(file?.text ?? ''),
|
|
158
|
+
...extra,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
| Prop (documents / compact) | Type | Default | Description |
|
|
164
|
+
| --- | --- | --- | --- |
|
|
165
|
+
| `scrollButtons / compactScrollButtons` | `Bind<boolean>` | `true` / `false` | Buttons that scroll a strip whose tabs do not fit. Without them the wheel (a plain one scrolls sideways), touch and the keys scroll it, a thin scrollbar shows while the pointer is over it, and the "…" button shows how many tabs are not fully in sight ("+2", also in its name). |
|
|
166
|
+
| `tabSize / compactTabSize` | `Bind<'fit' \| 'shrink' \| 'fixed'>` | `'fit'` / `'shrink'` | Shrinking, tabs narrow down to the smallest width, the title cut by an ellipsis (the tooltip and the name keep it whole); only then does the strip scroll. |
|
|
167
|
+
| `tabMinWidth / compactTabMinWidth` | `Bind<number>` | `80` / `64` | The smallest width of a tab, in pixels; a tab keeps its icon, its close button and a few letters whatever it is. |
|
|
168
|
+
| `singleTabTitle / compactSingleTabTitle` | `Bind<boolean>` | `false` / `true` | A strip with one document shows it as a title: icon, title, unsaved mark, badge and its close button (`closeButton`, the document's `closable`). It is still the tab: its menu, keys, drag, double click and tooltip stay. A second document makes tabs again. |
|
|
169
|
+
| `barButtons / compactBarButtons` | `Bind<readonly TabBarButton[] \| 'all' \| 'auto'>` | `'all'` / `'auto'` | The built-in buttons that stay in the toolbar (`'split'`, `'maximize'`, `'lock'`, `'autoHide'`, `'close'`, `'maximizeWindow'`, `'closeWindow'`). The others, the app's buttons (but those with `overflow: 'never'`), Dock back in a window and the group's commands go into one "…" menu, next to its documents and their search. `'auto'`: an area keeps its pin and its close button (`['autoHide', 'close']`), a window its own close button (`['closeWindow']`); a list is followed as it is in both. `'all'`: the whole toolbar, which folds into a menu of its own when narrow, and the list apart. |
|
|
170
|
+
| `barButtonSize / compactBarButtonSize` | `Bind<'normal' \| 'small'>` | `'normal'` / `'small'` | How large the toolbar's buttons are: small ones are squares of 24 pixels (the smallest pointer target WCAG 2.2 asks for) with a smaller mark and tight gaps; the "+2" count fits them. An area's or a window's own `barButtonSize` wins. |
|
|
171
|
+
|
|
172
|
+
## Settings
|
|
173
|
+
|
|
174
|
+
Each part is a setting and changes live; a document's own `allowFloat`, `allowDock`, `dockSides` and `allowAutoHide` win over the manager's. Here package.json may not float and README.md docks only at the bottom.
|
|
175
|
+
|
|
176
|
+
```tsx
|
|
177
|
+
import type { ComponentBase } from '@motifx/core';
|
|
178
|
+
import { TabDocument, type TabDocumentOptions } from '@motifx-community/ui';
|
|
179
|
+
|
|
180
|
+
/** A page with a folded corner: a file. */
|
|
181
|
+
export const FileIcon = () => (
|
|
182
|
+
<svg viewBox="0 0 16 16" aria-hidden="true">
|
|
183
|
+
<path d="M4 1.75h5l3 3v9.5H4zM9 1.75v3h3" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round" />
|
|
184
|
+
</svg>
|
|
185
|
+
);
|
|
186
|
+
|
|
187
|
+
/** A few files of a made-up project. */
|
|
188
|
+
export const FILES = [
|
|
189
|
+
{ path: 'src/index.ts', text: "export { App } from './app';\nexport { router } from './router';" },
|
|
190
|
+
{ path: 'src/app.ts', text: "import { Application } from '@motifx/core';\n\nexport const App = Application.CreateBuilder().build();" },
|
|
191
|
+
{ path: 'src/router.ts', text: "export const router = { mode: 'history', routes: [] };" },
|
|
192
|
+
{ path: 'src/orders/index.ts', text: "export * from './orders';" },
|
|
193
|
+
{ path: 'src/orders/orders.ts', text: 'export interface Order {\n id: number;\n amount: number;\n}' },
|
|
194
|
+
{ path: 'README.md', text: '# Shop\n\nA small shop written with MotifJS.' },
|
|
195
|
+
{ path: 'package.json', text: '{\n "name": "shop",\n "private": true\n}' },
|
|
196
|
+
{ path: 'vite.config.ts', text: "import { defineConfig } from 'vite';\n\nexport default defineConfig({});" },
|
|
197
|
+
];
|
|
198
|
+
|
|
199
|
+
/** A file's text, as a document's content. */
|
|
200
|
+
export function source(text: string): ComponentBase {
|
|
201
|
+
// The panel scrolls (and takes focus for it): the text itself does not.
|
|
202
|
+
return <pre style="margin: 0; padding: var(--mx-space-4); overflow: visible; font: var(--mx-font-size-body) / var(--mx-font-line-body) var(--mx-font-family-mono)">{text}</pre>;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/** A document for a file: its name as the title, its folder as the description. */
|
|
206
|
+
export function fileDocument(path: string, extra: TabDocumentOptions = {}): TabDocument {
|
|
207
|
+
const file = FILES.find((f) => f.path === path);
|
|
208
|
+
const at = path.lastIndexOf('/');
|
|
209
|
+
return new TabDocument({
|
|
210
|
+
id: path,
|
|
211
|
+
type: 'file',
|
|
212
|
+
title: path.slice(at + 1),
|
|
213
|
+
description: at > 0 ? path.slice(0, at) : '',
|
|
214
|
+
icon: () => <FileIcon />,
|
|
215
|
+
content: () => source(file?.text ?? ''),
|
|
216
|
+
...extra,
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## Saving the whole layout
|
|
222
|
+
|
|
223
|
+
`saveLayout` writes the dock areas and the floating windows too; `loadLayout` puts them back, and still loads a layout saved before them (version 1).
|
|
224
|
+
|
|
225
|
+
```tsx
|
|
226
|
+
import type { ComponentBase } from '@motifx/core';
|
|
227
|
+
import { TabDocument, type TabDocumentOptions } from '@motifx-community/ui';
|
|
228
|
+
|
|
229
|
+
/** A page with a folded corner: a file. */
|
|
230
|
+
export const FileIcon = () => (
|
|
231
|
+
<svg viewBox="0 0 16 16" aria-hidden="true">
|
|
232
|
+
<path d="M4 1.75h5l3 3v9.5H4zM9 1.75v3h3" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round" />
|
|
233
|
+
</svg>
|
|
234
|
+
);
|
|
235
|
+
|
|
236
|
+
/** A few files of a made-up project. */
|
|
237
|
+
export const FILES = [
|
|
238
|
+
{ path: 'src/index.ts', text: "export { App } from './app';\nexport { router } from './router';" },
|
|
239
|
+
{ path: 'src/app.ts', text: "import { Application } from '@motifx/core';\n\nexport const App = Application.CreateBuilder().build();" },
|
|
240
|
+
{ path: 'src/router.ts', text: "export const router = { mode: 'history', routes: [] };" },
|
|
241
|
+
{ path: 'src/orders/index.ts', text: "export * from './orders';" },
|
|
242
|
+
{ path: 'src/orders/orders.ts', text: 'export interface Order {\n id: number;\n amount: number;\n}' },
|
|
243
|
+
{ path: 'README.md', text: '# Shop\n\nA small shop written with MotifJS.' },
|
|
244
|
+
{ path: 'package.json', text: '{\n "name": "shop",\n "private": true\n}' },
|
|
245
|
+
{ path: 'vite.config.ts', text: "import { defineConfig } from 'vite';\n\nexport default defineConfig({});" },
|
|
246
|
+
];
|
|
247
|
+
|
|
248
|
+
/** A file's text, as a document's content. */
|
|
249
|
+
export function source(text: string): ComponentBase {
|
|
250
|
+
// The panel scrolls (and takes focus for it): the text itself does not.
|
|
251
|
+
return <pre style="margin: 0; padding: var(--mx-space-4); overflow: visible; font: var(--mx-font-size-body) / var(--mx-font-line-body) var(--mx-font-family-mono)">{text}</pre>;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/** A document for a file: its name as the title, its folder as the description. */
|
|
255
|
+
export function fileDocument(path: string, extra: TabDocumentOptions = {}): TabDocument {
|
|
256
|
+
const file = FILES.find((f) => f.path === path);
|
|
257
|
+
const at = path.lastIndexOf('/');
|
|
258
|
+
return new TabDocument({
|
|
259
|
+
id: path,
|
|
260
|
+
type: 'file',
|
|
261
|
+
title: path.slice(at + 1),
|
|
262
|
+
description: at > 0 ? path.slice(0, at) : '',
|
|
263
|
+
icon: () => <FileIcon />,
|
|
264
|
+
content: () => source(file?.text ?? ''),
|
|
265
|
+
...extra,
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
## Changing or refusing
|
|
271
|
+
|
|
272
|
+
```tsx
|
|
273
|
+
docs.onDocking((e) => {
|
|
274
|
+
// Reports go to the bottom, whatever side they were dropped on.
|
|
275
|
+
if (e.document?.type === 'report' && e.side) e.side = 'bottom';
|
|
276
|
+
});
|
|
277
|
+
docs.onFloating((e) => {
|
|
278
|
+
// Windows open in the middle of the page.
|
|
279
|
+
e.rect = { ...e.rect, x: (innerWidth - e.rect.width) / 2, y: 80 };
|
|
280
|
+
});
|
|
281
|
+
docs.onWindowClosing((e) => {
|
|
282
|
+
if (e.window.documents.some((d) => d.dirty)) e.cancel = !confirm('Close the window?');
|
|
283
|
+
});
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
## From the keyboard
|
|
287
|
+
|
|
288
|
+
| Keys | Does |
|
|
289
|
+
| --- | --- |
|
|
290
|
+
| `Ctrl + K, then O` | Floats the active document (`float`). |
|
|
291
|
+
| `Ctrl + K, then D` | Docks it back where it was (`dock`). |
|
|
292
|
+
| `Ctrl + K, then Alt + an arrow` | Into the dock area on that side (`dockLeft`, `dockRight`, `dockTop`, `dockBottom`). |
|
|
293
|
+
| `Ctrl + K, then H` | Folds the active document's area to its edge, or brings it back (`toggleAutoHide`). |
|
|
294
|
+
| `Ctrl + K, then X` | Hides the focused or active document (`hide`); "Show hidden" in the strip's menu or the "…" menu brings it back. |
|
|
295
|
+
| `F6, Shift + F6` | The next / previous part: the documents, each dock area, each floating window (`nextPart`, `previousPart`). |
|
|
296
|
+
| `Ctrl + K, then Space` | In a window: moves it with the arrows, resizes it with Shift and an arrow; Enter keeps it, Escape puts it back (`moveWindow`, `windowLeft`…`windowTaller`, `windowDone`, `windowCancel`). |
|
|
297
|
+
| `Ctrl + K, then Shift + M; Ctrl + K, then Shift + W` | Maximizes or restores the window; closes it (`maximizeWindow`, `closeWindow`). |
|
|
298
|
+
| `In a folded area's titles` | The arrows go along them (`autoHideNext`, `autoHidePrevious`), Home and End to the ends, Enter or Space slides the area out, Escape back. |
|
|
299
|
+
| `"Move to…"` | Past the edge of the layout, the same arrow goes on to the dock area of that side, then to a window of its own. |
|
|
300
|
+
|
|
301
|
+
## Accessibility
|
|
302
|
+
|
|
303
|
+
| Topic | How |
|
|
304
|
+
| --- | --- |
|
|
305
|
+
| `Windows` | A non-modal `dialog` named "Floating window n"; each of its groups is a `group` as in the documents' area. It comes to the front on a press or on focus. |
|
|
306
|
+
| `Dock areas` | A `region` named after its side ("Left dock area"); its splitter is a `separator` with its size as a value, moved by the splitter keys. |
|
|
307
|
+
| `Folded areas` | Their titles are a `toolbar` ("Hidden on the left") of buttons with `aria-expanded` and `aria-controls` the area; one tab stop, the arrows inside. |
|
|
308
|
+
| `Close buttons` | The close button of an area is named after what it does: "Close Notes", or "Hide Explorer" for a document that cannot close. A title in that bar shows no close button of its own. |
|
|
309
|
+
| `Announcements` | Floated, docked (with the area), folded and shown, slid out, hidden and shown again, window closed, maximized and restored, politely. |
|
|
310
|
+
|
|
311
|
+
## API
|
|
312
|
+
|
|
313
|
+
### Props
|
|
314
|
+
|
|
315
|
+
| Prop | Type | Default | Description |
|
|
316
|
+
| --- | --- | --- | --- |
|
|
317
|
+
| `allowFloat` | `Bind<boolean>` | `true` | Documents and groups can float; a document's own `allowFloat` wins. |
|
|
318
|
+
| `allowDock` | `Bind<boolean>` | `true` | Documents and groups can go to the dock areas; a document's own `allowDock` wins. |
|
|
319
|
+
| `dockSides` | `Bind<readonly ('left' \| 'right' \| 'top' \| 'bottom')[]>` | all four | Which dock areas documents may go to; a document's own `dockSides` wins. `left` is the start side (the right one right to left). |
|
|
320
|
+
| `allowAutoHide` | `Bind<boolean>` | `true` | Dock areas can fold to the edge; a document with `allowAutoHide: false` keeps its area open. |
|
|
321
|
+
| `allowHide` | `Bind<boolean>` | `true` | Documents can be hidden (`hide`, "Hide", Ctrl+K X, the close button of an area for a document that cannot close) and shown again where they were; a document's own `allowHide` wins. |
|
|
322
|
+
| `dockGuides` | `Bind<boolean>` | `false` | The guides while dragging; a drop away from them and from the strips floats. Off, a group's edge zones work as on the [drag and drop page](tabdocs-drag.md), and only outside the manager a drop floats. |
|
|
323
|
+
| `dockGuideKinds` | `Bind<readonly ('group' \| 'edges')[]>` | both | The cross over the group under the pointer, the four guides at the manager's edges. |
|
|
324
|
+
| `floatingWindowSize` | `Bind<{ width, height } \| null>` | `null` | The size a window opens at; `null`: the size of the group it comes from. |
|
|
325
|
+
| `keepFloatingInView` | `Bind<boolean>` | `true` | Windows stay inside the viewport when moved, resized, or the page gets smaller. |
|
|
326
|
+
| `closeEmptyWindows` | `Bind<boolean>` | `true` | A window whose last document closes closes too; off, it stays with an empty group. |
|
|
327
|
+
| `dockOnDoubleClick` | `Bind<boolean>` | `true` | A double click on the empty part of a window's strip docks it back. |
|
|
328
|
+
| `dockAreaSize` | `Bind<Partial<Record<side, number \| string>>>` | `{ left: 240, right: 240, top: 160, bottom: 200 }` | The size a new area of each side starts with: pixels, or a share such as `'25%'`. |
|
|
329
|
+
| `dockAreaMinSize` | `Bind<number>` | `120` | The smallest size of an area, in pixels; the documents keep `minGroupWidth` / `minGroupHeight`. |
|
|
330
|
+
| `autoHideHover, autoHideDelay` | `Bind<boolean>`, `Bind<number>` | `true`, `500` | Resting the pointer on a folded area's title slides it out after that many milliseconds, and away from it and the area slides it back. |
|
|
331
|
+
|
|
332
|
+
### TabDocument
|
|
333
|
+
|
|
334
|
+
| Field | Type | Description |
|
|
335
|
+
| --- | --- | --- |
|
|
336
|
+
| `allowFloat, allowDock, allowAutoHide` | `Bind<boolean \| undefined>` | This document's own settings; `undefined` follows the manager. |
|
|
337
|
+
| `dockSides` | `Bind<readonly TabDockSide[] \| undefined>` | The dock areas this document may go to. |
|
|
338
|
+
| `allowHide` | `Bind<boolean \| undefined>` | This document's own setting; `undefined` follows the manager. Its `closable` decides what a close button of an area does: close it, or hide it. |
|
|
339
|
+
| `isHidden` | read-only, reactive | Hidden: in no group, its content kept as its `contentLifetime` says; `isOpen` stays `true`. `hide()` and `show(options?)` call the manager. |
|
|
340
|
+
| `window, dockArea` | read-only, reactive | The floating window or the dock area it is in, `null` elsewhere (also on `TabGroup`). |
|
|
341
|
+
|
|
342
|
+
### Methods
|
|
343
|
+
|
|
344
|
+
| Method | Returns | Description |
|
|
345
|
+
| --- | --- | --- |
|
|
346
|
+
| `float(doc \| group, rect?)` | `TabWindow \| null` | Into a window of its own; `rect` is `{ x, y, width, height }` in the viewport. |
|
|
347
|
+
| `dock(doc \| group \| window, side?, size?)` | `boolean` | Into the dock area of `side`, made at `size` when there is none; without a side, back where it was docked before it floated. |
|
|
348
|
+
| `autoHide(area \| doc, on?)` | `boolean` | Folds the area to the edge (`true`) or brings it back. |
|
|
349
|
+
| `showAutoHidden(doc), hideAutoHidden()` | `boolean` | Slides a folded area out with that document shown, or back. |
|
|
350
|
+
| `moveWindow(w, x, y), resizeWindow(w, width, height)` | `boolean` | By code, asking `onLayoutChanging` first; kept in view by `keepFloatingInView`. |
|
|
351
|
+
| `maximizeWindow(w), restoreWindow(w)` | `boolean` | The whole page, and back to its place. |
|
|
352
|
+
| `closeWindow(w)` | `Promise<boolean>` | Closes its documents (each asks through `onClosing`), then the window. Its close button does the same, and hides the documents that cannot close. |
|
|
353
|
+
| `hide(doc)` | `boolean` | Out of its group, not closed: its content is kept as its `contentLifetime` says, and a group, an area or a window it leaves empty goes. |
|
|
354
|
+
| `show(doc, { group?, side?, index?, active?, focus? })` | `boolean` | Back where it was hidden from: its group, else its dock area (made again at its size, folded if it was), else a window where its window was, else among the documents; `group` or `side` name another place. `open(doc)` does the same. |
|
|
355
|
+
| `hiddenDocuments` | read-only, reactive | The hidden documents, in the order they were hidden; `findDocument(id)` finds them too. |
|
|
356
|
+
| `focusWindow(w), focusPart(by?)` | `boolean` | Brings a window to the front with focus where it was; the next (`-1`: previous) part: the documents, each area, each window. |
|
|
357
|
+
| `resizeDockArea(area, size)` | `boolean` | Pixels, or a share such as `'25%'`. |
|
|
358
|
+
| `floatingWindows, dockAreas` | read-only, reactive | The windows, the one at the back first; the areas, the outermost first. `dockArea(side)` finds one. |
|
|
359
|
+
| `saveLayout(), loadLayout(layout, factory?)` | `TabLayout` (version 3) | Also the areas (`side`, `size`, `autoHide`, their layout), the windows (`rect`, `maximized`, where they dock back, their layout) and the hidden documents (`hidden`, with where they go back). Older layouts still load. |
|
|
360
|
+
|
|
361
|
+
### TabWindow
|
|
362
|
+
|
|
363
|
+
| Member | Kind | Description |
|
|
364
|
+
| --- | --- | --- |
|
|
365
|
+
| `rect, isMaximized, isActive` | read-only, reactive | Where it is and how big (as it is restored), maximized, the front window of the page. |
|
|
366
|
+
| `groups, documents, index` | read-only, reactive | Its groups (split as the documents' are), their documents, its place in `floatingWindows`. |
|
|
367
|
+
| `move, resize, maximize, restore, close, dock(side?), focus` | methods | The manager's methods for this window. |
|
|
368
|
+
| `scrollButtons, tabSize, tabMinWidth, singleTabTitle, barButtons, barButtonSize` | `Bind<… \| null>`, reactive | Its strips' own settings, a value or a function; `null` (the default) follows the manager's `compact…` props. Plain values are saved with the layout (`bar`). |
|
|
369
|
+
|
|
370
|
+
### TabDockArea
|
|
371
|
+
|
|
372
|
+
| Member | Kind | Description |
|
|
373
|
+
| --- | --- | --- |
|
|
374
|
+
| `side, size, autoHidden, isOpen` | read-only, reactive | Its side; its size as set (pixels or a share); folded to the edge; slid out now. |
|
|
375
|
+
| `groups, documents, index, rect` | read-only | Its groups, their documents, its place in `dockAreas`, its box on the screen. |
|
|
376
|
+
| `resize(size), autoHide(on?), show(doc?)` | methods | The manager's methods for this area. |
|
|
377
|
+
| `scrollButtons, tabSize, tabMinWidth, singleTabTitle, barButtons, barButtonSize` | `Bind<… \| null>`, reactive | Its strips' own settings (as on `TabWindow`); `null` follows the manager's `compact…` props. |
|
|
378
|
+
|
|
379
|
+
### Events
|
|
380
|
+
|
|
381
|
+
| Event | What it carries |
|
|
382
|
+
| --- | --- |
|
|
383
|
+
| `onFloating(e) / onFloated(e)` | `{ document, group, rect }`, cancelable, `rect` may be changed; then `{ document, group, window }`. `document` is `null` for a group. |
|
|
384
|
+
| `onDocking(e) / onDocked(e)` | `{ document, group, window, side, size }`, cancelable, `side` and `size` may be changed (`side: null`: back where it was docked); then `{ document, group, area, side }`. |
|
|
385
|
+
| `onAutoHiding(e) / onAutoHidden(e)` | `{ area, on }`, cancelable; then the same. |
|
|
386
|
+
| `onHiding(e) / onHidden(e)` | `{ document, group }`, cancelable; then the same (`group`: the one it left). |
|
|
387
|
+
| `onShowing(e) / onShown(e)` | `{ document, group, side, index }`, cancelable, `group` and `index` may be changed (`group: null`: an area or a window is made for it); then `{ document, group, index }`. |
|
|
388
|
+
| `onSlideChanging(e) / onSlideChanged(e)` | `{ area, document, open }`: a folded area slides out (`document` shown) or back (`null`); cancelable. |
|
|
389
|
+
| `onWindowClosing(e) / onWindowClosed(e)` | `{ window }`, cancelable; then `{ window, reason }`: `'closed'`, `'docked'` or `'empty'`. |
|
|
390
|
+
| `onLayoutChanging / onLayoutChanged` | Also `'float'`, `'dock'`, `'autoHide'`, `'resizeArea'`, `'moveWindow'`, `'resizeWindow'`, `'maximizeWindow'`, `'restoreWindow'`, `'closeWindow'`, with `window` or `area`; `onLayoutChanged` also `'hide'` and `'show'`. |
|
|
391
|
+
| `onDragOver, onDropping, onDropped` | New `target` kinds: `'dock-guide'` (a guide of the cross, with `group` and `side`), `'dock-area'` (with `dockSide`), `'float'` (with `rect`). |
|
|
392
|
+
|
|
393
|
+
### Styling hooks
|
|
394
|
+
|
|
395
|
+
| Selector or token | What |
|
|
396
|
+
| --- | --- |
|
|
397
|
+
| `.mx-tabdocs__window` | A floating window; `data-active`, `data-maximized`, `data-moving`, `data-resizing`. Its place and size are `--_x`, `--_y`, `--_w`, `--_h`. |
|
|
398
|
+
| `.mx-tabdocs__area` | A dock area; `data-side`, `data-auto-hide`, `data-open` (slid out). `.mx-tabdocs__area-sash` is its splitter. |
|
|
399
|
+
| `.mx-tabdocs__autohide, .mx-tabdocs__autohide-tab` | The titles of a folded area; a title has `data-open` while its document is slid out. |
|
|
400
|
+
| `.mx-tabdocs__guide` | A dock guide: `data-kind` (`cross`, `edge`), `data-side`, `data-pointed`. |
|
|
401
|
+
| `.mx-tabdocs__group[data-compact], [data-title], [data-scroll-buttons], [data-tab-size], [data-bar-close]` | A group's bar: compact, one document as a title, with scroll buttons, how its tabs are sized, with a close button of its own (`.mx-tabdocs__bar-close`). |
|
|
402
|
+
| `.mx-tabdocs__scrollbar, .mx-tabdocs__thumb, .mx-tabdocs__count` | The thin scrollbar of a strip without scroll buttons, and the count on its "…" button. |
|
|
403
|
+
| `.mx-tabdocs__group[data-bar-size]` | The size of its toolbar's buttons: `normal` or `small`. |
|
|
404
|
+
| `tabdocs.scrollbar, thumb, count; bar-button-*, bar-icon-size, title-min` | Their units, and the small toolbar's sizes; its ends leave room for the focus ring (`focus-width`, `focus-offset`). |
|
|
405
|
+
| `tabdocs.window, area, autohide, autohide-tab, autohide-indicator, guide, guide-icon` | Their units (a folded area: `folded`, `folded-left` …; a guide: `edge`, `pointed`); `floating-min-*`, `folded-tab-height`, `guide-room`, `guide-spacing` are sizes. |
|
|
406
|
+
|
|
407
|
+
The rest of the API is on the [overview](tabdocs.md#api), [Tabs](tabdocs-tabs.md), [Menus and keys](tabdocs-menus.md) and [Drag and drop](tabdocs-drag.md).
|
|
408
|
+
|
|
409
|
+
## Example files
|
|
410
|
+
|
|
411
|
+
`DockIde.tsx`
|
|
412
|
+
|
|
413
|
+
```tsx
|
|
414
|
+
import { reactive } from '@motifx/core';
|
|
415
|
+
import { TabDocumentManager } from '@motifx-community/ui';
|
|
416
|
+
import { FILES, fileDocument } from './files';
|
|
417
|
+
import { explorer, outline, output, problems, toolDocument } from './tools';
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* A code editor's layout: the files in the middle, the explorer and the outline folded at the left
|
|
421
|
+
* edge (point at a title, or click it), problems and output docked at the bottom. Drag a tab or a
|
|
422
|
+
* group: guides show over the group under the pointer and at the edges; let go away from them to
|
|
423
|
+
* float it in a window of its own. The close button of an area hides its tool (a tool cannot
|
|
424
|
+
* close): "Show hidden" in the strip's menu or the "…" menu brings it back where it was.
|
|
425
|
+
*/
|
|
426
|
+
export default function DockIde() {
|
|
427
|
+
const s = reactive({ last: 'Drag a tab: the guides show where it can go.' });
|
|
428
|
+
const docs = new TabDocumentManager({ label: 'Editor with tool areas', dockGuides: true, minGroupWidth: 120, dockAreaSize: { left: 220, bottom: 150 } });
|
|
429
|
+
docs.element.style.cssText = 'block-size: 30rem; inline-size: 100%';
|
|
430
|
+
const open = (path: string) => docs.open(docs.findDocument(path) ?? fileDocument(path), { focus: true });
|
|
431
|
+
for (const file of FILES.slice(0, 3)) docs.open(fileDocument(file.path), { index: 99 });
|
|
432
|
+
docs.dock(
|
|
433
|
+
toolDocument('explorer', 'Explorer', () => explorer(open)),
|
|
434
|
+
'left',
|
|
435
|
+
);
|
|
436
|
+
docs.dock(toolDocument('outline', 'Outline', outline), 'left');
|
|
437
|
+
docs.dock(toolDocument('problems', 'Problems', problems), 'bottom');
|
|
438
|
+
docs.dock(toolDocument('output', 'Output', output), 'bottom');
|
|
439
|
+
docs.autoHide(docs.dockArea('left')!);
|
|
440
|
+
docs.onFloated((e) => (s.last = `${e.document?.title ?? 'A group'} floats in a window.`));
|
|
441
|
+
docs.onDocked((e) => (s.last = `${e.document?.title ?? 'A group'} docked ${e.side ? `on the ${e.side}` : 'among the documents'}.`));
|
|
442
|
+
docs.onAutoHidden((e) => (s.last = `The ${e.area.side} area ${e.on ? 'is folded to its edge' : 'is shown'}.`));
|
|
443
|
+
docs.onHidden((e) => (s.last = `${e.document.title} is hidden: "Show hidden" in the "…" menu brings it back.`));
|
|
444
|
+
docs.onShown((e) => (s.last = `${e.document.title} is back${e.group.dockArea ? ` on the ${e.group.dockArea.side}` : ''}.`));
|
|
445
|
+
|
|
446
|
+
return (
|
|
447
|
+
<>
|
|
448
|
+
{docs}
|
|
449
|
+
<output class="td-state">{() => s.last}</output>
|
|
450
|
+
</>
|
|
451
|
+
);
|
|
452
|
+
}
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
`tools.tsx`
|
|
456
|
+
|
|
457
|
+
```tsx
|
|
458
|
+
import type { ComponentBase } from '@motifx/core';
|
|
459
|
+
import { Button, TabDocument } from '@motifx-community/ui';
|
|
460
|
+
import { FILES } from './files';
|
|
461
|
+
|
|
462
|
+
const PROBLEMS = [
|
|
463
|
+
{ file: 'src/app.ts', line: 3, text: "'App' is declared but never read." },
|
|
464
|
+
{ file: 'src/router.ts', line: 1, text: 'The routes list is empty.' },
|
|
465
|
+
{ file: 'README.md', line: 3, text: 'A line longer than 80 characters.' },
|
|
466
|
+
];
|
|
467
|
+
|
|
468
|
+
/** A plain list inside a tool. */
|
|
469
|
+
const LIST = 'margin: 0; padding: var(--mx-space-2); list-style: none';
|
|
470
|
+
const ITEM = 'padding: var(--mx-space-1) var(--mx-space-2); white-space: nowrap';
|
|
471
|
+
|
|
472
|
+
const LOG = ['> shop@0.0.0 dev', '> vite', '', ' VITE ready in 312 ms', ' ➜ Local: http://localhost:5173/', ' page reload src/app.ts', ' hmr update /src/router.ts'];
|
|
473
|
+
|
|
474
|
+
/** The project's files; choosing one opens it among the documents. */
|
|
475
|
+
export function explorer(open: (path: string) => void): ComponentBase {
|
|
476
|
+
return (
|
|
477
|
+
<ul style={LIST} aria-label="Project files">
|
|
478
|
+
{FILES.map((file) => (
|
|
479
|
+
<li key={file.path}>
|
|
480
|
+
<Button text={file.path} variant="ghost" size="sm" onclick={() => open(file.path)} />
|
|
481
|
+
</li>
|
|
482
|
+
))}
|
|
483
|
+
</ul>
|
|
484
|
+
);
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
/** The outline of a file: what it declares. */
|
|
488
|
+
export function outline(): ComponentBase {
|
|
489
|
+
return (
|
|
490
|
+
<ul style={LIST} aria-label="Outline">
|
|
491
|
+
{['App', 'router', 'Order', 'routes'].map((name) => (
|
|
492
|
+
<li key={name} style={ITEM}>
|
|
493
|
+
{name}
|
|
494
|
+
</li>
|
|
495
|
+
))}
|
|
496
|
+
</ul>
|
|
497
|
+
);
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
/** A list of problems found in the files. */
|
|
501
|
+
export function problems(): ComponentBase {
|
|
502
|
+
return (
|
|
503
|
+
<ul style={LIST} aria-label="Problems">
|
|
504
|
+
{PROBLEMS.map((p) => (
|
|
505
|
+
<li key={`${p.file}:${p.line}`} style={ITEM}>
|
|
506
|
+
{`${p.file}:${p.line} ${p.text}`}
|
|
507
|
+
</li>
|
|
508
|
+
))}
|
|
509
|
+
</ul>
|
|
510
|
+
);
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
/** What the dev server wrote. */
|
|
514
|
+
export function output(): ComponentBase {
|
|
515
|
+
return <pre style="margin: 0; padding: var(--mx-space-3); overflow: visible; font: var(--mx-font-size-caption) / var(--mx-font-line-caption) var(--mx-font-family-mono)">{LOG.join('\n')}</pre>;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
/** A tool's document: it cannot be closed, only moved, docked, floated or folded away. */
|
|
519
|
+
export function toolDocument(id: string, title: string, content: () => ComponentBase): TabDocument {
|
|
520
|
+
return new TabDocument({ id, type: 'tool', title, closable: false, content });
|
|
521
|
+
}
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
`files.tsx`
|
|
525
|
+
|
|
526
|
+
```tsx
|
|
527
|
+
import type { ComponentBase } from '@motifx/core';
|
|
528
|
+
import { TabDocument, type TabDocumentOptions } from '@motifx-community/ui';
|
|
529
|
+
|
|
530
|
+
/** A page with a folded corner: a file. */
|
|
531
|
+
export const FileIcon = () => (
|
|
532
|
+
<svg viewBox="0 0 16 16" aria-hidden="true">
|
|
533
|
+
<path d="M4 1.75h5l3 3v9.5H4zM9 1.75v3h3" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round" />
|
|
534
|
+
</svg>
|
|
535
|
+
);
|
|
536
|
+
|
|
537
|
+
/** A few files of a made-up project. */
|
|
538
|
+
export const FILES = [
|
|
539
|
+
{ path: 'src/index.ts', text: "export { App } from './app';\nexport { router } from './router';" },
|
|
540
|
+
{ path: 'src/app.ts', text: "import { Application } from '@motifx/core';\n\nexport const App = Application.CreateBuilder().build();" },
|
|
541
|
+
{ path: 'src/router.ts', text: "export const router = { mode: 'history', routes: [] };" },
|
|
542
|
+
{ path: 'src/orders/index.ts', text: "export * from './orders';" },
|
|
543
|
+
{ path: 'src/orders/orders.ts', text: 'export interface Order {\n id: number;\n amount: number;\n}' },
|
|
544
|
+
{ path: 'README.md', text: '# Shop\n\nA small shop written with MotifJS.' },
|
|
545
|
+
{ path: 'package.json', text: '{\n "name": "shop",\n "private": true\n}' },
|
|
546
|
+
{ path: 'vite.config.ts', text: "import { defineConfig } from 'vite';\n\nexport default defineConfig({});" },
|
|
547
|
+
];
|
|
548
|
+
|
|
549
|
+
/** A file's text, as a document's content. */
|
|
550
|
+
export function source(text: string): ComponentBase {
|
|
551
|
+
// The panel scrolls (and takes focus for it): the text itself does not.
|
|
552
|
+
return <pre style="margin: 0; padding: var(--mx-space-4); overflow: visible; font: var(--mx-font-size-body) / var(--mx-font-line-body) var(--mx-font-family-mono)">{text}</pre>;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
/** A document for a file: its name as the title, its folder as the description. */
|
|
556
|
+
export function fileDocument(path: string, extra: TabDocumentOptions = {}): TabDocument {
|
|
557
|
+
const file = FILES.find((f) => f.path === path);
|
|
558
|
+
const at = path.lastIndexOf('/');
|
|
559
|
+
return new TabDocument({
|
|
560
|
+
id: path,
|
|
561
|
+
type: 'file',
|
|
562
|
+
title: path.slice(at + 1),
|
|
563
|
+
description: at > 0 ? path.slice(0, at) : '',
|
|
564
|
+
icon: () => <FileIcon />,
|
|
565
|
+
content: () => source(file?.text ?? ''),
|
|
566
|
+
...extra,
|
|
567
|
+
});
|
|
568
|
+
}
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
`FloatFromCode.tsx`
|
|
572
|
+
|
|
573
|
+
```tsx
|
|
574
|
+
import { Button, Stack, TabDocumentManager } from '@motifx-community/ui';
|
|
575
|
+
import { FILES, fileDocument } from './files';
|
|
576
|
+
|
|
577
|
+
/** Floating windows by code: float a document, move, resize and maximize its window, dock it back or to a side, close it. */
|
|
578
|
+
export default function FloatFromCode() {
|
|
579
|
+
const docs = new TabDocumentManager({ label: 'Files to float' });
|
|
580
|
+
docs.element.style.cssText = 'block-size: 28rem; inline-size: 100%';
|
|
581
|
+
for (const file of FILES.slice(0, 5)) docs.open(fileDocument(file.path), { index: 99 });
|
|
582
|
+
const readme = () => docs.findDocument('README.md') ?? docs.open(fileDocument('README.md'))!;
|
|
583
|
+
// The manager's own lists are reactive: the window shown is the one in front.
|
|
584
|
+
const front = () => docs.floatingWindows.at(-1) ?? null;
|
|
585
|
+
const rect = () => {
|
|
586
|
+
const w = front();
|
|
587
|
+
if (!w) return 'No floating window.';
|
|
588
|
+
const r = w.rect;
|
|
589
|
+
return `Window at ${r.x}, ${r.y}, ${r.width} × ${r.height}${w.isMaximized ? ', maximized' : ''}.`;
|
|
590
|
+
};
|
|
591
|
+
const on = () => !!front();
|
|
592
|
+
|
|
593
|
+
return (
|
|
594
|
+
<>
|
|
595
|
+
<Stack orientation="horizontal" wrap align="center">
|
|
596
|
+
<Button text="Float README.md" variant="outline" enabled={() => !front()} onclick={() => docs.float(readme(), { x: 80, y: 120, width: 420, height: 280 })} />
|
|
597
|
+
<Button text="Move" variant="outline" enabled={on} onclick={() => front()?.move(front()!.rect.x + 40, front()!.rect.y + 20)} />
|
|
598
|
+
<Button text="Wider" variant="outline" enabled={on} onclick={() => front()?.resize(front()!.rect.width + 60, front()!.rect.height)} />
|
|
599
|
+
<Button text="Maximize or restore" variant="outline" enabled={on} onclick={() => (front()?.isMaximized ? front()?.restore() : front()?.maximize())} />
|
|
600
|
+
<Button text="Dock back" variant="outline" enabled={on} onclick={() => front()?.dock()} />
|
|
601
|
+
<Button text="Dock right" variant="outline" enabled={on} onclick={() => front()?.dock('right', '35%')} />
|
|
602
|
+
<Button text="Close window" variant="outline" enabled={on} onclick={() => void front()?.close()} />
|
|
603
|
+
</Stack>
|
|
604
|
+
{docs}
|
|
605
|
+
<output class="td-state">{() => rect()}</output>
|
|
606
|
+
</>
|
|
607
|
+
);
|
|
608
|
+
}
|
|
609
|
+
```
|
|
610
|
+
|
|
611
|
+
`CompactBars.tsx`
|
|
612
|
+
|
|
613
|
+
```tsx
|
|
614
|
+
import { reactive } from '@motifx/core';
|
|
615
|
+
import { Button, Stack, Switch, TabDocumentManager } from '@motifx-community/ui';
|
|
616
|
+
import { FILES, fileDocument } from './files';
|
|
617
|
+
import { explorer, outline, output, problems, toolDocument } from './tools';
|
|
618
|
+
|
|
619
|
+
/**
|
|
620
|
+
* The bars of dock areas and floating windows are compact: tabs shrink before the strip scrolls, a
|
|
621
|
+
* single document shows as a title, and only the pin and the close button (a window's own close
|
|
622
|
+
* button) stay beside one "…" menu. Each part is a setting for every area and window, and an area
|
|
623
|
+
* may have its own.
|
|
624
|
+
*/
|
|
625
|
+
export default function CompactBars() {
|
|
626
|
+
const s = reactive({ compact: true, small: true, scroll: false, title: true, shrink: true, leftScroll: false });
|
|
627
|
+
const docs = new TabDocumentManager({
|
|
628
|
+
label: 'Files with compact tool bars',
|
|
629
|
+
minGroupWidth: 120,
|
|
630
|
+
dockAreaSize: { left: 230, bottom: 130 },
|
|
631
|
+
compactBarButtons: () => (s.compact ? 'auto' : 'all'),
|
|
632
|
+
compactBarButtonSize: () => (s.small ? 'small' : 'normal'),
|
|
633
|
+
compactScrollButtons: () => s.scroll,
|
|
634
|
+
compactSingleTabTitle: () => s.title,
|
|
635
|
+
compactTabSize: () => (s.shrink ? 'shrink' : 'fit'),
|
|
636
|
+
});
|
|
637
|
+
docs.element.style.cssText = 'block-size: 28rem; inline-size: 100%';
|
|
638
|
+
const open = (path: string) => docs.open(docs.findDocument(path) ?? fileDocument(path), { focus: true });
|
|
639
|
+
for (const file of FILES.slice(0, 3)) docs.open(fileDocument(file.path), { index: 99 });
|
|
640
|
+
docs.dock(
|
|
641
|
+
toolDocument('explorer', 'Explorer', () => explorer(open)),
|
|
642
|
+
'left',
|
|
643
|
+
);
|
|
644
|
+
docs.dock(toolDocument('outline', 'Outline', outline), 'left');
|
|
645
|
+
docs.dock(toolDocument('problems', 'Problems', problems), 'left');
|
|
646
|
+
docs.dock(toolDocument('output', 'Output', output), 'bottom');
|
|
647
|
+
// This area's own setting wins over the manager's (null follows it again).
|
|
648
|
+
docs.dockArea('left')!.scrollButtons = () => (s.leftScroll ? true : null);
|
|
649
|
+
const float = () => {
|
|
650
|
+
const doc = docs.findDocument('README.md') ?? docs.open(fileDocument('README.md'))!;
|
|
651
|
+
const box = docs.element.getBoundingClientRect();
|
|
652
|
+
docs.float(doc, { x: box.right - 340, y: box.top + 60, width: 300, height: 200 });
|
|
653
|
+
};
|
|
654
|
+
|
|
655
|
+
return (
|
|
656
|
+
<>
|
|
657
|
+
<Stack orientation="horizontal" wrap align="center" gap="lg">
|
|
658
|
+
<Switch label="Compact bars" x-model={() => s.compact} />
|
|
659
|
+
<Switch label="Small buttons" x-model={() => s.small} />
|
|
660
|
+
<Switch label="Scroll buttons" x-model={() => s.scroll} />
|
|
661
|
+
<Switch label="One document as a title" x-model={() => s.title} />
|
|
662
|
+
<Switch label="Tabs shrink" x-model={() => s.shrink} />
|
|
663
|
+
<Switch label="Left area: scroll buttons" x-model={() => s.leftScroll} />
|
|
664
|
+
<Button text="Float README.md" variant="outline" onclick={float} />
|
|
665
|
+
</Stack>
|
|
666
|
+
{docs}
|
|
667
|
+
</>
|
|
668
|
+
);
|
|
669
|
+
}
|
|
670
|
+
```
|
|
671
|
+
|
|
672
|
+
`DockOptions.tsx`
|
|
673
|
+
|
|
674
|
+
```tsx
|
|
675
|
+
import { reactive } from '@motifx/core';
|
|
676
|
+
import { RadioGroup, Stack, Switch, TabDocumentManager, type TabDockSide } from '@motifx-community/ui';
|
|
677
|
+
import { FILES, fileDocument } from './files';
|
|
678
|
+
import { problems, toolDocument } from './tools';
|
|
679
|
+
|
|
680
|
+
const SIDES: Record<string, readonly TabDockSide[]> = {
|
|
681
|
+
all: ['left', 'right', 'top', 'bottom'],
|
|
682
|
+
sides: ['left', 'right'],
|
|
683
|
+
bottom: ['bottom'],
|
|
684
|
+
};
|
|
685
|
+
|
|
686
|
+
/** Every part of docking and floating is a setting, live; package.json may not float, README.md docks only at the bottom. */
|
|
687
|
+
export default function DockOptions() {
|
|
688
|
+
const s = reactive({ guides: true, float: true, dock: true, autoHide: true, inView: true, emptyWindows: true, hover: true, sides: 'all' });
|
|
689
|
+
const docs = new TabDocumentManager({
|
|
690
|
+
label: 'Files with dock settings',
|
|
691
|
+
dockGuides: () => s.guides,
|
|
692
|
+
allowFloat: () => s.float,
|
|
693
|
+
allowDock: () => s.dock,
|
|
694
|
+
allowAutoHide: () => s.autoHide,
|
|
695
|
+
keepFloatingInView: () => s.inView,
|
|
696
|
+
closeEmptyWindows: () => s.emptyWindows,
|
|
697
|
+
autoHideHover: () => s.hover,
|
|
698
|
+
dockSides: () => SIDES[s.sides],
|
|
699
|
+
});
|
|
700
|
+
docs.element.style.cssText = 'block-size: 28rem; inline-size: 100%';
|
|
701
|
+
for (const file of FILES.slice(4)) {
|
|
702
|
+
const extra = file.path === 'package.json' ? { allowFloat: false } : file.path === 'README.md' ? { dockSides: ['bottom'] as TabDockSide[] } : {};
|
|
703
|
+
docs.open(fileDocument(file.path, extra), { index: 99 });
|
|
704
|
+
}
|
|
705
|
+
docs.dock(toolDocument('problems', 'Problems', problems), 'right', 200);
|
|
706
|
+
|
|
707
|
+
return (
|
|
708
|
+
<>
|
|
709
|
+
<Stack orientation="horizontal" wrap align="center" gap="lg">
|
|
710
|
+
<Switch label="Dock guides" x-model={() => s.guides} />
|
|
711
|
+
<Switch label="Float" x-model={() => s.float} />
|
|
712
|
+
<Switch label="Dock" x-model={() => s.dock} />
|
|
713
|
+
<Switch label="Auto hide" x-model={() => s.autoHide} />
|
|
714
|
+
<Switch label="Windows stay in view" x-model={() => s.inView} />
|
|
715
|
+
<Switch label="Close empty windows" x-model={() => s.emptyWindows} />
|
|
716
|
+
<Switch label="Slide out on hover" x-model={() => s.hover} />
|
|
717
|
+
</Stack>
|
|
718
|
+
<RadioGroup
|
|
719
|
+
label="Dock areas"
|
|
720
|
+
orientation="horizontal"
|
|
721
|
+
items={[
|
|
722
|
+
{ value: 'all', text: 'All four sides' },
|
|
723
|
+
{ value: 'sides', text: 'Left and right' },
|
|
724
|
+
{ value: 'bottom', text: 'Bottom only' },
|
|
725
|
+
]}
|
|
726
|
+
itemText="text"
|
|
727
|
+
itemValue="value"
|
|
728
|
+
x-model={() => s.sides}
|
|
729
|
+
/>
|
|
730
|
+
{docs}
|
|
731
|
+
</>
|
|
732
|
+
);
|
|
733
|
+
}
|
|
734
|
+
```
|
|
735
|
+
|
|
736
|
+
`DockSaveRestore.tsx`
|
|
737
|
+
|
|
738
|
+
```tsx
|
|
739
|
+
import { reactive } from '@motifx/core';
|
|
740
|
+
import { Button, Stack, TabDocument, TabDocumentManager, type TabLayout, type TabLayoutDocument } from '@motifx-community/ui';
|
|
741
|
+
import { notes } from './contents';
|
|
742
|
+
import { fileDocument } from './files';
|
|
743
|
+
import { output, problems, toolDocument } from './tools';
|
|
744
|
+
|
|
745
|
+
/** Makes a saved document again by its type. */
|
|
746
|
+
function restore(saved: TabLayoutDocument): TabDocument {
|
|
747
|
+
if (saved.type === 'file') return fileDocument(saved.id);
|
|
748
|
+
if (saved.type === 'tool') return toolDocument(saved.id, saved.title, saved.id === 'output' ? output : problems);
|
|
749
|
+
return new TabDocument({ ...saved, content: () => notes(saved.title) });
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
/** The whole layout as JSON: the documents, the dock areas (size, order, folded) and the floating windows (place, order, inside). */
|
|
753
|
+
export default function DockSaveRestore() {
|
|
754
|
+
const s = reactive({ json: '', saved: null as TabLayout | null });
|
|
755
|
+
const docs = new TabDocumentManager({ label: 'Saved layout with windows and areas', dockGuides: true });
|
|
756
|
+
docs.element.style.cssText = 'block-size: 28rem; inline-size: 100%';
|
|
757
|
+
docs.open(restore({ id: 'src/app.ts', type: 'file', title: 'app.ts' }));
|
|
758
|
+
docs.open(restore({ id: 'notes', type: 'notes', title: 'Notes' }));
|
|
759
|
+
docs.dock(restore({ id: 'problems', type: 'tool', title: 'Problems' }), 'bottom', 140);
|
|
760
|
+
docs.dock(restore({ id: 'output', type: 'tool', title: 'Output' }), 'right', '30%');
|
|
761
|
+
|
|
762
|
+
const save = () => {
|
|
763
|
+
s.saved = docs.saveLayout();
|
|
764
|
+
s.json = JSON.stringify(s.saved, null, 2);
|
|
765
|
+
};
|
|
766
|
+
const load = () => {
|
|
767
|
+
if (s.saved) docs.loadLayout(s.saved, restore);
|
|
768
|
+
};
|
|
769
|
+
save();
|
|
770
|
+
|
|
771
|
+
return (
|
|
772
|
+
<>
|
|
773
|
+
<Stack orientation="horizontal" wrap align="center">
|
|
774
|
+
<Button text="Save layout" variant="outline" onclick={save} />
|
|
775
|
+
<Button text="Restore layout" variant="outline" enabled={() => !!s.saved} onclick={load} />
|
|
776
|
+
<Button text="Float Notes" variant="outline" onclick={() => docs.float(docs.findDocument('notes')!, { x: 120, y: 140, width: 380, height: 260 })} />
|
|
777
|
+
</Stack>
|
|
778
|
+
{docs}
|
|
779
|
+
<pre class="td-json" tabindex="0" aria-label="The saved layout" style="max-block-size: 14rem; overflow: auto; inline-size: 100%">
|
|
780
|
+
{() => s.json}
|
|
781
|
+
</pre>
|
|
782
|
+
</>
|
|
783
|
+
);
|
|
784
|
+
}
|
|
785
|
+
```
|
|
786
|
+
|
|
787
|
+
`contents.tsx`
|
|
788
|
+
|
|
789
|
+
```tsx
|
|
790
|
+
import type { ComponentBase } from '@motifx/core';
|
|
791
|
+
import { Button, confirm, DataGrid, FormLayout, type FormItem, type GridColumn } from '@motifx-community/ui';
|
|
792
|
+
import { makeOrders, type Order } from './orders';
|
|
793
|
+
|
|
794
|
+
const columns: GridColumn<Order>[] = [
|
|
795
|
+
{ field: 'id', title: 'No', type: 'number', width: 70 },
|
|
796
|
+
{ field: 'customer', title: 'Customer', width: 160 },
|
|
797
|
+
{ field: 'city', title: 'City', width: 110 },
|
|
798
|
+
{ field: 'amount', title: 'Amount', type: 'number', width: 100 },
|
|
799
|
+
];
|
|
800
|
+
|
|
801
|
+
/** A grid of orders that fills its tab. */
|
|
802
|
+
export function ordersGrid(count = 60): ComponentBase {
|
|
803
|
+
return <DataGrid rows={makeOrders(count)} rowKey="id" columns={columns} label="Orders" style="block-size: 100%" />;
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
/** The fields a customer is edited with. */
|
|
807
|
+
export interface Customer {
|
|
808
|
+
name: string;
|
|
809
|
+
email: string;
|
|
810
|
+
city: string;
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
/** The forms open over each customer: a copy of a document has a form of its own over the same object. */
|
|
814
|
+
const formsOf = new WeakMap<Customer, Set<FormLayout<Customer>>>();
|
|
815
|
+
|
|
816
|
+
/**
|
|
817
|
+
* A form over a customer: what is typed goes straight into it. The form reads the object as it is, so the other forms
|
|
818
|
+
* over the same customer are told to read the field again.
|
|
819
|
+
*/
|
|
820
|
+
export function customerForm(customer: Customer): ComponentBase {
|
|
821
|
+
const items: FormItem[] = [
|
|
822
|
+
{ field: 'name', label: 'Name', required: true },
|
|
823
|
+
{ field: 'email', label: 'Email', editor: 'email' },
|
|
824
|
+
{ field: 'city', label: 'City' },
|
|
825
|
+
];
|
|
826
|
+
const forms = formsOf.get(customer) ?? new Set<FormLayout<Customer>>();
|
|
827
|
+
formsOf.set(customer, forms);
|
|
828
|
+
return (
|
|
829
|
+
<div style="padding: var(--mx-space-4); max-inline-size: 32rem">
|
|
830
|
+
<FormLayout<Customer>
|
|
831
|
+
data={customer}
|
|
832
|
+
items={items}
|
|
833
|
+
ref={(form: FormLayout<Customer>) => {
|
|
834
|
+
forms.add(form);
|
|
835
|
+
form.motif.setDisposable(() => forms.delete(form));
|
|
836
|
+
}}
|
|
837
|
+
onFieldChanged={(e) => {
|
|
838
|
+
for (const other of forms) if (other.data === e.data && !other.isDisposed) other.refreshField(e.field);
|
|
839
|
+
}}
|
|
840
|
+
/>
|
|
841
|
+
</div>
|
|
842
|
+
);
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
/** A few paragraphs of plain text. */
|
|
846
|
+
export function notes(title: string): ComponentBase {
|
|
847
|
+
return (
|
|
848
|
+
<div style="padding: var(--mx-space-4); max-inline-size: 40rem">
|
|
849
|
+
<h3 style="margin-block-start: 0">{title}</h3>
|
|
850
|
+
<p>Any component can be a document: a form, a grid, a chart or plain text like this.</p>
|
|
851
|
+
<p>Drag the line between two groups, or focus it with Tab and use the arrow keys. A double click on it gives the groups the same size.</p>
|
|
852
|
+
</div>
|
|
853
|
+
);
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
const CITIES = ['İstanbul', 'Ankara', 'İzmir', 'London', 'New York'];
|
|
857
|
+
|
|
858
|
+
/** A customer card: text fields and a drop-down list of cities over a reactive customer, and a button that asks in a dialog. */
|
|
859
|
+
export function customerCard(customer: Customer): ComponentBase {
|
|
860
|
+
const items: FormItem[] = [
|
|
861
|
+
{ field: 'name', label: 'Name', required: true },
|
|
862
|
+
{ field: 'email', label: 'Email', editor: 'email' },
|
|
863
|
+
{ field: 'city', label: 'City', editor: 'dropdown', editorProps: { items: CITIES } },
|
|
864
|
+
];
|
|
865
|
+
let card: ComponentBase | null = null;
|
|
866
|
+
// The dialog opens where the card is: in a new window, there.
|
|
867
|
+
const clear = async () => {
|
|
868
|
+
if (await confirm('Clear the customer card?', { title: 'Clear', host: card! })) Object.assign(customer, { name: '', email: '', city: '' });
|
|
869
|
+
};
|
|
870
|
+
return (
|
|
871
|
+
<div ref={(c: ComponentBase) => (card = c)} style="padding: var(--mx-space-4); max-inline-size: 32rem">
|
|
872
|
+
<FormLayout data={customer} items={items} />
|
|
873
|
+
<Button text="Clear…" variant="outline" onclick={clear} />
|
|
874
|
+
</div>
|
|
875
|
+
);
|
|
876
|
+
}
|
|
877
|
+
```
|