@threadlabs/looma 0.33.1 → 0.35.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 (215) hide show
  1. package/components/shared/overlay.js +8 -2
  2. package/components/shared/surface-material.js +21 -0
  3. package/components/ui-badge/ui-badge.html +11 -3
  4. package/components/ui-button/ui-button.html +92 -51
  5. package/components/ui-card/ui-card.html +50 -6
  6. package/components/ui-checkbox/ui-checkbox.html +4 -2
  7. package/components/ui-curve-editor/curve.js +10 -0
  8. package/components/ui-curve-editor/ui-curve-editor.html +181 -0
  9. package/components/ui-curve-editor/ui-curve-editor.js +51 -0
  10. package/components/ui-dialog/ui-dialog.html +64 -1
  11. package/components/ui-dialog/ui-dialog.js +9 -1
  12. package/components/ui-icon-button/ui-icon-button.html +97 -31
  13. package/components/ui-input/ui-input.html +2 -1
  14. package/components/ui-input-group/ui-input-group.html +4 -1
  15. package/components/ui-light-editor/ui-light-editor.html +45 -0
  16. package/components/ui-light-editor/ui-light-editor.js +53 -0
  17. package/components/ui-menu/ui-menu.html +62 -0
  18. package/components/ui-menu/ui-menu.js +1 -1
  19. package/components/ui-number-input/arithmetic.js +47 -0
  20. package/components/ui-number-input/ui-number-input.html +63 -0
  21. package/components/ui-number-input/ui-number-input.js +47 -0
  22. package/components/ui-popover/ui-popover.html +66 -1
  23. package/components/ui-popover/ui-popover.js +1 -1
  24. package/components/ui-select/ui-select.html +9 -7
  25. package/components/ui-slider/ui-slider.html +84 -0
  26. package/components/ui-slider/ui-slider.js +29 -0
  27. package/components/ui-switch/ui-switch.html +3 -0
  28. package/components/ui-tabs/ui-tabs.html +6 -1
  29. package/components/ui-text/ui-text.html +31 -6
  30. package/components/ui-textarea/ui-textarea.html +2 -1
  31. package/components/ui-tooltip/ui-tooltip.html +60 -0
  32. package/components/ui-tooltip/ui-tooltip.js +1 -1
  33. package/dist/index.js +47 -43
  34. package/docs/README.md +59 -5
  35. package/docs/card.html +16 -2
  36. package/docs/card.js +17 -2
  37. package/docs/catalog.json +1640 -108
  38. package/docs/customizer-render.mjs +50 -11
  39. package/docs/customizer.js +137 -24
  40. package/docs/documentation.css +9 -1
  41. package/docs/index.d.ts +8 -3
  42. package/docs/index.mjs +1 -1
  43. package/docs/preview.js +2 -0
  44. package/docs/render.mjs +16 -7
  45. package/docs/site.mjs +78 -27
  46. package/docs/theme-session.mjs +53 -0
  47. package/docs/theme.mjs +189 -18
  48. package/docs/value-editors.mjs +33 -0
  49. package/package.json +2 -2
  50. package/styles/ui-badge.css +11 -6
  51. package/styles/ui-button.css +74 -49
  52. package/styles/ui-card.css +51 -4
  53. package/styles/ui-checkbox.css +4 -2
  54. package/styles/ui-curve-editor.css +109 -0
  55. package/styles/ui-dialog.css +136 -0
  56. package/styles/ui-icon-button.css +85 -28
  57. package/styles/ui-input-group.css +4 -1
  58. package/styles/ui-input.css +2 -1
  59. package/styles/ui-light-editor.css +28 -0
  60. package/styles/ui-menu.css +74 -0
  61. package/styles/ui-number-input.css +34 -0
  62. package/styles/ui-popover.css +76 -0
  63. package/styles/ui-select.css +9 -7
  64. package/styles/ui-slider.css +53 -0
  65. package/styles/ui-switch.css +3 -0
  66. package/styles/ui-tabs.css +6 -1
  67. package/styles/ui-text.css +23 -1
  68. package/styles/ui-textarea.css +2 -1
  69. package/styles/ui-tooltip.css +72 -0
  70. package/theme-light.css +1 -0
  71. package/theme-system.css +69 -17
  72. package/tokens.css +12 -2
  73. package/vanilla/UiButton.d.ts +1 -0
  74. package/vanilla/UiButton.js +195 -130
  75. package/vanilla/UiCard.d.ts +1 -0
  76. package/vanilla/UiCard.js +12 -12
  77. package/vanilla/UiCurveEditor.d.ts +28 -0
  78. package/vanilla/UiCurveEditor.js +134 -0
  79. package/vanilla/UiIconButton.d.ts +2 -1
  80. package/vanilla/UiIconButton.js +58 -31
  81. package/vanilla/UiLightEditor.d.ts +29 -0
  82. package/vanilla/UiLightEditor.js +102 -0
  83. package/vanilla/UiNumberInput.d.ts +33 -0
  84. package/vanilla/UiNumberInput.js +86 -0
  85. package/vanilla/UiSlider.d.ts +33 -0
  86. package/vanilla/UiSlider.js +125 -0
  87. package/vanilla/UiText.d.ts +2 -2
  88. package/vanilla/UiText.js +45 -11
  89. package/vanilla/index.js +4 -0
  90. package/vue/UiBadge.vue +29 -4
  91. package/vue/UiButton.d.ts +6 -0
  92. package/vue/UiButton.vue +188 -60
  93. package/vue/UiCard.d.ts +6 -0
  94. package/vue/UiCard.vue +80 -6
  95. package/vue/UiCheckbox.vue +4 -2
  96. package/vue/UiCurveEditor.d.ts +53 -0
  97. package/vue/UiCurveEditor.js +2 -0
  98. package/vue/UiCurveEditor.vue +427 -0
  99. package/vue/UiDialog.vue +181 -1
  100. package/vue/UiIconButton.d.ts +8 -2
  101. package/vue/UiIconButton.vue +190 -45
  102. package/vue/UiInput.vue +2 -1
  103. package/vue/UiInputGroup.vue +4 -1
  104. package/vue/UiLightEditor.d.ts +75 -0
  105. package/vue/UiLightEditor.js +2 -0
  106. package/vue/UiLightEditor.vue +402 -0
  107. package/vue/UiMenu.vue +91 -0
  108. package/vue/UiNumberInput.d.ts +83 -0
  109. package/vue/UiNumberInput.js +2 -0
  110. package/vue/UiNumberInput.vue +399 -0
  111. package/vue/UiPopover.vue +94 -1
  112. package/vue/UiSelect.vue +16 -10
  113. package/vue/UiSlider.d.ts +83 -0
  114. package/vue/UiSlider.js +2 -0
  115. package/vue/UiSlider.vue +412 -0
  116. package/vue/UiSwitch.vue +3 -0
  117. package/vue/UiTabs.vue +6 -1
  118. package/vue/UiText.d.ts +7 -5
  119. package/vue/UiText.vue +104 -22
  120. package/vue/UiTextarea.vue +2 -1
  121. package/vue/UiTooltip.vue +89 -0
  122. package/vue/chunks/UiActionBar.js +1 -1
  123. package/vue/chunks/UiAffordanceScope.js +2 -2
  124. package/vue/chunks/UiAvatar.js +2 -2
  125. package/vue/chunks/UiAvatarGroup.js +2 -2
  126. package/vue/chunks/UiBadge.js +3 -3
  127. package/vue/chunks/UiBreadcrumbItem.js +2 -2
  128. package/vue/chunks/UiBreadcrumbs.js +2 -2
  129. package/vue/chunks/UiButton.js +94 -11
  130. package/vue/chunks/UiCallout.js +2 -2
  131. package/vue/chunks/UiCard.js +34 -5
  132. package/vue/chunks/UiCheckbox.js +3 -3
  133. package/vue/chunks/UiCluster.js +2 -2
  134. package/vue/chunks/UiColorPicker.js +2 -2
  135. package/vue/chunks/UiCombobox.js +2 -2
  136. package/vue/chunks/UiContainer.js +2 -2
  137. package/vue/chunks/UiContextMenu.js +2 -2
  138. package/vue/chunks/UiCover.js +2 -2
  139. package/vue/chunks/UiCurveEditor.js +413 -0
  140. package/vue/chunks/UiDescriptionItem.js +2 -2
  141. package/vue/chunks/UiDescriptionList.js +2 -2
  142. package/vue/chunks/UiDialog.js +4 -4
  143. package/vue/chunks/UiDisclosure.js +2 -2
  144. package/vue/chunks/UiEditable.js +2 -2
  145. package/vue/chunks/UiEditorBlockActions.js +2 -2
  146. package/vue/chunks/UiEditorChipEditor.js +2 -2
  147. package/vue/chunks/UiEditorCodeLanguage.js +2 -2
  148. package/vue/chunks/UiEditorFootnoteEditor.js +2 -2
  149. package/vue/chunks/UiEditorImageToolbar.js +3 -3
  150. package/vue/chunks/UiEditorInsertTableGrid.js +2 -2
  151. package/vue/chunks/UiEditorLinkCard.js +3 -3
  152. package/vue/chunks/UiEditorLinkForm.js +3 -3
  153. package/vue/chunks/UiEditorMentionMenu.js +2 -2
  154. package/vue/chunks/UiEditorMentionMenuItem.js +2 -2
  155. package/vue/chunks/UiEditorSlashMenu.js +2 -2
  156. package/vue/chunks/UiEditorSlashMenuGroup.js +2 -2
  157. package/vue/chunks/UiEditorSlashMenuItem.js +2 -2
  158. package/vue/chunks/UiEditorSurface.js +2 -2
  159. package/vue/chunks/UiEditorTableContextMenu.js +2 -2
  160. package/vue/chunks/UiEditorTableOverlay.js +2 -2
  161. package/vue/chunks/UiEditorTableToolbar.js +2 -2
  162. package/vue/chunks/UiEditorToolbar.js +2 -2
  163. package/vue/chunks/UiFloatingActionButton.js +2 -2
  164. package/vue/chunks/UiFormField.js +2 -2
  165. package/vue/chunks/UiGrid.js +2 -2
  166. package/vue/chunks/UiIcon.js +2 -2
  167. package/vue/chunks/UiIconButton.js +77 -11
  168. package/vue/chunks/UiImage.js +2 -2
  169. package/vue/chunks/UiInput.js +3 -3
  170. package/vue/chunks/UiInputGroup.js +3 -3
  171. package/vue/chunks/UiLightEditor.js +347 -0
  172. package/vue/chunks/UiList.js +2 -2
  173. package/vue/chunks/UiListItem.js +2 -2
  174. package/vue/chunks/UiListbox.js +2 -2
  175. package/vue/chunks/UiMenu.js +3 -3
  176. package/vue/chunks/UiMenuGroup.js +2 -2
  177. package/vue/chunks/UiMenuItem.js +2 -2
  178. package/vue/chunks/UiMeter.js +2 -2
  179. package/vue/chunks/UiNavItem.js +2 -2
  180. package/vue/chunks/UiNumberInput.js +403 -0
  181. package/vue/chunks/UiPageHeader.js +2 -2
  182. package/vue/chunks/UiPopover.js +4 -4
  183. package/vue/chunks/UiRadio.js +2 -2
  184. package/vue/chunks/UiRadioGroup.js +2 -2
  185. package/vue/chunks/UiReel.js +2 -2
  186. package/vue/chunks/UiScrollArea.js +2 -2
  187. package/vue/chunks/UiSearchResultRow.js +2 -2
  188. package/vue/chunks/UiSearchShell.js +2 -2
  189. package/vue/chunks/UiSection.js +2 -2
  190. package/vue/chunks/UiSelect.js +3 -3
  191. package/vue/chunks/UiSeparator.js +2 -2
  192. package/vue/chunks/UiSidebar.js +2 -2
  193. package/vue/chunks/UiSlider.js +396 -0
  194. package/vue/chunks/UiSpinner.js +2 -2
  195. package/vue/chunks/UiStack.js +2 -2
  196. package/vue/chunks/UiStatusMessage.js +2 -2
  197. package/vue/chunks/UiSwatch.js +2 -2
  198. package/vue/chunks/UiSwitch.js +3 -3
  199. package/vue/chunks/UiSwitcher.js +2 -2
  200. package/vue/chunks/UiTable.js +2 -2
  201. package/vue/chunks/UiTabs.js +3 -3
  202. package/vue/chunks/UiText.js +53 -12
  203. package/vue/chunks/UiTextarea.js +3 -3
  204. package/vue/chunks/UiToast.js +2 -2
  205. package/vue/chunks/UiToastRegion.js +2 -2
  206. package/vue/chunks/UiTooltip.js +3 -3
  207. package/vue/chunks/UiTopBar.js +1 -1
  208. package/vue/chunks/UiTree.js +2 -2
  209. package/vue/chunks/UiTreeItem.js +2 -2
  210. package/vue/chunks/_plugin-vue_export-helper.js +68 -2
  211. package/vue/chunks/props.js +24 -1
  212. package/vue/components.css +3391 -2139
  213. package/vue/editor/index.js +623 -211
  214. package/vue/index.d.ts +4 -0
  215. package/vue/index.js +6 -2
