@threadlabs/looma 0.33.1 → 0.34.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.
Files changed (184) hide show
  1. package/components/shared/overlay.js +8 -2
  2. package/components/shared/surface-material.js +21 -0
  3. package/components/ui-button/ui-button.html +63 -47
  4. package/components/ui-card/ui-card.html +44 -2
  5. package/components/ui-curve-editor/curve.js +10 -0
  6. package/components/ui-curve-editor/ui-curve-editor.html +181 -0
  7. package/components/ui-curve-editor/ui-curve-editor.js +51 -0
  8. package/components/ui-dialog/ui-dialog.html +62 -1
  9. package/components/ui-dialog/ui-dialog.js +9 -1
  10. package/components/ui-icon-button/ui-icon-button.html +75 -23
  11. package/components/ui-menu/ui-menu.html +60 -0
  12. package/components/ui-menu/ui-menu.js +1 -1
  13. package/components/ui-number-input/arithmetic.js +47 -0
  14. package/components/ui-number-input/ui-number-input.html +62 -0
  15. package/components/ui-number-input/ui-number-input.js +44 -0
  16. package/components/ui-popover/ui-popover.html +64 -1
  17. package/components/ui-popover/ui-popover.js +1 -1
  18. package/components/ui-slider/ui-slider.html +84 -0
  19. package/components/ui-slider/ui-slider.js +29 -0
  20. package/components/ui-tabs/ui-tabs.html +6 -1
  21. package/components/ui-text/ui-text.html +31 -6
  22. package/components/ui-tooltip/ui-tooltip.html +60 -0
  23. package/components/ui-tooltip/ui-tooltip.js +1 -1
  24. package/dist/index.js +46 -43
  25. package/docs/README.md +34 -4
  26. package/docs/card.html +16 -2
  27. package/docs/card.js +17 -2
  28. package/docs/catalog.json +1154 -144
  29. package/docs/customizer-render.mjs +35 -9
  30. package/docs/customizer.js +83 -20
  31. package/docs/documentation.css +9 -1
  32. package/docs/index.d.ts +4 -2
  33. package/docs/index.mjs +1 -1
  34. package/docs/preview.js +2 -0
  35. package/docs/render.mjs +15 -6
  36. package/docs/site.mjs +50 -9
  37. package/docs/theme-session.mjs +51 -0
  38. package/docs/theme.mjs +134 -15
  39. package/docs/value-editors.mjs +33 -0
  40. package/package.json +2 -2
  41. package/styles/ui-button.css +45 -45
  42. package/styles/ui-card.css +47 -0
  43. package/styles/ui-curve-editor.css +109 -0
  44. package/styles/ui-dialog.css +132 -0
  45. package/styles/ui-icon-button.css +63 -20
  46. package/styles/ui-menu.css +72 -0
  47. package/styles/ui-number-input.css +34 -0
  48. package/styles/ui-popover.css +74 -0
  49. package/styles/ui-slider.css +53 -0
  50. package/styles/ui-tabs.css +6 -1
  51. package/styles/ui-text.css +23 -1
  52. package/styles/ui-tooltip.css +72 -0
  53. package/theme-system.css +26 -10
  54. package/tokens.css +8 -2
  55. package/vanilla/UiButton.d.ts +1 -0
  56. package/vanilla/UiButton.js +195 -130
  57. package/vanilla/UiCard.d.ts +1 -1
  58. package/vanilla/UiCard.js +1 -1
  59. package/vanilla/UiCurveEditor.d.ts +28 -0
  60. package/vanilla/UiCurveEditor.js +134 -0
  61. package/vanilla/UiIconButton.d.ts +2 -1
  62. package/vanilla/UiIconButton.js +58 -31
  63. package/vanilla/UiNumberInput.d.ts +33 -0
  64. package/vanilla/UiNumberInput.js +79 -0
  65. package/vanilla/UiSlider.d.ts +33 -0
  66. package/vanilla/UiSlider.js +125 -0
  67. package/vanilla/UiText.d.ts +2 -2
  68. package/vanilla/UiText.js +45 -11
  69. package/vanilla/index.js +3 -0
  70. package/vue/UiButton.d.ts +6 -0
  71. package/vue/UiButton.vue +155 -56
  72. package/vue/UiCard.d.ts +2 -2
  73. package/vue/UiCard.vue +55 -5
  74. package/vue/UiCurveEditor.d.ts +53 -0
  75. package/vue/UiCurveEditor.js +2 -0
  76. package/vue/UiCurveEditor.vue +427 -0
  77. package/vue/UiDialog.vue +177 -1
  78. package/vue/UiIconButton.d.ts +8 -2
  79. package/vue/UiIconButton.vue +164 -34
  80. package/vue/UiMenu.vue +89 -0
  81. package/vue/UiNumberInput.d.ts +83 -0
  82. package/vue/UiNumberInput.js +2 -0
  83. package/vue/UiNumberInput.vue +370 -0
  84. package/vue/UiPopover.vue +92 -1
  85. package/vue/UiSlider.d.ts +83 -0
  86. package/vue/UiSlider.js +2 -0
  87. package/vue/UiSlider.vue +412 -0
  88. package/vue/UiTabs.vue +6 -1
  89. package/vue/UiText.d.ts +7 -5
  90. package/vue/UiText.vue +104 -22
  91. package/vue/UiTooltip.vue +89 -0
  92. package/vue/chunks/UiActionBar.js +1 -1
  93. package/vue/chunks/UiAffordanceScope.js +2 -2
  94. package/vue/chunks/UiAvatar.js +2 -2
  95. package/vue/chunks/UiAvatarGroup.js +2 -2
  96. package/vue/chunks/UiBadge.js +2 -2
  97. package/vue/chunks/UiBreadcrumbItem.js +2 -2
  98. package/vue/chunks/UiBreadcrumbs.js +2 -2
  99. package/vue/chunks/UiButton.js +94 -11
  100. package/vue/chunks/UiCallout.js +2 -2
  101. package/vue/chunks/UiCard.js +6 -5
  102. package/vue/chunks/UiCheckbox.js +2 -2
  103. package/vue/chunks/UiCluster.js +2 -2
  104. package/vue/chunks/UiColorPicker.js +2 -2
  105. package/vue/chunks/UiCombobox.js +2 -2
  106. package/vue/chunks/UiContainer.js +2 -2
  107. package/vue/chunks/UiContextMenu.js +2 -2
  108. package/vue/chunks/UiCover.js +2 -2
  109. package/vue/chunks/UiCurveEditor.js +413 -0
  110. package/vue/chunks/UiDescriptionItem.js +2 -2
  111. package/vue/chunks/UiDescriptionList.js +2 -2
  112. package/vue/chunks/UiDialog.js +4 -4
  113. package/vue/chunks/UiDisclosure.js +2 -2
  114. package/vue/chunks/UiEditable.js +2 -2
  115. package/vue/chunks/UiEditorBlockActions.js +2 -2
  116. package/vue/chunks/UiEditorChipEditor.js +2 -2
  117. package/vue/chunks/UiEditorCodeLanguage.js +2 -2
  118. package/vue/chunks/UiEditorFootnoteEditor.js +2 -2
  119. package/vue/chunks/UiEditorImageToolbar.js +3 -3
  120. package/vue/chunks/UiEditorInsertTableGrid.js +2 -2
  121. package/vue/chunks/UiEditorLinkCard.js +3 -3
  122. package/vue/chunks/UiEditorLinkForm.js +3 -3
  123. package/vue/chunks/UiEditorMentionMenu.js +2 -2
  124. package/vue/chunks/UiEditorMentionMenuItem.js +2 -2
  125. package/vue/chunks/UiEditorSlashMenu.js +2 -2
  126. package/vue/chunks/UiEditorSlashMenuGroup.js +2 -2
  127. package/vue/chunks/UiEditorSlashMenuItem.js +2 -2
  128. package/vue/chunks/UiEditorSurface.js +2 -2
  129. package/vue/chunks/UiEditorTableContextMenu.js +2 -2
  130. package/vue/chunks/UiEditorTableOverlay.js +2 -2
  131. package/vue/chunks/UiEditorTableToolbar.js +2 -2
  132. package/vue/chunks/UiEditorToolbar.js +2 -2
  133. package/vue/chunks/UiFloatingActionButton.js +2 -2
  134. package/vue/chunks/UiFormField.js +2 -2
  135. package/vue/chunks/UiGrid.js +2 -2
  136. package/vue/chunks/UiIcon.js +2 -2
  137. package/vue/chunks/UiIconButton.js +77 -11
  138. package/vue/chunks/UiImage.js +2 -2
  139. package/vue/chunks/UiInput.js +2 -2
  140. package/vue/chunks/UiInputGroup.js +2 -2
  141. package/vue/chunks/UiList.js +2 -2
  142. package/vue/chunks/UiListItem.js +2 -2
  143. package/vue/chunks/UiListbox.js +2 -2
  144. package/vue/chunks/UiMenu.js +3 -3
  145. package/vue/chunks/UiMenuGroup.js +2 -2
  146. package/vue/chunks/UiMenuItem.js +2 -2
  147. package/vue/chunks/UiMeter.js +2 -2
  148. package/vue/chunks/UiNavItem.js +2 -2
  149. package/vue/chunks/UiNumberInput.js +390 -0
  150. package/vue/chunks/UiPageHeader.js +2 -2
  151. package/vue/chunks/UiPopover.js +4 -4
  152. package/vue/chunks/UiRadio.js +2 -2
  153. package/vue/chunks/UiRadioGroup.js +2 -2
  154. package/vue/chunks/UiReel.js +2 -2
  155. package/vue/chunks/UiScrollArea.js +2 -2
  156. package/vue/chunks/UiSearchResultRow.js +2 -2
  157. package/vue/chunks/UiSearchShell.js +2 -2
  158. package/vue/chunks/UiSection.js +2 -2
  159. package/vue/chunks/UiSelect.js +2 -2
  160. package/vue/chunks/UiSeparator.js +2 -2
  161. package/vue/chunks/UiSidebar.js +2 -2
  162. package/vue/chunks/UiSlider.js +396 -0
  163. package/vue/chunks/UiSpinner.js +2 -2
  164. package/vue/chunks/UiStack.js +2 -2
  165. package/vue/chunks/UiStatusMessage.js +2 -2
  166. package/vue/chunks/UiSwatch.js +2 -2
  167. package/vue/chunks/UiSwitch.js +2 -2
  168. package/vue/chunks/UiSwitcher.js +2 -2
  169. package/vue/chunks/UiTable.js +2 -2
  170. package/vue/chunks/UiTabs.js +3 -3
  171. package/vue/chunks/UiText.js +53 -12
  172. package/vue/chunks/UiTextarea.js +2 -2
  173. package/vue/chunks/UiToast.js +2 -2
  174. package/vue/chunks/UiToastRegion.js +2 -2
  175. package/vue/chunks/UiTooltip.js +3 -3
  176. package/vue/chunks/UiTopBar.js +1 -1
  177. package/vue/chunks/UiTree.js +2 -2
  178. package/vue/chunks/UiTreeItem.js +2 -2
  179. package/vue/chunks/_plugin-vue_export-helper.js +68 -2
  180. package/vue/chunks/props.js +24 -1
  181. package/vue/components.css +2215 -1203
  182. package/vue/editor/index.js +623 -211
  183. package/vue/index.d.ts +3 -0
  184. package/vue/index.js +5 -2
