@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
package/vue/UiCard.vue CHANGED
@@ -51,16 +51,25 @@ const propValidityContract = {
51
51
  required: false,
52
52
  target: { attribute: 'tone' },
53
53
  description:
54
- 'accent, info, success and warning add a quiet semantic surface. danger retains its strong leading edge for consequential content. Row highlights follow the\n surface hue; action controls retain their own intent.',
54
+ 'accent, info, success, warning and danger add a quiet semantic surface without changing card geometry. Row highlights follow the\n surface hue; action controls retain their own intent.',
55
55
  values: ['neutral', 'accent', 'info', 'success', 'warning', 'danger'],
56
56
  default: 'neutral',
57
57
  },
58
+ treatment: {
59
+ type: { kind: 'terminal', name: 'keyword' },
60
+ required: false,
61
+ target: { attribute: 'treatment' },
62
+ description:
63
+ 'How much of the theme\'s decorative material the surface expresses. standard preserves its restrained treatment; expressive uses the full material treatment.\n This does not add elevation or require glass.',
64
+ values: ['standard', 'expressive'],
65
+ default: 'standard',
66
+ },
58
67
  variant: {
59
68
  type: { kind: 'terminal', name: 'keyword' },
60
69
  required: false,
61
70
  target: { attribute: 'variant' },
62
71
  description:
63
- 'The surface. outlined is a bordered panel on the page; subtle is a quiet filled one with no border, for supporting details set apart from the flow;\n elevated floats above the page with a shadow, for a view\'s one card, such as sign-in.',
72
+ 'The surface. outlined is a bordered panel on the page; subtle is a quiet filled one with no border, for supporting details set apart from the flow;\n elevated adds a subtle lift above the page, for a view\'s one card, such as sign-in. Treatment independently controls decorative material.',
64
73
  values: ['outlined', 'subtle', 'elevated'],
65
74
  default: 'outlined',
66
75
  },
@@ -75,6 +84,7 @@ const props = defineProps({
75
84
  'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger' | null
76
85
  >,
77
86
  },
87
+ treatment: { type: null as unknown as PropType<'standard' | 'expressive' | null> },
78
88
  variant: { type: null as unknown as PropType<'outlined' | 'subtle' | 'elevated' | null> },
79
89
  [BINDING_INPUTS_PROP]: { type: null as unknown as PropType<InputBindings> },
80
90
  })
@@ -83,6 +93,7 @@ const acceptedProps: Record<string, unknown> = {
83
93
  padding: 'md',
84
94
  size: 'content',
85
95
  tone: 'neutral',
96
+ treatment: 'standard',
86
97
  variant: 'outlined',
87
98
  }