@@ -0,0 +1,403 @@
1
+ import { S as warnUnless, a as concat, b as useReflectedProp, d as initializedState, 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, o as copyStateSeed, p as vPropValidity, r as acceptsControllerWrite, 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, provide, 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
+ const display = initializedState(() => evaluateInput(() => {
232
+ return inputRead(checkedProps.value.value, propInputs.status("value"));
233
+ }), (next) => typeof next === "string", copyStateSeed, () => warnUnless(false, "initializer:display", "State `display` does not satisfy its declared type."));
234
+ provide("html-next:ui-number-input:display", display);
235
+ const declarationStatuses = { display: () => display.status() };
236
+ const declarationStatus = (name) => declarationStatuses[name]();
237
+ display.start();
238
+ checkHydratedRoot("span", "ui-number-input");
239
+ const isInputDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["value"] === "string" && Object.keys(detail).every((key) => ["value"].includes(key));
240
+ const dispatch = createDispatch(root, emit, {
241
+ checks: {
242
+ input: isInputDetail,
243
+ change: isInputDetail
244
+ },
245
+ modeled: ["value"]
246
+ });
247
+ useComponentHost(() => import("@threadlabs/looma/components/ui-number-input/ui-number-input.js"), {
248
+ root,
249
+ module: true,
250
+ dispatch,
251
+ acceptsState: (name, keys, value) => acceptsControllerWrite(value, { display: {
252
+ kind: "terminal",
253
+ name: "string"
254
+ } }[name], keys),
255
+ controllerSource: {
256
+ specifier: "../components/ui-number-input/ui-number-input.js",
257
+ definition: "./components/ui-number-input/ui-number-input.html"
258
+ },
259
+ props: checkedProps,
260
+ inputs: propInputs,
261
+ inputTracking,
262
+ propInputs: (name) => {
263
+ const incoming = hydrationInstance?.vnode.props;
264
+ const kebab = name.replace(/[A-Z]/g, (letter) => "-" + letter.toLowerCase());
265
+ return incoming !== null && incoming !== void 0 ? incoming[name] ?? incoming[kebab] ?? null : null;
266
+ },
267
+ propNames: [
268
+ "disabled",
269
+ "label",
270
+ "max",
271
+ "min",
272
+ "name",
273
+ "size",
274
+ "step",
275
+ "unit",
276
+ "value"
277
+ ],
278
+ propValidity: (name) => propValidityState({
279
+ contract: propValidityContract,
280
+ values: { ...props }
281
+ }, name),
282
+ state: { display },
283
+ availability: { display: () => declarationStatus("display") }
284
+ });
285
+ return (_ctx, _cache) => {
286
+ return withDirectives((openBlock(), createElementBlock("span", mergeProps({ class: "ui-number-input" }, unref(nativeAttrs)(_ctx.$attrs), {
287
+ "data-hn": "",
288
+ "data-ui-number-input-prop-disabled": unref(reflectedProp)("disabled", "disabled", checkedProps.value.disabled, void 0, false),
289
+ "data-ui-number-input-prop-label": unref(reflectedProp)("label", "label", checkedProps.value.label, void 0, false),
290
+ "data-ui-number-input-prop-max": unref(reflectedProp)("max", "max", checkedProps.value.max, void 0, false),
291
+ "data-ui-number-input-prop-min": unref(reflectedProp)("min", "min", checkedProps.value.min, void 0, false),
292
+ "data-ui-number-input-prop-name": unref(reflectedProp)("name", "name", checkedProps.value.name, void 0, false),
293
+ "data-ui-number-input-prop-size": unref(reflectedProp)("size", "size", checkedProps.value.size, void 0, false),
294
+ "data-ui-number-input-prop-step": unref(reflectedProp)("step", "step", checkedProps.value.step, void 0, false),
295
+ "data-ui-number-input-prop-unit": unref(reflectedProp)("unit", "unit", checkedProps.value.unit, void 0, false),
296
+ "data-ui-number-input-prop-value": unref(reflectedProp)("value", "value", checkedProps.value.value, void 0, false),
297
+ ref_key: "root",
298
+ ref: root
299
+ }), [
300
+ (openBlock(true), createElementBlock(Fragment, null, renderList([unref(evaluateInput)(() => unref(concat)("Decrease ", unref(inputRead)(checkedProps.value.label, inputStatus("label", true))), unref(READY_INPUT))], (boundInput) => {
301
+ return openBlock(), createBlock(UiIconButton_default, mergeProps({
302
+ class: "ui-icon-button",
303
+ "data-number-step": "decrease",
304
+ "match-button": true,
305
+ type: "button",
306
+ size: checkedProps.value.size,
307
+ disabled: checkedProps.value.disabled,
308
+ label: boundInput.value
309
+ }, { ref_for: true }, { [unref(BINDING_INPUTS_PROP)]: {
310
+ size: () => ({
311
+ value: checkedProps.value.size,
312
+ status: inputStatus("size", true)
313
+ }),
314
+ disabled: () => ({
315
+ value: checkedProps.value.disabled,
316
+ status: inputStatus("disabled", true)
317
+ }),
318
+ label: () => boundInput
319
+ } }), {
320
+ default: withCtx(() => [createVNode(UiIcon_default, {
321
+ class: "ui-icon",
322
+ name: "minus"
323
+ })]),
324
+ _: 1
325
+ }, 16, [
326
+ "size",
327
+ "disabled",
328
+ "label"
329
+ ]);
330
+ }), 256)),
331
+ _cache[0] || (_cache[0] = createTextVNode(toDisplayString(" "), -1)),
332
+ createVNode(UiInput_default, mergeProps({
333
+ class: "ui-input",
334
+ "data-ui-field-control": "",
335
+ inputmode: "decimal",
336
+ spellcheck: "false",
337
+ "aria-description": "Enter calculates arithmetic. Arrow keys step; Shift changes ten steps.",
338
+ size: checkedProps.value.size,
339
+ disabled: checkedProps.value.disabled,
340
+ value: unref(display),
341
+ "aria-label": checkedProps.value.label,
342
+ name: checkedProps.value.name
343
+ }, { [unref(BINDING_INPUTS_PROP)]: {
344
+ size: () => ({
345
+ value: checkedProps.value.size,
346
+ status: inputStatus("size", true)
347
+ }),
348
+ disabled: () => ({
349
+ value: checkedProps.value.disabled,
350
+ status: inputStatus("disabled", true)
351
+ }),
352
+ value: () => ({
353
+ value: unref(display),
354
+ status: declarationStatus("display")
355
+ })
356
+ } }), null, 16, [
357
+ "size",
358
+ "disabled",
359
+ "value",
360
+ "aria-label",
361
+ "name"
362
+ ]),
363
+ _cache[1] || (_cache[1] = createTextVNode(toDisplayString(" "), -1)),
364
+ (openBlock(true), createElementBlock(Fragment, null, renderList([unref(evaluateInput)(() => unref(concat)("Increase ", unref(inputRead)(checkedProps.value.label, inputStatus("label", true))), unref(READY_INPUT))], (boundInputSnapshot) => {
365
+ return openBlock(), createBlock(UiIconButton_default, mergeProps({
366
+ class: "ui-icon-button",
367
+ "data-number-step": "increase",
368
+ "match-button": true,
369
+ type: "button",
370
+ size: checkedProps.value.size,
371
+ disabled: checkedProps.value.disabled,
372
+ label: boundInputSnapshot.value
373
+ }, { ref_for: true }, { [unref(BINDING_INPUTS_PROP)]: {
374
+ size: () => ({
375
+ value: checkedProps.value.size,
376
+ status: inputStatus("size", true)
377
+ }),
378
+ disabled: () => ({
379
+ value: checkedProps.value.disabled,
380
+ status: inputStatus("disabled", true)
381
+ }),
382
+ label: () => boundInputSnapshot
383
+ } }), {
384
+ default: withCtx(() => [createVNode(UiIcon_default, {
385
+ class: "ui-icon",
386
+ name: "plus"
387
+ })]),
388
+ _: 1
389
+ }, 16, [
390
+ "size",
391
+ "disabled",
392
+ "label"
393
+ ]);
394
+ }), 256))
395
+ ], 16, _hoisted_1)), [[unref(vPropValidity), {
396
+ contract: propValidityContract,
397
+ values: { ...props }
398
+ }]]);
399
+ };
400
+ }
401
+ }), [["__scopeId", "data-v-4b6c1ff2"]]);
402
+ //#endregion
403
+ 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-d6b6c696"]]);
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
@@ -221,6 +221,6 @@ var UiSelect_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
221
221
  }]]);
222
222
  };
223
223
  }
224
- }), [["__scopeId", "data-v-c21e6b0a"]]);
224
+ }), [["__scopeId", "data-v-4348aae0"]]);
225
225
  //#endregion
226
226
  export { UiSelect_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, 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 = [