@@ -0,0 +1,390 @@
1
+ import { a as concat, b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
2
+ import { d as requireInputStatus, i as checkPropInput, l as inputRead, m as vuePropInputs, n as READY_INPUT, p as vPropValidity, s as evaluateInput, t as BINDING_INPUTS_PROP, u as propValidityState } from "./props.js";
3
+ import { t as UiIcon_default } from "./UiIcon.js";
4
+ import { t as UiInput_default } from "./UiInput.js";
5
+ import { t as UiIconButton_default } from "./UiIconButton.js";
6
+ import { Fragment, computed, createBlock, createElementBlock, createTextVNode, createVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, ref, renderList, toDisplayString, unref, watchSyncEffect, withCtx, withDirectives } from "vue";
7
+ //#region .build/vue/UiNumberInput.vue?vue&type=script&setup=true&lang.ts
8
+ var _hoisted_1 = [
9
+ "data-ui-number-input-prop-disabled",
10
+ "data-ui-number-input-prop-label",
11
+ "data-ui-number-input-prop-max",
12
+ "data-ui-number-input-prop-min",
13
+ "data-ui-number-input-prop-name",
14
+ "data-ui-number-input-prop-size",
15
+ "data-ui-number-input-prop-step",
16
+ "data-ui-number-input-prop-unit",
17
+ "data-ui-number-input-prop-value"
18
+ ];
19
+ //#endregion
20
+ //#region .build/vue/UiNumberInput.vue
21
+ var UiNumberInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
22
+ inheritAttrs: false,
23
+ __name: "UiNumberInput",
24
+ props: {
25
+ disabled: { type: null },
26
+ label: { type: null },
27
+ max: { type: null },
28
+ min: { type: null },
29
+ name: { type: null },
30
+ size: { type: null },
31
+ step: { type: null },
32
+ unit: { type: null },
33
+ value: { type: null },
34
+ [BINDING_INPUTS_PROP]: { type: null }
35
+ },
36
+ emits: [
37
+ "update:value",
38
+ "input",
39
+ "change"
40
+ ],
41
+ setup(__props, { emit: __emit }) {
42
+ const propValidityContract = { props: {
43
+ disabled: {
44
+ type: {
45
+ kind: "terminal",
46
+ name: "boolean"
47
+ },
48
+ required: false,
49
+ target: { attribute: "disabled" },
50
+ description: "Prevents typing, stepping and pointer or keyboard changes while keeping the value visible.",
51
+ default: false
52
+ },
53
+ label: {
54
+ type: {
55
+ kind: "terminal",
56
+ name: "string"
57
+ },
58
+ required: false,
59
+ target: { attribute: "aria-label" },
60
+ description: "Accessible name for the editing control.",
61
+ default: "Value"
62
+ },
63
+ max: {
64
+ type: {
65
+ kind: "terminal",
66
+ name: "number"
67
+ },
68
+ required: false,
69
+ target: { attribute: "max" },
70
+ description: "Inclusive upper bound applied to every editing path.",
71
+ default: 1e6
72
+ },
73
+ min: {
74
+ type: {
75
+ kind: "terminal",
76
+ name: "number"
77
+ },
78
+ required: false,
79
+ target: { attribute: "min" },
80
+ description: "Inclusive lower bound applied to typing, arithmetic, stepping and external values.",
81
+ default: -1e6
82
+ },
83
+ name: {
84
+ type: {
85
+ kind: "terminal",
86
+ name: "string"
87
+ },
88
+ required: false,
89
+ target: { attribute: "name" },
90
+ description: "Optional form field name.",
91
+ default: ""
92
+ },
93
+ size: {
94
+ type: {
95
+ kind: "terminal",
96
+ name: "keyword"
97
+ },
98
+ required: false,
99
+ target: { attribute: "size" },
100
+ description: "Shared field and button height.",
101
+ values: [
102
+ "sm",
103
+ "md",
104
+ "lg"
105
+ ],
106
+ default: "md"
107
+ },
108
+ step: {
109
+ type: {
110
+ kind: "terminal",
111
+ name: "number"
112
+ },
113
+ required: false,
114
+ target: { attribute: "step" },
115
+ description: "Positive increment used by arrows and step buttons; Shift multiplies it by ten.",
116
+ default: 1
117
+ },
118
+ unit: {
119
+ type: {
120
+ kind: "terminal",
121
+ name: "string"
122
+ },
123
+ required: false,
124
+ target: { attribute: "unit" },
125
+ description: "One accepted unit, such as px, rem, ms or %. Bare numbers use this unit. No automatic unit conversion.",
126
+ default: ""
127
+ },
128
+ value: {
129
+ type: {
130
+ kind: "terminal",
131
+ name: "string"
132
+ },
133
+ required: false,
134
+ target: { attribute: "value" },
135
+ description: "Exact value. Arithmetic is calculated on Enter or blur; the resulting value includes unit. Invalid expressions stay visible and expose invalid\n state.",
136
+ default: "0"
137
+ }
138
+ } };
139
+ const props = __props;
140
+ const inputTracking = vuePropInputs({
141
+ disabled: false,
142
+ label: "Value",
143
+ max: 1e6,
144
+ min: -1e6,
145
+ name: "",
146
+ size: "md",
147
+ step: 1,
148
+ unit: "",
149
+ value: "0"
150
+ }, {
151
+ disabled: false,
152
+ label: "Value",
153
+ max: 1e6,
154
+ min: -1e6,
155
+ name: "",
156
+ size: "md",
157
+ step: 1,
158
+ unit: "",
159
+ value: "0"
160
+ }, (name, value, source, values) => {
161
+ switch (name) {
162
+ case "disabled": return checkPropInput(value, {
163
+ kind: "terminal",
164
+ name: "boolean"
165
+ }, true, true);
166
+ case "label": return checkPropInput(value, {
167
+ kind: "terminal",
168
+ name: "string"
169
+ }, true, true);
170
+ case "max": return checkPropInput(value, {
171
+ kind: "terminal",
172
+ name: "number"
173
+ }, true, true);
174
+ case "min": return checkPropInput(value, {
175
+ kind: "terminal",
176
+ name: "number"
177
+ }, true, true);
178
+ case "name": return checkPropInput(value, {
179
+ kind: "terminal",
180
+ name: "string"
181
+ }, true, true);
182
+ case "size": return checkPropInput(value, {
183
+ kind: "terminal",
184
+ name: "keyword"
185
+ }, true, true);
186
+ case "step": return checkPropInput(value, {
187
+ kind: "terminal",
188
+ name: "number"
189
+ }, true, true);
190
+ case "unit": return checkPropInput(value, {
191
+ kind: "terminal",
192
+ name: "string"
193
+ }, true, true);
194
+ case "value": return checkPropInput(value, {
195
+ kind: "terminal",
196
+ name: "string"
197
+ }, true, true);
198
+ default: return { ok: false };
199
+ }
200
+ }, () => {
201
+ checkedProps.value;
202
+ });
203
+ const propInputs = inputTracking.inputs;
204
+ const checkedProps = computed(() => {
205
+ inputTracking.version.value;
206
+ return {
207
+ disabled: propInputs.value("disabled", props["disabled"], props[BINDING_INPUTS_PROP]),
208
+ label: propInputs.value("label", props["label"], props[BINDING_INPUTS_PROP]),
209
+ max: propInputs.value("max", props["max"], props[BINDING_INPUTS_PROP]),
210
+ min: propInputs.value("min", props["min"], props[BINDING_INPUTS_PROP]),
211
+ name: propInputs.value("name", props["name"], props[BINDING_INPUTS_PROP]),
212
+ size: propInputs.value("size", props["size"], props[BINDING_INPUTS_PROP]),
213
+ step: propInputs.value("step", props["step"], props[BINDING_INPUTS_PROP]),
214
+ unit: propInputs.value("unit", props["unit"], props[BINDING_INPUTS_PROP]),
215
+ value: propInputs.value("value", props["value"], props[BINDING_INPUTS_PROP])
216
+ };
217
+ });
218
+ const inputStatus = (name, handlesError) => {
219
+ checkedProps.value;
220
+ inputTracking.version.value;
221
+ return requireInputStatus(propInputs.status(name), handlesError);
222
+ };
223
+ checkedProps.value;
224
+ watchSyncEffect(() => {
225
+ checkedProps.value;
226
+ });
227
+ const reflectedProp = useReflectedProp();
228
+ const hydrationInstance = getCurrentInstance();
229
+ const emit = __emit;
230
+ const root = ref(null);
231
+ checkHydratedRoot("span", "ui-number-input");
232
+ const isInputDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["value"] === "string" && Object.keys(detail).every((key) => ["value"].includes(key));
233
+ const dispatch = createDispatch(root, emit, {
234
+ checks: {
235
+ input: isInputDetail,
236
+ change: isInputDetail
237
+ },
238
+ modeled: ["value"]
239
+ });
240
+ useComponentHost(() => import("@threadlabs/looma/components/ui-number-input/ui-number-input.js"), {
241
+ root,
242
+ module: true,
243
+ dispatch,
244
+ controllerSource: {
245
+ specifier: "../components/ui-number-input/ui-number-input.js",
246
+ definition: "./components/ui-number-input/ui-number-input.html"
247
+ },
248
+ props: checkedProps,
249
+ inputs: propInputs,
250
+ inputTracking,
251
+ propInputs: (name) => {
252
+ const incoming = hydrationInstance?.vnode.props;
253
+ const kebab = name.replace(/[A-Z]/g, (letter) => "-" + letter.toLowerCase());
254
+ return incoming !== null && incoming !== void 0 ? incoming[name] ?? incoming[kebab] ?? null : null;
255
+ },
256
+ propNames: [
257
+ "disabled",
258
+ "label",
259
+ "max",
260
+ "min",
261
+ "name",
262
+ "size",
263
+ "step",
264
+ "unit",
265
+ "value"
266
+ ],
267
+ propValidity: (name) => propValidityState({
268
+ contract: propValidityContract,
269
+ values: { ...props }
270
+ }, name)
271
+ });
272
+ return (_ctx, _cache) => {
273
+ return withDirectives((openBlock(), createElementBlock("span", mergeProps({ class: "ui-number-input" }, unref(nativeAttrs)(_ctx.$attrs), {
274
+ "data-hn": "",
275
+ "data-ui-number-input-prop-disabled": unref(reflectedProp)("disabled", "disabled", checkedProps.value.disabled, void 0, false),
276
+ "data-ui-number-input-prop-label": unref(reflectedProp)("label", "label", checkedProps.value.label, void 0, false),
277
+ "data-ui-number-input-prop-max": unref(reflectedProp)("max", "max", checkedProps.value.max, void 0, false),
278
+ "data-ui-number-input-prop-min": unref(reflectedProp)("min", "min", checkedProps.value.min, void 0, false),
279
+ "data-ui-number-input-prop-name": unref(reflectedProp)("name", "name", checkedProps.value.name, void 0, false),
280
+ "data-ui-number-input-prop-size": unref(reflectedProp)("size", "size", checkedProps.value.size, void 0, false),
281
+ "data-ui-number-input-prop-step": unref(reflectedProp)("step", "step", checkedProps.value.step, void 0, false),
282
+ "data-ui-number-input-prop-unit": unref(reflectedProp)("unit", "unit", checkedProps.value.unit, void 0, false),
283
+ "data-ui-number-input-prop-value": unref(reflectedProp)("value", "value", checkedProps.value.value, void 0, false),
284
+ ref_key: "root",
285
+ ref: root
286
+ }), [
287
+ (openBlock(true), createElementBlock(Fragment, null, renderList([unref(evaluateInput)(() => unref(concat)("Decrease ", unref(inputRead)(checkedProps.value.label, inputStatus("label", true))), unref(READY_INPUT))], (boundInput) => {
288
+ return openBlock(), createBlock(UiIconButton_default, mergeProps({
289
+ class: "ui-icon-button",
290
+ "data-number-step": "decrease",
291
+ "match-button": true,
292
+ type: "button",
293
+ size: checkedProps.value.size,
294
+ disabled: checkedProps.value.disabled,
295
+ label: boundInput.value
296
+ }, { ref_for: true }, { [unref(BINDING_INPUTS_PROP)]: {
297
+ size: () => ({
298
+ value: checkedProps.value.size,
299
+ status: inputStatus("size", true)
300
+ }),
301
+ disabled: () => ({
302
+ value: checkedProps.value.disabled,
303
+ status: inputStatus("disabled", true)
304
+ }),
305
+ label: () => boundInput
306
+ } }), {
307
+ default: withCtx(() => [createVNode(UiIcon_default, {
308
+ class: "ui-icon",
309
+ name: "minus"
310
+ })]),
311
+ _: 1
312
+ }, 16, [
313
+ "size",
314
+ "disabled",
315
+ "label"
316
+ ]);
317
+ }), 256)),
318
+ _cache[0] || (_cache[0] = createTextVNode(toDisplayString(" "), -1)),
319
+ createVNode(UiInput_default, mergeProps({
320
+ class: "ui-input",
321
+ "data-ui-field-control": "",
322
+ inputmode: "decimal",
323
+ spellcheck: "false",
324
+ "aria-description": "Enter calculates arithmetic. Arrow keys step; Shift changes ten steps.",
325
+ size: checkedProps.value.size,
326
+ disabled: checkedProps.value.disabled,
327
+ value: checkedProps.value.value,
328
+ "aria-label": checkedProps.value.label,
329
+ name: checkedProps.value.name
330
+ }, { [unref(BINDING_INPUTS_PROP)]: {
331
+ size: () => ({
332
+ value: checkedProps.value.size,
333
+ status: inputStatus("size", true)
334
+ }),
335
+ disabled: () => ({
336
+ value: checkedProps.value.disabled,
337
+ status: inputStatus("disabled", true)
338
+ }),
339
+ value: () => ({
340
+ value: checkedProps.value.value,
341
+ status: inputStatus("value", true)
342
+ })
343
+ } }), null, 16, [
344
+ "size",
345
+ "disabled",
346
+ "value",
347
+ "aria-label",
348
+ "name"
349
+ ]),
350
+ _cache[1] || (_cache[1] = createTextVNode(toDisplayString(" "), -1)),
351
+ (openBlock(true), createElementBlock(Fragment, null, renderList([unref(evaluateInput)(() => unref(concat)("Increase ", unref(inputRead)(checkedProps.value.label, inputStatus("label", true))), unref(READY_INPUT))], (boundInputSnapshot) => {
352
+ return openBlock(), createBlock(UiIconButton_default, mergeProps({
353
+ class: "ui-icon-button",
354
+ "data-number-step": "increase",
355
+ "match-button": true,
356
+ type: "button",
357
+ size: checkedProps.value.size,
358
+ disabled: checkedProps.value.disabled,
359
+ label: boundInputSnapshot.value
360
+ }, { ref_for: true }, { [unref(BINDING_INPUTS_PROP)]: {
361
+ size: () => ({
362
+ value: checkedProps.value.size,
363
+ status: inputStatus("size", true)
364
+ }),
365
+ disabled: () => ({
366
+ value: checkedProps.value.disabled,
367
+ status: inputStatus("disabled", true)
368
+ }),
369
+ label: () => boundInputSnapshot
370
+ } }), {
371
+ default: withCtx(() => [createVNode(UiIcon_default, {
372
+ class: "ui-icon",
373
+ name: "plus"
374
+ })]),
375
+ _: 1
376
+ }, 16, [
377
+ "size",
378
+ "disabled",
379
+ "label"
380
+ ]);
381
+ }), 256))
382
+ ], 16, _hoisted_1)), [[unref(vPropValidity), {
383
+ contract: propValidityContract,
384
+ values: { ...props }
385
+ }]]);
386
+ };
387
+ }
388
+ }), [["__scopeId", "data-v-8ef7cc4b"]]);
389
+ //#endregion
390
+ export { UiNumberInput_default as t };
@@ -1,5 +1,5 @@
1
- import { i as checkHydratedRoot, p as nativeAttrs, t as _plugin_vue_export_helper_default, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
- import { f as vPropValidity, i as checkPropInput, p as vuePropInputs, t as BINDING_INPUTS_PROP } from "./props.js";
1
+ import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
+ import { i as checkPropInput, m as vuePropInputs, p as vPropValidity, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, createTextVNode, defineComponent, mergeProps, openBlock, renderSlot, toDisplayString, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiPageHeader.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = ["data-ui-page-header-prop-align", "data-ui-page-header-state"];
@@ -1,5 +1,5 @@
1
- import { i as checkHydratedRoot, o as createDispatch, p as nativeAttrs, t as _plugin_vue_export_helper_default, v as useComponentHost, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
- import { f as vPropValidity, i as checkPropInput, l as propValidityState, p as vuePropInputs, r as acceptsControllerWrite, t as BINDING_INPUTS_PROP } from "./props.js";
1
+ import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
2
+ import { i as checkPropInput, m as vuePropInputs, p as vPropValidity, r as acceptsControllerWrite, t as BINDING_INPUTS_PROP, u as propValidityState } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderSlot, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiPopover.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = [
@@ -95,7 +95,7 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
95
95
  },
96
96
  required: false,
97
97
  target: { attribute: "size" },
98
- description: "Optional size preset. content keeps the existing intrinsic sizing; the other sizes constrain the surface for compact, medium, or large content.",
98
+ description: "Optional size preset. content keeps the existing intrinsic sizing; the other sizes constrain the surface for compact, medium, or large content. Shared\n surface separation adapts to popover purpose and rendered size.",
99
99
  values: [
100
100
  "content",
101
101
  "sm",
@@ -238,6 +238,6 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
238
238
  }]]);
