@threadlabs/looma 0.37.0 → 0.37.2
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/icons.js +3 -0
- package/components/ui-button/ui-button.html +3 -12
- package/components/ui-card/ui-card.html +5 -5
- package/components/ui-checkbox/ui-checkbox.html +1 -7
- package/components/ui-color-picker/ui-color-picker.html +0 -9
- package/components/ui-combobox/ui-combobox.html +2 -14
- package/components/ui-cycle-button/ui-cycle-button.html +41 -0
- package/components/ui-cycle-button/ui-cycle-button.js +19 -0
- package/components/ui-dialog/ui-dialog.html +1 -1
- package/components/ui-icon/ui-icon.html +3 -0
- package/components/ui-icon-button/ui-icon-button.html +10 -14
- package/components/ui-input/ui-input.html +4 -19
- package/components/ui-input-group/ui-input-group.html +0 -10
- package/components/ui-menu/ui-menu.html +1 -1
- package/components/ui-popover/ui-popover.html +1 -1
- package/components/ui-radio/ui-radio.html +1 -7
- package/components/ui-select/ui-select.html +4 -10
- package/components/ui-switch/ui-switch.html +1 -7
- package/components/ui-tooltip/ui-tooltip.html +1 -1
- package/dist/index.js +47 -46
- package/docs/README.md +48 -7
- package/docs/card.html +2 -1
- package/docs/catalog.json +224 -49
- package/docs/customizer-render.mjs +7 -6
- package/docs/customizer.js +13 -19
- package/docs/theme.mjs +3 -3
- package/editor/icons.d.ts +3 -0
- package/editor/index.js +4 -1
- package/package.json +2 -2
- package/styles/ui-button.css +2 -14
- package/styles/ui-card.css +1 -1
- package/styles/ui-checkbox.css +0 -9
- package/styles/ui-color-picker.css +0 -13
- package/styles/ui-combobox.css +2 -28
- package/styles/ui-cycle-button.css +36 -0
- package/styles/ui-dialog.css +2 -2
- package/styles/ui-icon-button.css +6 -13
- package/styles/ui-input-group.css +0 -13
- package/styles/ui-input.css +2 -18
- package/styles/ui-menu.css +1 -1
- package/styles/ui-popover.css +1 -1
- package/styles/ui-radio.css +0 -9
- package/styles/ui-select.css +3 -10
- package/styles/ui-switch.css +0 -9
- package/styles/ui-tooltip.css +1 -1
- package/theme-system.css +14 -14
- package/tokens.css +2 -10
- package/vanilla/UiCycleButton.d.ts +29 -0
- package/vanilla/UiCycleButton.js +85 -0
- package/vanilla/UiIcon.js +1 -1
- package/vanilla/index.js +1 -0
- package/vue/UiButton.vue +2 -11
- package/vue/UiCard.vue +5 -3
- package/vue/UiCheckbox.vue +1 -7
- package/vue/UiColorPicker.vue +0 -9
- package/vue/UiCombobox.vue +3 -27
- package/vue/UiCycleButton.d.ts +69 -0
- package/vue/UiCycleButton.js +2 -0
- package/vue/UiCycleButton.vue +403 -0
- package/vue/UiDialog.vue +6 -2
- package/vue/UiIcon.vue +22 -0
- package/vue/UiIconButton.vue +2 -16
- package/vue/UiInput.vue +2 -23
- package/vue/UiInputGroup.vue +0 -10
- package/vue/UiMenu.vue +3 -1
- package/vue/UiPopover.vue +3 -1
- package/vue/UiRadio.vue +1 -7
- package/vue/UiSelect.vue +3 -9
- package/vue/UiSwitch.vue +1 -7
- package/vue/UiTooltip.vue +3 -1
- package/vue/chunks/UiAffordanceScope.js +1 -1
- package/vue/chunks/UiAvatar.js +1 -1
- package/vue/chunks/UiAvatarGroup.js +1 -1
- package/vue/chunks/UiBadge.js +1 -1
- package/vue/chunks/UiBreadcrumbItem.js +1 -1
- package/vue/chunks/UiBreadcrumbs.js +1 -1
- package/vue/chunks/UiButton.js +3 -3
- package/vue/chunks/UiCallout.js +1 -1
- package/vue/chunks/UiCard.js +4 -4
- package/vue/chunks/UiCheckbox.js +3 -3
- package/vue/chunks/UiCluster.js +1 -1
- package/vue/chunks/UiColorPicker.js +2 -2
- package/vue/chunks/UiCombobox.js +3 -3
- package/vue/chunks/UiContainer.js +1 -1
- package/vue/chunks/UiContextMenu.js +1 -1
- package/vue/chunks/UiCover.js +1 -1
- package/vue/chunks/UiCurveEditor.js +1 -1
- package/vue/chunks/UiCycleButton.js +352 -0
- package/vue/chunks/UiDescriptionItem.js +1 -1
- package/vue/chunks/UiDescriptionList.js +1 -1
- package/vue/chunks/UiDialog.js +2 -2
- package/vue/chunks/UiDisclosure.js +1 -1
- package/vue/chunks/UiEditable.js +1 -1
- package/vue/chunks/UiEditorBlockActions.js +1 -1
- package/vue/chunks/UiEditorChipEditor.js +1 -1
- package/vue/chunks/UiEditorCodeLanguage.js +1 -1
- package/vue/chunks/UiEditorFootnoteEditor.js +1 -1
- package/vue/chunks/UiEditorImageToolbar.js +1 -1
- package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
- package/vue/chunks/UiEditorLinkCard.js +1 -1
- package/vue/chunks/UiEditorLinkForm.js +1 -1
- package/vue/chunks/UiEditorMentionMenu.js +1 -1
- package/vue/chunks/UiEditorMentionMenuItem.js +1 -1
- package/vue/chunks/UiEditorSlashMenu.js +1 -1
- package/vue/chunks/UiEditorSlashMenuGroup.js +1 -1
- package/vue/chunks/UiEditorSlashMenuItem.js +1 -1
- package/vue/chunks/UiEditorSurface.js +1 -1
- package/vue/chunks/UiEditorTableContextMenu.js +1 -1
- package/vue/chunks/UiEditorTableOverlay.js +1 -1
- package/vue/chunks/UiEditorTableToolbar.js +1 -1
- package/vue/chunks/UiEditorToolbar.js +1 -1
- package/vue/chunks/UiFloatingActionButton.js +1 -1
- package/vue/chunks/UiFormField.js +1 -1
- package/vue/chunks/UiGrid.js +1 -1
- package/vue/chunks/UiIcon.js +70 -2
- package/vue/chunks/UiIconButton.js +4 -4
- package/vue/chunks/UiImage.js +1 -1
- package/vue/chunks/UiInput.js +3 -3
- package/vue/chunks/UiInputGroup.js +2 -2
- package/vue/chunks/UiLightEditor.js +1 -1
- package/vue/chunks/UiList.js +1 -1
- package/vue/chunks/UiListItem.js +1 -1
- package/vue/chunks/UiListbox.js +1 -1
- package/vue/chunks/UiMenu.js +2 -2
- package/vue/chunks/UiMenuGroup.js +1 -1
- package/vue/chunks/UiMenuItem.js +1 -1
- package/vue/chunks/UiMeter.js +1 -1
- package/vue/chunks/UiNavItem.js +1 -1
- package/vue/chunks/UiNumberInput.js +1 -1
- package/vue/chunks/UiPageHeader.js +1 -1
- package/vue/chunks/UiPopover.js +2 -2
- package/vue/chunks/UiRadio.js +3 -3
- package/vue/chunks/UiRadioGroup.js +1 -1
- package/vue/chunks/UiReel.js +1 -1
- package/vue/chunks/UiScrollArea.js +1 -1
- package/vue/chunks/UiSearchResultRow.js +1 -1
- package/vue/chunks/UiSearchShell.js +1 -1
- package/vue/chunks/UiSection.js +1 -1
- package/vue/chunks/UiSelect.js +3 -3
- package/vue/chunks/UiSeparator.js +1 -1
- package/vue/chunks/UiSidebar.js +1 -1
- package/vue/chunks/UiSlider.js +1 -1
- package/vue/chunks/UiSpinner.js +1 -1
- package/vue/chunks/UiStack.js +1 -1
- package/vue/chunks/UiStatusMessage.js +1 -1
- package/vue/chunks/UiSwatch.js +1 -1
- package/vue/chunks/UiSwitch.js +3 -3
- package/vue/chunks/UiSwitcher.js +1 -1
- package/vue/chunks/UiTable.js +1 -1
- package/vue/chunks/UiTabs.js +1 -1
- package/vue/chunks/UiText.js +1 -1
- package/vue/chunks/UiTextarea.js +1 -1
- package/vue/chunks/UiToast.js +1 -1
- package/vue/chunks/UiToastRegion.js +1 -1
- package/vue/chunks/UiTooltip.js +2 -2
- package/vue/chunks/UiTree.js +1 -1
- package/vue/chunks/UiTreeItem.js +1 -1
- package/vue/chunks/props.js +12 -1
- package/vue/components.css +74 -179
- package/vue/editor/index.js +68 -0
- package/vue/index.d.ts +1 -0
- package/vue/index.js +2 -1
package/docs/README.md
CHANGED
|
@@ -12,12 +12,12 @@ In a project with a `package.json`, install Looma and its documentation tools:
|
|
|
12
12
|
|
|
13
13
|
```sh
|
|
14
14
|
pnpm add @threadlabs/looma @nextwebwg/html-next@1.0.0-alpha.69
|
|
15
|
-
pnpm add -D markupress @nextwebwg/htmlkit@1.0.0-alpha.69 vite
|
|
15
|
+
pnpm add -D markupress@^0.9.0 @nextwebwg/htmlkit@1.0.0-alpha.69 vite
|
|
16
16
|
pnpm exec looma-docs init --title "The Fellowship"
|
|
17
17
|
pnpm exec looma-docs dev
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
Use the tool versions accepted by Looma's optional peer dependencies
|
|
20
|
+
Use the tool versions accepted by Looma's optional peer dependencies. Markupress 0.9 supplies the current documentation theme, including one appearance button that cycles Automatic, Light and Dark. Regular component imports do not load the documentation server. Vue and Tiptap remain optional; install them when your own authored documentation mounts the Vue editor.
|
|
21
21
|
|
|
22
22
|
Initialization creates three project-owned files:
|
|
23
23
|
|
|
@@ -29,6 +29,8 @@ Initialization creates three project-owned files:
|
|
|
29
29
|
|
|
30
30
|
Import `./looma.theme.css` after Looma's tokens and palette in your application's entry point. The initializer prints that import; it leaves existing application files intact. Commit the configuration, recipe and CSS. Add `.looma/` to your project's ignore file: it contains disposable generated documentation and tooling files.
|
|
31
31
|
|
|
32
|
+
The CSS includes generated derivation rules as well as values. Re-export or save your recipe after a Looma upgrade to adopt updated rules.
|
|
33
|
+
|
|
32
34
|
Open the local address printed by `dev`, choose **Customize**, and save your theme. Saving updates those shared theme files and rebuilds the documentation. Your application consumes the same CSS import. A static or public site instead offers CSS and recipe downloads.
|
|
33
35
|
|
|
34
36
|
```sh
|
|
@@ -38,11 +40,43 @@ pnpm exec looma-docs preview
|
|
|
38
40
|
|
|
39
41
|
`build` produces a static HTMLKit site in the configured output directory. `preview` serves that output without a repository writer. All commands accept `--root`; `dev` and `preview` also accept `--port`.
|
|
40
42
|
|
|
43
|
+
## Name your local design system
|
|
44
|
+
|
|
45
|
+
`looma-docs init --title "Fellowship UI"` sets your site's name. To rename an
|
|
46
|
+
existing local documentation site, edit `title` in `looma.docs.json`; the local
|
|
47
|
+
server rebuilds the header, generated landing page and page titles with that
|
|
48
|
+
name. You do not need to fork Looma or change component imports.
|
|
49
|
+
|
|
50
|
+
You can also supply your logo and navigation:
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"title": "Fellowship UI",
|
|
55
|
+
"logo": {
|
|
56
|
+
"light": "/assets/fellowship-light.svg",
|
|
57
|
+
"dark": "/assets/fellowship-dark.svg"
|
|
58
|
+
},
|
|
59
|
+
"nav": [{ "label": "Our application", "href": "https://example.com" }]
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Merge these fields into your existing configuration. Serve the logo URLs from
|
|
64
|
+
your application's public assets, such as `public/assets/`. Leave `logo` unset
|
|
65
|
+
for a text-only brand. To author your own introduction, set `content` to your
|
|
66
|
+
Markdown directory and add its `index.md`; it replaces the generated landing
|
|
67
|
+
page without replacing component reference pages.
|
|
68
|
+
|
|
69
|
+
The site name is yours. Component ownership stays accurate: built-in cards
|
|
70
|
+
still identify `@threadlabs/looma`, while your discovered components identify
|
|
71
|
+
the `packageName` you configure below. That is package attribution, not the
|
|
72
|
+
name of your design system. Shared CSS and recipe filenames are configured
|
|
73
|
+
under `theme`; changing a site title does not require renaming those files.
|
|
74
|
+
|
|
41
75
|
## Change the rule, keep the family consistent
|
|
42
76
|
|
|
43
77
|
The authoring model groups shared decisions as Colour, Type, Size & spacing, Material and Motion. The controls expose shared intent: control roominess relative to text, spacing, corners, inner and outer depth, and response pace.
|
|
44
78
|
|
|
45
|
-
The generated values follow rules. The medium control height is base text size times control roominess; small and large heights follow the size ratio.
|
|
79
|
+
The generated values follow rules. The medium control height is base text size times control roominess; small and large heights follow the size ratio. Touch does not inflate the visible size ladder. Hit-area guidance is contextual and adjustable; 44px is a comfort preference for expanded targets, not a mandatory visible height. Invisible targets must not steal neighbouring controls. Spacing derives from base text independently of control roominess and follows its own curve: linear at 1, increasingly curved toward 2, with stable endpoints so the largest gaps do not grow without bound. Depth generates families of shadows; it does not add motion amplitude. Fields and buttons with the same size setting use the same box height, while content can still grow when it needs more room.
|
|
46
80
|
|
|
47
81
|
Choose a coordinated palette, then refine surface warmth, color intensity and palette relationship. Warmth runs from cool to warm paper and ink, with 0.5 neutral; intensity runs from quiet to vivid, with 0.5 retaining original seed intensity. Tonal keeps seed hues; neighboring and complementary relate quiet hues to the action hue. These decisions regenerate paired light/dark colors through Oklab/OKLCH operations, gamut repair and readability checks. They do not transform existing CSS colors live. Four color seeds remain available for precise edits; the light/dark range previews and resolved values explain adjustments.
|
|
48
82
|
|
|
@@ -56,7 +90,7 @@ Number controls accept arithmetic such as `1rem / 1.2` or `150ms * 2`, calculate
|
|
|
56
90
|
|
|
57
91
|
Lengths retain their CSS units, such as `rem`; times retain `ms` or `s`. The downloaded CSS includes the canonical shared CSS derivation rules as well as resolved theme values. Download JSON separately to retain editable decisions and font/preset provenance. Import a downloaded JSON recipe to continue editing it. Keep hand-written CSS in a separate overrides file so regenerating the theme does not replace it.
|
|
58
92
|
|
|
59
|
-
Undo and Redo move through accepted recipe changes.
|
|
93
|
+
Undo and Redo move through accepted recipe changes. There is no page-entry comparison state: reopening the customizer does not create a hidden before/after reference. **Explore nearby styles** previews Warmer, Quieter, More expressive or More compact before you apply it. Palette, Material and Type & spacing locks preserve those families during variations. Cancel preview returns to the current recipe.
|
|
60
94
|
|
|
61
95
|
Changes apply throughout the documentation and remain in this browser across navigation and reload until reset. Repository files change only when you save locally. Starting points update the shell and all selected cards. Reset returns to the repository baseline. Invalid input keeps the last valid preview and explains which decision needs attention.
|
|
62
96
|
|
|
@@ -90,7 +124,7 @@ An optional recipe `fonts` mapping records Google family names by `body-font` an
|
|
|
90
124
|
|
|
91
125
|
Light position is relative to each surface: horizontal and vertical positions run from 0 to 1, with 0.5, 0 at top centre. Drag the source, use its arrow keys (Shift moves faster), or enter exact percentages. Home returns it to top centre. Spread runs from a concentrated spot to broad illumination; strength controls its intensity. The source influences reflections, illuminated edges and the direction of depth shadows throughout the theme.
|
|
92
126
|
|
|
93
|
-
Depth controls elevation and recession independently from finish, transmission and motion. Finish controls how strongly a material catches a reflection, from matte to polished; it needs nonzero light strength. Light spread shapes that reflection, while position also directs shadows. A light strength of zero does not remove depth shadows. Edge light catches its boundary; glow spills
|
|
127
|
+
Depth controls elevation and recession independently from finish, transmission and motion. Finish controls how strongly a material catches a reflection, from matte to polished; it needs nonzero light strength. Light spread shapes that reflection, while position also directs shadows. A light strength of zero does not remove depth shadows. Edge light catches its boundary; glow spills beyond it. Glassiness and glow use a gently increasing lower range and an expressive upper response (`g + 2g⁴`), so the maximum can be exuberant without raising restrained defaults. Glassiness and surface separation govern the decorative material around floating content, scaled by popup purpose and rendered size. The content plane stays opaque. Overlay translucency changes the shared overlay fill and decorative glass; it does not turn material content transparent. Separation can create a rim even with glassiness at zero. Reflection peaks are bounded for readable text, and reduced transparency disables the ornamental reflection and glow as well as backdrop blur.
|
|
94
128
|
|
|
95
129
|
Card keeps surface structure and decorative treatment independent:
|
|
96
130
|
|
|
@@ -128,9 +162,16 @@ Use the public semantic color properties inside those regions. A floating surfac
|
|
|
128
162
|
|
|
129
163
|
## Add your components
|
|
130
164
|
|
|
131
|
-
Build your design-system components in HTML Next. Their definitions, description attributes,
|
|
165
|
+
Build your design-system components in HTML Next. Their definitions, description attributes, modules and HTML examples are the source for the generated documentation and customizer cards. Use Looma’s public semantic properties to make your components respond to the same theme.
|
|
166
|
+
|
|
167
|
+
1. Create a directory for your HTML Next component resources, such as `app/components`.
|
|
168
|
+
2. Opt that directory into `components` in `looma.docs.json`, with your package's name.
|
|
169
|
+
3. Put `docs.json` and an `examples/` directory beside each resource, as shown below.
|
|
170
|
+
4. Run `looma-docs dev`. Your components appear beside Looma's in the reference,
|
|
171
|
+
search and customizer example picker. Resources under registered directories
|
|
172
|
+
are rediscovered when the local server rebuilds.
|
|
132
173
|
|
|
133
|
-
|
|
174
|
+
The configuration can combine your name, authored guides and discovery roots:
|
|
134
175
|
|
|
135
176
|
```json
|
|
136
177
|
{
|
package/docs/card.html
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
<prop name="title" type="string" default="Example">The documented component name.</prop>
|
|
9
9
|
<prop name="description" type="string" default="">The component's authored description.</prop>
|
|
10
10
|
<prop name="exampleTitle" type="string" default="">The selected authored example.</prop>
|
|
11
|
+
<prop name="previewOnly" type="boolean" default="false">Show only the live example, for compact theme samplers whose host supplies the heading.</prop>
|
|
11
12
|
<prop name="reference" type="boolean" default="false">Use the spacious full-reference example presentation.</prop>
|
|
12
13
|
<prop name="src" type="string" default="">The compiled isolated example page.</prop>
|
|
13
14
|
<prop name="resizable" type="boolean" default="false">Expose a width control for responsive examples.</prop>
|
|
@@ -24,7 +25,7 @@
|
|
|
24
25
|
<div class="preview"><iframe $ref="frame" from:title="$title" from:src="$src" sandbox="allow-scripts" from:loading="$loading" width="100%" height="208"></iframe></div>
|
|
25
26
|
<section $if="$reference" class="example-code"><h4>Code</h4><slot name="code"></slot></section>
|
|
26
27
|
<div $if="$resizable" class="preview-width"> <ui-form-field><label slot="label">Preview width</label><span slot="help">Explore the example at a narrower width.</span><ui-input $ref="width" type="number" min="240" max="1600" value="720" aria-label="Preview width in pixels" size="sm"></ui-input></ui-form-field></div>
|
|
27
|
-
<div $if="not $reference" class="body"><ui-stack gap="xs">
|
|
28
|
+
<div $if="not $reference and not $previewOnly" class="body"><ui-stack gap="xs">
|
|
28
29
|
<div class="meta"><span>{$category}</span><code>{$nativeRoot}</code></div>
|
|
29
30
|
<h3><a from:href="$href">{$title}</a></h3>
|
|
30
31
|
<p class="description">{$description}</p>
|
package/docs/catalog.json
CHANGED
|
@@ -90,6 +90,11 @@
|
|
|
90
90
|
"package": "@threadlabs/looma",
|
|
91
91
|
"resource": "@threadlabs/looma/components/ui-curve-editor/ui-curve-editor.html"
|
|
92
92
|
},
|
|
93
|
+
{
|
|
94
|
+
"tag": "ui-cycle-button",
|
|
95
|
+
"package": "@threadlabs/looma",
|
|
96
|
+
"resource": "@threadlabs/looma/components/ui-cycle-button/ui-cycle-button.html"
|
|
97
|
+
},
|
|
93
98
|
{
|
|
94
99
|
"tag": "ui-description-item",
|
|
95
100
|
"package": "@threadlabs/looma",
|
|
@@ -443,7 +448,7 @@
|
|
|
443
448
|
],
|
|
444
449
|
"schemaVersion": 1,
|
|
445
450
|
"package": "@threadlabs/looma",
|
|
446
|
-
"version": "0.37.
|
|
451
|
+
"version": "0.37.2",
|
|
447
452
|
"groups": [
|
|
448
453
|
{
|
|
449
454
|
"id": "layout",
|
|
@@ -2529,7 +2534,7 @@
|
|
|
2529
2534
|
{
|
|
2530
2535
|
"name": "size",
|
|
2531
2536
|
"property": "size",
|
|
2532
|
-
"description": "Height, padding, and type size. xs is 1.5rem with the smallest text, for a control inside a line of small text; sm is the small control height (2rem by default) with tighter padding and smaller text, md is the standard control height (2.5rem), and lg is taller (3rem) with roomier padding.
|
|
2537
|
+
"description": "Height, padding, and type size. xs is 1.5rem with the smallest text, for a control inside a line of small text; sm is the small control height (2rem by default) with tighter padding and smaller text, md is the standard control height (2.5rem), and lg is taller (3rem) with roomier padding. Visible sizes stay the same on touch. Inline xs and link actions can gain an adjustable invisible hit area.",
|
|
2533
2538
|
"type": "keyword",
|
|
2534
2539
|
"default": "md",
|
|
2535
2540
|
"options": [
|
|
@@ -2670,7 +2675,7 @@
|
|
|
2670
2675
|
},
|
|
2671
2676
|
{
|
|
2672
2677
|
"name": "size",
|
|
2673
|
-
"description": "Height, padding, and type size. xs is 1.5rem with the smallest text, for a control inside a line of small text; sm is the small control height (2rem by default) with tighter padding and smaller text, md is the standard control height (2.5rem), and lg is taller (3rem) with roomier padding.
|
|
2678
|
+
"description": "Height, padding, and type size. xs is 1.5rem with the smallest text, for a control inside a line of small text; sm is the small control height (2rem by default) with tighter padding and smaller text, md is the standard control height (2.5rem), and lg is taller (3rem) with roomier padding. Visible sizes stay the same on touch. Inline xs and link actions can gain an adjustable invisible hit area.",
|
|
2674
2679
|
"type": "\"xs\" | \"sm\" | \"md\" | \"lg\"",
|
|
2675
2680
|
"default": "md",
|
|
2676
2681
|
"options": [
|
|
@@ -3543,9 +3548,6 @@
|
|
|
3543
3548
|
{
|
|
3544
3549
|
"name": "--ui-control-inset"
|
|
3545
3550
|
},
|
|
3546
|
-
{
|
|
3547
|
-
"name": "--ui-control-min-block-size"
|
|
3548
|
-
},
|
|
3549
3551
|
{
|
|
3550
3552
|
"name": "--ui-control-size-lg"
|
|
3551
3553
|
},
|
|
@@ -3697,7 +3699,7 @@
|
|
|
3697
3699
|
{
|
|
3698
3700
|
"name": "size",
|
|
3699
3701
|
"property": "size",
|
|
3700
|
-
"description": "Aligns the checkbox 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 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.
|
|
3702
|
+
"description": "Aligns the checkbox 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 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. Touch input keeps the same visible alignment. md is the standard layout.",
|
|
3701
3703
|
"type": "keyword",
|
|
3702
3704
|
"default": "md",
|
|
3703
3705
|
"options": [
|
|
@@ -3759,7 +3761,7 @@
|
|
|
3759
3761
|
},
|
|
3760
3762
|
{
|
|
3761
3763
|
"name": "size",
|
|
3762
|
-
"description": "Aligns the checkbox 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 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.
|
|
3764
|
+
"description": "Aligns the checkbox 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 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. Touch input keeps the same visible alignment. md is the standard layout.",
|
|
3763
3765
|
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
3764
3766
|
"default": "md",
|
|
3765
3767
|
"options": [
|
|
@@ -4167,6 +4169,16 @@
|
|
|
4167
4169
|
"resizable": false,
|
|
4168
4170
|
"bindings": "",
|
|
4169
4171
|
"frameworks": {}
|
|
4172
|
+
},
|
|
4173
|
+
{
|
|
4174
|
+
"id": "@threadlabs/looma/ui-cluster/99-theme-sampler",
|
|
4175
|
+
"name": "99-theme-sampler",
|
|
4176
|
+
"title": "Theme sampler",
|
|
4177
|
+
"description": "A compact collection of real controls and a surface for judging a shared theme together.",
|
|
4178
|
+
"markup": "<ui-card treatment=\"expressive\" padding=\"sm\"><ui-stack gap=\"xs\">\n <ui-cluster gap=\"xs\" justify=\"between\"><ui-text variant=\"eyebrow\">Fellowship office</ui-text><ui-badge tone=\"success\">Ready</ui-badge></ui-cluster>\n <ui-cluster gap=\"xs\"><ui-button size=\"sm\" preset=\"primary\">Send memo</ui-button><ui-button size=\"sm\" preset=\"standard\">Save draft</ui-button><ui-button\n size=\"sm\"\n variant=\"outline\"\n >Archive</ui-button><ui-cycle-button\n id=\"sampler-availability\"\n size=\"sm\"\n label=\"Availability\"\n items='[{\"value\":\"available\",\"label\":\"Available\",\"icon\":\"circle-check\"},{\"value\":\"busy\",\"label\":\"Busy\",\"icon\":\"circle-dot\"},{\"value\":\"away\",\"label\":\"Away\",\"icon\":\"moon\"}]'\n ></ui-cycle-button></ui-cluster>\n <ui-input-group><ui-icon slot=\"prefix\" name=\"search\"></ui-icon><ui-input\n size=\"sm\"\n aria-label=\"Search office\"\n placeholder=\"Search Fellowship office\"\n ></ui-input></ui-input-group>\n <ui-cluster gap=\"xs\"><ui-checkbox size=\"sm\" checked>Notify Sam</ui-checkbox><ui-switch size=\"sm\" checked>Available</ui-switch><ui-badge tone=\"accent\"\n >Draft</ui-badge></ui-cluster>\n </ui-stack></ui-card>",
|
|
4179
|
+
"resizable": false,
|
|
4180
|
+
"bindings": "items=availabilityStates",
|
|
4181
|
+
"frameworks": {}
|
|
4170
4182
|
}
|
|
4171
4183
|
]
|
|
4172
4184
|
},
|
|
@@ -4217,9 +4229,6 @@
|
|
|
4217
4229
|
"var(--ui-space-1)"
|
|
4218
4230
|
]
|
|
4219
4231
|
},
|
|
4220
|
-
{
|
|
4221
|
-
"name": "--ui-control-min-block-size"
|
|
4222
|
-
},
|
|
4223
4232
|
{
|
|
4224
4233
|
"name": "--ui-control-size-lg"
|
|
4225
4234
|
},
|
|
@@ -4487,9 +4496,7 @@
|
|
|
4487
4496
|
"declarations": [
|
|
4488
4497
|
"var(--ui-control-size-md)",
|
|
4489
4498
|
"var(--ui-control-size-sm)",
|
|
4490
|
-
"var(--ui-control-size-lg)"
|
|
4491
|
-
"max(var(--ui-control-size-md), var(--ui-control-min-block-size))",
|
|
4492
|
-
"max(var(--ui-control-size-sm), var(--ui-control-min-block-size))"
|
|
4499
|
+
"var(--ui-control-size-lg)"
|
|
4493
4500
|
]
|
|
4494
4501
|
},
|
|
4495
4502
|
{
|
|
@@ -4608,9 +4615,6 @@
|
|
|
4608
4615
|
"var(--ui-space-1)"
|
|
4609
4616
|
]
|
|
4610
4617
|
},
|
|
4611
|
-
{
|
|
4612
|
-
"name": "--ui-control-min-block-size"
|
|
4613
|
-
},
|
|
4614
4618
|
{
|
|
4615
4619
|
"name": "--ui-control-size-lg"
|
|
4616
4620
|
},
|
|
@@ -4994,7 +4998,7 @@
|
|
|
4994
4998
|
{
|
|
4995
4999
|
"name": "size",
|
|
4996
5000
|
"property": "size",
|
|
4997
|
-
"description": "Field 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) 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.
|
|
5001
|
+
"description": "Field 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) 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. Touch input keeps body-size field text without inflating the visible size ladder. The label keeps its size.",
|
|
4998
5002
|
"type": "keyword",
|
|
4999
5003
|
"default": "md",
|
|
5000
5004
|
"options": [
|
|
@@ -5226,7 +5230,7 @@
|
|
|
5226
5230
|
},
|
|
5227
5231
|
{
|
|
5228
5232
|
"name": "size",
|
|
5229
|
-
"description": "Field 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) 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.
|
|
5233
|
+
"description": "Field 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) 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. Touch input keeps body-size field text without inflating the visible size ladder. The label keeps its size.",
|
|
5230
5234
|
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
5231
5235
|
"default": "md",
|
|
5232
5236
|
"options": [
|
|
@@ -6847,6 +6851,194 @@
|
|
|
6847
6851
|
}
|
|
6848
6852
|
]
|
|
6849
6853
|
},
|
|
6854
|
+
{
|
|
6855
|
+
"tag": "ui-cycle-button",
|
|
6856
|
+
"package": "@threadlabs/looma",
|
|
6857
|
+
"root": "span",
|
|
6858
|
+
"description": "One compact native button that cycles an ordered set of named icon states without moving focus.",
|
|
6859
|
+
"designTokens": {
|
|
6860
|
+
"sources": [
|
|
6861
|
+
"packages/looma/src/components/ui-cycle-button/ui-cycle-button.html"
|
|
6862
|
+
],
|
|
6863
|
+
"component": [],
|
|
6864
|
+
"shared": []
|
|
6865
|
+
},
|
|
6866
|
+
"attributes": [
|
|
6867
|
+
{
|
|
6868
|
+
"name": "disabled",
|
|
6869
|
+
"property": "disabled",
|
|
6870
|
+
"description": "Prevents cycling while keeping the selected state visible.",
|
|
6871
|
+
"type": "boolean",
|
|
6872
|
+
"default": false
|
|
6873
|
+
},
|
|
6874
|
+
{
|
|
6875
|
+
"name": "index",
|
|
6876
|
+
"property": "index",
|
|
6877
|
+
"description": "Initial or externally selected zero-based state. The first state is the default.",
|
|
6878
|
+
"type": "number",
|
|
6879
|
+
"default": 0
|
|
6880
|
+
},
|
|
6881
|
+
{
|
|
6882
|
+
"name": "items",
|
|
6883
|
+
"property": "items",
|
|
6884
|
+
"description": "Ordered states with a value, readable label and Looma icon name. Activation advances to the next state and wraps.",
|
|
6885
|
+
"type": "list(object)",
|
|
6886
|
+
"fields": [
|
|
6887
|
+
{
|
|
6888
|
+
"path": "[].value",
|
|
6889
|
+
"type": "string",
|
|
6890
|
+
"required": true
|
|
6891
|
+
},
|
|
6892
|
+
{
|
|
6893
|
+
"path": "[].label",
|
|
6894
|
+
"type": "string",
|
|
6895
|
+
"required": true
|
|
6896
|
+
},
|
|
6897
|
+
{
|
|
6898
|
+
"path": "[].icon",
|
|
6899
|
+
"type": "string",
|
|
6900
|
+
"required": true
|
|
6901
|
+
}
|
|
6902
|
+
]
|
|
6903
|
+
},
|
|
6904
|
+
{
|
|
6905
|
+
"name": "label",
|
|
6906
|
+
"property": "label",
|
|
6907
|
+
"description": "What the button changes, such as Appearance. The selected state is included in its accessible name.",
|
|
6908
|
+
"type": "string",
|
|
6909
|
+
"default": "State"
|
|
6910
|
+
},
|
|
6911
|
+
{
|
|
6912
|
+
"name": "size",
|
|
6913
|
+
"property": "size",
|
|
6914
|
+
"description": "Uses IconButton's compact visible sizes and adjustable invisible touch area.",
|
|
6915
|
+
"type": "keyword",
|
|
6916
|
+
"default": "md",
|
|
6917
|
+
"options": [
|
|
6918
|
+
"sm",
|
|
6919
|
+
"md",
|
|
6920
|
+
"lg"
|
|
6921
|
+
]
|
|
6922
|
+
},
|
|
6923
|
+
{
|
|
6924
|
+
"name": "variant",
|
|
6925
|
+
"property": "variant",
|
|
6926
|
+
"description": "Uses IconButton's standard emphasis.",
|
|
6927
|
+
"type": "keyword",
|
|
6928
|
+
"default": "outline",
|
|
6929
|
+
"options": [
|
|
6930
|
+
"ghost",
|
|
6931
|
+
"outline",
|
|
6932
|
+
"solid"
|
|
6933
|
+
]
|
|
6934
|
+
}
|
|
6935
|
+
],
|
|
6936
|
+
"properties": [
|
|
6937
|
+
{
|
|
6938
|
+
"name": "disabled",
|
|
6939
|
+
"description": "Prevents cycling while keeping the selected state visible.",
|
|
6940
|
+
"type": "boolean",
|
|
6941
|
+
"default": false
|
|
6942
|
+
},
|
|
6943
|
+
{
|
|
6944
|
+
"name": "index",
|
|
6945
|
+
"description": "Initial or externally selected zero-based state. The first state is the default.",
|
|
6946
|
+
"type": "number",
|
|
6947
|
+
"default": 0
|
|
6948
|
+
},
|
|
6949
|
+
{
|
|
6950
|
+
"name": "items",
|
|
6951
|
+
"description": "Ordered states with a value, readable label and Looma icon name. Activation advances to the next state and wraps.",
|
|
6952
|
+
"type": "readonly ({ readonly value: string; readonly label: string; readonly icon: string })[]",
|
|
6953
|
+
"fields": [
|
|
6954
|
+
{
|
|
6955
|
+
"path": "[].value",
|
|
6956
|
+
"type": "string",
|
|
6957
|
+
"required": true
|
|
6958
|
+
},
|
|
6959
|
+
{
|
|
6960
|
+
"path": "[].label",
|
|
6961
|
+
"type": "string",
|
|
6962
|
+
"required": true
|
|
6963
|
+
},
|
|
6964
|
+
{
|
|
6965
|
+
"path": "[].icon",
|
|
6966
|
+
"type": "string",
|
|
6967
|
+
"required": true
|
|
6968
|
+
}
|
|
6969
|
+
]
|
|
6970
|
+
},
|
|
6971
|
+
{
|
|
6972
|
+
"name": "label",
|
|
6973
|
+
"description": "What the button changes, such as Appearance. The selected state is included in its accessible name.",
|
|
6974
|
+
"type": "string",
|
|
6975
|
+
"default": "State"
|
|
6976
|
+
},
|
|
6977
|
+
{
|
|
6978
|
+
"name": "size",
|
|
6979
|
+
"description": "Uses IconButton's compact visible sizes and adjustable invisible touch area.",
|
|
6980
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
6981
|
+
"default": "md",
|
|
6982
|
+
"options": [
|
|
6983
|
+
"sm",
|
|
6984
|
+
"md",
|
|
6985
|
+
"lg"
|
|
6986
|
+
]
|
|
6987
|
+
},
|
|
6988
|
+
{
|
|
6989
|
+
"name": "variant",
|
|
6990
|
+
"description": "Uses IconButton's standard emphasis.",
|
|
6991
|
+
"type": "\"ghost\" | \"outline\" | \"solid\"",
|
|
6992
|
+
"default": "outline",
|
|
6993
|
+
"options": [
|
|
6994
|
+
"ghost",
|
|
6995
|
+
"outline",
|
|
6996
|
+
"solid"
|
|
6997
|
+
]
|
|
6998
|
+
}
|
|
6999
|
+
],
|
|
7000
|
+
"events": [
|
|
7001
|
+
{
|
|
7002
|
+
"name": "change",
|
|
7003
|
+
"detailType": "{ readonly value: string; readonly index: number }",
|
|
7004
|
+
"detailSchema": "object",
|
|
7005
|
+
"fields": [
|
|
7006
|
+
{
|
|
7007
|
+
"path": "value",
|
|
7008
|
+
"type": "string",
|
|
7009
|
+
"required": true
|
|
7010
|
+
},
|
|
7011
|
+
{
|
|
7012
|
+
"path": "index",
|
|
7013
|
+
"type": "number",
|
|
7014
|
+
"required": true
|
|
7015
|
+
}
|
|
7016
|
+
],
|
|
7017
|
+
"detailDocs": "Emitted when a toggleable control changes checked state."
|
|
7018
|
+
}
|
|
7019
|
+
],
|
|
7020
|
+
"slots": [],
|
|
7021
|
+
"group": "forms",
|
|
7022
|
+
"id": "@threadlabs/looma/ui-cycle-button",
|
|
7023
|
+
"title": "Cycle Button",
|
|
7024
|
+
"resource": "@threadlabs/looma/components/ui-cycle-button/ui-cycle-button.html",
|
|
7025
|
+
"targets": [
|
|
7026
|
+
"html-next",
|
|
7027
|
+
"vue"
|
|
7028
|
+
],
|
|
7029
|
+
"examples": [
|
|
7030
|
+
{
|
|
7031
|
+
"id": "@threadlabs/looma/ui-cycle-button/01-appearance",
|
|
7032
|
+
"name": "01-appearance",
|
|
7033
|
+
"title": "Cycling appearance",
|
|
7034
|
+
"description": "One native button cycles Automatic, Light and Dark while preserving keyboard focus.",
|
|
7035
|
+
"markup": "<ui-cluster gap=\"s\"><ui-text>Appearance</ui-text><ui-cycle-button\n id=\"appearance-cycle\"\n label=\"Appearance\"\n items='[{\"value\":\"automatic\",\"label\":\"Automatic\",\"icon\":\"monitor\"},{\"value\":\"light\",\"label\":\"Light\",\"icon\":\"sun\"},{\"value\":\"dark\",\"label\":\"Dark\",\"icon\":\"moon\"}]'\n ></ui-cycle-button></ui-cluster>",
|
|
7036
|
+
"resizable": false,
|
|
7037
|
+
"bindings": "items=appearanceStates",
|
|
7038
|
+
"frameworks": {}
|
|
7039
|
+
}
|
|
7040
|
+
]
|
|
7041
|
+
},
|
|
6850
7042
|
{
|
|
6851
7043
|
"tag": "ui-description-item",
|
|
6852
7044
|
"package": "@threadlabs/looma",
|
|
@@ -12790,7 +12982,7 @@
|
|
|
12790
12982
|
{
|
|
12791
12983
|
"name": "match-button",
|
|
12792
12984
|
"property": "matchButton",
|
|
12793
|
-
"description": "Matches a boxed Button of the same size when the two share a flex row. Uses the control-size theme tokens and stretches to the row's height,
|
|
12985
|
+
"description": "Matches a boxed Button of the same size when the two share a flex row. Uses the control-size theme tokens and stretches to the row's height, on mouse and touch alike. Leave it off for compact toolbar and inline icon buttons.",
|
|
12794
12986
|
"type": "boolean",
|
|
12795
12987
|
"default": false
|
|
12796
12988
|
},
|
|
@@ -12832,7 +13024,7 @@
|
|
|
12832
13024
|
{
|
|
12833
13025
|
"name": "size",
|
|
12834
13026
|
"property": "size",
|
|
12835
|
-
"description": "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.
|
|
13027
|
+
"description": "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. Touch can use an invisible hit area sized by the adjustable control target preference.",
|
|
12836
13028
|
"type": "keyword",
|
|
12837
13029
|
"default": "md",
|
|
12838
13030
|
"options": [
|
|
@@ -12906,7 +13098,7 @@
|
|
|
12906
13098
|
},
|
|
12907
13099
|
{
|
|
12908
13100
|
"name": "matchButton",
|
|
12909
|
-
"description": "Matches a boxed Button of the same size when the two share a flex row. Uses the control-size theme tokens and stretches to the row's height,
|
|
13101
|
+
"description": "Matches a boxed Button of the same size when the two share a flex row. Uses the control-size theme tokens and stretches to the row's height, on mouse and touch alike. Leave it off for compact toolbar and inline icon buttons.",
|
|
12910
13102
|
"type": "boolean",
|
|
12911
13103
|
"default": false
|
|
12912
13104
|
},
|
|
@@ -12943,7 +13135,7 @@
|
|
|
12943
13135
|
},
|
|
12944
13136
|
{
|
|
12945
13137
|
"name": "size",
|
|
12946
|
-
"description": "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.
|
|
13138
|
+
"description": "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. Touch can use an invisible hit area sized by the adjustable control target preference.",
|
|
12947
13139
|
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
12948
13140
|
"default": "md",
|
|
12949
13141
|
"options": [
|
|
@@ -13376,9 +13568,7 @@
|
|
|
13376
13568
|
"fallbacks": [
|
|
13377
13569
|
"var(--ui-control-size-md)",
|
|
13378
13570
|
"var(--ui-control-size-sm)",
|
|
13379
|
-
"var(--ui-control-size-lg)"
|
|
13380
|
-
"max(var(--ui-control-size-md), var(--ui-control-min-block-size))",
|
|
13381
|
-
"max(var(--ui-control-size-sm), var(--ui-control-min-block-size))"
|
|
13571
|
+
"var(--ui-control-size-lg)"
|
|
13382
13572
|
]
|
|
13383
13573
|
},
|
|
13384
13574
|
{
|
|
@@ -13452,9 +13642,6 @@
|
|
|
13452
13642
|
"var(--ui-space-1)"
|
|
13453
13643
|
]
|
|
13454
13644
|
},
|
|
13455
|
-
{
|
|
13456
|
-
"name": "--ui-control-min-block-size"
|
|
13457
|
-
},
|
|
13458
13645
|
{
|
|
13459
13646
|
"name": "--ui-control-placeholder",
|
|
13460
13647
|
"fallbacks": [
|
|
@@ -13585,7 +13772,7 @@
|
|
|
13585
13772
|
{
|
|
13586
13773
|
"name": "size",
|
|
13587
13774
|
"property": "size",
|
|
13588
|
-
"description": "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) 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.
|
|
13775
|
+
"description": "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) 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. Touch input keeps body-size field text without inflating the visible size ladder. Change it after render through this option; the element's size property is the native one.",
|
|
13589
13776
|
"type": "keyword",
|
|
13590
13777
|
"default": "md",
|
|
13591
13778
|
"options": [
|
|
@@ -13652,7 +13839,7 @@
|
|
|
13652
13839
|
},
|
|
13653
13840
|
{
|
|
13654
13841
|
"name": "size",
|
|
13655
|
-
"description": "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) 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.
|
|
13842
|
+
"description": "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) 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. Touch input keeps body-size field text without inflating the visible size ladder. Change it after render through this option; the element's size property is the native one.",
|
|
13656
13843
|
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
13657
13844
|
"default": "md",
|
|
13658
13845
|
"options": [
|
|
@@ -13822,9 +14009,6 @@
|
|
|
13822
14009
|
{
|
|
13823
14010
|
"name": "--ui-control-inset"
|
|
13824
14011
|
},
|
|
13825
|
-
{
|
|
13826
|
-
"name": "--ui-control-min-block-size"
|
|
13827
|
-
},
|
|
13828
14012
|
{
|
|
13829
14013
|
"name": "--ui-control-size-lg"
|
|
13830
14014
|
},
|
|
@@ -17415,9 +17599,6 @@
|
|
|
17415
17599
|
{
|
|
17416
17600
|
"name": "--ui-choice-mark-size"
|
|
17417
17601
|
},
|
|
17418
|
-
{
|
|
17419
|
-
"name": "--ui-control-min-block-size"
|
|
17420
|
-
},
|
|
17421
17602
|
{
|
|
17422
17603
|
"name": "--ui-control-size-lg"
|
|
17423
17604
|
},
|
|
@@ -17494,7 +17675,7 @@
|
|
|
17494
17675
|
{
|
|
17495
17676
|
"name": "size",
|
|
17496
17677
|
"property": "size",
|
|
17497
|
-
"description": "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 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.
|
|
17678
|
+
"description": "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 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. Touch input keeps the same visible alignment. md is the standard layout.",
|
|
17498
17679
|
"type": "keyword",
|
|
17499
17680
|
"default": "md",
|
|
17500
17681
|
"options": [
|
|
@@ -17538,7 +17719,7 @@
|
|
|
17538
17719
|
},
|
|
17539
17720
|
{
|
|
17540
17721
|
"name": "size",
|
|
17541
|
-
"description": "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 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.
|
|
17722
|
+
"description": "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 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. Touch input keeps the same visible alignment. md is the standard layout.",
|
|
17542
17723
|
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
17543
17724
|
"default": "md",
|
|
17544
17725
|
"options": [
|
|
@@ -19139,9 +19320,6 @@
|
|
|
19139
19320
|
"var(--ui-space-1)"
|
|
19140
19321
|
]
|
|
19141
19322
|
},
|
|
19142
|
-
{
|
|
19143
|
-
"name": "--ui-control-min-block-size"
|
|
19144
|
-
},
|
|
19145
19323
|
{
|
|
19146
19324
|
"name": "--ui-control-size-lg"
|
|
19147
19325
|
},
|
|
@@ -19265,7 +19443,7 @@
|
|
|
19265
19443
|
{
|
|
19266
19444
|
"name": "size",
|
|
19267
19445
|
"property": "size",
|
|
19268
|
-
"description": "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 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 with roomier padding.
|
|
19446
|
+
"description": "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 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 with roomier padding. Touch input keeps body-size field text without inflating the visible size ladder. It is not the native size attribute: a select is always a single-choice dropdown. Change it after render through this option; the element's size property is the native one.",
|
|
19269
19447
|
"type": "keyword",
|
|
19270
19448
|
"default": "md",
|
|
19271
19449
|
"options": [
|
|
@@ -19302,7 +19480,7 @@
|
|
|
19302
19480
|
},
|
|
19303
19481
|
{
|
|
19304
19482
|
"name": "size",
|
|
19305
|
-
"description": "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 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 with roomier padding.
|
|
19483
|
+
"description": "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 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 with roomier padding. Touch input keeps body-size field text without inflating the visible size ladder. It is not the native size attribute: a select is always a single-choice dropdown. Change it after render through this option; the element's size property is the native one.",
|
|
19306
19484
|
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
19307
19485
|
"default": "md",
|
|
19308
19486
|
"options": [
|
|
@@ -20767,9 +20945,6 @@
|
|
|
20767
20945
|
{
|
|
20768
20946
|
"name": "--ui-control-inset"
|
|
20769
20947
|
},
|
|
20770
|
-
{
|
|
20771
|
-
"name": "--ui-control-min-block-size"
|
|
20772
|
-
},
|
|
20773
20948
|
{
|
|
20774
20949
|
"name": "--ui-control-size-lg"
|
|
20775
20950
|
},
|
|
@@ -20882,7 +21057,7 @@
|
|
|
20882
21057
|
{
|
|
20883
21058
|
"name": "size",
|
|
20884
21059
|
"property": "size",
|
|
20885
|
-
"description": "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 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 baseline.
|
|
21060
|
+
"description": "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 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 baseline. Touch input keeps the same visible alignment. md is the standard layout.",
|
|
20886
21061
|
"type": "keyword",
|
|
20887
21062
|
"default": "md",
|
|
20888
21063
|
"options": [
|
|
@@ -20926,7 +21101,7 @@
|
|
|
20926
21101
|
},
|
|
20927
21102
|
{
|
|
20928
21103
|
"name": "size",
|
|
20929
|
-
"description": "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 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 baseline.
|
|
21104
|
+
"description": "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 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 baseline. Touch input keeps the same visible alignment. md is the standard layout.",
|
|
20930
21105
|
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
20931
21106
|
"default": "md",
|
|
20932
21107
|
"options": [
|