@threadlabs/looma 0.19.1 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/shared/trigger.js +9 -4
- package/components/ui-affordance-scope/ui-affordance-scope.html +1 -1
- package/components/ui-avatar/ui-avatar.html +6 -6
- package/components/ui-avatar-group/ui-avatar-group.html +3 -3
- package/components/ui-avatar-group/ui-avatar-group.js +1 -1
- package/components/ui-badge/ui-badge.html +3 -3
- package/components/ui-breadcrumb-item/ui-breadcrumb-item.html +1 -1
- package/components/ui-breadcrumbs/ui-breadcrumbs.html +1 -1
- package/components/ui-button/ui-button.html +17 -16
- package/components/ui-callout/ui-callout.html +1 -1
- package/components/ui-card/ui-card.html +5 -4
- package/components/ui-checkbox/ui-checkbox.html +11 -7
- package/components/ui-cluster/ui-cluster.html +4 -4
- package/components/ui-combobox/ui-combobox.html +299 -74
- package/components/ui-combobox/ui-combobox.js +21 -20
- package/components/ui-container/ui-container.html +2 -2
- package/components/ui-context-menu/ui-context-menu.html +17 -5
- package/components/ui-cover/ui-cover.html +1 -1
- package/components/ui-description-list/ui-description-list.html +3 -3
- package/components/ui-dialog/ui-dialog.html +15 -7
- package/components/ui-disclosure/ui-disclosure.html +17 -8
- package/components/ui-editable/ui-editable.html +20 -9
- package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +6 -6
- package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +6 -6
- package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +1 -1
- package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +6 -6
- package/components/ui-editor-slash-menu-group/ui-editor-slash-menu-group.html +1 -1
- package/components/ui-editor-slash-menu-item/ui-editor-slash-menu-item.html +2 -2
- package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +33 -13
- package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +107 -29
- package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +5 -5
- package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +48 -22
- package/components/ui-floating-action-button/ui-floating-action-button.html +1 -1
- package/components/ui-grid/ui-grid.html +2 -2
- package/components/ui-icon/ui-icon.html +13 -4
- package/components/ui-icon-button/ui-icon-button.html +6 -6
- package/components/ui-input/ui-input.html +28 -6
- package/components/ui-list/ui-list.html +5 -4
- package/components/ui-list-item/ui-list-item.html +2 -2
- package/components/ui-listbox/ui-listbox.html +31 -16
- package/components/ui-menu/ui-menu.html +18 -5
- package/components/ui-menu-group/ui-menu-group.html +1 -1
- package/components/ui-menu-item/ui-menu-item.html +14 -9
- package/components/ui-meter/ui-meter.html +7 -7
- package/components/ui-nav-item/ui-nav-item.html +10 -9
- package/components/ui-page-header/ui-page-header.html +1 -1
- package/components/ui-popover/ui-popover.html +14 -5
- package/components/ui-radio/ui-radio.html +7 -3
- package/components/ui-radio-group/ui-radio-group.html +12 -4
- package/components/ui-reel/ui-reel.html +3 -3
- package/components/ui-scroll-area/ui-scroll-area.html +1 -1
- package/components/ui-search-result-row/ui-search-result-row.html +1 -1
- package/components/ui-search-shell/ui-search-shell.html +7 -3
- package/components/ui-section/ui-section.html +3 -3
- package/components/ui-select/ui-select.html +2 -2
- package/components/ui-separator/ui-separator.html +2 -2
- package/components/ui-sidebar/ui-sidebar.html +13 -6
- package/components/ui-spinner/ui-spinner.html +5 -5
- package/components/ui-stack/ui-stack.html +3 -3
- package/components/ui-status-message/ui-status-message.html +5 -5
- package/components/ui-switch/ui-switch.html +16 -3
- package/components/ui-switcher/ui-switcher.html +3 -3
- package/components/ui-table/ui-table.html +1 -1
- package/components/ui-tabs/ui-tabs.html +14 -9
- package/components/ui-text/ui-text.html +6 -6
- package/components/ui-textarea/ui-textarea.html +10 -2
- package/components/ui-toast/ui-toast.html +8 -4
- package/components/ui-toast-region/ui-toast-region.html +27 -7
- package/components/ui-tooltip/ui-tooltip.html +16 -7
- package/components/ui-tree/ui-tree.html +30 -7
- package/components/ui-tree-item/ui-tree-item.html +21 -17
- package/dist/index.js +1 -1
- package/editor/table-overlay.d.ts +1 -1
- package/package.json +3 -3
- package/styles/ui-action-bar.css +1 -1
- package/styles/ui-affordance-scope.css +1 -1
- package/styles/ui-avatar-group.css +1 -1
- package/styles/ui-avatar.css +1 -1
- package/styles/ui-badge.css +1 -1
- package/styles/ui-breadcrumb-item.css +1 -1
- package/styles/ui-breadcrumbs.css +1 -1
- package/styles/ui-button.css +1 -1
- package/styles/ui-callout.css +1 -1
- package/styles/ui-card.css +1 -1
- package/styles/ui-checkbox.css +1 -1
- package/styles/ui-cluster.css +1 -1
- package/styles/ui-combobox.css +1 -1
- package/styles/ui-container.css +1 -1
- package/styles/ui-context-menu.css +1 -1
- package/styles/ui-cover.css +1 -1
- package/styles/ui-description-item.css +1 -1
- package/styles/ui-description-list.css +1 -1
- package/styles/ui-dialog.css +1 -1
- package/styles/ui-disclosure.css +1 -1
- package/styles/ui-editable.css +1 -1
- package/styles/ui-editor-insert-table-grid.css +1 -1
- package/styles/ui-editor-mention-menu-item.css +1 -1
- package/styles/ui-editor-mention-menu.css +1 -1
- package/styles/ui-editor-slash-menu-group.css +1 -1
- package/styles/ui-editor-slash-menu-item.css +1 -1
- package/styles/ui-editor-slash-menu.css +1 -1
- package/styles/ui-editor-table-context-menu.css +1 -1
- package/styles/ui-editor-table-overlay.css +1 -1
- package/styles/ui-editor-table-toolbar.css +1 -1
- package/styles/ui-editor-toolbar.css +1 -1
- package/styles/ui-floating-action-button.css +1 -1
- package/styles/ui-form-field.css +1 -1
- package/styles/ui-grid.css +1 -1
- package/styles/ui-icon-button.css +1 -1
- package/styles/ui-icon.css +1 -1
- package/styles/ui-input-group.css +1 -1
- package/styles/ui-input.css +1 -1
- package/styles/ui-list-item.css +1 -1
- package/styles/ui-list.css +1 -1
- package/styles/ui-listbox.css +1 -1
- package/styles/ui-menu-group.css +1 -1
- package/styles/ui-menu-item.css +1 -1
- package/styles/ui-menu.css +1 -1
- package/styles/ui-meter.css +1 -1
- package/styles/ui-nav-item.css +1 -1
- package/styles/ui-page-header.css +1 -1
- package/styles/ui-popover.css +1 -1
- package/styles/ui-radio-group.css +1 -1
- package/styles/ui-radio.css +1 -1
- package/styles/ui-reel.css +1 -1
- package/styles/ui-scroll-area.css +1 -1
- package/styles/ui-search-result-row.css +1 -1
- package/styles/ui-search-shell.css +1 -1
- package/styles/ui-section.css +1 -1
- package/styles/ui-select.css +1 -1
- package/styles/ui-separator.css +1 -1
- package/styles/ui-sidebar.css +1 -1
- package/styles/ui-spinner.css +1 -1
- package/styles/ui-stack.css +1 -1
- package/styles/ui-status-message.css +1 -1
- package/styles/ui-switch.css +1 -1
- package/styles/ui-switcher.css +1 -1
- package/styles/ui-table.css +1 -1
- package/styles/ui-tabs.css +1 -1
- package/styles/ui-text.css +1 -1
- package/styles/ui-textarea.css +1 -1
- package/styles/ui-toast-region.css +1 -1
- package/styles/ui-toast.css +1 -1
- package/styles/ui-tooltip.css +1 -1
- package/styles/ui-top-bar.css +1 -1
- package/styles/ui-tree-item.css +1 -1
- package/styles/ui-tree.css +1 -1
- package/vanilla/UiActionBar.d.ts +1 -1
- package/vanilla/UiActionBar.js +5 -1
- package/vanilla/UiAffordanceScope.d.ts +1 -1
- package/vanilla/UiAffordanceScope.js +3 -2
- package/vanilla/UiAvatar.d.ts +1 -1
- package/vanilla/UiAvatar.js +4 -3
- package/vanilla/UiAvatarGroup.d.ts +1 -1
- package/vanilla/UiAvatarGroup.js +3 -2
- package/vanilla/UiBadge.d.ts +1 -1
- package/vanilla/UiBadge.js +2 -1
- package/vanilla/UiBreadcrumbItem.d.ts +1 -1
- package/vanilla/UiBreadcrumbItem.js +2 -1
- package/vanilla/UiBreadcrumbs.d.ts +1 -1
- package/vanilla/UiBreadcrumbs.js +4 -7
- package/vanilla/UiButton.d.ts +1 -1
- package/vanilla/UiButton.js +6 -4
- package/vanilla/UiCallout.d.ts +1 -1
- package/vanilla/UiCallout.js +3 -2
- package/vanilla/UiCard.d.ts +1 -1
- package/vanilla/UiCard.js +6 -2
- package/vanilla/UiCheckbox.d.ts +1 -1
- package/vanilla/UiCheckbox.js +4 -2
- package/vanilla/UiCluster.d.ts +1 -1
- package/vanilla/UiCluster.js +2 -1
- package/vanilla/UiCombobox.d.ts +3 -2
- package/vanilla/UiCombobox.js +8 -2
- package/vanilla/UiContainer.d.ts +1 -1
- package/vanilla/UiContainer.js +2 -1
- package/vanilla/UiContextMenu.d.ts +1 -1
- package/vanilla/UiContextMenu.js +3 -2
- package/vanilla/UiCover.d.ts +1 -1
- package/vanilla/UiCover.js +4 -5
- package/vanilla/UiDescriptionItem.d.ts +1 -1
- package/vanilla/UiDescriptionItem.js +4 -7
- package/vanilla/UiDescriptionList.d.ts +1 -1
- package/vanilla/UiDescriptionList.js +2 -1
- package/vanilla/UiDialog.d.ts +1 -1
- package/vanilla/UiDialog.js +4 -2
- package/vanilla/UiDisclosure.d.ts +1 -1
- package/vanilla/UiDisclosure.js +4 -2
- package/vanilla/UiEditable.d.ts +1 -1
- package/vanilla/UiEditable.js +2 -2
- package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
- package/vanilla/UiEditorInsertTableGrid.js +1 -1
- package/vanilla/UiEditorMentionMenu.d.ts +1 -1
- package/vanilla/UiEditorMentionMenu.js +5 -2
- package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
- package/vanilla/UiEditorMentionMenuItem.js +3 -1
- package/vanilla/UiEditorSlashMenu.d.ts +1 -1
- package/vanilla/UiEditorSlashMenu.js +6 -2
- package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
- package/vanilla/UiEditorSlashMenuGroup.js +4 -7
- package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
- package/vanilla/UiEditorSlashMenuItem.js +2 -1
- package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
- package/vanilla/UiEditorTableContextMenu.js +2 -2
- package/vanilla/UiEditorTableOverlay.d.ts +12 -2
- package/vanilla/UiEditorTableOverlay.js +2 -2
- package/vanilla/UiEditorTableToolbar.d.ts +1 -1
- package/vanilla/UiEditorTableToolbar.js +2 -2
- package/vanilla/UiEditorToolbar.d.ts +1 -1
- package/vanilla/UiEditorToolbar.js +2 -1
- package/vanilla/UiFloatingActionButton.d.ts +1 -1
- package/vanilla/UiFloatingActionButton.js +2 -1
- package/vanilla/UiFormField.d.ts +1 -1
- package/vanilla/UiFormField.js +6 -1
- package/vanilla/UiGrid.d.ts +1 -1
- package/vanilla/UiGrid.js +4 -3
- package/vanilla/UiIcon.d.ts +1 -1
- package/vanilla/UiIcon.js +1 -1
- package/vanilla/UiIconButton.d.ts +1 -1
- package/vanilla/UiIconButton.js +4 -3
- package/vanilla/UiInput.d.ts +5 -4
- package/vanilla/UiInput.js +16 -13
- package/vanilla/UiInputGroup.d.ts +1 -1
- package/vanilla/UiInputGroup.js +5 -1
- package/vanilla/UiList.d.ts +1 -1
- package/vanilla/UiList.js +4 -2
- package/vanilla/UiListItem.d.ts +1 -1
- package/vanilla/UiListItem.js +5 -1
- package/vanilla/UiListbox.d.ts +1 -1
- package/vanilla/UiListbox.js +3 -2
- package/vanilla/UiMenu.d.ts +1 -1
- package/vanilla/UiMenu.js +3 -2
- package/vanilla/UiMenuGroup.d.ts +1 -1
- package/vanilla/UiMenuGroup.js +2 -1
- package/vanilla/UiMenuItem.d.ts +1 -1
- package/vanilla/UiMenuItem.js +6 -2
- package/vanilla/UiMeter.d.ts +1 -1
- package/vanilla/UiMeter.js +2 -2
- package/vanilla/UiNavItem.d.ts +2 -2
- package/vanilla/UiNavItem.js +11 -5
- package/vanilla/UiPageHeader.d.ts +1 -1
- package/vanilla/UiPageHeader.js +8 -5
- package/vanilla/UiPopover.d.ts +1 -1
- package/vanilla/UiPopover.js +3 -2
- package/vanilla/UiRadio.d.ts +1 -1
- package/vanilla/UiRadio.js +4 -2
- package/vanilla/UiRadioGroup.d.ts +1 -1
- package/vanilla/UiRadioGroup.js +3 -2
- package/vanilla/UiReel.d.ts +1 -1
- package/vanilla/UiReel.js +2 -1
- package/vanilla/UiScrollArea.d.ts +1 -1
- package/vanilla/UiScrollArea.js +3 -2
- package/vanilla/UiSearchResultRow.d.ts +1 -1
- package/vanilla/UiSearchResultRow.js +6 -1
- package/vanilla/UiSearchShell.d.ts +1 -1
- package/vanilla/UiSearchShell.js +6 -2
- package/vanilla/UiSection.d.ts +1 -1
- package/vanilla/UiSection.js +5 -2
- package/vanilla/UiSelect.d.ts +1 -1
- package/vanilla/UiSelect.js +3 -2
- package/vanilla/UiSeparator.d.ts +1 -1
- package/vanilla/UiSeparator.js +3 -7
- package/vanilla/UiSidebar.d.ts +1 -1
- package/vanilla/UiSidebar.js +3 -2
- package/vanilla/UiSpinner.d.ts +1 -1
- package/vanilla/UiSpinner.js +2 -2
- package/vanilla/UiStack.d.ts +1 -1
- package/vanilla/UiStack.js +2 -1
- package/vanilla/UiStatusMessage.d.ts +1 -1
- package/vanilla/UiStatusMessage.js +4 -2
- package/vanilla/UiSwitch.d.ts +1 -1
- package/vanilla/UiSwitch.js +4 -2
- package/vanilla/UiSwitcher.d.ts +1 -1
- package/vanilla/UiSwitcher.js +3 -2
- package/vanilla/UiTable.d.ts +1 -1
- package/vanilla/UiTable.js +3 -2
- package/vanilla/UiTabs.d.ts +1 -1
- package/vanilla/UiTabs.js +4 -2
- package/vanilla/UiText.d.ts +1 -1
- package/vanilla/UiText.js +13 -2
- package/vanilla/UiTextarea.d.ts +1 -1
- package/vanilla/UiTextarea.js +3 -3
- package/vanilla/UiToast.d.ts +1 -1
- package/vanilla/UiToast.js +4 -2
- package/vanilla/UiToastRegion.d.ts +1 -1
- package/vanilla/UiToastRegion.js +3 -2
- package/vanilla/UiTooltip.d.ts +1 -1
- package/vanilla/UiTooltip.js +3 -2
- package/vanilla/UiTopBar.d.ts +1 -1
- package/vanilla/UiTopBar.js +5 -1
- package/vanilla/UiTree.d.ts +1 -1
- package/vanilla/UiTree.js +3 -2
- package/vanilla/UiTreeItem.d.ts +1 -1
- package/vanilla/UiTreeItem.js +8 -4
- package/vue/UiActionBar.vue +33 -2
- package/vue/UiAffordanceScope.d.ts +23 -8
- package/vue/UiAffordanceScope.vue +90 -17
- package/vue/UiAvatar.d.ts +77 -19
- package/vue/UiAvatar.vue +151 -31
- package/vue/UiAvatarGroup.d.ts +50 -13
- package/vue/UiAvatarGroup.vue +121 -23
- package/vue/UiBadge.d.ts +32 -10
- package/vue/UiBadge.vue +104 -17
- package/vue/UiBreadcrumbItem.d.ts +14 -6
- package/vue/UiBreadcrumbItem.vue +82 -15
- package/vue/UiBreadcrumbs.d.ts +14 -6
- package/vue/UiBreadcrumbs.vue +78 -10
- package/vue/UiButton.d.ts +122 -27
- package/vue/UiButton.vue +288 -64
- package/vue/UiCallout.d.ts +14 -6
- package/vue/UiCallout.vue +84 -16
- package/vue/UiCard.d.ts +41 -12
- package/vue/UiCard.vue +149 -25
- package/vue/UiCheckbox.d.ts +85 -28
- package/vue/UiCheckbox.vue +173 -43
- package/vue/UiCluster.d.ts +41 -7
- package/vue/UiCluster.vue +122 -13
- package/vue/UiCombobox.d.ts +303 -110
- package/vue/UiCombobox.vue +723 -412
- package/vue/UiContainer.d.ts +23 -5
- package/vue/UiContainer.vue +89 -9
- package/vue/UiContextMenu.d.ts +38 -23
- package/vue/UiContextMenu.vue +113 -38
- package/vue/UiCover.d.ts +14 -6
- package/vue/UiCover.vue +76 -12
- package/vue/UiDescriptionItem.d.ts +14 -6
- package/vue/UiDescriptionItem.vue +78 -11
- package/vue/UiDescriptionList.d.ts +32 -9
- package/vue/UiDescriptionList.vue +106 -16
- package/vue/UiDialog.d.ts +89 -30
- package/vue/UiDialog.vue +168 -38
- package/vue/UiDisclosure.d.ts +70 -27
- package/vue/UiDisclosure.vue +149 -36
- package/vue/UiEditable.d.ts +119 -41
- package/vue/UiEditable.vue +220 -62
- package/vue/UiEditorInsertTableGrid.d.ts +46 -17
- package/vue/UiEditorInsertTableGrid.vue +215 -40
- package/vue/UiEditorMentionMenu.d.ts +128 -41
- package/vue/UiEditorMentionMenu.vue +211 -37
- package/vue/UiEditorMentionMenuItem.d.ts +32 -10
- package/vue/UiEditorMentionMenuItem.vue +98 -17
- package/vue/UiEditorSlashMenu.d.ts +110 -37
- package/vue/UiEditorSlashMenu.vue +189 -31
- package/vue/UiEditorSlashMenuGroup.d.ts +14 -6
- package/vue/UiEditorSlashMenuGroup.vue +80 -12
- package/vue/UiEditorSlashMenuItem.d.ts +50 -14
- package/vue/UiEditorSlashMenuItem.vue +120 -23
- package/vue/UiEditorTableContextMenu.d.ts +64 -20
- package/vue/UiEditorTableContextMenu.vue +326 -91
- package/vue/UiEditorTableOverlay.d.ts +170 -44
- package/vue/UiEditorTableOverlay.vue +420 -149
- package/vue/UiEditorTableToolbar.d.ts +64 -20
- package/vue/UiEditorTableToolbar.vue +344 -107
- package/vue/UiEditorToolbar.d.ts +14 -6
- package/vue/UiEditorToolbar.vue +79 -15
- package/vue/UiFloatingActionButton.d.ts +32 -10
- package/vue/UiFloatingActionButton.vue +96 -18
- package/vue/UiFormField.d.ts +32 -10
- package/vue/UiFormField.vue +99 -19
- package/vue/UiGrid.d.ts +32 -6
- package/vue/UiGrid.vue +95 -11
- package/vue/UiIcon.d.ts +14 -6
- package/vue/UiIcon.vue +99 -14
- package/vue/UiIconButton.d.ts +77 -19
- package/vue/UiIconButton.vue +176 -39
- package/vue/UiInput.d.ts +50 -19
- package/vue/UiInput.vue +326 -33
- package/vue/UiInputGroup.d.ts +14 -6
- package/vue/UiInputGroup.vue +79 -15
- package/vue/UiList.d.ts +41 -12
- package/vue/UiList.vue +125 -22
- package/vue/UiListItem.d.ts +23 -8
- package/vue/UiListItem.vue +88 -16
- package/vue/UiListbox.d.ts +86 -27
- package/vue/UiListbox.vue +272 -64
- package/vue/UiMenu.d.ts +69 -33
- package/vue/UiMenu.vue +142 -38
- package/vue/UiMenuGroup.d.ts +14 -6
- package/vue/UiMenuGroup.vue +80 -11
- package/vue/UiMenuItem.d.ts +61 -25
- package/vue/UiMenuItem.vue +174 -45
- package/vue/UiMeter.d.ts +68 -18
- package/vue/UiMeter.vue +215 -41
- package/vue/UiNavItem.d.ts +50 -11
- package/vue/UiNavItem.vue +163 -29
- package/vue/UiPageHeader.d.ts +14 -6
- package/vue/UiPageHeader.vue +75 -12
- package/vue/UiPopover.d.ts +43 -21
- package/vue/UiPopover.vue +147 -27
- package/vue/UiRadio.d.ts +67 -24
- package/vue/UiRadio.vue +147 -36
- package/vue/UiRadioGroup.d.ts +79 -29
- package/vue/UiRadioGroup.vue +162 -41
- package/vue/UiReel.d.ts +32 -6
- package/vue/UiReel.vue +97 -11
- package/vue/UiScrollArea.d.ts +14 -6
- package/vue/UiScrollArea.vue +83 -14
- package/vue/UiSearchResultRow.d.ts +23 -8
- package/vue/UiSearchResultRow.vue +86 -16
- package/vue/UiSearchShell.d.ts +48 -19
- package/vue/UiSearchShell.vue +120 -26
- package/vue/UiSection.d.ts +32 -10
- package/vue/UiSection.vue +103 -17
- package/vue/UiSelect.d.ts +59 -17
- package/vue/UiSelect.vue +140 -29
- package/vue/UiSeparator.d.ts +14 -6
- package/vue/UiSeparator.vue +80 -9
- package/vue/UiSidebar.d.ts +95 -31
- package/vue/UiSidebar.vue +172 -39
- package/vue/UiSpinner.d.ts +23 -8
- package/vue/UiSpinner.vue +115 -24
- package/vue/UiStack.d.ts +32 -6
- package/vue/UiStack.vue +107 -11
- package/vue/UiStatusMessage.d.ts +32 -10
- package/vue/UiStatusMessage.vue +109 -19
- package/vue/UiSwitch.d.ts +67 -24
- package/vue/UiSwitch.vue +147 -36
- package/vue/UiSwitcher.d.ts +41 -7
- package/vue/UiSwitcher.vue +118 -15
- package/vue/UiTable.d.ts +23 -8
- package/vue/UiTable.vue +91 -17
- package/vue/UiTabs.d.ts +66 -23
- package/vue/UiTabs.vue +230 -44
- package/vue/UiText.d.ts +68 -18
- package/vue/UiText.vue +308 -48
- package/vue/UiTextarea.d.ts +84 -21
- package/vue/UiTextarea.vue +172 -38
- package/vue/UiToast.d.ts +28 -13
- package/vue/UiToast.vue +103 -24
- package/vue/UiToastRegion.d.ts +29 -14
- package/vue/UiToastRegion.vue +202 -47
- package/vue/UiTooltip.d.ts +81 -31
- package/vue/UiTooltip.vue +192 -37
- package/vue/UiTopBar.vue +33 -2
- package/vue/UiTree.d.ts +72 -29
- package/vue/UiTree.vue +170 -49
- package/vue/UiTreeItem.d.ts +136 -35
- package/vue/UiTreeItem.vue +227 -61
- package/vue/chunks/UiActionBar.js +16 -3
- package/vue/chunks/UiAffordanceScope.js +66 -11
- package/vue/chunks/UiAvatar.js +121 -20
- package/vue/chunks/UiAvatarGroup.js +94 -15
- package/vue/chunks/UiBadge.js +82 -10
- package/vue/chunks/UiBreadcrumbItem.js +43 -9
- package/vue/chunks/UiBreadcrumbs.js +41 -5
- package/vue/chunks/UiButton.js +237 -51
- package/vue/chunks/UiCallout.js +53 -11
- package/vue/chunks/UiCard.js +145 -18
- package/vue/chunks/UiCheckbox.js +130 -30
- package/vue/chunks/UiCluster.js +99 -12
- package/vue/chunks/UiCombobox.js +545 -162
- package/vue/chunks/UiContainer.js +65 -7
- package/vue/chunks/UiContextMenu.js +56 -11
- package/vue/chunks/UiCover.js +41 -6
- package/vue/chunks/UiDescriptionItem.js +39 -4
- package/vue/chunks/UiDescriptionList.js +80 -10
- package/vue/chunks/UiDialog.js +125 -18
- package/vue/chunks/UiDisclosure.js +102 -17
- package/vue/chunks/UiEditable.js +154 -29
- package/vue/chunks/UiEditorInsertTableGrid.js +154 -31
- package/vue/chunks/UiEditorMentionMenu.js +221 -18
- package/vue/chunks/UiEditorMentionMenuItem.js +64 -7
- package/vue/chunks/UiEditorSlashMenu.js +201 -14
- package/vue/chunks/UiEditorSlashMenuGroup.js +43 -9
- package/vue/chunks/UiEditorSlashMenuItem.js +80 -14
- package/vue/chunks/UiEditorTableContextMenu.js +220 -49
- package/vue/chunks/UiEditorTableOverlay.js +390 -85
- package/vue/chunks/UiEditorTableToolbar.js +248 -71
- package/vue/chunks/UiEditorToolbar.js +44 -10
- package/vue/chunks/UiFloatingActionButton.js +57 -9
- package/vue/chunks/UiFormField.js +63 -12
- package/vue/chunks/UiGrid.js +80 -9
- package/vue/chunks/UiIcon.js +73 -16
- package/vue/chunks/UiIconButton.js +126 -28
- package/vue/chunks/UiInput.js +328 -22
- package/vue/chunks/UiInputGroup.js +44 -10
- package/vue/chunks/UiList.js +104 -15
- package/vue/chunks/UiListItem.js +57 -8
- package/vue/chunks/UiListbox.js +208 -49
- package/vue/chunks/UiMenu.js +88 -15
- package/vue/chunks/UiMenuGroup.js +41 -5
- package/vue/chunks/UiMenuItem.js +111 -32
- package/vue/chunks/UiMeter.js +166 -36
- package/vue/chunks/UiNavItem.js +133 -37
- package/vue/chunks/UiPageHeader.js +41 -6
- package/vue/chunks/UiPopover.js +81 -11
- package/vue/chunks/UiRadio.js +115 -24
- package/vue/chunks/UiRadioGroup.js +108 -19
- package/vue/chunks/UiReel.js +81 -10
- package/vue/chunks/UiScrollArea.js +47 -10
- package/vue/chunks/UiSearchResultRow.js +47 -8
- package/vue/chunks/UiSearchShell.js +84 -24
- package/vue/chunks/UiSection.js +77 -10
- package/vue/chunks/UiSelect.js +108 -20
- package/vue/chunks/UiSeparator.js +41 -5
- package/vue/chunks/UiSidebar.js +136 -20
- package/vue/chunks/UiSpinner.js +64 -19
- package/vue/chunks/UiStack.js +87 -10
- package/vue/chunks/UiStatusMessage.js +82 -12
- package/vue/chunks/UiSwitch.js +115 -24
- package/vue/chunks/UiSwitcher.js +103 -15
- package/vue/chunks/UiTable.js +63 -11
- package/vue/chunks/UiTabs.js +170 -30
- package/vue/chunks/UiText.js +365 -38
- package/vue/chunks/UiTextarea.js +132 -26
- package/vue/chunks/UiToast.js +70 -12
- package/vue/chunks/UiToastRegion.js +154 -33
- package/vue/chunks/UiTooltip.js +124 -16
- package/vue/chunks/UiTopBar.js +16 -3
- package/vue/chunks/UiTree.js +107 -15
- package/vue/chunks/UiTreeItem.js +167 -43
- package/vue/chunks/control.js +171 -0
- package/vue/chunks/host.js +170 -27
- package/vue/chunks/props.js +477 -0
- package/vue/components.css +1192 -1192
- package/vue/editor/index.js +58 -15
- package/vue/editor/primitives.d.ts +52 -2
- package/vue/host.ts +370 -39
|
@@ -4,35 +4,113 @@
|
|
|
4
4
|
<prop name="open" type="boolean" default="false">Shows the controls after the editor has supplied current geometry.</prop>
|
|
5
5
|
<prop
|
|
6
6
|
name="geometry"
|
|
7
|
-
type="object
|
|
8
|
-
>
|
|
7
|
+
type="object"
|
|
8
|
+
>
|
|
9
|
+
<prop name="rowBoundaries" required type="array">
|
|
10
|
+
<prop type="number"></prop>
|
|
11
|
+
</prop>
|
|
12
|
+
<prop name="columnBoundaries" required type="array">
|
|
13
|
+
<prop type="number"></prop>
|
|
14
|
+
</prop>
|
|
15
|
+
<prop name="activeCell" required nullable type="object">
|
|
16
|
+
<prop name="left" required type="number"></prop>
|
|
17
|
+
<prop name="top" required type="number"></prop>
|
|
18
|
+
<prop name="width" required type="number"></prop>
|
|
19
|
+
<prop name="height" required type="number"></prop>
|
|
20
|
+
<prop name="rowIndex" required type="integer"></prop>
|
|
21
|
+
<prop name="columnIndex" required type="integer"></prop>
|
|
22
|
+
</prop>
|
|
23
|
+
<prop name="hoveredCell" nullable type="object">
|
|
24
|
+
<prop name="left" required type="number"></prop>
|
|
25
|
+
<prop name="top" required type="number"></prop>
|
|
26
|
+
<prop name="width" required type="number"></prop>
|
|
27
|
+
<prop name="height" required type="number"></prop>
|
|
28
|
+
<prop name="rowIndex" required type="integer"></prop>
|
|
29
|
+
<prop name="columnIndex" required type="integer"></prop>
|
|
30
|
+
</prop>
|
|
31
|
+
The authoritative editor-measured table boundaries and active or hovered cell rectangles.
|
|
32
|
+
</prop>
|
|
9
33
|
<state
|
|
10
34
|
name="rows"
|
|
11
|
-
type="
|
|
35
|
+
type="array"
|
|
12
36
|
:value="[]"
|
|
13
|
-
|
|
37
|
+
>
|
|
38
|
+
<prop type="object">
|
|
39
|
+
<prop name="key" required type="string"></prop>
|
|
40
|
+
<prop name="index" required type="integer"></prop>
|
|
41
|
+
<prop name="offset" required type="string"></prop>
|
|
42
|
+
<prop name="affordance" required type="keyword" values="insert-row, insert-column"></prop>
|
|
43
|
+
<prop name="action" required type="keyword" values="add-row-before, add-row-after, add-column-before, add-column-after"></prop>
|
|
44
|
+
<prop name="label" required type="string"></prop>
|
|
45
|
+
</prop>
|
|
46
|
+
</state>
|
|
14
47
|
<state
|
|
15
48
|
name="cols"
|
|
16
|
-
type="
|
|
49
|
+
type="array"
|
|
17
50
|
:value="[]"
|
|
18
|
-
|
|
51
|
+
>
|
|
52
|
+
<prop type="object">
|
|
53
|
+
<prop name="key" required type="string"></prop>
|
|
54
|
+
<prop name="index" required type="integer"></prop>
|
|
55
|
+
<prop name="offset" required type="string"></prop>
|
|
56
|
+
<prop name="affordance" required type="keyword" values="insert-row, insert-column"></prop>
|
|
57
|
+
<prop name="action" required type="keyword" values="add-row-before, add-row-after, add-column-before, add-column-after"></prop>
|
|
58
|
+
<prop name="label" required type="string"></prop>
|
|
59
|
+
</prop>
|
|
60
|
+
</state>
|
|
19
61
|
<state
|
|
20
62
|
name="hovered"
|
|
21
|
-
type="object
|
|
63
|
+
type="object"
|
|
22
64
|
:value="null"
|
|
23
|
-
|
|
65
|
+
nullable
|
|
66
|
+
>
|
|
67
|
+
<prop name="left" required type="number"></prop>
|
|
68
|
+
<prop name="top" required type="number"></prop>
|
|
69
|
+
<prop name="width" required type="number"></prop>
|
|
70
|
+
<prop name="height" required type="number"></prop>
|
|
71
|
+
<prop name="rowIndex" required type="integer"></prop>
|
|
72
|
+
<prop name="columnIndex" required type="integer"></prop>
|
|
73
|
+
<prop name="rowOffset" required type="string"></prop>
|
|
74
|
+
<prop name="columnOffset" required type="string"></prop>
|
|
75
|
+
</state>
|
|
24
76
|
<state
|
|
25
77
|
name="active"
|
|
26
|
-
type="object
|
|
78
|
+
type="object"
|
|
27
79
|
:value="null"
|
|
28
|
-
|
|
80
|
+
nullable
|
|
81
|
+
>
|
|
82
|
+
<prop name="left" required type="number"></prop>
|
|
83
|
+
<prop name="top" required type="number"></prop>
|
|
84
|
+
<prop name="width" required type="number"></prop>
|
|
85
|
+
<prop name="height" required type="number"></prop>
|
|
86
|
+
<prop name="rowIndex" required type="integer"></prop>
|
|
87
|
+
<prop name="columnIndex" required type="integer"></prop>
|
|
88
|
+
<prop name="menuLeft" required type="string"></prop>
|
|
89
|
+
<prop name="menuTop" required type="string"></prop>
|
|
90
|
+
</state>
|
|
29
91
|
<state name="activeKey" :value="''"></state>
|
|
92
|
+
<event name="add-row-before" type="object({ boundaryIndex: integer })"></event>
|
|
93
|
+
<event name="add-row-after" type="object({ boundaryIndex: integer })"></event>
|
|
94
|
+
<event name="add-column-before" type="object({ boundaryIndex: integer })"></event>
|
|
95
|
+
<event name="add-column-after" type="object({ boundaryIndex: integer })"></event>
|
|
96
|
+
<event name="select-row" type="object({ rowIndex: integer, columnIndex: integer })"></event>
|
|
97
|
+
<event name="select-column" type="object({ rowIndex: integer, columnIndex: integer })"></event>
|
|
98
|
+
<event name="reorder-row" type="object({ fromIndex: integer, toIndex: integer })"></event>
|
|
99
|
+
<event name="reorder-column" type="object({ fromIndex: integer, toIndex: integer })"></event>
|
|
100
|
+
<event
|
|
101
|
+
name="open-cell-menu"
|
|
102
|
+
type="object({ rowIndex: integer, columnIndex: integer, anchor: object({ left: number, top: number, right: number, bottom: number }) })"
|
|
103
|
+
></event>
|
|
104
|
+
<event
|
|
105
|
+
name="open-row-menu"
|
|
106
|
+
type="object({ rowIndex: integer, columnIndex: integer, anchor: object({ left: number, top: number, right: number, bottom: number }) })"
|
|
107
|
+
></event>
|
|
30
108
|
<event
|
|
31
|
-
name="
|
|
32
|
-
type="object({
|
|
109
|
+
name="open-column-menu"
|
|
110
|
+
type="object({ rowIndex: integer, columnIndex: integer, anchor: object({ left: number, top: number, right: number, bottom: number }) })"
|
|
33
111
|
></event>
|
|
34
112
|
</defs>
|
|
35
|
-
<div aria-label="Table controls" :hidden="not open">
|
|
113
|
+
<div aria-label="Table controls" from:hidden="not open">
|
|
36
114
|
<div class="rows">
|
|
37
115
|
<div
|
|
38
116
|
$each="control of rows"
|
|
@@ -40,17 +118,17 @@
|
|
|
40
118
|
class="control row"
|
|
41
119
|
class:active="control.key = activeKey"
|
|
42
120
|
style:top="control.offset"
|
|
43
|
-
:data-control-key="control.key"
|
|
121
|
+
from:data-control-key="control.key"
|
|
44
122
|
>
|
|
45
123
|
<span class="line" aria-hidden="true"></span>
|
|
46
124
|
<span class="guide" data-ui-guide aria-hidden="true"></span>
|
|
47
125
|
<button
|
|
48
126
|
type="button"
|
|
49
127
|
class="handle"
|
|
50
|
-
:data-ui-affordance="control.affordance"
|
|
51
|
-
:data-action="control.action"
|
|
52
|
-
:data-boundary-index="control.index"
|
|
53
|
-
:aria-label="control.label"
|
|
128
|
+
from:data-ui-affordance="control.affordance"
|
|
129
|
+
from:data-action="control.action"
|
|
130
|
+
from:data-boundary-index="control.index"
|
|
131
|
+
from:aria-label="control.label"
|
|
54
132
|
>
|
|
55
133
|
<ui-icon name="plus"></ui-icon>
|
|
56
134
|
<span class="tooltip" role="tooltip" $value="control.label"></span>
|
|
@@ -64,17 +142,17 @@
|
|
|
64
142
|
class="control col"
|
|
65
143
|
class:active="control.key = activeKey"
|
|
66
144
|
style:left="control.offset"
|
|
67
|
-
:data-control-key="control.key"
|
|
145
|
+
from:data-control-key="control.key"
|
|
68
146
|
>
|
|
69
147
|
<span class="line" aria-hidden="true"></span>
|
|
70
148
|
<span class="guide" data-ui-guide aria-hidden="true"></span>
|
|
71
149
|
<button
|
|
72
150
|
type="button"
|
|
73
151
|
class="handle"
|
|
74
|
-
:data-ui-affordance="control.affordance"
|
|
75
|
-
:data-action="control.action"
|
|
76
|
-
:data-boundary-index="control.index"
|
|
77
|
-
:aria-label="control.label"
|
|
152
|
+
from:data-ui-affordance="control.affordance"
|
|
153
|
+
from:data-action="control.action"
|
|
154
|
+
from:data-boundary-index="control.index"
|
|
155
|
+
from:aria-label="control.label"
|
|
78
156
|
>
|
|
79
157
|
<ui-icon name="plus"></ui-icon>
|
|
80
158
|
<span class="tooltip" role="tooltip" $value="control.label"></span>
|
|
@@ -87,8 +165,8 @@
|
|
|
87
165
|
class="selector row"
|
|
88
166
|
style:top="hovered.rowOffset"
|
|
89
167
|
data-action="select-row"
|
|
90
|
-
:data-row-index="hovered.rowIndex"
|
|
91
|
-
:data-column-index="hovered.columnIndex"
|
|
168
|
+
from:data-row-index="hovered.rowIndex"
|
|
169
|
+
from:data-column-index="hovered.columnIndex"
|
|
92
170
|
title="Drag row to reorder; click for actions"
|
|
93
171
|
aria-label="Row actions"
|
|
94
172
|
>
|
|
@@ -99,8 +177,8 @@
|
|
|
99
177
|
class="selector column"
|
|
100
178
|
style:left="hovered.columnOffset"
|
|
101
179
|
data-action="select-column"
|
|
102
|
-
:data-row-index="hovered.rowIndex"
|
|
103
|
-
:data-column-index="hovered.columnIndex"
|
|
180
|
+
from:data-row-index="hovered.rowIndex"
|
|
181
|
+
from:data-column-index="hovered.columnIndex"
|
|
104
182
|
title="Drag column to reorder; click for actions"
|
|
105
183
|
aria-label="Column actions"
|
|
106
184
|
>
|
|
@@ -114,8 +192,8 @@
|
|
|
114
192
|
style:left="active.menuLeft"
|
|
115
193
|
style:top="active.menuTop"
|
|
116
194
|
data-action="open-cell-menu"
|
|
117
|
-
:data-row-index="active.rowIndex"
|
|
118
|
-
:data-column-index="active.columnIndex"
|
|
195
|
+
from:data-row-index="active.rowIndex"
|
|
196
|
+
from:data-column-index="active.columnIndex"
|
|
119
197
|
title="Cell actions"
|
|
120
198
|
aria-label="Cell actions"
|
|
121
199
|
>
|
|
@@ -96,7 +96,7 @@ export default function controller(host) {
|
|
|
96
96
|
if (to === null) return;
|
|
97
97
|
suppressClick = true;
|
|
98
98
|
setTimeout(() => { suppressClick = false; }, 0);
|
|
99
|
-
if (to !== from) host.dispatch(
|
|
99
|
+
if (to !== from) host.dispatch(axis === "row" ? "reorder-row" : "reorder-column", { fromIndex: from, toIndex: to });
|
|
100
100
|
};
|
|
101
101
|
const boundaries = (axis) => {
|
|
102
102
|
const values = host.state.geometry?.[axis === "row" ? "rowBoundaries" : "columnBoundaries"];
|
|
@@ -141,13 +141,13 @@ export default function controller(host) {
|
|
|
141
141
|
const action = button.dataset.action;
|
|
142
142
|
const cell = { rowIndex: Number(button.dataset.rowIndex), columnIndex: Number(button.dataset.columnIndex) };
|
|
143
143
|
if (action === "select-row" || action === "select-column") {
|
|
144
|
-
host.dispatch(
|
|
144
|
+
host.dispatch(action, cell);
|
|
145
145
|
const rect = button.getBoundingClientRect();
|
|
146
|
-
host.dispatch(
|
|
146
|
+
host.dispatch(action === "select-row" ? "open-row-menu" : "open-column-menu", { ...cell, anchor: { left: rect.left, top: rect.top, right: rect.right, bottom: rect.bottom } });
|
|
147
147
|
} else if (action === "open-cell-menu") {
|
|
148
148
|
const rect = button.getBoundingClientRect();
|
|
149
|
-
host.dispatch(
|
|
150
|
-
} else host.dispatch(
|
|
149
|
+
host.dispatch(action, { ...cell, anchor: { left: rect.left, top: rect.top, right: rect.right, bottom: rect.bottom } });
|
|
150
|
+
} else host.dispatch(action, { boundaryIndex: Number(button.dataset.boundaryIndex) });
|
|
151
151
|
};
|
|
152
152
|
const keyOf = (target) => target instanceof Element ? target.closest("[data-control-key]")?.dataset.controlKey ?? "" : "";
|
|
153
153
|
const enter = (event) => { host.state.activeKey = keyOf(event.target); };
|
|
@@ -2,16 +2,35 @@
|
|
|
2
2
|
<template component="ui-editor-table-toolbar" controller="./ui-editor-table-toolbar.js">
|
|
3
3
|
<defs>
|
|
4
4
|
<prop name="open" type="boolean" default="false">Shows the toolbar while a table selection is active.</prop>
|
|
5
|
-
<prop name="cellAlignment" type="left
|
|
5
|
+
<prop name="cellAlignment" type="keyword" values="left, center, right" default="left"
|
|
6
|
+
>Marks the alignment command that is active for the current cell.</prop>
|
|
6
7
|
<prop name="cellBackground" type="string" default="">Identifies the background choice that is active for the current cell.</prop>
|
|
7
8
|
<prop name="headerRow" type="boolean" default="false">Whether the table's first row currently uses header cells.</prop>
|
|
8
9
|
<prop name="headerColumn" type="boolean" default="false">Whether the table's first column currently uses header cells.</prop>
|
|
9
10
|
<prop
|
|
10
11
|
name="actions"
|
|
11
|
-
type="
|
|
12
|
-
>
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
type="array"
|
|
13
|
+
>
|
|
14
|
+
<prop
|
|
15
|
+
type="keyword"
|
|
16
|
+
values="align-left, align-center, align-right, background-none, background-gray, background-yellow, background-blue, background-green, background-red, add-row-before, add-row-after, add-column-before, add-column-after, toggle-header-row, toggle-header-column, move-row-up, move-row-down, move-column-left, move-column-right, clear-cells, merge-cells, split-cell, delete-row, delete-column, delete-table"
|
|
17
|
+
></prop>
|
|
18
|
+
The complete set of commands the current selection permits.
|
|
19
|
+
</prop>
|
|
20
|
+
<state name="alignments" type="array" :value="[]">
|
|
21
|
+
<prop type="object">
|
|
22
|
+
<prop name="action" required type="keyword" values="align-left, align-center, align-right"></prop>
|
|
23
|
+
<prop name="label" required type="string"></prop>
|
|
24
|
+
<prop name="active" required type="boolean"></prop>
|
|
25
|
+
</prop>
|
|
26
|
+
</state>
|
|
27
|
+
<state name="structure" type="array" :value="[]">
|
|
28
|
+
<prop type="object">
|
|
29
|
+
<prop name="action" required type="keyword" values="add-row-after, add-column-after"></prop>
|
|
30
|
+
<prop name="label" required type="string"></prop>
|
|
31
|
+
<prop name="icon" required type="string"></prop>
|
|
32
|
+
</prop>
|
|
33
|
+
</state>
|
|
15
34
|
<state name="swatches" type="list(object({ action: string, label: string, color: string, selected: boolean }))" :value="[]"></state>
|
|
16
35
|
<state
|
|
17
36
|
name="sections"
|
|
@@ -22,10 +41,17 @@
|
|
|
22
41
|
<state name="overflowOpen" :value="false"></state>
|
|
23
42
|
<event
|
|
24
43
|
name="action"
|
|
25
|
-
type="object
|
|
26
|
-
|
|
44
|
+
type="object"
|
|
45
|
+
>
|
|
46
|
+
<prop
|
|
47
|
+
name="action"
|
|
48
|
+
required
|
|
49
|
+
type="keyword"
|
|
50
|
+
values="align-left, align-center, align-right, background-none, background-gray, background-yellow, background-blue, background-green, background-red, add-row-before, add-row-after, add-column-before, add-column-after, toggle-header-row, toggle-header-column, move-row-up, move-row-down, move-column-left, move-column-right, clear-cells, merge-cells, split-cell, delete-row, delete-column, delete-table"
|
|
51
|
+
></prop>
|
|
52
|
+
</event>
|
|
27
53
|
</defs>
|
|
28
|
-
<div role="toolbar" aria-label="Table actions" :hidden="not open">
|
|
54
|
+
<div role="toolbar" aria-label="Table actions" from:hidden="not open">
|
|
29
55
|
<div $if="alignments" class="group" role="group" aria-label="Cell alignment">
|
|
30
56
|
<button
|
|
31
57
|
$each="item of alignments"
|
|
@@ -33,24 +59,24 @@
|
|
|
33
59
|
type="button"
|
|
34
60
|
class="icon-button"
|
|
35
61
|
class:active="item.active"
|
|
36
|
-
:data-action="item.action"
|
|
37
|
-
:aria-label="item.label"
|
|
38
|
-
:title="item.label"
|
|
39
|
-
:aria-pressed="item.active"
|
|
62
|
+
from:data-action="item.action"
|
|
63
|
+
from:aria-label="item.label"
|
|
64
|
+
from:title="item.label"
|
|
65
|
+
from:aria-pressed="item.active"
|
|
40
66
|
>
|
|
41
|
-
<ui-icon :name="item.action"></ui-icon>
|
|
67
|
+
<ui-icon from:name="item.action"></ui-icon>
|
|
42
68
|
</button>
|
|
43
69
|
</div>
|
|
44
70
|
<div $if="alignments and structure" class="sep" aria-hidden="true"></div>
|
|
45
71
|
<div $if="structure" class="group" role="group" aria-label="Table structure">
|
|
46
|
-
<button $each="item of structure" $key="item.action" type="button" :data-action="item.action">
|
|
47
|
-
<ui-icon :name="item.icon"></ui-icon>
|
|
72
|
+
<button $each="item of structure" $key="item.action" type="button" from:data-action="item.action">
|
|
73
|
+
<ui-icon from:name="item.icon"></ui-icon>
|
|
48
74
|
<span $value="item.label"></span>
|
|
49
75
|
</button>
|
|
50
76
|
</div>
|
|
51
77
|
<div $if="(alignments or structure) and hasOverflow" class="sep" aria-hidden="true"></div>
|
|
52
78
|
<div $if="hasOverflow" class="overflow">
|
|
53
|
-
<button type="button" class="more" data-action="toggle-overflow" aria-haspopup="menu" :aria-expanded="overflowOpen">
|
|
79
|
+
<button type="button" class="more" data-action="toggle-overflow" aria-haspopup="menu" from:aria-expanded="overflowOpen">
|
|
54
80
|
<ui-icon name="table"></ui-icon>
|
|
55
81
|
<span>Table options</span>
|
|
56
82
|
<span class="chevron"><ui-icon name="chevron-down"></ui-icon></span>
|
|
@@ -66,8 +92,8 @@
|
|
|
66
92
|
class="swatch-button"
|
|
67
93
|
class:selected="swatch.selected"
|
|
68
94
|
role="menuitemradio"
|
|
69
|
-
:aria-checked="swatch.selected"
|
|
70
|
-
:data-action="swatch.action"
|
|
95
|
+
from:aria-checked="swatch.selected"
|
|
96
|
+
from:data-action="swatch.action"
|
|
71
97
|
>
|
|
72
98
|
<span class="swatch" class:default="not swatch.color" style:--_swatch="swatch.color"></span>
|
|
73
99
|
<span $value="swatch.label"></span>
|
|
@@ -80,12 +106,12 @@
|
|
|
80
106
|
$each="item of section.items"
|
|
81
107
|
$key="item.action"
|
|
82
108
|
type="button"
|
|
83
|
-
:role="{ true: 'menuitemcheckbox', false: 'menuitem' }[format('%s', item.checkable)]"
|
|
84
|
-
:aria-checked="{ true: item.checked, false: null }[format('%s', item.checkable)]"
|
|
109
|
+
from:role="{ true: 'menuitemcheckbox', false: 'menuitem' }[format('%s', item.checkable)]"
|
|
110
|
+
from:aria-checked="{ true: item.checked, false: null }[format('%s', item.checkable)]"
|
|
85
111
|
class:danger="item.danger"
|
|
86
|
-
:data-action="item.action"
|
|
112
|
+
from:data-action="item.action"
|
|
87
113
|
>
|
|
88
|
-
<ui-icon :name="item.icon"></ui-icon>
|
|
114
|
+
<ui-icon from:name="item.icon"></ui-icon>
|
|
89
115
|
<span $value="item.label"></span>
|
|
90
116
|
</button>
|
|
91
117
|
</div>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
widths.</prop>
|
|
7
7
|
<prop name="label" type="string" default="">The button's accessible name. The button usually holds only an icon, so name the action it performs.</prop>
|
|
8
8
|
</defs>
|
|
9
|
-
<button type="button" :aria-label="label" :disabled="disabled"><slot></slot></button>
|
|
9
|
+
<button type="button" from:aria-label="label" from:disabled="disabled"><slot></slot></button>
|
|
10
10
|
<style>
|
|
11
11
|
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
12
12
|
@property --ui-floating-action-button-inset-block-end {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template component="ui-grid">
|
|
2
2
|
<defs>
|
|
3
|
-
<prop name="gap" type="xs
|
|
3
|
+
<prop name="gap" type="keyword" values="xs, s, m, l, xl"
|
|
4
4
|
>Space between cells, on the spacing scale: xs is 0.5rem, s 0.75rem, m 1rem (also the default), l 1.5rem, and xl 2rem. The --ui-grid-gap custom property,
|
|
5
5
|
set on the grid itself, overrides it; set on an ancestor, it does nothing.</prop>
|
|
6
|
-
<prop name="min" type="sm
|
|
6
|
+
<prop name="min" type="keyword" values="sm, md, lg"
|
|
7
7
|
>The narrowest a column may get before the grid drops to fewer columns: sm is 12rem (also the default), md is 16rem, and lg is 20rem. The grid fits as many
|
|
8
8
|
equal columns as its width allows, and a single column never overflows a narrower container.</prop>
|
|
9
9
|
<prop name="columns" type="integer"
|
|
@@ -78,10 +78,19 @@
|
|
|
78
78
|
<span aria-hidden="true">
|
|
79
79
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" focusable="false">
|
|
80
80
|
<g $each="shape of shapes">
|
|
81
|
-
<path $if="shape.tag = 'path'" :d="shape.d"></path>
|
|
82
|
-
<circle $if="shape.tag = 'circle'" :cx="shape.cx" :cy="shape.cy" :r="shape.r"></circle>
|
|
83
|
-
<rect
|
|
84
|
-
|
|
81
|
+
<path $if="shape.tag = 'path'" from:d="shape.d"></path>
|
|
82
|
+
<circle $if="shape.tag = 'circle'" from:cx="shape.cx" from:cy="shape.cy" from:r="shape.r"></circle>
|
|
83
|
+
<rect
|
|
84
|
+
$if="shape.tag = 'rect'"
|
|
85
|
+
from:x="shape.x"
|
|
86
|
+
from:y="shape.y"
|
|
87
|
+
from:width="shape.width"
|
|
88
|
+
from:height="shape.height"
|
|
89
|
+
from:rx="shape.rx"
|
|
90
|
+
from:ry="shape.ry"
|
|
91
|
+
>
|
|
92
|
+
</rect>
|
|
93
|
+
<line $if="shape.tag = 'line'" from:x1="shape.x1" from:y1="shape.y1" from:x2="shape.x2" from:y2="shape.y2"></line>
|
|
85
94
|
</g>
|
|
86
95
|
</svg>
|
|
87
96
|
</span>
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
cleared.</prop>
|
|
9
9
|
<prop name="pending" type="boolean" default="false">Deprecated alias for loading.</prop>
|
|
10
10
|
<prop name="label" type="string">Accessible name for the icon.</prop>
|
|
11
|
-
<prop name="size" type="sm
|
|
11
|
+
<prop name="size" type="keyword" values="sm, md, lg" default="md"
|
|
12
12
|
>Button and icon size together: sm is 1.75rem with a small icon, md is 2rem, and lg is 2.5rem with a large icon. On touch, every size gets an invisible hit
|
|
13
13
|
area of at least 44px.</prop>
|
|
14
|
-
<prop name="variant" type="ghost
|
|
14
|
+
<prop name="variant" type="keyword" values="ghost, outline, solid" default="ghost"
|
|
15
15
|
>Emphasis. ghost shows only the icon until it is hovered, for toolbars and dense rows; outline adds a border on the default surface; solid fills with the
|
|
16
16
|
accent colour, for the one primary action in a group.</prop>
|
|
17
17
|
<prop name="anticipatory" type="boolean" default="false"
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
<prop name="round" type="boolean" default="false">Use a fully circular shape.</prop>
|
|
21
21
|
</defs>
|
|
22
22
|
<button
|
|
23
|
-
:disabled="disabled"
|
|
23
|
+
from:disabled="disabled"
|
|
24
24
|
type="button"
|
|
25
|
-
:aria-label="label"
|
|
26
|
-
:aria-disabled="{ true: 'true', false: null }[format('%s', loading or pending)]"
|
|
27
|
-
:aria-busy="loading or pending"
|
|
25
|
+
from:aria-label="label"
|
|
26
|
+
from:aria-disabled="{ true: 'true', false: null }[format('%s', loading or pending)]"
|
|
27
|
+
from:aria-busy="loading or pending"
|
|
28
28
|
>
|
|
29
29
|
<ui-spinner $if="loading or pending" size="sm"></ui-spinner>
|
|
30
30
|
<span class="content"><slot></slot></span>
|
|
@@ -1,20 +1,42 @@
|
|
|
1
1
|
<template component="ui-input" controller="./ui-input.js">
|
|
2
2
|
<defs>
|
|
3
|
-
<prop
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
<prop
|
|
4
|
+
name="type"
|
|
5
|
+
type="keyword"
|
|
6
|
+
values="text, search, tel, url, email, password, date, month, week, time, datetime-local, number, range, color"
|
|
7
|
+
default="text"
|
|
8
|
+
>The native input mode. Number and range modes accept numeric values; the other supported modes accept strings.</prop>
|
|
9
|
+
<type name="input-value" from="type">
|
|
10
|
+
<option value="text" type="string"></option>
|
|
11
|
+
<option value="search" type="string"></option>
|
|
12
|
+
<option value="tel" type="string"></option>
|
|
13
|
+
<option value="url" type="string"></option>
|
|
14
|
+
<option value="email" type="string"></option>
|
|
15
|
+
<option value="password" type="string"></option>
|
|
16
|
+
<option value="date" type="string"></option>
|
|
17
|
+
<option value="month" type="string"></option>
|
|
18
|
+
<option value="week" type="string"></option>
|
|
19
|
+
<option value="time" type="string"></option>
|
|
20
|
+
<option value="datetime-local" type="string"></option>
|
|
21
|
+
<option value="number" type="number"></option>
|
|
22
|
+
<option value="range" type="number"></option>
|
|
23
|
+
<option value="color" type="string"></option>
|
|
24
|
+
</type>
|
|
25
|
+
<prop name="value" type="input-value"
|
|
26
|
+
>The input's value: text, or a number for type="number" and type="range" fields. Setting or changing it replaces the live text; between changes the user's
|
|
27
|
+
typing stands, so follow input events to keep it in step. A number field keeps text that means the same number, such as 1.0 for 1. It is also the input's
|
|
28
|
+
default, so a form reset returns to it.</prop>
|
|
7
29
|
<prop name="disabled" type="boolean" default="false">Prevents editing and form submission.</prop>
|
|
8
30
|
<prop name="invalid" type="boolean" default="false">Exposes invalid state to assistive technology and styling.</prop>
|
|
9
31
|
<prop name="readonly" type="boolean" default="false">Allows selection without allowing edits.</prop>
|
|
10
32
|
<prop name="required" type="boolean" default="false">Marks the control as required for form validation.</prop>
|
|
11
|
-
<prop name="size" type="sm
|
|
33
|
+
<prop name="size" type="keyword" values="sm, md, lg" default="md"
|
|
12
34
|
>Height, padding, and type size, matching Button's sizes so a field and a button of one size share a row. sm is the small control height (2rem by default)
|
|
13
35
|
with smaller text, for compact rows such as a table row or a filter bar; md is the standard control height; lg is taller with roomier padding. Under a
|
|
14
36
|
coarse pointer, sm grows to the 44px touch minimum and keeps body-size text. Change it after render through this option; the element's size property is
|
|
15
37
|
the native one.</prop>
|
|
16
38
|
</defs>
|
|
17
|
-
<input :value="value" :disabled="disabled" :readonly="readonly" :required="required" :aria-invalid="invalid">
|
|
39
|
+
<input from:type="type" from:value="value" from:disabled="disabled" from:readonly="readonly" from:required="required" from:aria-invalid="invalid">
|
|
18
40
|
<style>
|
|
19
41
|
/* This component's hooks style the element they are set on, and never a nested one. An Input
|
|
20
42
|
Group sets --_ui-default-input-* for the input inside it, below the input's own hooks. */
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
<template component="ui-list">
|
|
2
2
|
<defs>
|
|
3
|
-
<prop name="as" type="ul
|
|
4
|
-
<prop name="markers" type="none
|
|
5
|
-
|
|
3
|
+
<prop name="as" type="keyword" values="ul, ol" default="ul">The native list element. Use ol when item order matters; its native numbers are shown.</prop>
|
|
4
|
+
<prop name="markers" type="keyword" values="none, disc" default="none"
|
|
5
|
+
>Show disc bullets for a ul of native li elements. An ol always shows native numbers.</prop>
|
|
6
|
+
<prop name="layout" type="keyword" values="rows, grid" default="rows"
|
|
6
7
|
>How the items are laid out. Rows stack the items one per line, for a list read top to bottom. Grid sets them in as many columns as fit, each at least
|
|
7
8
|
--ui-list-min-item-width (14rem) wide, for card items such as pinned or featured entries.</prop>
|
|
8
|
-
<prop name="density" type="comfortable
|
|
9
|
+
<prop name="density" type="keyword" values="comfortable, compact" default="comfortable"
|
|
9
10
|
>How much room each item takes. comfortable is a full row, easy to point at, for lists of things to open; compact sets items close together with no row
|
|
10
11
|
padding, for a short list of facts inside other content, such as the features a plan includes.</prop>
|
|
11
12
|
</defs>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<template component="ui-list-item">
|
|
2
2
|
<defs>
|
|
3
|
-
<prop name="variant" type="row
|
|
3
|
+
<prop name="variant" type="keyword" values="row, card" default="row"
|
|
4
4
|
>How the item is drawn. A row is flat and takes a hover surface when it is a link, for items read down a list. A card sits on a raised, bordered surface,
|
|
5
5
|
for items set in a grid (a List with layout="grid"). Both have the same parts: leading, title, description, and trailing.</prop>
|
|
6
6
|
<prop name="current" type="boolean" default="false"
|
|
7
7
|
>Marks the item as the current one, such as the site you are in: it takes the selected surface and aria-current="true", which assistive technology
|
|
8
8
|
announces. Set it on one item at a time.</prop>
|
|
9
9
|
</defs>
|
|
10
|
-
<li :aria-current="current">
|
|
10
|
+
<li from:aria-current="current">
|
|
11
11
|
<span class="leading"><slot name="leading"></slot></span>
|
|
12
12
|
<span class="content">
|
|
13
13
|
<span class="title"><slot></slot></span>
|
|
@@ -15,15 +15,21 @@
|
|
|
15
15
|
<state name="active" type="integer" :value="-1"></state>
|
|
16
16
|
<state name="uid" type="string" :value="''"></state>
|
|
17
17
|
<state name="validationError" type="boolean" :value="false"></state>
|
|
18
|
-
<event name="change" type="object
|
|
18
|
+
<event name="change" type="object">
|
|
19
|
+
<prop name="value" required nullable type="string"></prop>
|
|
20
|
+
<prop name="values" required type="array">
|
|
21
|
+
<prop type="string"></prop>
|
|
22
|
+
</prop>
|
|
23
|
+
<prop name="trigger" required type="keyword" values="keyboard, pointer"></prop>
|
|
24
|
+
</event>
|
|
19
25
|
</defs>
|
|
20
26
|
<div
|
|
21
27
|
role="listbox"
|
|
22
|
-
:tabindex="{ true: '-1', false: '0' }[format('%s', disabled)]"
|
|
23
|
-
:aria-multiselectable="multiple"
|
|
24
|
-
:aria-disabled="disabled"
|
|
25
|
-
:aria-required="required"
|
|
26
|
-
:aria-invalid="invalid or validationError"
|
|
28
|
+
from:tabindex="{ true: '-1', false: '0' }[format('%s', disabled)]"
|
|
29
|
+
from:aria-multiselectable="multiple"
|
|
30
|
+
from:aria-disabled="disabled"
|
|
31
|
+
from:aria-required="required"
|
|
32
|
+
from:aria-invalid="invalid or validationError"
|
|
27
33
|
style:--_rows="rows"
|
|
28
34
|
>
|
|
29
35
|
<ui-scroll-area class="choices" $ref="choices">
|
|
@@ -34,28 +40,37 @@
|
|
|
34
40
|
class:active="choice.index = active"
|
|
35
41
|
role="option"
|
|
36
42
|
data-ui-choice-option
|
|
37
|
-
:data-multiple="multiple"
|
|
38
|
-
:id="format('%s-option-%s', uid, choice.index)"
|
|
39
|
-
:data-index="choice.index"
|
|
40
|
-
:aria-selected="choice.selected"
|
|
41
|
-
:aria-disabled="choice.disabled"
|
|
43
|
+
from:data-multiple="multiple"
|
|
44
|
+
from:id="format('%s-option-%s', uid, choice.index)"
|
|
45
|
+
from:data-index="choice.index"
|
|
46
|
+
from:aria-selected="choice.selected"
|
|
47
|
+
from:aria-disabled="choice.disabled"
|
|
42
48
|
>
|
|
43
49
|
<span $value="choice.label"></span>
|
|
44
50
|
</div>
|
|
45
51
|
</ui-scroll-area>
|
|
46
|
-
<select
|
|
52
|
+
<select
|
|
53
|
+
class="fallback"
|
|
54
|
+
$ref="options"
|
|
55
|
+
from:size="rows"
|
|
56
|
+
from:multiple="multiple"
|
|
57
|
+
from:disabled="disabled"
|
|
58
|
+
from:required="required"
|
|
59
|
+
from:name="name"
|
|
60
|
+
aria-label="Choices"
|
|
61
|
+
>
|
|
47
62
|
<slot></slot>
|
|
48
63
|
</select>
|
|
49
64
|
<template $if="name and not disabled">
|
|
50
|
-
<input $each="selected of selection" type="hidden" :name="name" :value="selected">
|
|
65
|
+
<input $each="selected of selection" type="hidden" from:name="name" from:value="selected">
|
|
51
66
|
</template>
|
|
52
67
|
<input
|
|
53
68
|
class="validity"
|
|
54
69
|
$ref="validity"
|
|
55
70
|
type="checkbox"
|
|
56
|
-
:required="required and not hasSelection and not disabled"
|
|
57
|
-
:checked="hasSelection"
|
|
58
|
-
:disabled="disabled"
|
|
71
|
+
from:required="required and not hasSelection and not disabled"
|
|
72
|
+
from:checked="hasSelection"
|
|
73
|
+
from:disabled="disabled"
|
|
59
74
|
aria-hidden="true"
|
|
60
75
|
tabindex="-1"
|
|
61
76
|
>
|