@threadlabs/looma 0.26.25 → 0.27.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 (80) hide show
  1. package/components/shared/editor.js +4 -5
  2. package/components/shared/overlay.js +231 -55
  3. package/components/ui-affordance-scope/ui-affordance-scope.js +4 -8
  4. package/components/ui-card/ui-card.html +3 -0
  5. package/components/ui-dialog/ui-dialog.html +7 -5
  6. package/components/ui-dialog/ui-dialog.js +67 -7
  7. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +6 -0
  8. package/components/ui-editor-mention-menu/ui-editor-mention-menu.js +5 -9
  9. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +6 -0
  10. package/components/ui-editor-slash-menu/ui-editor-slash-menu.js +5 -9
  11. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +21 -4
  12. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.js +50 -22
  13. package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +4 -6
  14. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +3 -11
  15. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.js +33 -44
  16. package/components/ui-icon-button/ui-icon-button.html +12 -2
  17. package/components/ui-listbox/ui-listbox.html +22 -17
  18. package/components/ui-menu/ui-menu.js +5 -3
  19. package/components/ui-popover/ui-popover.js +3 -2
  20. package/components/ui-scroll-area/ui-scroll-area.html +16 -0
  21. package/components/ui-search-shell/ui-search-shell.html +1 -1
  22. package/components/ui-search-shell/ui-search-shell.js +3 -5
  23. package/components/ui-section/ui-section.html +3 -0
  24. package/components/ui-toast/ui-toast.html +2 -1
  25. package/components/ui-toast/ui-toast.js +18 -2
  26. package/components/ui-toast-region/ui-toast-region.js +11 -3
  27. package/components/ui-tooltip/ui-tooltip.html +2 -1
  28. package/components/ui-tooltip/ui-tooltip.js +20 -0
  29. package/dist/index.js +1 -1
  30. package/editor/chunks/extensions.js +2 -0
  31. package/editor/extensions/slash-command.d.ts +2 -0
  32. package/editor/mention-contract.d.ts +2 -0
  33. package/package.json +1 -1
  34. package/styles/ui-card.css +3 -0
  35. package/styles/ui-dialog.css +4 -2
  36. package/styles/ui-editor-mention-menu.css +7 -1
  37. package/styles/ui-editor-slash-menu.css +7 -1
  38. package/styles/ui-editor-table-context-menu.css +29 -5
  39. package/styles/ui-editor-table-toolbar.css +3 -11
  40. package/styles/ui-icon-button.css +9 -2
  41. package/styles/ui-listbox.css +6 -0
  42. package/styles/ui-scroll-area.css +13 -0
  43. package/styles/ui-search-shell.css +1 -1
  44. package/styles/ui-section.css +3 -0
  45. package/vanilla/UiDialog.js +10 -6
  46. package/vanilla/UiIconButton.d.ts +1 -0
  47. package/vanilla/UiIconButton.js +14 -14
  48. package/vanilla/UiListbox.js +10 -9
  49. package/vanilla/UiScrollArea.d.ts +1 -0
  50. package/vanilla/UiScrollArea.js +4 -4
  51. package/vue/UiCard.vue +3 -0
  52. package/vue/UiDialog.vue +12 -6
  53. package/vue/UiEditorMentionMenu.vue +6 -0
  54. package/vue/UiEditorSlashMenu.vue +6 -0
  55. package/vue/UiEditorTableContextMenu.vue +21 -4
  56. package/vue/UiEditorTableToolbar.vue +3 -11
  57. package/vue/UiIconButton.d.ts +9 -0
  58. package/vue/UiIconButton.vue +31 -2
  59. package/vue/UiListbox.vue +20 -15
  60. package/vue/UiScrollArea.d.ts +9 -0
  61. package/vue/UiScrollArea.vue +39 -1
  62. package/vue/UiSearchShell.vue +1 -1
  63. package/vue/UiSection.vue +3 -0
  64. package/vue/UiToast.vue +1 -1
  65. package/vue/UiTooltip.vue +1 -1
  66. package/vue/chunks/UiCard.js +1 -1
  67. package/vue/chunks/UiDialog.js +25 -8
  68. package/vue/chunks/UiEditorMentionMenu.js +1 -1
  69. package/vue/chunks/UiEditorSlashMenu.js +1 -1
  70. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  71. package/vue/chunks/UiEditorTableToolbar.js +1 -1
  72. package/vue/chunks/UiIconButton.js +26 -1
  73. package/vue/chunks/UiListbox.js +12 -12
  74. package/vue/chunks/UiScrollArea.js +33 -2
  75. package/vue/chunks/UiSearchShell.js +1 -1
  76. package/vue/chunks/UiSection.js +1 -1
  77. package/vue/chunks/UiToast.js +2 -2
  78. package/vue/chunks/UiTooltip.js +2 -2
  79. package/vue/components.css +340 -289
  80. package/vue/editor/index.js +225 -40
