@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
|
@@ -1,17 +1,30 @@
|
|
|
1
1
|
<template component="ui-menu" controller="./ui-menu.js">
|
|
2
2
|
<defs>
|
|
3
|
-
<prop name="density" type="comfortable
|
|
3
|
+
<prop name="density" type="keyword" values="comfortable, compact" default="comfortable"
|
|
4
|
+
>Compact trades padding and type size for rows that fit more on screen.</prop>
|
|
4
5
|
<prop name="open" type="boolean" default="false">Whether the menu is open initially or when set externally.</prop>
|
|
5
6
|
<prop name="inline" type="boolean" default="false">Displays the menu in the page flow without an overlay or trigger, for an embedded list of actions.</prop>
|
|
6
7
|
<prop name="for" type="string" default="">ID of the control that toggles and anchors the menu.</prop>
|
|
7
8
|
<prop name="placement" type="string" default="bottom-start">Positions an associated menu relative to its trigger.</prop>
|
|
8
9
|
<state name="internalOpen" :value="false"></state>
|
|
9
|
-
<event name="select" type="object
|
|
10
|
-
|
|
10
|
+
<event name="select" type="object">
|
|
11
|
+
<prop name="value" required type="string"></prop>
|
|
12
|
+
<prop name="checked" type="boolean"></prop>
|
|
13
|
+
<prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
|
|
14
|
+
</event>
|
|
15
|
+
<event name="open" type="object">
|
|
16
|
+
<prop name="open" required type="boolean"></prop>
|
|
17
|
+
<prop name="reason" required type="keyword" values="action, programmatic"></prop>
|
|
18
|
+
<prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
|
|
19
|
+
</event>
|
|
11
20
|
<event
|
|
12
21
|
name="close"
|
|
13
|
-
type="object
|
|
14
|
-
|
|
22
|
+
type="object"
|
|
23
|
+
>
|
|
24
|
+
<prop name="open" required type="boolean"></prop>
|
|
25
|
+
<prop name="reason" required type="keyword" values="action, programmatic, light-dismiss, escape"></prop>
|
|
26
|
+
<prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
|
|
27
|
+
</event>
|
|
15
28
|
</defs>
|
|
16
29
|
<div role="menu" aria-orientation="vertical"><div class="surface"><slot></slot></div></div>
|
|
17
30
|
<style>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<defs>
|
|
3
3
|
<prop name="label" type="string" default="">Visible heading and accessible name for this group of menu items.</prop>
|
|
4
4
|
</defs>
|
|
5
|
-
<div role="group" :aria-label="label">
|
|
5
|
+
<div role="group" from:aria-label="label">
|
|
6
6
|
<div class="heading" $if="label" $value="label"></div>
|
|
7
7
|
<slot></slot>
|
|
8
8
|
</div>
|
|
@@ -7,31 +7,36 @@
|
|
|
7
7
|
>The value the enclosing menu reports in its select event when this item is chosen. Give each item a distinct value so one handler can tell them
|
|
8
8
|
apart.</prop>
|
|
9
9
|
<prop name="href" type="string" default="">A destination makes an action item a real link, with native navigation and link context actions.</prop>
|
|
10
|
-
<prop name="type" type="action
|
|
10
|
+
<prop name="type" type="keyword" values="action, checkbox, radio" default="action"
|
|
11
11
|
>An action closes its menu; a checkbox toggles, and a radio chooses one item within its nearest Menu Group. Checkable items keep the menu open.</prop>
|
|
12
12
|
<prop name="checked" type="boolean" default="false">Initial or externally controlled checked state of a checkbox or radio item.</prop>
|
|
13
13
|
<state name="internalChecked" :value="false"></state>
|
|
14
|
-
<event name="change" type="object
|
|
14
|
+
<event name="change" type="object">
|
|
15
|
+
<prop name="checked" required type="boolean"></prop>
|
|
16
|
+
<prop name="value" required type="string"></prop>
|
|
17
|
+
<prop name="type" required type="keyword" values="checkbox, radio"></prop>
|
|
18
|
+
<prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
|
|
19
|
+
</event>
|
|
15
20
|
</defs>
|
|
16
21
|
<template $match>
|
|
17
22
|
<a
|
|
18
23
|
$when="href and type = 'action'"
|
|
19
24
|
role="menuitem"
|
|
20
25
|
tabindex="-1"
|
|
21
|
-
:aria-disabled="disabled"
|
|
22
|
-
:data-value="value"
|
|
23
|
-
:href="{ true: null, false: href }[format('%s', disabled)]"
|
|
26
|
+
from:aria-disabled="disabled"
|
|
27
|
+
from:data-value="value"
|
|
28
|
+
from:href="{ true: null, false: href }[format('%s', disabled)]"
|
|
24
29
|
>
|
|
25
30
|
<span class="label"><slot></slot></span>
|
|
26
31
|
<span class="shortcut" aria-hidden="true"><slot name="shortcut"></slot></span>
|
|
27
32
|
</a>
|
|
28
33
|
<div
|
|
29
34
|
$else
|
|
30
|
-
:role="{ action: 'menuitem', checkbox: 'menuitemcheckbox', radio: 'menuitemradio' }[type]"
|
|
31
|
-
:aria-checked="{ action: null, checkbox: internalChecked, radio: internalChecked }[type]"
|
|
35
|
+
from:role="{ action: 'menuitem', checkbox: 'menuitemcheckbox', radio: 'menuitemradio' }[type]"
|
|
36
|
+
from:aria-checked="{ action: null, checkbox: internalChecked, radio: internalChecked }[type]"
|
|
32
37
|
tabindex="-1"
|
|
33
|
-
:aria-disabled="disabled"
|
|
34
|
-
:data-value="value"
|
|
38
|
+
from:aria-disabled="disabled"
|
|
39
|
+
from:data-value="value"
|
|
35
40
|
>
|
|
36
41
|
<span class="indicator" aria-hidden="true">
|
|
37
42
|
<ui-icon $if="type = 'checkbox' and internalChecked" name="check"></ui-icon>
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
<prop name="max" type="number" default="1"
|
|
6
6
|
>The value of a full bar, as on a native meter: 1 for a fraction, or the whole amount (a total, a count of items) with value as the part of it. Must be
|
|
7
7
|
above 0; otherwise the bar is empty.</prop>
|
|
8
|
-
<prop name="tone" type="neutral
|
|
8
|
+
<prop name="tone" type="keyword" values="neutral, accent, info, success, warning, danger" default="neutral"
|
|
9
9
|
>Which colour the filled part speaks in, as on Badge: neutral is a quiet grey, accent draws the eye, and info, success, warning, and danger mark a state
|
|
10
10
|
(such as nothing yet, partial, complete, or needs attention). Colour alone says nothing to assistive technology or in forced colours, so say the state in
|
|
11
11
|
valueText or in text beside the meter too.</prop>
|
|
12
|
-
<prop name="size" type="sm
|
|
12
|
+
<prop name="size" type="keyword" values="sm, md" default="md"
|
|
13
13
|
>Thickness. sm is a thin bar that sits in a line of text, such as a table cell beside an amount; md stands on its own.</prop>
|
|
14
14
|
<prop name="segments" type="number" default="0"
|
|
15
15
|
>How many equal segments to draw the bar as, from 2 to 12, for a count of steps: set max to the same number and value to the steps done, so whole segments
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
<span
|
|
29
29
|
role="meter"
|
|
30
30
|
aria-valuemin="0"
|
|
31
|
-
:aria-valuemax="max"
|
|
32
|
-
:aria-valuenow="amount"
|
|
33
|
-
:aria-valuetext="{ true: valueText, false: format('%s%', whole) }[format('%s', valueText != '')]"
|
|
34
|
-
:aria-label="{ true: label, false: null }[format('%s', label != '')]"
|
|
35
|
-
:data-ui-meter-segments="{ true: segments, false: null }[format('%s', segments > 1)]"
|
|
31
|
+
from:aria-valuemax="max"
|
|
32
|
+
from:aria-valuenow="amount"
|
|
33
|
+
from:aria-valuetext="{ true: valueText, false: format('%s%', whole) }[format('%s', valueText != '')]"
|
|
34
|
+
from:aria-label="{ true: label, false: null }[format('%s', label != '')]"
|
|
35
|
+
from:data-ui-meter-segments="{ true: segments, false: null }[format('%s', segments > 1)]"
|
|
36
36
|
>
|
|
37
37
|
<span class="fill" style:inline-size="format('%s%', percent)"></span>
|
|
38
38
|
</span>
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
<template component="ui-nav-item">
|
|
2
2
|
<defs>
|
|
3
|
-
<prop name="current" type="
|
|
3
|
+
<prop name="current" type="keyword" values="true, false, page, step, location" default="false"
|
|
4
4
|
>Marks the item as where you are: it takes the selected surface, a stronger label, and a bar on its start edge, and states aria-current, which assistive
|
|
5
|
-
technology announces. true means the current page (aria-current="page"); step marks the current step of a process, and location the current place in
|
|
6
|
-
set, such as a section of a record. Set it on one item at a time.</prop>
|
|
5
|
+
technology announces. "true" means the current page (aria-current="page"); "step" marks the current step of a process, and "location" the current place in
|
|
6
|
+
a set, such as a section of a record. Set it on one item at a time.</prop>
|
|
7
7
|
<prop name="href" type="string"
|
|
8
8
|
>The link's destination. Pair it with as="a" so the item renders as a real link: a router, a modified click, and "open in new tab" all work. Without it the
|
|
9
9
|
item is a button, for switching views inside the app.</prop>
|
|
10
10
|
<prop name="target" type="string">Where a link opens, as on a native link. Only meaningful with as="a".</prop>
|
|
11
11
|
<prop name="rel" type="string">The link's relationship to its destination, as on a native link. Only meaningful with as="a".</prop>
|
|
12
|
-
<prop name="as" type="button
|
|
12
|
+
<prop name="as" type="keyword" values="button, a" default="button"
|
|
13
|
+
>The native element the item renders: a button, or a link (a) that navigates to href.</prop>
|
|
13
14
|
<!-- A button or a link, as Button does. A button never submits a form; a link carries no type. The
|
|
14
15
|
language has no conditional expression, so a table keyed by a value's text picks each attribute,
|
|
15
16
|
and null leaves it off. -->
|
|
@@ -17,10 +18,10 @@
|
|
|
17
18
|
<template $match>
|
|
18
19
|
<a
|
|
19
20
|
$when="as = 'a'"
|
|
20
|
-
:href="href"
|
|
21
|
-
:target="target"
|
|
22
|
-
:rel="rel"
|
|
23
|
-
:aria-current="{ true: 'page', false: null, page: 'page', step: 'step', location: 'location' }[format('%s', current)]"
|
|
21
|
+
from:href="href"
|
|
22
|
+
from:target="target"
|
|
23
|
+
from:rel="rel"
|
|
24
|
+
from:aria-current="{ true: 'page', false: null, page: 'page', step: 'step', location: 'location' }[format('%s', current)]"
|
|
24
25
|
>
|
|
25
26
|
<span class="indicator" aria-hidden="true"></span>
|
|
26
27
|
<span class="leading"><slot name="leading"></slot></span>
|
|
@@ -29,7 +30,7 @@
|
|
|
29
30
|
<span class="description"><slot name="description"></slot></span>
|
|
30
31
|
</span>
|
|
31
32
|
</a>
|
|
32
|
-
<button $else type="button" :aria-current="{ true: 'page', false: null, page: 'page', step: 'step', location: 'location' }[format('%s', current)]">
|
|
33
|
+
<button $else type="button" from:aria-current="{ true: 'page', false: null, page: 'page', step: 'step', location: 'location' }[format('%s', current)]">
|
|
33
34
|
<span class="indicator" aria-hidden="true"></span>
|
|
34
35
|
<span class="leading"><slot name="leading"></slot></span>
|
|
35
36
|
<span class="content">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template component="ui-page-header">
|
|
2
2
|
<defs>
|
|
3
|
-
<prop name="align" type="start
|
|
3
|
+
<prop name="align" type="keyword" values="start, center" default="start"
|
|
4
4
|
>Where the header sits. start runs along the page's start edge with actions at the end; center stacks everything centred, for a standalone card such as
|
|
5
5
|
sign-in.</prop>
|
|
6
6
|
</defs>
|
|
@@ -4,18 +4,27 @@
|
|
|
4
4
|
<prop name="for" type="string" default="">ID of the control that toggles and anchors the popover.</prop>
|
|
5
5
|
<prop
|
|
6
6
|
name="placement"
|
|
7
|
-
type="
|
|
7
|
+
type="keyword"
|
|
8
|
+
values="top, top-start, top-end, bottom, bottom-start, bottom-end, left, left-start, left-end, right, right-start, right-end"
|
|
8
9
|
default="bottom-start"
|
|
9
10
|
>Positions the surface around its trigger. Start and end on top or bottom follow the writing direction.</prop>
|
|
10
11
|
<state name="internalOpen" :value="false"></state>
|
|
11
12
|
<event
|
|
12
13
|
name="open"
|
|
13
|
-
type="object
|
|
14
|
-
|
|
14
|
+
type="object"
|
|
15
|
+
>
|
|
16
|
+
<prop name="open" required type="boolean"></prop>
|
|
17
|
+
<prop name="reason" required type="keyword" values="action, programmatic, light-dismiss, escape"></prop>
|
|
18
|
+
<prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
|
|
19
|
+
</event>
|
|
15
20
|
<event
|
|
16
21
|
name="close"
|
|
17
|
-
type="object
|
|
18
|
-
|
|
22
|
+
type="object"
|
|
23
|
+
>
|
|
24
|
+
<prop name="open" required type="boolean"></prop>
|
|
25
|
+
<prop name="reason" required type="keyword" values="action, programmatic, light-dismiss, escape"></prop>
|
|
26
|
+
<prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
|
|
27
|
+
</event>
|
|
19
28
|
</defs>
|
|
20
29
|
<span><div class="surface"><slot></slot></div></span>
|
|
21
30
|
<style>
|
|
@@ -12,15 +12,19 @@
|
|
|
12
12
|
<prop name="value" type="string" default="on"
|
|
13
13
|
>The value this radio stands for: submitted with a form, reported in its change event, and matched against a ui-radio-group's value to decide which radio is
|
|
14
14
|
checked.</prop>
|
|
15
|
-
<prop name="size" type="sm
|
|
15
|
+
<prop name="size" type="keyword" values="sm, md, lg" default="md"
|
|
16
16
|
>Aligns the radio with fields and buttons of the same size. It keeps its box size; the label takes that size's field type size and its first line centres in
|
|
17
17
|
that control height (sm 2rem, lg 3rem by default), so in a row of inputs, selects, and buttons of one size it shares their height and their text baseline.
|
|
18
18
|
Under a coarse pointer an sm row grows to the 44px touch minimum, as they do. md is the standard layout.</prop>
|
|
19
19
|
<state name="internalChecked" :value="false"></state>
|
|
20
|
-
<event name="change" type="object
|
|
20
|
+
<event name="change" type="object">
|
|
21
|
+
<prop name="checked" required type="boolean"></prop>
|
|
22
|
+
<prop name="value" required type="string"></prop>
|
|
23
|
+
<prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
|
|
24
|
+
</event>
|
|
21
25
|
</defs>
|
|
22
26
|
<label>
|
|
23
|
-
<input type="radio" $ref="input" .checked="internalChecked" :disabled="disabled" :required="required" :value="value" :name="name">
|
|
27
|
+
<input type="radio" $ref="input" .checked="internalChecked" from:disabled="disabled" from:required="required" from:value="value" from:name="name">
|
|
24
28
|
<span class="text">
|
|
25
29
|
<span class="label"><slot></slot></span>
|
|
26
30
|
<span class="description" $ref="description" aria-hidden="true"><slot name="description"></slot></span>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
the radios together, so set it when the choice submits with a form.</prop>
|
|
9
9
|
<prop name="label" type="string" default="Options"
|
|
10
10
|
>The group's legend, shown above the radios and announced as the group's name. Phrase it as the question the radios answer.</prop>
|
|
11
|
-
<prop name="orientation" type="horizontal
|
|
11
|
+
<prop name="orientation" type="keyword" values="horizontal, vertical" default="horizontal"
|
|
12
12
|
>horizontal lays the radios out in a row; vertical stacks them in a column. The arrow keys move between radios either way.</prop>
|
|
13
13
|
<prop name="disabled" type="boolean" default="false"
|
|
14
14
|
>Disables every radio in the group through the native fieldset, so no choice can be made and the group submits nothing with its form. A radio disabled on
|
|
@@ -19,10 +19,18 @@
|
|
|
19
19
|
<prop name="invalid" type="boolean" default="false"
|
|
20
20
|
>Exposes an externally validated error on the group and styles its legend with the field danger colour.</prop>
|
|
21
21
|
<state name="internalValue" :value="''"></state>
|
|
22
|
-
<event name="select" type="object
|
|
23
|
-
|
|
22
|
+
<event name="select" type="object">
|
|
23
|
+
<prop name="value" required type="string"></prop>
|
|
24
|
+
<prop name="previousValue" required type="string"></prop>
|
|
25
|
+
<prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
|
|
26
|
+
</event>
|
|
27
|
+
<event name="change" type="object">
|
|
28
|
+
<prop name="checked" required type="boolean"></prop>
|
|
29
|
+
<prop name="value" required type="string"></prop>
|
|
30
|
+
<prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
|
|
31
|
+
</event>
|
|
24
32
|
</defs>
|
|
25
|
-
<fieldset role="radiogroup" :aria-required="required" :aria-invalid="invalid" :disabled="disabled">
|
|
33
|
+
<fieldset role="radiogroup" from:aria-required="required" from:aria-invalid="invalid" from:disabled="disabled">
|
|
26
34
|
<legend><template $value="label"></template></legend>
|
|
27
35
|
<slot></slot>
|
|
28
36
|
</fieldset>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<template component="ui-reel">
|
|
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 items, on the spacing scale: xs is 0.5rem, s 0.75rem, m 1rem (also the default), l 1.5rem, and xl 2rem. The --ui-reel-gap custom property,
|
|
5
5
|
set on the reel itself, overrides it; set on an ancestor, it does nothing.</prop>
|
|
6
|
-
<prop name="itemWidth" type="sm
|
|
6
|
+
<prop name="itemWidth" type="keyword" values="sm, md, lg"
|
|
7
7
|
>A fixed width for every item: sm is 12rem, md is 16rem, and lg is 20rem. Unset, each item keeps its content's width. Items never shrink to fit, so the reel
|
|
8
8
|
scrolls sideways once they overflow.</prop>
|
|
9
|
-
<prop name="snap" type="start
|
|
9
|
+
<prop name="snap" type="keyword" values="start, center"
|
|
10
10
|
>Snaps scrolling to items: start comes to rest with an item's start edge at the reel's start, and center with an item centred in the reel. Unset, the reel
|
|
11
11
|
scrolls freely.</prop>
|
|
12
12
|
</defs>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template component="ui-scroll-area" controller="./ui-scroll-area.js">
|
|
2
2
|
<defs>
|
|
3
|
-
<prop name="orientation" type="vertical
|
|
3
|
+
<prop name="orientation" type="keyword" values="vertical, horizontal" default="vertical"
|
|
4
4
|
>The direction the content scrolls. Vertical scrolls up and down and clips sideways overflow; horizontal scrolls sideways and clips vertical
|
|
5
5
|
overflow.</prop>
|
|
6
6
|
</defs>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
>Marks the row as the current result: it gets the hover surface and aria-current="true", which assistive technology announces as current. Set it on one row
|
|
7
7
|
at a time, such as the result the arrow keys have moved to.</prop>
|
|
8
8
|
</defs>
|
|
9
|
-
<button type="button" :disabled="disabled" :aria-current="selected">
|
|
9
|
+
<button type="button" from:disabled="disabled" from:aria-current="selected">
|
|
10
10
|
<span class="leading"><slot name="leading"></slot></span>
|
|
11
11
|
<span class="content">
|
|
12
12
|
<span class="title"><slot name="title"></slot></span>
|
|
@@ -7,11 +7,15 @@
|
|
|
7
7
|
<state name="internalOpen" :value="false"></state>
|
|
8
8
|
<event
|
|
9
9
|
name="close"
|
|
10
|
-
type="object
|
|
11
|
-
|
|
10
|
+
type="object"
|
|
11
|
+
>
|
|
12
|
+
<prop name="open" required type="boolean"></prop>
|
|
13
|
+
<prop name="reason" required type="keyword" values="action, programmatic, light-dismiss, escape"></prop>
|
|
14
|
+
<prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
|
|
15
|
+
</event>
|
|
12
16
|
</defs>
|
|
13
17
|
<div>
|
|
14
|
-
<dialog $ref="dialog" :aria-label="label">
|
|
18
|
+
<dialog $ref="dialog" from:aria-label="label">
|
|
15
19
|
<div class="panel">
|
|
16
20
|
<div class="search"><slot name="search"></slot></div>
|
|
17
21
|
<div class="status"><slot name="status"></slot></div>
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
<defs>
|
|
3
3
|
<prop name="heading" type="string" default=""
|
|
4
4
|
>The section's heading, an h2. Leave it empty for a section with no visible heading, and name the section with aria-label.</prop>
|
|
5
|
-
<prop name="variant" type="plain
|
|
5
|
+
<prop name="variant" type="keyword" values="plain, card, divided" default="plain"
|
|
6
6
|
>How the section is set apart. plain is a heading and content in the flow of the page; card sits it on a bordered surface, for a settings group; divided
|
|
7
7
|
rules it off from the section before it, for a long form.</prop>
|
|
8
|
-
<prop name="tone" type="neutral
|
|
8
|
+
<prop name="tone" type="keyword" values="neutral, danger" default="neutral"
|
|
9
9
|
>danger marks a section of destructive actions (a danger zone): its heading and a card's border take the danger colour.</prop>
|
|
10
10
|
</defs>
|
|
11
11
|
<section>
|
|
12
12
|
<span class="head">
|
|
13
13
|
<span class="copy">
|
|
14
|
-
<h2 class="heading" :hidden="not heading"><template $value="heading"></template></h2>
|
|
14
|
+
<h2 class="heading" from:hidden="not heading"><template $value="heading"></template></h2>
|
|
15
15
|
<span class="description"><slot name="description"></slot></span>
|
|
16
16
|
</span>
|
|
17
17
|
<span class="actions"><slot name="actions"></slot></span>
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
<prop name="disabled" type="boolean" default="false">Prevents selection and form submission.</prop>
|
|
7
7
|
<prop name="invalid" type="boolean" default="false">Exposes invalid state to assistive technology and styling.</prop>
|
|
8
8
|
<prop name="required" type="boolean" default="false">Requires a non-empty option for form validation.</prop>
|
|
9
|
-
<prop name="size" type="sm
|
|
9
|
+
<prop name="size" type="keyword" values="sm, md, lg" default="md"
|
|
10
10
|
>Height, padding, chevron, 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
|
|
11
11
|
default) with smaller text and a smaller chevron, for compact rows such as a table row or a filter bar; md is the standard control height; lg is taller
|
|
12
12
|
with roomier padding. Under a coarse pointer, sm grows to the 44px touch minimum and keeps body-size text. It is not the native size attribute: a select
|
|
13
13
|
is always a single-choice dropdown. Change it after render through this option; the element's size property is the native one.</prop>
|
|
14
14
|
</defs>
|
|
15
|
-
<select :disabled="disabled" :required="required" :aria-invalid="invalid"><slot></slot></select>
|
|
15
|
+
<select from:disabled="disabled" from:required="required" from:aria-invalid="invalid"><slot></slot></select>
|
|
16
16
|
<style>
|
|
17
17
|
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
18
18
|
@property --ui-select-border {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template component="ui-separator">
|
|
2
2
|
<defs>
|
|
3
|
-
<prop name="orientation" type="horizontal
|
|
3
|
+
<prop name="orientation" type="keyword" values="horizontal, vertical" default="horizontal"
|
|
4
4
|
>Whether the separator divides stacked content (horizontal) or inline content (vertical).</prop>
|
|
5
5
|
</defs>
|
|
6
|
-
<hr :aria-orientation="orientation">
|
|
6
|
+
<hr from:aria-orientation="orientation">
|
|
7
7
|
<style>
|
|
8
8
|
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
9
9
|
@property --ui-separator-color {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template component="ui-sidebar" controller="./ui-sidebar.js">
|
|
2
2
|
<defs>
|
|
3
|
-
<prop name="side" type="start
|
|
3
|
+
<prop name="side" type="keyword" values="start, end" default="start">The edge the sidebar sits on. The page places it beside its main content.</prop>
|
|
4
4
|
<prop name="width" type="number" default="0">Docked width in pixels. 0 uses --ui-sidebar-width (280px by default); dragging the handle updates it.</prop>
|
|
5
5
|
<prop name="minWidth" type="number" default="200">The narrowest width the resize handle allows, in pixels.</prop>
|
|
6
6
|
<prop name="maxWidth" type="number" default="480">The widest width the resize handle allows, in pixels.</prop>
|
|
@@ -8,12 +8,19 @@
|
|
|
8
8
|
<prop name="resizeStep" type="number" default="16">Arrow-key resize step in pixels.</prop>
|
|
9
9
|
<prop name="resizeLabel" type="string" default="Resize sidebar">Accessible name of the resize handle.</prop>
|
|
10
10
|
<prop name="collapsed" type="boolean" default="false">Whether the docked sidebar is collapsed.</prop>
|
|
11
|
-
<prop name="breakpoint" type="sm
|
|
11
|
+
<prop name="breakpoint" type="keyword" values="sm, md, lg" default="md"
|
|
12
12
|
>Below this viewport width (40rem, 48rem, 64rem) the sidebar becomes an off-canvas drawer, closed until toggled.</prop>
|
|
13
13
|
<state name="internalCollapsed" :value="false"></state>
|
|
14
14
|
<state name="drawer" :value="false"></state>
|
|
15
|
-
<event name="resize" type="object
|
|
16
|
-
|
|
15
|
+
<event name="resize" type="object">
|
|
16
|
+
<prop name="width" required type="number"></prop>
|
|
17
|
+
<prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
|
|
18
|
+
</event>
|
|
19
|
+
<event name="toggle" type="object">
|
|
20
|
+
<prop name="open" required type="boolean"></prop>
|
|
21
|
+
<prop name="mode" required type="keyword" values="docked, drawer"></prop>
|
|
22
|
+
<prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
|
|
23
|
+
</event>
|
|
17
24
|
</defs>
|
|
18
25
|
<aside>
|
|
19
26
|
<div class="content"><slot></slot></div>
|
|
@@ -24,8 +31,8 @@
|
|
|
24
31
|
aria-orientation="vertical"
|
|
25
32
|
tabindex="0"
|
|
26
33
|
data-ui-affordance="resize"
|
|
27
|
-
:aria-label="resizeLabel"
|
|
28
|
-
:hidden="not resizable or drawer or internalCollapsed"
|
|
34
|
+
from:aria-label="resizeLabel"
|
|
35
|
+
from:hidden="not resizable or drawer or internalCollapsed"
|
|
29
36
|
>
|
|
30
37
|
<span class="guide" aria-hidden="true"></span>
|
|
31
38
|
</div>
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
<prop name="label" type="string" default=""
|
|
4
4
|
>What is loading, for assistive technology ("Loading pages"). With a label the spinner is a status that is announced; without one it is decoration, for a
|
|
5
5
|
spinner beside visible text that already says so.</prop>
|
|
6
|
-
<prop name="size" type="sm
|
|
6
|
+
<prop name="size" type="keyword" values="sm, md" default="md">sm fits inside a button or a line of small text; md sits beside body text.</prop>
|
|
7
7
|
</defs>
|
|
8
8
|
<span
|
|
9
9
|
class="ring"
|
|
10
|
-
:role="{ true: 'status', false: null }[format('%s', label != '')]"
|
|
11
|
-
:aria-label="{ true: label, false: null }[format('%s', label != '')]"
|
|
12
|
-
:aria-live="{ true: 'polite', false: null }[format('%s', label != '')]"
|
|
13
|
-
:aria-hidden="{ true: null, false: 'true' }[format('%s', label != '')]"
|
|
10
|
+
from:role="{ true: 'status', false: null }[format('%s', label != '')]"
|
|
11
|
+
from:aria-label="{ true: label, false: null }[format('%s', label != '')]"
|
|
12
|
+
from:aria-live="{ true: 'polite', false: null }[format('%s', label != '')]"
|
|
13
|
+
from:aria-hidden="{ true: null, false: 'true' }[format('%s', label != '')]"
|
|
14
14
|
>
|
|
15
15
|
<svg viewBox="0 0 50 50" fill="none" aria-hidden="true" focusable="false">
|
|
16
16
|
<circle class="track" cx="25" cy="25" r="20"></circle>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<template component="ui-stack">
|
|
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 items, on the spacing scale: xs is 0.5rem, s 0.75rem, m 1rem (also the default), l 1.5rem, and xl 2rem. The --ui-stack-gap custom property,
|
|
5
5
|
set on the stack itself, overrides it; set on an ancestor, it does nothing.</prop>
|
|
6
|
-
<prop name="align" type="start
|
|
6
|
+
<prop name="align" type="keyword" values="start, center, end, stretch"
|
|
7
7
|
>How items sit across the stack: stretch (the default) makes each fill the stack's width; start, center, and end keep each at its own width, against the
|
|
8
8
|
start, in the middle, or against the end.</prop>
|
|
9
|
-
<prop name="justify" type="start
|
|
9
|
+
<prop name="justify" type="keyword" values="start, center, end, between"
|
|
10
10
|
>Where items sit along a stack that is taller than its content: start (the default), center, end, or between, which spreads the spare space between items.
|
|
11
11
|
It has no effect unless the stack is given a height or stretched to one.</prop>
|
|
12
12
|
</defs>
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
<template component="ui-status-message">
|
|
2
2
|
<defs>
|
|
3
|
-
<prop name="kind" type="empty
|
|
3
|
+
<prop name="kind" type="keyword" values="empty, loading, error" default="empty"
|
|
4
4
|
>What the view is saying. empty: there is nothing here yet (announced politely); loading: it is on its way, with a spinner (announced politely); error: it
|
|
5
5
|
could not be shown, in the danger tone (announced at once).</prop>
|
|
6
6
|
<prop name="heading" type="string" default="">A short heading above the message, such as "No pages yet". Optional.</prop>
|
|
7
|
-
<prop name="layout" type="inline
|
|
7
|
+
<prop name="layout" type="keyword" values="inline, panel, fill" default="inline"
|
|
8
8
|
>Where it sits. inline takes its place in the view's flow; panel sits it on a dashed surface, for an empty area in a page; fill centres it in all the space
|
|
9
9
|
it is given, for a whole view that is loading or failed.</prop>
|
|
10
10
|
</defs>
|
|
11
|
-
<div :role="{ true: 'alert', false: 'status' }[format('%s', kind = 'error')]">
|
|
12
|
-
<ui-spinner size="sm" :hidden="kind != 'loading'"></ui-spinner>
|
|
11
|
+
<div from:role="{ true: 'alert', false: 'status' }[format('%s', kind = 'error')]">
|
|
12
|
+
<ui-spinner size="sm" from:hidden="kind != 'loading'"></ui-spinner>
|
|
13
13
|
<span class="copy">
|
|
14
|
-
<strong class="heading" :hidden="not heading"><template $value="heading"></template></strong>
|
|
14
|
+
<strong class="heading" from:hidden="not heading"><template $value="heading"></template></strong>
|
|
15
15
|
<span class="message"><slot></slot></span>
|
|
16
16
|
</span>
|
|
17
17
|
<span class="action"><slot name="action"></slot></span>
|
|
@@ -9,15 +9,28 @@
|
|
|
9
9
|
<prop name="value" type="string" default="on"
|
|
10
10
|
>The value a form submits under name while the switch is on, also reported in the change event's detail so one handler can tell switches apart. on by
|
|
11
11
|
default, as on a native checkbox.</prop>
|
|
12
|
-
<prop name="size" type="sm
|
|
12
|
+
<prop name="size" type="keyword" values="sm, md, lg" default="md"
|
|
13
13
|
>Aligns the switch with fields and buttons of the same size. It keeps its track size; the label takes that size's field type size and its first line centres
|
|
14
14
|
in that control height (sm 2rem, lg 3rem by default), so in a row of inputs, selects, and buttons of one size it shares their height and their text
|
|
15
15
|
baseline. Under a coarse pointer an sm row grows to the 44px touch minimum, as they do. md is the standard layout.</prop>
|
|
16
16
|
<state name="internalChecked" :value="false"></state>
|
|
17
|
-
<event name="change" type="object
|
|
17
|
+
<event name="change" type="object">
|
|
18
|
+
<prop name="checked" required type="boolean"></prop>
|
|
19
|
+
<prop name="value" required type="string"></prop>
|
|
20
|
+
<prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
|
|
21
|
+
</event>
|
|
18
22
|
</defs>
|
|
19
23
|
<label>
|
|
20
|
-
<input
|
|
24
|
+
<input
|
|
25
|
+
type="checkbox"
|
|
26
|
+
role="switch"
|
|
27
|
+
$ref="input"
|
|
28
|
+
.checked="internalChecked"
|
|
29
|
+
from:disabled="disabled"
|
|
30
|
+
from:required="required"
|
|
31
|
+
from:name="name"
|
|
32
|
+
from:value="value"
|
|
33
|
+
>
|
|
21
34
|
<span class="text">
|
|
22
35
|
<span class="label"><slot></slot></span>
|
|
23
36
|
<span class="description" $ref="description" aria-hidden="true"><slot name="description"></slot></span>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<template component="ui-switcher" controller="./ui-switcher.js">
|
|
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 items, on the spacing scale: xs is 0.5rem, s 0.75rem, m 1rem (also the default), l 1.5rem, and xl 2rem. The --ui-switcher-gap custom
|
|
5
5
|
property, set on the switcher itself, overrides it; set on an ancestor, it does nothing.</prop>
|
|
6
|
-
<prop name="threshold" type="xs
|
|
6
|
+
<prop name="threshold" type="keyword" values="xs, sm, md, lg"
|
|
7
7
|
>The container width at which items switch between a row and a stack: wider, they all sit side by side; narrower, each takes the full width. xs is 20rem, sm
|
|
8
8
|
is 30rem (also the default), md is 45rem, and lg is 60rem.</prop>
|
|
9
|
-
<prop name="align" type="start
|
|
9
|
+
<prop name="align" type="keyword" values="start, center, end, stretch"
|
|
10
10
|
>How items line up while they sit in a row: stretch (the default) makes them equally tall; start, center, and end align their tops, middles, or
|
|
11
11
|
bottoms.</prop>
|
|
12
12
|
<prop name="limit" type="integer"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template component="ui-table" controller="./ui-table.js">
|
|
2
2
|
<defs>
|
|
3
|
-
<prop name="density" type="comfortable
|
|
3
|
+
<prop name="density" type="keyword" values="comfortable, compact" default="comfortable"
|
|
4
4
|
>How tall each row is. Every row is at least one control tall, so a row holding a control lines up with the rows around it. comfortable fits a control of
|
|
5
5
|
the standard height (2.5rem), for tables read or edited at a glance; compact fits a small one (2rem), such as a Checkbox or a Button with size="sm", for
|
|
6
6
|
long tables to scan.</prop>
|