88
99
  const inputTracking = vuePropInputs(acceptedProps, {
@@ -90,6 +101,7 @@ const inputTracking = vuePropInputs(acceptedProps, {
90
101
  padding: 'md',
91
102
  size: 'content',
92
103
  tone: 'neutral',
104
+ treatment: 'standard',
93
105
  variant: 'outlined',
94
106
  }, (name, value, source, values) => {
95
107
  switch (name) {
@@ -101,6 +113,8 @@ const inputTracking = vuePropInputs(acceptedProps, {
101
113
  return checkPropInput(value, { kind: 'terminal', name: 'keyword' }, true, true)
102
114
  case 'tone':
103
115
  return checkPropInput(value, { kind: 'terminal', name: 'keyword' }, true, true)
116
+ case 'treatment':
117
+ return checkPropInput(value, { kind: 'terminal', name: 'keyword' }, true, true)
104
118
  case 'variant':
105
119
  return checkPropInput(value, { kind: 'terminal', name: 'keyword' }, true, true)
106
120
  default:
@@ -133,6 +147,11 @@ const checkedProps = computed(() => {
133
147
  props['tone'],
134
148
  props[BINDING_INPUTS_PROP],
135
149
  ) as 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger',
150
+ treatment: propInputs.value<'standard' | 'expressive' | null>(
151
+ 'treatment',
152
+ props['treatment'],
153
+ props[BINDING_INPUTS_PROP],
154
+ ) as 'standard' | 'expressive',
136
155
  variant: propInputs.value<'outlined' | 'subtle' | 'elevated' | null>(
137
156
  'variant',
138
157
  props['variant'],
@@ -172,6 +191,9 @@ const hostState = computed(() =>
172
191
  checkedProps.value.variant && 'variant',
173
192
  checkedProps.value.variant != null
174
193
  && `variant=${encodeURIComponent(checkedProps.value.variant)}`,
194
+ checkedProps.value.treatment && 'treatment',
195
+ checkedProps.value.treatment != null
196
+ && `treatment=${encodeURIComponent(checkedProps.value.treatment)}`,
175
197
  checkedProps.value.tone && 'tone',
176
198
  checkedProps.value.tone != null && `tone=${encodeURIComponent(checkedProps.value.tone)}`,
177
199
  checkedProps.value.size && 'size',
@@ -192,6 +214,7 @@ const hostState = computed(() =>
192
214
  :data-ui-card-prop-padding="reflectedProp('padding', 'padding', checkedProps.padding, undefined, false)"
193
215
  :data-ui-card-prop-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
194
216
  :data-ui-card-prop-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
217
+ :data-ui-card-prop-treatment="reflectedProp('treatment', 'treatment', checkedProps.treatment, undefined, false)"
195
218
  :data-ui-card-prop-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
196
219
  :data-ui-card-state="hostState || undefined"
197
220
  ref="@html-next/root"
@@ -209,6 +232,7 @@ const hostState = computed(() =>
209
232
  :data-ui-card-prop-padding="reflectedProp('padding', 'padding', checkedProps.padding, undefined, false)"
210
233
  :data-ui-card-prop-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
211
234
  :data-ui-card-prop-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
235
+ :data-ui-card-prop-treatment="reflectedProp('treatment', 'treatment', checkedProps.treatment, undefined, false)"
212
236
  :data-ui-card-prop-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
213
237
  :data-ui-card-state="hostState || undefined"
214
238
  ref="@html-next/root"
@@ -226,6 +250,7 @@ const hostState = computed(() =>
226
250
  :data-ui-card-prop-padding="reflectedProp('padding', 'padding', checkedProps.padding, undefined, false)"
227
251
  :data-ui-card-prop-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
228
252
  :data-ui-card-prop-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
253
+ :data-ui-card-prop-treatment="reflectedProp('treatment', 'treatment', checkedProps.treatment, undefined, false)"
229
254
  :data-ui-card-prop-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
230
255
  :data-ui-card-state="hostState || undefined"
231
256
  ref="@html-next/root"
@@ -243,6 +268,7 @@ const hostState = computed(() =>
243
268
  :data-ui-card-prop-padding="reflectedProp('padding', 'padding', checkedProps.padding, undefined, false)"
244
269
  :data-ui-card-prop-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
245
270
  :data-ui-card-prop-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
271
+ :data-ui-card-prop-treatment="reflectedProp('treatment', 'treatment', checkedProps.treatment, undefined, false)"
246
272
  :data-ui-card-prop-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
247
273
  :data-ui-card-state="hostState || undefined"
248
274
  ref="@html-next/root"
@@ -262,6 +288,7 @@ const hostState = computed(() =>
262
288
  @scope (.ui-card) to ([data-hn]) {
263
289
  :global(:scope:where([data-hn-ui-card])) {
264
290
  --_ui-card-surface: var(--ui-surface-raised);
291
+ --_ui-card-elevation: 0 0 0 transparent;
265
292
  --_ui-selection-context-surface: initial;
266
293
  --_ui-selection-context-border: initial;
267
294
  --_ui-selection-context-text: initial;
@@ -296,10 +323,61 @@ const hostState = computed(() =>
296
323
  }
297
324
 
298
325
  :global(:scope[data-ui-card-state~="variant=elevated"]:where([data-hn-ui-card])) {
326
+ --_ui-card-elevation: var(--ui-shadow-lg);
299
327
  border-color: var(--ui-border-subtle);
300
328
  box-shadow: var(--ui-shadow-lg);
301
329
  }
302
330
 
331
+ :global(:scope[data-ui-card-state~="treatment=expressive"]:where([data-hn-ui-card])) {
332
+ --_ui-panel-glass: clamp(0, var(--ui-glassiness, 0), 1);
333
+ --_ui-panel-separation: clamp(0, var(--ui-surface-separation, 0), 1);
334
+ --_ui-panel-rim: calc(
335
+ (var(--_ui-panel-separation) + var(--_ui-panel-glass) * 0.25) * 0.65 * 8px
336
+ );
337
+ border-width: calc(var(--ui-border-width) + var(--_ui-panel-rim));
338
+ border-color: transparent;
339
+ background:
340
+ var(--ui-surface-highlight, linear-gradient(transparent, transparent)) padding-box,
341
+ linear-gradient(var(--_ui-card-surface), var(--_ui-card-surface)) padding-box,
342
+ linear-gradient(
343
+ var(--ui-material-glass, var(--ui-surface-raised)),
344
+ var(--ui-material-glass, var(--ui-surface-raised))
345
+ ) border-box,
346
+ var(--_ui-card-surface) padding-box;
347
+ box-shadow:
348
+ var(--_ui-card-elevation),
349
+ var(--ui-material-glow, 0 0 transparent),
350
+ inset 0 0 0 var(--ui-border-width) var(--ui-material-edge, var(--ui-border-strong));
351
+ backdrop-filter: blur(calc(var(--_ui-panel-glass) * 0.65 * 18px))
352
+ saturate(calc(1 + var(--_ui-panel-glass) * 0.65 * 0.18));
353
+ -webkit-backdrop-filter: blur(calc(var(--_ui-panel-glass) * 0.65 * 18px))
354
+ saturate(calc(1 + var(--_ui-panel-glass) * 0.65 * 0.18));
355
+ }
356
+ @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
357
+ :global(:scope[data-ui-card-state~="treatment=expressive"]:where([data-hn-ui-card])) {
358
+ background: var(--_ui-card-surface);
359
+ }
360
+ }
361
+ @media (prefers-reduced-transparency: reduce) {
362
+ :global(:scope[data-ui-card-state~="treatment=expressive"]:where([data-hn-ui-card])) {
363
+ background: var(--_ui-card-surface);
364
+ border-width: var(--ui-border-width);
365
+ border-color: var(--ui-border-strong);
366
+ backdrop-filter: none;
367
+ -webkit-backdrop-filter: none;
368
+ }
369
+ }
370
+ @media (forced-colors: active) {
371
+ :global(:scope[data-ui-card-state~="treatment=expressive"]:where([data-hn-ui-card])) {
372
+ background: Canvas;
373
+ color: CanvasText;
374
+ border: var(--ui-border-width) solid CanvasText;
375
+ box-shadow: none;
376
+ backdrop-filter: none;
377
+ -webkit-backdrop-filter: none;
378
+ }
379
+ }
380
+
303
381
  :global(:scope[data-ui-card-state~="tone=accent"]:where([data-hn-ui-card])) {
304
382
  border-color: color-mix(in srgb, var(--ui-accent) 25%, var(--ui-border-default));
305
383
  --_ui-card-surface: color-mix(in srgb, var(--ui-accent) 6%, var(--ui-surface-default));
@@ -326,10 +404,6 @@ const hostState = computed(() =>
326
404
 
327
405
  :global(:scope[data-ui-card-state~="tone=danger"]:where([data-hn-ui-card])) {
328
406
  border-color: color-mix(in srgb, var(--ui-danger) 45%, var(--ui-border-default));
329
- border-inline-start: var(--ui-accent-line-width) solid var(--ui-danger);
330
- /* An accent edge keeps the corners on its side straight. */
331
- border-start-start-radius: 0;
332
- border-end-start-radius: 0;
333
407
  --_ui-card-surface: var(--ui-danger-soft);
334
408
  }
335
409
  :global(:scope[data-ui-card-state~="tone=accent"]:where([data-hn-ui-card])),
@@ -472,7 +472,8 @@ useComponentHost(() => import('../components/ui-checkbox/ui-checkbox.js'), {
472
472
  margin: max(0px, calc((1lh - var(--_ui-checkbox-size, 1.125rem)) / 2)) 0 0 !important;
473
473
  border: var(--ui-border-width) solid var(--ui-control-border, var(--ui-border-strong));
474
474
  border-radius: min(var(--ui-radius-sm), calc(var(--_ui-checkbox-size, 1.125rem) / 4));
475
- background: var(--ui-control-surface, var(--ui-surface-default));
475
+ background-color: var(--ui-control-surface, var(--ui-surface-default));
476
+ background-image: var(--ui-surface-highlight, none);
476
477
  box-shadow: var(--ui-control-inset);
477
478
  cursor: pointer;
478
479
  transition:
@@ -491,7 +492,8 @@ useComponentHost(() => import('../components/ui-checkbox/ui-checkbox.js'), {
491
492
  :global(input:checked:where([data-hn-ui-checkbox])),
492
493
  :global(input:indeterminate:where([data-hn-ui-checkbox])) {
493
494
  border-color: var(--ui-accent-solid);
494
- background: var(--ui-accent-solid);
495
+ background-color: var(--ui-accent-solid);
496
+ background-image: var(--ui-accent-highlight, none);
495
497
  box-shadow: var(--ui-control-inset);
496
498
  }
497
499
  :global(input:checked:where([data-hn-ui-checkbox])::after) {
@@ -0,0 +1,53 @@
1
+ import type { PropType } from 'vue';
2
+ import { type InputBindings } from './props.js';
3
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ disabled: {
5
+ type: PropType<boolean | null>;
6
+ };
7
+ label: {
8
+ type: PropType<string | null>;
9
+ };
10
+ size: {
11
+ type: PropType<"sm" | "md" | "lg" | null>;
12
+ };
13
+ value: {
14
+ type: PropType<string | null>;
15
+ };
16
+ "\0htmlNextInputStatus": {
17
+ type: PropType<InputBindings>;
18
+ };
19
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
20
+ input: (event: CustomEvent<{
21
+ readonly value: string;
22
+ }>) => any;
23
+ change: (event: CustomEvent<{
24
+ readonly value: string;
25
+ }>) => any;
26
+ "update:value": (value: string) => any;
27
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
28
+ disabled: {
29
+ type: PropType<boolean | null>;
30
+ };
31
+ label: {
32
+ type: PropType<string | null>;
33
+ };
34
+ size: {
35
+ type: PropType<"sm" | "md" | "lg" | null>;
36
+ };
37
+ value: {
38
+ type: PropType<string | null>;
39
+ };
40
+ "\0htmlNextInputStatus": {
41
+ type: PropType<InputBindings>;
42
+ };
43
+ }>> & Readonly<{
44
+ onInput?: ((event: CustomEvent<{
45
+ readonly value: string;
46
+ }>) => any) | undefined;
47
+ onChange?: ((event: CustomEvent<{
48
+ readonly value: string;
49
+ }>) => any) | undefined;
50
+ "onUpdate:value"?: ((value: string) => any) | undefined;
51
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
52
+ declare const _default: typeof __VLS_export;
53
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import { t as UiCurveEditor_default } from "./chunks/UiCurveEditor.js";
2
+ export { UiCurveEditor_default as default };