239
239
  };
240
240
  }
241
- }), [["__scopeId", "data-v-7a4b8b6e"]]);
241
+ }), [["__scopeId", "data-v-eaf1afa0"]]);
242
242
  //#endregion
243
243
  export { UiPopover_default as t };
@@ -1,5 +1,5 @@
1
- import { i as checkHydratedRoot, o as createDispatch, p as nativeAttrs, t as _plugin_vue_export_helper_default, v as useComponentHost, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
- import { f as vPropValidity, i as checkPropInput, l as propValidityState, p as vuePropInputs, r as acceptsControllerWrite, t as BINDING_INPUTS_PROP } from "./props.js";
1
+ import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
2
+ import { i as checkPropInput, m as vuePropInputs, p as vPropValidity, r as acceptsControllerWrite, t as BINDING_INPUTS_PROP, u as propValidityState } from "./props.js";
3
3
  import { r as vBindControl } from "./control.js";
4
4
  import { computed, createElementBlock, createElementVNode, createTextVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderSlot, toDisplayString, unref, useTemplateRef, watchSyncEffect, withDirectives } from "vue";
5
5
  //#region .build/vue/UiRadio.vue?vue&type=script&setup=true&lang.ts
@@ -1,5 +1,5 @@
1
- import { i as checkHydratedRoot, o as createDispatch, p as nativeAttrs, t as _plugin_vue_export_helper_default, v as useComponentHost, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
- import { f as vPropValidity, i as checkPropInput, l as propValidityState, p as vuePropInputs, r as acceptsControllerWrite, t as BINDING_INPUTS_PROP } from "./props.js";
1
+ import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
2
+ import { i as checkPropInput, m as vuePropInputs, p as vPropValidity, r as acceptsControllerWrite, t as BINDING_INPUTS_PROP, u as propValidityState } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, normalizeClass, openBlock, provide, ref, renderSlot, toDisplayString, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiRadioGroup.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = [
@@ -1,5 +1,5 @@
1
- import { i as checkHydratedRoot, p as nativeAttrs, t as _plugin_vue_export_helper_default, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
- import { f as vPropValidity, i as checkPropInput, p as vuePropInputs, t as BINDING_INPUTS_PROP } from "./props.js";
1
+ import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
+ import { i as checkPropInput, m as vuePropInputs, p as vPropValidity, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { computed, createElementBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiReel.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = [
@@ -1,5 +1,5 @@
1
- import { i as checkHydratedRoot, o as createDispatch, p as nativeAttrs, t as _plugin_vue_export_helper_default, v as useComponentHost, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
- import { f as vPropValidity, i as checkPropInput, l as propValidityState, p as vuePropInputs, t as BINDING_INPUTS_PROP } from "./props.js";
1
+ import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
2
+ import { i as checkPropInput, m as vuePropInputs, p as vPropValidity, t as BINDING_INPUTS_PROP, u as propValidityState } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, ref, renderSlot, unref, useTemplateRef, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiScrollArea.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = [
@@ -1,5 +1,5 @@
1
- import { i as checkHydratedRoot, p as nativeAttrs, t as _plugin_vue_export_helper_default, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
- import { f as vPropValidity, i as checkPropInput, p as vuePropInputs, t as BINDING_INPUTS_PROP } from "./props.js";
1
+ import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
+ import { i as checkPropInput, m as vuePropInputs, p as vPropValidity, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, createTextVNode, defineComponent, mergeProps, openBlock, renderSlot, toDisplayString, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiSearchResultRow.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = [
@@ -1,5 +1,5 @@
1
- import { i as checkHydratedRoot, o as createDispatch, p as nativeAttrs, t as _plugin_vue_export_helper_default, v as useComponentHost, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
- import { f as vPropValidity, i as checkPropInput, l as propValidityState, p as vuePropInputs, r as acceptsControllerWrite, t as BINDING_INPUTS_PROP } from "./props.js";
1
+ import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
2
+ import { i as checkPropInput, m as vuePropInputs, p as vPropValidity, r as acceptsControllerWrite, t as BINDING_INPUTS_PROP, u as propValidityState } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderSlot, unref, useTemplateRef, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiSearchShell.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = [
@@ -1,5 +1,5 @@
1
- import { i as checkHydratedRoot, p as nativeAttrs, t as _plugin_vue_export_helper_default, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
- import { f as vPropValidity, i as checkPropInput, p as vuePropInputs, t as BINDING_INPUTS_PROP } from "./props.js";
1
+ import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
+ import { i as checkPropInput, m as vuePropInputs, p as vPropValidity, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, createTextVNode, defineComponent, mergeProps, openBlock, renderSlot, toDisplayString, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiSection.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = [
@@ -1,5 +1,5 @@
1
- import { i as checkHydratedRoot, o as createDispatch, p as nativeAttrs, t as _plugin_vue_export_helper_default, v as useComponentHost, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
- import { a as checkedProp, f as vPropValidity, i as checkPropInput, l as propValidityState, p as vuePropInputs, t as BINDING_INPUTS_PROP } from "./props.js";
1
+ import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
2
+ import { a as checkedProp, i as checkPropInput, m as vuePropInputs, p as vPropValidity, t as BINDING_INPUTS_PROP, u as propValidityState } from "./props.js";
3
3
  import { n as readBoundControl, r as vBindControl, t as SelectedOptions } from "./control.js";
4
4
  import { computed, createElementBlock, createVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, ref, renderSlot, unref, watchSyncEffect, withCtx, withDirectives } from "vue";
5
5
  //#region .build/vue/UiSelect.vue?vue&type=script&setup=true&lang.ts
@@ -1,5 +1,5 @@
1
- import { i as checkHydratedRoot, p as nativeAttrs, t as _plugin_vue_export_helper_default, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
- import { f as vPropValidity, i as checkPropInput, p as vuePropInputs, t as BINDING_INPUTS_PROP } from "./props.js";
1
+ import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
+ import { i as checkPropInput, m as vuePropInputs, p as vPropValidity, t as BINDING_INPUTS_PROP } from "./props.js";
3
3
  import { computed, createElementBlock, defineComponent, mergeProps, openBlock, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiSeparator.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = [
@@ -1,5 +1,5 @@
1
- import { i as checkHydratedRoot, o as createDispatch, p as nativeAttrs, t as _plugin_vue_export_helper_default, v as useComponentHost, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
- import { f as vPropValidity, i as checkPropInput, l as propValidityState, p as vuePropInputs, r as acceptsControllerWrite, t as BINDING_INPUTS_PROP } from "./props.js";
1
+ import { b as useReflectedProp, i as checkHydratedRoot, m as nativeAttrs, o as createDispatch, t as _plugin_vue_export_helper_default, y as useComponentHost } from "./_plugin-vue_export-helper.js";
2
+ import { i as checkPropInput, m as vuePropInputs, p as vPropValidity, r as acceptsControllerWrite, t as BINDING_INPUTS_PROP, u as propValidityState } from "./props.js";
3
3
  import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderSlot, unref, useTemplateRef, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiSidebar.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = [