@threadlabs/looma 0.22.14 → 0.23.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 (217) hide show
  1. package/components/shared/icons.js +2 -0
  2. package/components/ui-avatar/ui-avatar.html +3 -3
  3. package/components/ui-avatar-group/ui-avatar-group.html +1 -1
  4. package/components/ui-badge/ui-badge.html +1 -1
  5. package/components/ui-button/ui-button.html +3 -3
  6. package/components/ui-callout/ui-callout.html +3 -2
  7. package/components/ui-card/ui-card.html +2 -2
  8. package/components/ui-checkbox/ui-checkbox.html +3 -3
  9. package/components/ui-combobox/ui-combobox.html +8 -8
  10. package/components/ui-context-menu/ui-context-menu.html +2 -2
  11. package/components/ui-description-list/ui-description-list.html +1 -1
  12. package/components/ui-dialog/ui-dialog.html +3 -3
  13. package/components/ui-disclosure/ui-disclosure.html +43 -3
  14. package/components/ui-editable/ui-editable.html +2 -2
  15. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +5 -5
  16. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +2 -2
  17. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +6 -6
  18. package/components/ui-editor-slash-menu-item/ui-editor-slash-menu-item.html +1 -1
  19. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +2 -2
  20. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +11 -11
  21. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +5 -5
  22. package/components/ui-editor-toolbar/ui-editor-toolbar.html +4 -4
  23. package/components/ui-floating-action-button/ui-floating-action-button.html +2 -2
  24. package/components/ui-icon/ui-icon.html +2 -0
  25. package/components/ui-icon-button/ui-icon-button.html +1 -1
  26. package/components/ui-input/ui-input.html +8 -4
  27. package/components/ui-input-group/ui-input-group.html +10 -6
  28. package/components/ui-list/ui-list.html +1 -1
  29. package/components/ui-list-item/ui-list-item.html +20 -4
  30. package/components/ui-listbox/ui-listbox.html +3 -3
  31. package/components/ui-menu/ui-menu.html +2 -2
  32. package/components/ui-menu-item/ui-menu-item.html +4 -4
  33. package/components/ui-meter/ui-meter.html +1 -1
  34. package/components/ui-nav-item/ui-nav-item.html +46 -14
  35. package/components/ui-popover/ui-popover.html +1 -1
  36. package/components/ui-radio/ui-radio.html +2 -2
  37. package/components/ui-search-result-row/ui-search-result-row.html +13 -5
  38. package/components/ui-search-shell/ui-search-shell.html +4 -4
  39. package/components/ui-section/ui-section.html +3 -3
  40. package/components/ui-select/ui-select.html +6 -2
  41. package/components/ui-separator/ui-separator.html +2 -2
  42. package/components/ui-sidebar/ui-sidebar.html +3 -3
  43. package/components/ui-status-message/ui-status-message.html +1 -1
  44. package/components/ui-switch/ui-switch.html +3 -3
  45. package/components/ui-table/ui-table.html +3 -3
  46. package/components/ui-tabs/ui-tabs.html +7 -7
  47. package/components/ui-textarea/ui-textarea.html +6 -2
  48. package/components/ui-toast/ui-toast.html +2 -2
  49. package/components/ui-toast-region/ui-toast-region.html +5 -5
  50. package/components/ui-tooltip/ui-tooltip.html +15 -15
  51. package/components/ui-top-bar/ui-top-bar.html +1 -1
  52. package/components/ui-tree-item/ui-tree-item.html +27 -8
  53. package/dist/index.js +1 -1
  54. package/editor/icons.d.ts +2 -0
  55. package/editor/index.js +3 -1
  56. package/package.json +1 -1
  57. package/styles/ui-avatar-group.css +1 -1
  58. package/styles/ui-avatar.css +3 -3
  59. package/styles/ui-badge.css +1 -1
  60. package/styles/ui-button.css +3 -3
  61. package/styles/ui-callout.css +3 -2
  62. package/styles/ui-card.css +2 -2
  63. package/styles/ui-checkbox.css +3 -3
  64. package/styles/ui-combobox.css +8 -8
  65. package/styles/ui-context-menu.css +2 -2
  66. package/styles/ui-description-list.css +1 -1
  67. package/styles/ui-dialog.css +3 -3
  68. package/styles/ui-disclosure.css +42 -2
  69. package/styles/ui-editable.css +2 -2
  70. package/styles/ui-editor-insert-table-grid.css +5 -5
  71. package/styles/ui-editor-mention-menu.css +2 -2
  72. package/styles/ui-editor-slash-menu-item.css +1 -1
  73. package/styles/ui-editor-slash-menu.css +6 -6
  74. package/styles/ui-editor-table-context-menu.css +2 -2
  75. package/styles/ui-editor-table-overlay.css +11 -11
  76. package/styles/ui-editor-table-toolbar.css +5 -5
  77. package/styles/ui-editor-toolbar.css +4 -4
  78. package/styles/ui-floating-action-button.css +2 -2
  79. package/styles/ui-icon-button.css +1 -1
  80. package/styles/ui-input-group.css +10 -6
  81. package/styles/ui-input.css +8 -4
  82. package/styles/ui-list-item.css +23 -4
  83. package/styles/ui-list.css +1 -1
  84. package/styles/ui-listbox.css +3 -3
  85. package/styles/ui-menu-item.css +4 -4
  86. package/styles/ui-menu.css +2 -2
  87. package/styles/ui-meter.css +1 -1
  88. package/styles/ui-nav-item.css +46 -12
  89. package/styles/ui-popover.css +1 -1
  90. package/styles/ui-radio.css +2 -2
  91. package/styles/ui-search-result-row.css +16 -5
  92. package/styles/ui-search-shell.css +4 -4
  93. package/styles/ui-section.css +3 -3
  94. package/styles/ui-select.css +6 -2
  95. package/styles/ui-separator.css +2 -2
  96. package/styles/ui-sidebar.css +3 -3
  97. package/styles/ui-status-message.css +1 -1
  98. package/styles/ui-switch.css +3 -3
  99. package/styles/ui-table.css +3 -3
  100. package/styles/ui-tabs.css +7 -7
  101. package/styles/ui-textarea.css +6 -2
  102. package/styles/ui-toast-region.css +5 -5
  103. package/styles/ui-toast.css +2 -2
  104. package/styles/ui-tooltip.css +15 -15
  105. package/styles/ui-top-bar.css +1 -1
  106. package/styles/ui-tree-item.css +32 -8
  107. package/tokens.css +30 -9
  108. package/vanilla/UiDisclosure.d.ts +1 -0
  109. package/vanilla/UiDisclosure.js +10 -1
  110. package/vanilla/UiIcon.js +1 -1
  111. package/vanilla/UiNavItem.d.ts +2 -0
  112. package/vanilla/UiNavItem.js +1 -1
  113. package/vue/UiAvatar.vue +3 -3
  114. package/vue/UiAvatarGroup.vue +1 -1
  115. package/vue/UiBadge.vue +2 -1
  116. package/vue/UiButton.vue +3 -3
  117. package/vue/UiCallout.vue +2 -2
  118. package/vue/UiCard.vue +2 -2
  119. package/vue/UiCheckbox.vue +3 -3
  120. package/vue/UiCombobox.vue +11 -8
  121. package/vue/UiContextMenu.vue +2 -2
  122. package/vue/UiDescriptionList.vue +1 -1
  123. package/vue/UiDialog.vue +4 -3
  124. package/vue/UiDisclosure.d.ts +13 -2
  125. package/vue/UiDisclosure.vue +61 -4
  126. package/vue/UiEditable.vue +2 -2
  127. package/vue/UiEditorInsertTableGrid.vue +5 -5
  128. package/vue/UiEditorMentionMenu.vue +2 -2
  129. package/vue/UiEditorSlashMenu.vue +6 -6
  130. package/vue/UiEditorSlashMenuItem.vue +1 -1
  131. package/vue/UiEditorTableContextMenu.vue +2 -2
  132. package/vue/UiEditorTableOverlay.vue +11 -11
  133. package/vue/UiEditorTableToolbar.vue +5 -5
  134. package/vue/UiEditorToolbar.vue +6 -4
  135. package/vue/UiFloatingActionButton.vue +2 -2
  136. package/vue/UiIcon.vue +8 -0
  137. package/vue/UiIconButton.vue +1 -1
  138. package/vue/UiInput.vue +7 -4
  139. package/vue/UiInputGroup.vue +6 -6
  140. package/vue/UiList.vue +1 -1
  141. package/vue/UiListItem.vue +20 -4
  142. package/vue/UiListbox.vue +3 -3
  143. package/vue/UiMenu.vue +3 -2
  144. package/vue/UiMenuItem.vue +4 -4
  145. package/vue/UiMeter.vue +1 -1
  146. package/vue/UiNavItem.d.ts +18 -0
  147. package/vue/UiNavItem.vue +96 -12
  148. package/vue/UiPopover.vue +2 -1
  149. package/vue/UiRadio.vue +2 -2
  150. package/vue/UiSearchResultRow.vue +13 -5
  151. package/vue/UiSearchShell.vue +4 -4
  152. package/vue/UiSection.vue +3 -3
  153. package/vue/UiSelect.vue +3 -2
  154. package/vue/UiSeparator.vue +4 -2
  155. package/vue/UiSidebar.vue +5 -3
  156. package/vue/UiStatusMessage.vue +1 -1
  157. package/vue/UiSwitch.vue +3 -3
  158. package/vue/UiTable.vue +3 -3
  159. package/vue/UiTabs.vue +8 -7
  160. package/vue/UiTextarea.vue +2 -2
  161. package/vue/UiToast.vue +4 -2
  162. package/vue/UiToastRegion.vue +5 -5
  163. package/vue/UiTooltip.vue +19 -15
  164. package/vue/UiTopBar.vue +1 -1
  165. package/vue/UiTreeItem.vue +31 -8
  166. package/vue/chunks/UiAvatar.js +1 -1
  167. package/vue/chunks/UiAvatarGroup.js +1 -1
  168. package/vue/chunks/UiBadge.js +1 -1
  169. package/vue/chunks/UiButton.js +1 -1
  170. package/vue/chunks/UiCallout.js +1 -1
  171. package/vue/chunks/UiCard.js +1 -1
  172. package/vue/chunks/UiCheckbox.js +1 -1
  173. package/vue/chunks/UiCombobox.js +1 -1
  174. package/vue/chunks/UiContextMenu.js +1 -1
  175. package/vue/chunks/UiDescriptionList.js +1 -1
  176. package/vue/chunks/UiDialog.js +1 -1
  177. package/vue/chunks/UiDisclosure.js +27 -4
  178. package/vue/chunks/UiEditable.js +1 -1
  179. package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
  180. package/vue/chunks/UiEditorMentionMenu.js +1 -1
  181. package/vue/chunks/UiEditorSlashMenu.js +1 -1
  182. package/vue/chunks/UiEditorSlashMenuItem.js +1 -1
  183. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  184. package/vue/chunks/UiEditorTableOverlay.js +1 -1
  185. package/vue/chunks/UiEditorTableToolbar.js +1 -1
  186. package/vue/chunks/UiEditorToolbar.js +1 -1
  187. package/vue/chunks/UiFloatingActionButton.js +1 -1
  188. package/vue/chunks/UiIcon.js +24 -1
  189. package/vue/chunks/UiIconButton.js +1 -1
  190. package/vue/chunks/UiInput.js +1 -1
  191. package/vue/chunks/UiInputGroup.js +1 -1
  192. package/vue/chunks/UiList.js +1 -1
  193. package/vue/chunks/UiListItem.js +1 -1
  194. package/vue/chunks/UiListbox.js +1 -1
  195. package/vue/chunks/UiMenu.js +1 -1
  196. package/vue/chunks/UiMenuItem.js +1 -1
  197. package/vue/chunks/UiMeter.js +1 -1
  198. package/vue/chunks/UiNavItem.js +65 -6
  199. package/vue/chunks/UiPopover.js +1 -1
  200. package/vue/chunks/UiRadio.js +1 -1
  201. package/vue/chunks/UiSearchResultRow.js +1 -1
  202. package/vue/chunks/UiSearchShell.js +1 -1
  203. package/vue/chunks/UiSection.js +1 -1
  204. package/vue/chunks/UiSelect.js +1 -1
  205. package/vue/chunks/UiSeparator.js +1 -1
  206. package/vue/chunks/UiSidebar.js +1 -1
  207. package/vue/chunks/UiStatusMessage.js +1 -1
  208. package/vue/chunks/UiSwitch.js +1 -1
  209. package/vue/chunks/UiTable.js +1 -1
  210. package/vue/chunks/UiTabs.js +1 -1
  211. package/vue/chunks/UiTextarea.js +1 -1
  212. package/vue/chunks/UiToast.js +1 -1
  213. package/vue/chunks/UiToastRegion.js +1 -1
  214. package/vue/chunks/UiTooltip.js +1 -1
  215. package/vue/chunks/UiTopBar.js +1 -1
  216. package/vue/chunks/UiTreeItem.js +1 -1
  217. package/vue/components.css +1337 -1208
@@ -17,6 +17,7 @@ export const icons = {
17
17
  "circle-x": [["circle",{"cx":"12","cy":"12","r":"10"}],["path",{"d":"m15 9-6 6"}],["path",{"d":"m9 9 6 6"}]],
18
18
  "code-xml": [["path",{"d":"m18 16 4-4-4-4"}],["path",{"d":"m6 8-4 4 4 4"}],["path",{"d":"m14.5 4-5 16"}]],
19
19
  "columns": [["rect",{"width":"18","height":"18","x":"3","y":"3","rx":"2"}],["path",{"d":"M9 3v18"}],["path",{"d":"M15 3v18"}]],
20
+ "compass": [["path",{"d":"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z"}],["circle",{"cx":"12","cy":"12","r":"10"}]],
20
21
  "credit-card": [["rect",{"width":"20","height":"14","x":"2","y":"5","rx":"2"}],["line",{"x1":"2","x2":"22","y1":"10","y2":"10"}]],
21
22
  "ellipsis": [["circle",{"cx":"12","cy":"12","r":"1"}],["circle",{"cx":"19","cy":"12","r":"1"}],["circle",{"cx":"5","cy":"12","r":"1"}]],
22
23
  "eraser": [["path",{"d":"M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21"}],["path",{"d":"m5.082 11.09 8.828 8.828"}]],
@@ -30,6 +31,7 @@ export const icons = {
30
31
  "heading-3": [["path",{"d":"M4 12h8"}],["path",{"d":"M4 18V6"}],["path",{"d":"M12 18V6"}],["path",{"d":"M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2"}],["path",{"d":"M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2"}]],
31
32
  "help": [["circle",{"cx":"12","cy":"12","r":"10"}],["path",{"d":"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"}],["path",{"d":"M12 17h.01"}]],
32
33
  "highlighter": [["path",{"d":"m9 11-6 6v3h9l3-3"}],["path",{"d":"m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4"}]],
34
+ "history": [["path",{"d":"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}],["path",{"d":"M3 3v5h5"}],["path",{"d":"M12 7v5l4 2"}]],
33
35
  "image": [["rect",{"width":"18","height":"18","x":"3","y":"3","rx":"2","ry":"2"}],["circle",{"cx":"9","cy":"9","r":"2"}],["path",{"d":"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"}]],
34
36
  "info": [["circle",{"cx":"12","cy":"12","r":"10"}],["path",{"d":"M12 16v-4"}],["path",{"d":"M12 8h.01"}]],
35
37
  "italic": [["line",{"x1":"19","x2":"10","y1":"4","y2":"4"}],["line",{"x1":"14","x2":"5","y1":"20","y2":"20"}],["line",{"x1":"15","x2":"9","y1":"4","y2":"20"}]],
@@ -65,7 +65,7 @@
65
65
  inline-size: 2.5rem;
66
66
  block-size: 2.5rem;
67
67
  border-radius: var(--ui-avatar-radius, var(--ui-radius-round));
68
- border: 1px solid var(--ui-avatar-border, color-mix(in srgb, var(--ui-accent-solid) 35%, var(--ui-surface-default)));
68
+ border: var(--ui-border-width) solid var(--ui-avatar-border, color-mix(in srgb, var(--ui-accent-solid) 35%, var(--ui-surface-default)));
69
69
  background: var(--ui-avatar-surface, var(--ui-accent-soft));
70
70
  color: var(--ui-avatar-text, var(--ui-accent-subtle-text, var(--ui-accent-solid)));
71
71
  font: inherit;
@@ -103,8 +103,8 @@
103
103
  /* An outline, not a dot: the avatar clips its content to the circle, and an outline is drawn
104
104
  outside the box, so the ring survives the clip and the overlap in an Avatar Group. */
105
105
  :host-state([active]) {
106
- outline: 1px solid var(--ui-avatar-active-ring, var(--ui-accent-solid));
107
- outline-offset: 1px;
106
+ outline: var(--ui-border-width) solid var(--ui-avatar-active-ring, var(--ui-accent-solid));
107
+ outline-offset: var(--ui-border-width);
108
108
  }
109
109
 
110
110
  .image,
@@ -71,7 +71,7 @@
71
71
  inline-size: 2.5rem;
72
72
  block-size: 2.5rem;
73
73
  border-radius: var(--ui-radius-round);
74
- border: 1px solid var(--ui-border-strong);
74
+ border: var(--ui-border-width) solid var(--ui-border-strong);
75
75
  background: var(--ui-surface-elevated);
76
76
  color: var(--ui-text-primary);
77
77
  box-shadow:
@@ -80,7 +80,7 @@
80
80
  justify-content: center;
81
81
  max-width: 100%;
82
82
  padding: var(--ui-badge-padding-block, var(--ui-space-0-5)) var(--ui-badge-padding-inline, var(--ui-space-2));
83
- border: 1px solid var(--ui-badge-border, var(--_badge-color-border, var(--_badge-border)));
83
+ border: var(--ui-border-width) solid var(--ui-badge-border, var(--_badge-color-border, var(--_badge-border)));
84
84
  border-radius: var(--ui-radius-round);
85
85
  background: var(--_badge-outline-surface);
86
86
  color: var(--ui-badge-text, var(--_badge-color-text, var(--_badge-text)));
@@ -169,7 +169,7 @@
169
169
  appearance: none;
170
170
  min-block-size: var(--ui-button-min-block-size, var(--ui-control-size-md));
171
171
  border-style: solid;
172
- border-width: 1px;
172
+ border-width: var(--ui-border-width);
173
173
  border-color: var(--ui-button-border, var(--_tone));
174
174
  border-radius: var(--ui-button-radius, var(--ui-action-radius, var(--ui-radius-md)));
175
175
  background-color: var(--ui-button-surface, oklch(from var(--_tone) l c h / 5%));
@@ -432,8 +432,8 @@
432
432
  :host-state([variant="link"]):focus-visible {
433
433
  box-shadow: none;
434
434
  /* Fallback keeps the ring if the token is missing: an unresolved var() would void the outline. */
435
- outline: 2px solid var(--ui-focus-ring);
436
- outline-offset: 2px;
435
+ outline: var(--ui-focus-width) solid var(--ui-focus-ring);
436
+ outline-offset: var(--ui-focus-width);
437
437
  }
438
438
 
439
439
  /* A component that sets its display still honours the hidden attribute on its root. */
@@ -106,8 +106,9 @@
106
106
  padding-block: var(--ui-callout-padding-block, var(--ui-space-2));
107
107
  padding-inline-start: var(--ui-callout-padding-inline, var(--ui-space-2));
108
108
  padding-inline-end: var(--ui-callout-padding-inline, var(--ui-space-3));
109
- border: var(--ui-callout-border-width, 1px) solid color-mix(in srgb, var(--ui-callout-border, var(--_callout-border)) 35%, transparent);
110
- border-inline-start: var(--ui-callout-leading-border-width, 4px) solid var(--ui-callout-border, var(--_callout-border));
109
+ border: var(--ui-callout-border-width, var(--ui-border-width)) solid
110
+ color-mix(in srgb, var(--ui-callout-border, var(--_callout-border)) 35%, transparent);
111
+ border-inline-start: var(--ui-callout-leading-border-width, var(--ui-accent-line-width)) solid var(--ui-callout-border, var(--_callout-border));
111
112
  border-radius: var(--ui-radius-md);
112
113
  background: var(--ui-callout-surface, var(--_callout-surface));
113
114
  color: var(--ui-callout-text, var(--ui-text-primary));
@@ -28,7 +28,7 @@
28
28
  box-sizing: border-box;
29
29
  min-inline-size: 0;
30
30
  padding: var(--ui-space-5);
31
- border: 1px solid var(--ui-border-strong);
31
+ border: var(--ui-border-width) solid var(--ui-border-strong);
32
32
  border-radius: var(--ui-radius-lg);
33
33
  background: var(--ui-surface-raised);
34
34
  color: var(--ui-text-primary);
@@ -59,7 +59,7 @@
59
59
 
60
60
  :host-state([tone="danger"]) {
61
61
  border-color: color-mix(in srgb, var(--ui-danger) 45%, var(--ui-border-default));
62
- border-inline-start: 4px solid var(--ui-danger);
62
+ border-inline-start: var(--ui-accent-line-width) solid var(--ui-danger);
63
63
  background: var(--ui-danger-soft);
64
64
  }
65
65
 
@@ -102,7 +102,7 @@
102
102
  inline-size: var(--_ui-checkbox-size, 1.125rem);
103
103
  block-size: var(--_ui-checkbox-size, 1.125rem);
104
104
  margin: 0.125em 0 0;
105
- border: 1px solid var(--ui-control-border, var(--ui-border-strong));
105
+ border: var(--ui-border-width) solid var(--ui-control-border, var(--ui-border-strong));
106
106
  border-radius: var(--ui-radius-sm);
107
107
  background: var(--ui-control-surface, var(--ui-surface-default));
108
108
  box-shadow: var(--ui-control-inset);
@@ -179,8 +179,8 @@
179
179
  }
180
180
 
181
181
  input:focus-visible {
182
- outline: 2px solid var(--ui-focus-ring, var(--ui-accent-solid));
183
- outline-offset: 2px;
182
+ outline: var(--ui-focus-width) solid var(--ui-focus-ring, var(--ui-accent-solid));
183
+ outline-offset: var(--ui-focus-width);
184
184
  }
185
185
 
186
186
  :host-state([invalid]) input {
@@ -628,7 +628,7 @@
628
628
  flex: 1 1 auto;
629
629
  display: flex;
630
630
  min-inline-size: 0;
631
- border: 1px solid var(--ui-control-border, var(--ui-border-default));
631
+ border: var(--ui-border-width) solid var(--ui-control-border, var(--ui-border-default));
632
632
  border-radius: var(--_ui-combobox-radius, var(--ui-field-radius, var(--ui-radius-md)));
633
633
  background: var(--ui-control-surface, var(--ui-surface-default));
634
634
  box-shadow: var(--ui-control-inset);
@@ -743,7 +743,7 @@
743
743
  button:focus-visible {
744
744
  outline: none;
745
745
  background: var(--ui-surface-muted);
746
- box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
746
+ box-shadow: inset 0 0 0 var(--ui-focus-width) color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
747
747
  }
748
748
  input:disabled, button:disabled {
749
749
  color: var(--ui-disabled-text);
@@ -764,7 +764,7 @@
764
764
  overflow: auto;
765
765
  margin: 0;
766
766
  padding: var(--ui-space-1);
767
- border: 1px solid var(--_ui-combobox-popup-border, var(--ui-overlay-border, var(--ui-border-strong)));
767
+ border: var(--ui-border-width) solid var(--_ui-combobox-popup-border, var(--ui-overlay-border, var(--ui-border-strong)));
768
768
  border-radius: var(--_ui-combobox-popup-radius, var(--ui-overlay-radius, var(--ui-radius-md)));
769
769
  background: var(--_ui-combobox-popup-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
770
770
  color: var(--ui-text-primary);
@@ -779,7 +779,7 @@
779
779
  }
780
780
  .primary {
781
781
  display: block;
782
- color: var(--_ui-combobox-option-text, var(--ui-text-primary));
782
+ color: var(--_ui-combobox-option-text, inherit);
783
783
  font-weight: 500;
784
784
  }
785
785
  /* A row with a tag or a description: the label and its tag on one line, the description under them. */
@@ -868,7 +868,7 @@
868
868
  padding: var(--ui-space-0-5);
869
869
  }
870
870
  :host-state([multiple]):host-state([size="sm"]) input {
871
- min-block-size: calc(var(--_row) - 2px - 2 * var(--ui-space-0-5));
871
+ min-block-size: calc(var(--_row) - 2 * var(--ui-border-width) - 2 * var(--ui-space-0-5));
872
872
  padding: 0 var(--ui-space-1);
873
873
  }
874
874
  /* A large multiple field starts at the large control height, as sm starts at the small one. */
@@ -876,7 +876,7 @@
876
876
  min-block-size: 0;
877
877
  }
878
878
  :host-state([multiple]):host-state([size="lg"]) input {
879
- min-block-size: calc(var(--ui-control-size-lg) - 2px - 2 * var(--ui-space-1));
879
+ min-block-size: calc(var(--ui-control-size-lg) - 2 * var(--ui-border-width) - 2 * var(--ui-space-1));
880
880
  }
881
881
  .item {
882
882
  appearance: none;
@@ -894,8 +894,8 @@
894
894
  cursor: default;
895
895
  }
896
896
  .item:focus-visible {
897
- outline: 2px solid var(--ui-focus-ring);
898
- outline-offset: 1px;
897
+ outline: var(--ui-focus-width) solid var(--ui-focus-ring);
898
+ outline-offset: var(--ui-border-width);
899
899
  }
900
900
  .item:disabled {
901
901
  color: var(--ui-disabled-text);
@@ -69,7 +69,7 @@
69
69
  box-sizing: border-box;
70
70
  padding: var(--ui-space-1);
71
71
  background: var(--_ui-context-menu-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
72
- border: 1px solid var(--_ui-context-menu-border, var(--ui-overlay-border, var(--ui-border-strong)));
72
+ border: var(--ui-border-width) solid var(--_ui-context-menu-border, var(--ui-overlay-border, var(--ui-border-strong)));
73
73
  border-radius: var(--_ui-context-menu-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
74
74
  box-shadow: var(--_ui-context-menu-shadow, var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg))));
75
75
  outline: 0;
@@ -90,7 +90,7 @@
90
90
  block-size: 0;
91
91
  margin: var(--ui-space-1) 0;
92
92
  border: 0;
93
- border-block-start: 1px solid var(--ui-border-divider);
93
+ border-block-start: var(--ui-border-width) solid var(--ui-border-divider);
94
94
  }
95
95
 
96
96
  .menu:popover-open {
@@ -53,7 +53,7 @@
53
53
  --_ui-description-align: flex-start;
54
54
  --_ui-description-value-size: var(--ui-font-size-lg);
55
55
  --_ui-description-padding: var(--_tile-padding);
56
- --_ui-description-border-width: 1px;
56
+ --_ui-description-border-width: var(--ui-border-width);
57
57
  --_ui-description-border-color: var(--ui-border-strong);
58
58
  --_gap: var(--ui-space-3);
59
59
  --_gap-compact: var(--ui-space-2);
@@ -92,7 +92,7 @@
92
92
  overflow: hidden;
93
93
  flex-direction: column;
94
94
  background: var(--ui-dialog-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
95
- border: 1px solid var(--ui-dialog-border, var(--ui-overlay-border, var(--ui-border-strong)));
95
+ border: var(--ui-border-width) solid var(--ui-dialog-border, var(--ui-overlay-border, var(--ui-border-strong)));
96
96
  border-radius: var(--ui-dialog-radius, var(--ui-overlay-radius, var(--ui-radius-dialog)));
97
97
  box-shadow: var(--ui-dialog-shadow, var(--ui-overlay-shadow, var(--ui-elevation-dialog, var(--ui-shadow-xl))));
98
98
  visibility: hidden;
@@ -198,8 +198,8 @@
198
198
  }
199
199
 
200
200
  .close:focus-visible {
201
- outline: 2px solid var(--ui-focus-ring);
202
- outline-offset: 2px;
201
+ outline: var(--ui-focus-width) solid var(--ui-focus-ring);
202
+ outline-offset: var(--ui-focus-width);
203
203
  }
204
204
 
205
205
  /* A touch target, like Button on coarse pointers. */
@@ -2,6 +2,9 @@
2
2
  <defs>
3
3
  <prop name="density" type="keyword" values="comfortable, compact" default="comfortable"
4
4
  >Compact trades padding and type size for rows that fit more on screen.</prop>
5
+ <prop name="fill" type="boolean" default="false"
6
+ >In a column with a bounded height, an open disclosure fills the remaining space and keeps its trigger visible. The content slot can contain a Scroll Area.
7
+ Closed items keep only their trigger height.</prop>
5
8
  <prop name="summary" type="string" default="Details"
6
9
  >The text of the trigger row that opens and closes the disclosure. It is the trigger button's accessible name, so name what the content is.</prop>
7
10
  <prop name="open" type="boolean" default="false"
@@ -38,7 +41,7 @@
38
41
  <div class="heading" from:role="headingRole" from:aria-level="headingAriaLevel">
39
42
  <button class="trigger" type="button" $ref="trigger" from:aria-controls="contentId" from:aria-expanded="internalOpen" from:disabled="disabled">
40
43
  <span class="summary"><slot name="summary"><template $value="summary"></template></slot></span>
41
- <span class="chevron" aria-hidden="true"></span>
44
+ <slot name="indicator"><span class="chevron" aria-hidden="true"></span></slot>
42
45
  </button>
43
46
  </div>
44
47
  <div class="panel" $ref="panel" from:id="contentId"><div class="panel-inner"><slot></slot></div></div>
@@ -82,7 +85,7 @@
82
85
  display: block;
83
86
  inline-size: 100%;
84
87
  overflow: clip;
85
- border-block-end: 1px solid var(--ui-border-divider);
88
+ border-block-end: var(--ui-border-width) solid var(--ui-border-divider);
86
89
  color: var(--ui-text-primary);
87
90
  }
88
91
 
@@ -111,7 +114,7 @@
111
114
  }
112
115
  .trigger:focus-visible {
113
116
  outline: none;
114
- box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
117
+ box-shadow: inset 0 0 0 var(--ui-focus-width) color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
115
118
  }
116
119
  .trigger:disabled {
117
120
  color: var(--ui-disabled-text);
@@ -149,6 +152,43 @@
149
152
  transform: rotate(225deg) translate(-1px, -1px);
150
153
  }
151
154
 
155
+ /* A bounded accordion owns one flexible body, so its trigger never scrolls away. The
156
+ * normal content-sized layout and its animation remain unchanged when fill is omitted. */
157
+ :host-state([fill]) {
158
+ display: flex;
159
+ flex-direction: column;
160
+ flex: none;
161
+ min-block-size: 0;
162
+ border-block-end: 0;
163
+ border-block-start: var(--ui-border-width) solid var(--ui-border-divider);
164
+ }
165
+ :host-state([fill][internalOpen]) {
166
+ flex: 1;
167
+ }
168
+ :host-state([fill]) .heading {
169
+ flex: none;
170
+ }
171
+ :host-state([fill]) .trigger {
172
+ border-radius: 0;
173
+ }
174
+ :host-state([fill]) .panel {
175
+ display: flex;
176
+ flex: 1;
177
+ min-block-size: 0;
178
+ transition: none;
179
+ }
180
+ :host-state([fill]) .panel[hidden] {
181
+ flex: none;
182
+ block-size: 0;
183
+ }
184
+ :host-state([fill]) .panel-inner {
185
+ display: flex;
186
+ flex-direction: column;
187
+ flex: 1;
188
+ min-block-size: 0;
189
+ padding: 0;
190
+ }
191
+
152
192
  @media (prefers-reduced-motion: reduce) {
153
193
  .panel,
154
194
  .chevron {
@@ -82,7 +82,7 @@
82
82
  min-block-size: var(--ui-control-size-sm);
83
83
  margin: 0;
84
84
  padding: var(--ui-space-1) var(--ui-space-2);
85
- border: 1px solid transparent;
85
+ border: var(--ui-border-width) solid transparent;
86
86
  border-radius: var(--ui-radius-md);
87
87
  font: inherit;
88
88
  line-height: var(--ui-line-height-md);
@@ -155,7 +155,7 @@
155
155
  .actions button {
156
156
  min-block-size: var(--ui-control-size-sm);
157
157
  padding: 0 var(--ui-space-3);
158
- border: 1px solid var(--ui-border-strong);
158
+ border: var(--ui-border-width) solid var(--ui-border-strong);
159
159
  border-radius: var(--ui-radius-md);
160
160
  background: var(--ui-surface-elevated);
161
161
  background-image: var(--ui-raised-highlight);
@@ -38,7 +38,7 @@
38
38
  :host {
39
39
  padding: var(--ui-space-3);
40
40
  background: var(--ui-surface);
41
- border: 1px solid var(--ui-border-strong);
41
+ border: var(--ui-border-width) solid var(--ui-border-strong);
42
42
  border-radius: var(--ui-radius-md);
43
43
  box-shadow: var(--ui-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
44
44
  }
@@ -83,8 +83,8 @@
83
83
  width: 1.25rem;
84
84
  height: 1.25rem;
85
85
  padding: 0;
86
- border: 1px solid var(--ui-control-border);
87
- border-radius: 2px;
86
+ border: var(--ui-border-width) solid var(--ui-control-border);
87
+ border-radius: var(--ui-radius-sm);
88
88
  background: var(--ui-surface);
89
89
  cursor: pointer;
90
90
  }
@@ -95,8 +95,8 @@
95
95
  }
96
96
 
97
97
  .cell:focus-visible {
98
- outline: 2px solid var(--ui-focus-ring);
99
- outline-offset: -2px;
98
+ outline: var(--ui-focus-width) solid var(--ui-focus-ring);
99
+ outline-offset: calc(-1 * var(--ui-focus-width));
100
100
  }
101
101
 
102
102
  .header {
@@ -53,7 +53,7 @@
53
53
  overflow: hidden;
54
54
  flex-direction: column;
55
55
  background: var(--ui-surface);
56
- border: 1px solid var(--ui-border-strong);
56
+ border: var(--ui-border-width) solid var(--ui-border-strong);
57
57
  border-radius: var(--ui-radius-dialog);
58
58
  box-shadow: var(--ui-shadow-lg, 0 8px 24px rgb(0 0 0 / 0.12));
59
59
  }
@@ -65,7 +65,7 @@
65
65
  gap: var(--ui-space-3);
66
66
  padding: var(--ui-space-2) var(--ui-space-3);
67
67
  color: var(--ui-text-secondary);
68
- border-bottom: 1px solid var(--ui-border-divider);
68
+ border-bottom: var(--ui-border-width) solid var(--ui-border-divider);
69
69
  font-size: var(--ui-font-size-xs);
70
70
  font-weight: var(--ui-font-semibold);
71
71
  }
@@ -49,7 +49,7 @@
49
49
 
50
50
  :host {
51
51
  background: var(--ui-surface);
52
- border: 1px solid var(--ui-border-strong);
52
+ border: var(--ui-border-width) solid var(--ui-border-strong);
53
53
  border-radius: var(--ui-radius-dialog);
54
54
  box-shadow: var(--ui-shadow-lg, 0 8px 24px rgb(0 0 0 / 0.12));
55
55
  overflow: hidden;
@@ -69,7 +69,7 @@
69
69
  align-items: center;
70
70
  gap: var(--ui-space-2);
71
71
  padding: var(--ui-space-3) var(--ui-space-4);
72
- border-bottom: 1px solid var(--ui-border-divider);
72
+ border-bottom: var(--ui-border-width) solid var(--ui-border-divider);
73
73
  font-size: var(--ui-font-size-xs);
74
74
  color: var(--ui-text-muted);
75
75
  font-weight: var(--ui-font-semibold);
@@ -147,7 +147,7 @@
147
147
  width: 32px;
148
148
  height: 32px;
149
149
  background: var(--ui-surface-hover);
150
- border: 1px solid var(--ui-border);
150
+ border: var(--ui-border-width) solid var(--ui-border);
151
151
  border-radius: var(--ui-radius-md);
152
152
  font-size: var(--ui-font-size-sm);
153
153
  font-weight: var(--ui-font-bold);
@@ -194,7 +194,7 @@
194
194
 
195
195
  .footer {
196
196
  padding: var(--ui-space-2) var(--ui-space-3);
197
- border-top: 1px solid var(--ui-border-divider);
197
+ border-top: var(--ui-border-width) solid var(--ui-border-divider);
198
198
  font-size: var(--ui-font-size-xs);
199
199
  color: var(--ui-text-muted);
200
200
  }
@@ -206,8 +206,8 @@
206
206
  font-family: var(--ui-font-family-mono, ui-monospace, monospace);
207
207
  font-size: var(--ui-font-size-2xs);
208
208
  background: var(--ui-surface-hover);
209
- border: 1px solid var(--ui-border);
210
- border-radius: 3px;
209
+ border: var(--ui-border-width) solid var(--ui-border);
210
+ border-radius: var(--ui-radius-sm);
211
211
  padding: 0 3px;
212
212
  color: var(--ui-text-secondary);
213
213
  }
@@ -44,7 +44,7 @@
44
44
  flex: 0 0 auto;
45
45
  color: var(--ui-text-secondary);
46
46
  background: var(--ui-surface-hover);
47
- border: 1px solid var(--ui-border);
47
+ border: var(--ui-border-width) solid var(--ui-border);
48
48
  border-radius: var(--ui-radius-md);
49
49
  }
50
50
 
@@ -88,7 +88,7 @@
88
88
  max-height: min(28rem, calc(100vh - 24px));
89
89
  padding: var(--ui-space-2);
90
90
  background: var(--ui-surface);
91
- border: 1px solid var(--ui-border-strong);
91
+ border: var(--ui-border-width) solid var(--ui-border-strong);
92
92
  border-radius: var(--ui-radius-lg);
93
93
  box-shadow: var(--ui-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
94
94
  display: flex;
@@ -155,7 +155,7 @@
155
155
  width: 1rem;
156
156
  height: 1rem;
157
157
  border-radius: var(--ui-radius-round);
158
- border: 1px solid var(--ui-border);
158
+ border: var(--ui-border-width) solid var(--ui-border);
159
159
  background: var(--_swatch, #fff);
160
160
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.35);
161
161
  flex-shrink: 0;
@@ -244,7 +244,7 @@
244
244
  width: 24px;
245
245
  height: 24px;
246
246
  padding: 0;
247
- border: 1px solid var(--ui-affordance-near-color, var(--ui-border-strong));
247
+ border: var(--ui-border-width) solid var(--ui-affordance-near-color, var(--ui-border-strong));
248
248
  border-radius: var(--ui-radius-round);
249
249
  background: color-mix(in srgb, var(--ui-surface-elevated) 96%, transparent);
250
250
  color: var(--ui-affordance-near-color, var(--ui-text-secondary));
@@ -287,8 +287,8 @@
287
287
  .handle:focus-visible,
288
288
  .selector:focus-visible,
289
289
  .cell-menu:focus-visible {
290
- outline: 2px solid var(--ui-focus-ring);
291
- outline-offset: 2px;
290
+ outline: var(--ui-focus-width) solid var(--ui-focus-ring);
291
+ outline-offset: var(--ui-focus-width);
292
292
  }
293
293
 
294
294
  .control.row {
@@ -321,13 +321,13 @@
321
321
  }
322
322
 
323
323
  .control.row .line {
324
- inset: -1px 0 auto;
325
- height: 2px;
324
+ inset: calc(-0.5 * var(--ui-accent-line-width)) 0 auto;
325
+ height: var(--ui-accent-line-width);
326
326
  }
327
327
 
328
328
  .control.col .line {
329
- inset: 0 auto 0 -1px;
330
- width: 2px;
329
+ inset: 0 auto 0 calc(-0.5 * var(--ui-accent-line-width));
330
+ width: var(--ui-accent-line-width);
331
331
  }
332
332
 
333
333
  .control.active .line {
@@ -399,7 +399,7 @@
399
399
  align-items: center;
400
400
  justify-content: center;
401
401
  padding: 0;
402
- border: 1px solid transparent;
402
+ border: var(--ui-border-width) solid transparent;
403
403
  background: transparent;
404
404
  color: var(--ui-text-secondary);
405
405
  box-shadow: none;
@@ -516,19 +516,19 @@
516
516
  position: absolute;
517
517
  z-index: 3;
518
518
  background: var(--ui-accent-solid);
519
- box-shadow: 0 0 0 2px var(--ui-surface);
519
+ box-shadow: 0 0 0 var(--ui-border-width) var(--ui-surface);
520
520
  pointer-events: none;
521
521
  }
522
522
 
523
523
  .drop-indicator.row {
524
524
  left: 0;
525
525
  width: 100%;
526
- height: 2px;
526
+ height: var(--ui-accent-line-width);
527
527
  }
528
528
 
529
529
  .drop-indicator.column {
530
530
  top: 0;
531
- width: 2px;
531
+ width: var(--ui-accent-line-width);
532
532
  height: 100%;
533
533
  }
534
534
 
@@ -154,8 +154,8 @@
154
154
  gap: var(--ui-space-1);
155
155
  padding: var(--ui-space-1);
156
156
  background: color-mix(in srgb, var(--ui-surface) 94%, transparent);
157
- border: 1px solid var(--ui-border-strong);
158
- border-radius: calc(var(--ui-radius-md) + 2px);
157
+ border: var(--ui-border-width) solid var(--ui-border-strong);
158
+ border-radius: calc(var(--ui-radius-md) + 2 * var(--ui-border-width));
159
159
  box-shadow: var(--ui-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
160
160
  backdrop-filter: blur(10px);
161
161
  }
@@ -245,7 +245,7 @@
245
245
  max-width: min(17rem, calc(100vw - 24px));
246
246
  padding: var(--ui-space-1);
247
247
  background: var(--ui-surface);
248
- border: 1px solid var(--ui-border-strong);
248
+ border: var(--ui-border-width) solid var(--ui-border-strong);
249
249
  border-radius: var(--ui-radius-md);
250
250
  box-shadow: var(--ui-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
251
251
  display: flex;
@@ -260,7 +260,7 @@
260
260
  .menu-section + .menu-section {
261
261
  margin-top: var(--ui-space-1);
262
262
  padding-top: var(--ui-space-1);
263
- border-top: 1px solid var(--ui-border-divider);
263
+ border-top: var(--ui-border-width) solid var(--ui-border-divider);
264
264
  }
265
265
 
266
266
  .menu-heading {
@@ -294,7 +294,7 @@
294
294
  width: 14px;
295
295
  height: 14px;
296
296
  flex: 0 0 14px;
297
- border: 1px solid color-mix(in srgb, var(--ui-border) 80%, #000);
297
+ border: var(--ui-border-width) solid color-mix(in srgb, var(--ui-border) 80%, #000);
298
298
  border-radius: var(--ui-radius-round);
299
299
  background: var(--_swatch);
300
300
  }
@@ -13,7 +13,7 @@
13
13
  padding: var(--ui-editor-toolbar-padding-block, 6px) var(--ui-editor-toolbar-padding-inline, 12px);
14
14
  min-height: var(--ui-editor-toolbar-min-height, 48px);
15
15
  background: var(--ui-editor-toolbar-surface, var(--ui-surface));
16
- border-bottom: 1px solid var(--ui-editor-toolbar-border, var(--ui-border-divider));
16
+ border-bottom: var(--ui-border-width) solid var(--ui-editor-toolbar-border, var(--ui-border-divider));
17
17
  }
18
18
 
19
19
  /* One row, always. When the controls outgrow the space, the row scrolls sideways rather than
@@ -80,7 +80,7 @@
80
80
  min-height: auto;
81
81
  padding: var(--ui-editor-toolbar-floating-padding, 4px);
82
82
  background: color-mix(in srgb, var(--ui-editor-toolbar-surface, var(--ui-surface)) 96%, transparent);
83
- border: 1px solid var(--ui-editor-toolbar-border, var(--ui-border-strong));
83
+ border: var(--ui-border-width) solid var(--ui-editor-toolbar-border, var(--ui-border-strong));
84
84
  border-radius: var(--ui-editor-toolbar-floating-radius, var(--ui-radius-lg));
85
85
  box-shadow: var(--ui-editor-toolbar-floating-shadow, var(--ui-shadow-lg, 0 10px 24px rgb(0 0 0 / 0.12)));
86
86
  backdrop-filter: blur(10px);
@@ -94,7 +94,7 @@
94
94
  left: 0;
95
95
  right: 0;
96
96
  min-height: var(--ui-editor-toolbar-mobile-min-height, 56px);
97
- border-top: 1px solid var(--ui-editor-toolbar-border, var(--ui-border-divider));
97
+ border-top: var(--ui-border-width) solid var(--ui-editor-toolbar-border, var(--ui-border-divider));
98
98
  border-bottom: none;
99
99
  box-shadow: var(--ui-editor-toolbar-mobile-shadow, 0 -2px 8px rgb(0 0 0 / 0.06));
100
100
  }
@@ -103,7 +103,7 @@
103
103
  position: relative;
104
104
  inset: auto;
105
105
  min-height: auto;
106
- border: 1px solid var(--ui-editor-toolbar-border, var(--ui-border-strong));
106
+ border: var(--ui-border-width) solid var(--ui-editor-toolbar-border, var(--ui-border-strong));
107
107
  border-radius: var(--ui-editor-toolbar-floating-radius, var(--ui-radius-lg));
108
108
  box-shadow: var(--ui-editor-toolbar-floating-shadow, var(--ui-shadow-lg, 0 10px 24px rgb(0 0 0 / 0.12)));
109
109
  }
@@ -64,8 +64,8 @@
64
64
  }
65
65
 
66
66
  :host:focus-visible {
67
- outline: 2px solid var(--ui-focus-ring);
68
- outline-offset: 2px;
67
+ outline: var(--ui-focus-width) solid var(--ui-focus-ring);
68
+ outline-offset: var(--ui-focus-width);
69
69
  }
70
70
 
71
71
  :host:disabled {
@@ -24,6 +24,7 @@
24
24
  'circle-x': [{ tag: 'circle', cx: '12', cy: '12', r: '10' }, { tag: 'path', d: 'm15 9-6 6' }, { tag: 'path', d: 'm9 9 6 6' }],
25
25
  'code-xml': [{ tag: 'path', d: 'm18 16 4-4-4-4' }, { tag: 'path', d: 'm6 8-4 4 4 4' }, { tag: 'path', d: 'm14.5 4-5 16' }],
26
26
  'columns': [{ tag: 'rect', width: '18', height: '18', x: '3', y: '3', rx: '2' }, { tag: 'path', d: 'M9 3v18' }, { tag: 'path', d: 'M15 3v18' }],
27
+ 'compass': [{ tag: 'path', d: 'm16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z' }, { tag: 'circle', cx: '12', cy: '12', r: '10' }],
27
28
  'credit-card': [{ tag: 'rect', width: '20', height: '14', x: '2', y: '5', rx: '2' }, { tag: 'line', x1: '2', x2: '22', y1: '10', y2: '10' }],
28
29
  'ellipsis': [{ tag: 'circle', cx: '12', cy: '12', r: '1' }, { tag: 'circle', cx: '19', cy: '12', r: '1' }, { tag: 'circle', cx: '5', cy: '12', r: '1' }],
29
30
  'eraser': [{ tag: 'path', d: 'M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21' }, { tag: 'path', d: 'm5.082 11.09 8.828 8.828' }],
@@ -37,6 +38,7 @@
37
38
  'heading-3': [{ tag: 'path', d: 'M4 12h8' }, { tag: 'path', d: 'M4 18V6' }, { tag: 'path', d: 'M12 18V6' }, { tag: 'path', d: 'M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2' }, { tag: 'path', d: 'M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2' }],
38
39
  'help': [{ tag: 'circle', cx: '12', cy: '12', r: '10' }, { tag: 'path', d: 'M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3' }, { tag: 'path', d: 'M12 17h.01' }],
39
40
  'highlighter': [{ tag: 'path', d: 'm9 11-6 6v3h9l3-3' }, { tag: 'path', d: 'm22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4' }],
41
+ 'history': [{ tag: 'path', d: 'M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8' }, { tag: 'path', d: 'M3 3v5h5' }, { tag: 'path', d: 'M12 7v5l4 2' }],
40
42
  'image': [{ tag: 'rect', width: '18', height: '18', x: '3', y: '3', rx: '2', ry: '2' }, { tag: 'circle', cx: '9', cy: '9', r: '2' }, { tag: 'path', d: 'm21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21' }],
41
43
  'info': [{ tag: 'circle', cx: '12', cy: '12', r: '10' }, { tag: 'path', d: 'M12 16v-4' }, { tag: 'path', d: 'M12 8h.01' }],
42
44
  'italic': [{ tag: 'line', x1: '19', x2: '10', y1: '4', y2: '4' }, { tag: 'line', x1: '14', x2: '5', y1: '20', y2: '20' }, { tag: 'line', x1: '15', x2: '9', y1: '4', y2: '20' }],