@@ -19,22 +19,23 @@ var _hoisted_1 = [
19
19
  "data-value",
20
20
  "data-values"
21
21
  ];
22
- var _hoisted_2 = [
22
+ var _hoisted_2 = { class: "choices" };
23
+ var _hoisted_3 = [
23
24
  "data-multiple",
24
25
  "id",
25
26
  "data-index",
26
27
  "aria-selected",
27
28
  "aria-disabled"
28
29
  ];
29
- var _hoisted_3 = [
30
+ var _hoisted_4 = [
30
31
  "size",
31
32
  "multiple",
32
33
  "disabled",
33
34
  "required",
34
35
  "name"
35
36
  ];
36
- var _hoisted_4 = ["name", "^value"];
37
- var _hoisted_5 = [
37
+ var _hoisted_5 = ["name", "^value"];
38
+ var _hoisted_6 = [
38
39
  "required",
39
40
  "^checked",
40
41
  "disabled"
@@ -498,8 +499,7 @@ var UiListbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
498
499
  ref_key: "root",
499
500
  ref: root
500
501
  }), [
501
- createVNode(UiScrollArea_default, {
502
- class: "choices",
502
+ createElementVNode("div", _hoisted_2, [createVNode(UiScrollArea_default, {
503
503
  ref_key: "choicesElement",
504
504
  ref: choicesElement
505
505
  }, {
@@ -515,12 +515,12 @@ var UiListbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
515
515
  "data-index": choice.index,
516
516
  "aria-selected": choice.selected,
517
517
  "aria-disabled": choice.disabled
518
- }, [createElementVNode("span", null, toDisplayString(choice.label), 1)], 10, _hoisted_2);
518
+ }, [createElementVNode("span", null, toDisplayString(choice.label), 1)], 10, _hoisted_3);
519
519
  }), 128))]),
520
520
  _: 1
521
521
  })]),
522
522
  _: 1
523
- }, 512),
523
+ }, 512)]),
524
524
  createElementVNode("select", {
525
525
  class: "fallback",
526
526
  "aria-label": "Choices",
@@ -531,14 +531,14 @@ var UiListbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
531
531
  name: checkedProps.value.name ?? void 0,
532
532
  ref_key: "optionsElement",
533
533
  ref: optionsElement
534
- }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 8, _hoisted_3),
534
+ }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 8, _hoisted_4),
535
535
  checkedProps.value.name && !checkedProps.value.disabled ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(selection.value, (selected, indexLoop) => {
536
536
  return openBlock(), createElementBlock("input", {
537
537
  key: indexLoop,
538
538
  type: "hidden",
539
539
  name: checkedProps.value.name ?? void 0,
540
540
  "^value": selected
541
- }, null, 8, _hoisted_4);
541
+ }, null, 8, _hoisted_5);
542
542
  }), 128)) : createCommentVNode("v-if", true),
543
543
  createElementVNode("input", {
544
544
  class: "validity",
@@ -550,13 +550,13 @@ var UiListbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
550
550
  disabled: checkedProps.value.disabled ?? void 0,
551
551
  ref_key: "validityElement",
552
552
  ref: validityElement
553
- }, null, 8, _hoisted_5)
553
+ }, null, 8, _hoisted_6)
554
554
  ], 16, _hoisted_1)), [[unref(vPropValidity), {
555
555
  contract: propValidityContract,
556
556
  values: { ...props }
557
557
  }]]);
558
558
  };
559
559
  }
560
- }), [["__scopeId", "data-v-1ba46396"]]);
560
+ }), [["__scopeId", "data-v-e7a8688c"]]);
561
561
  //#endregion
562
562
  export { UiListbox_default as t };
@@ -6,6 +6,7 @@ import { computed, createElementBlock, createElementVNode, defineComponent, getC
6
6
  var _hoisted_1 = [
7
7
  "data-fill",
8
8
  "data-orientation",
9
+ "data-padding",
9
10
  "data-size",
10
11
  "data-trim",
11
12
  "data-ui-scroll-area-state"
@@ -24,6 +25,10 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
24
25
  type: null,
25
26
  default: "vertical"
26
27
  },
28
+ padding: {
29
+ type: null,
30
+ default: "none"
31
+ },
27
32
  size: {
28
33
  type: null,
29
34
  default: "content"
@@ -56,6 +61,23 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
56
61
  values: ["vertical", "horizontal"],
57
62
  default: "vertical"
58
63
  },
64
+ padding: {
65
+ type: {
66
+ kind: "terminal",
67
+ name: "keyword"
68
+ },
69
+ required: false,
70
+ target: { attribute: "padding" },
71
+ description: "The space inside the scrolling region, on Card's scale: xs is 0.5rem, sm 0.75rem, md 1.5rem, and lg 2rem. It scrolls with the content, so the scrollbar and\n fades stay at the edges.",
72
+ values: [
73
+ "none",
74
+ "xs",
75
+ "sm",
76
+ "md",
77
+ "lg"
78
+ ],
79
+ default: "none"
80
+ },
59
81
  size: {
60
82
  type: {
61
83
  kind: "terminal",
@@ -87,6 +109,7 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
87
109
  const acceptedProps = {
88
110
  fill: false,
89
111
  orientation: "vertical",
112
+ padding: "none",
90
113
  size: "content",
91
114
  trim: false
92
115
  };
@@ -99,6 +122,10 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
99
122
  kind: "terminal",
100
123
  name: "keyword"
101
124
  }, false, "orientation", acceptedProps),
125
+ padding: checkedProp(props["padding"], {
126
+ kind: "terminal",
127
+ name: "keyword"
128
+ }, false, "padding", acceptedProps),
102
129
  size: checkedProp(props["size"], {
103
130
  kind: "terminal",
104
131
  name: "keyword"
@@ -142,7 +169,9 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
142
169
  checkedProps.value.orientation && "orientation",
143
170
  checkedProps.value.orientation != null && `orientation=${encodeURIComponent(checkedProps.value.orientation)}`,
144
171
  checkedProps.value.size && "size",
145
- checkedProps.value.size != null && `size=${encodeURIComponent(checkedProps.value.size)}`
172
+ checkedProps.value.size != null && `size=${encodeURIComponent(checkedProps.value.size)}`,
173
+ checkedProps.value.padding && "padding",
174
+ checkedProps.value.padding != null && `padding=${encodeURIComponent(checkedProps.value.padding)}`
146
175
  ].filter(Boolean).join(" "));
147
176
  const dispatch = createDispatch(root);
148
177
  useComponentHost(() => import("@threadlabs/looma/components/ui-scroll-area/ui-scroll-area.js"), {
@@ -161,6 +190,7 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
161
190
  propNames: [
162
191
  "fill",
163
192
  "orientation",
193
+ "padding",
164
194
  "size",
165
195
  "trim"
166
196
  ],
@@ -174,6 +204,7 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
174
204
  return withDirectives((openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-scroll-area" }, nativeAttrs(_ctx.$attrs), {
175
205
  "data-fill": reflectedProp("fill", "fill", checkedProps.value.fill, void 0, false),
176
206
  "data-orientation": reflectedProp("orientation", "orientation", checkedProps.value.orientation, void 0, false),
207
+ "data-padding": reflectedProp("padding", "padding", checkedProps.value.padding, void 0, false),
177
208
  "data-size": reflectedProp("size", "size", checkedProps.value.size, void 0, false),
178
209
  "data-trim": reflectedProp("trim", "trim", checkedProps.value.trim, void 0, false),
179
210
  "data-ui-scroll-area-state": hostState.value || void 0,
@@ -189,6 +220,6 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
189
220
  }]]);
190
221
  };
191
222
  }
192
- }), [["__scopeId", "data-v-a1ccf697"]]);
223
+ }), [["__scopeId", "data-v-9a5bb175"]]);
193
224
  //#endregion
194
225
  export { UiScrollArea_default as t };
@@ -199,6 +199,6 @@ var UiSearchShell_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
199
199
  }]]);
200
200
  };
201
201
  }
202
- }), [["__scopeId", "data-v-0778ed20"]]);
202
+ }), [["__scopeId", "data-v-62b2f3da"]]);
203
203
  //#endregion
204
204
  export { UiSearchShell_default as t };
@@ -138,6 +138,6 @@ var UiSection_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
138
138
  }]]);
139
139
  };
140
140
  }
141
- }), [["__scopeId", "data-v-93e8cb94"]]);
141
+ }), [["__scopeId", "data-v-97cdaba4"]]);
142
142
  //#endregion
143
143
  export { UiSection_default as t };
@@ -37,7 +37,7 @@ var UiToast_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
37
37
  },
38
38
  required: false,
39
39
  target: { attribute: "duration" },
40
- description: "Milliseconds before requesting dismissal; 0 keeps the toast until an action dismisses it. The timer pauses on hover or focus.",
40
+ description: "Milliseconds the toast is shown before it dismisses itself; 0 keeps it until an action dismisses it. The timer starts when the toast is shown, starts again\n each time it is shown, and pauses on hover or focus.",
41
41
  default: 0
42
42
  },
43
43
  tone: {
@@ -174,6 +174,6 @@ var UiToast_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
174
174
  }]]);
175
175
  };
176
176
  }
177
- }), [["__scopeId", "data-v-af4b9641"]]);
177
+ }), [["__scopeId", "data-v-0812e30e"]]);
178
178
  //#endregion
179
179
  export { UiToast_default as t };
@@ -148,7 +148,7 @@ var UiTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
148
148
  },
149
149
  required: false,
150
150
  target: { attribute: "trigger" },
151
- description: "How the trigger opens it. hover also opens on keyboard focus; click toggles it and suits a help button, where hovering a question mark says nothing; focus\n opens only while the trigger holds focus.",
151
+ description: "How the trigger opens it. hover also opens on keyboard focus; click toggles it and suits a help button, where hovering a question mark says nothing; focus\n opens only on keyboard-visible focus. Action activation dismisses hover/focus hints without removing focus; a fresh hover or keyboard focus can open them\n again.",
152
152
  values: [
153
153
  "hover",
154
154
  "click",
@@ -299,6 +299,6 @@ var UiTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
299
299
  }]]);
300
300
  };
301
301
  }
302
- }), [["__scopeId", "data-v-a876d863"]]);
302
+ }), [["__scopeId", "data-v-4a6fb61a"]]);
303
303
  //#endregion
304
304
  export { UiTooltip_default as t };