@0001-labs/design-system-1 0.3.0-alpha.25 → 0.3.0-alpha.26

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 (41) hide show
  1. package/DS1/0-face/generated/toast-assets.ts +1 -1
  2. package/DS1/1-root/cjk.css +1 -1
  3. package/DS1/1-root/fonts.css +1 -1
  4. package/DS1/1-root/notice.css +4 -1
  5. package/DS1/1-root/one.css +1 -1
  6. package/DS1/1-root/one.semantic.css +1 -1
  7. package/DS1/1-root/table.css +26 -2
  8. package/DS1/2-core/ds-tooltip.ts +23 -1
  9. package/DS1/2-core/generated/ds-icon-map.ts +1 -3
  10. package/DS1/2-core/generated/icons-extra.ts +1 -2
  11. package/DS1/2-core/generated/icons-immediate.ts +1 -1
  12. package/DS1/2-core/styles/ds-tooltip.css +3 -2
  13. package/DS1/3-unit/ds-table.ts +52 -4
  14. package/DS1/x-icon/warning.svg +1 -1
  15. package/dist/0-face/generated/toast-assets.js +1 -1
  16. package/dist/2-core/ds-tooltip.d.ts +6 -0
  17. package/dist/2-core/ds-tooltip.d.ts.map +1 -1
  18. package/dist/2-core/ds-tooltip.js +27 -1
  19. package/dist/2-core/generated/ds-icon-map.d.ts +2 -3
  20. package/dist/2-core/generated/ds-icon-map.d.ts.map +1 -1
  21. package/dist/2-core/generated/ds-icon-map.js +1 -3
  22. package/dist/2-core/generated/icons-extra.d.ts.map +1 -1
  23. package/dist/2-core/generated/icons-extra.js +1 -2
  24. package/dist/2-core/generated/icons-immediate.d.ts +1 -1
  25. package/dist/2-core/generated/icons-immediate.d.ts.map +1 -1
  26. package/dist/2-core/generated/icons-immediate.js +1 -1
  27. package/dist/3-unit/ds-table.d.ts +13 -0
  28. package/dist/3-unit/ds-table.d.ts.map +1 -1
  29. package/dist/3-unit/ds-table.js +57 -4
  30. package/dist/design-system-1.bundle.js +73 -8
  31. package/dist/design-system-1.bundle.js.map +1 -1
  32. package/dist/design-system-1.bundle.min.js +187 -150
  33. package/dist/design-system-1.bundle.min.js.map +1 -1
  34. package/dist/feedback.js +17 -17
  35. package/dist/feedback.js.map +1 -1
  36. package/dist/{icons-extra-C0E3yQpX.js → icons-extra-CRxxWFjX.js} +2 -3
  37. package/dist/{icons-extra-C0E3yQpX.js.map → icons-extra-CRxxWFjX.js.map} +1 -1
  38. package/dist/{icons-extra-BbbpXocy.js → icons-extra-H5pqCM_R.js} +2 -5
  39. package/dist/{icons-extra-BbbpXocy.js.map → icons-extra-H5pqCM_R.js.map} +1 -1
  40. package/package.json +1 -1
  41. package/DS1/x-icon/triangle.svg +0 -3
@@ -14,5 +14,5 @@ export const toastIcons: Readonly<Record<ToastIconName, string>> = {
14
14
  "check": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M6.68649 11.884L12.443 6.13601L11.736 5.42715L6.68835 10.4827L4.26399 8.0501L3.55696 8.74525L6.68649 11.884Z\" fill=\"currentColor\"/>\n</svg>\n",
15
15
  "close": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12.1215 4.58087L8.70453 7.99397L12.1176 11.4169L11.4106 12.112L7.99847 8.69108L4.58636 12.112L3.87836 11.4031L7.29535 7.99005L3.88226 4.56716L4.58929 3.87201L8.0014 7.29294L11.4145 3.87201L12.1215 4.58087Z\" fill=\"currentColor\"/>\n</svg>\n",
16
16
  "notifications": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M4.5 11.5V7.5C4.5 5.567 6.067 4 8 4C9.933 4 11.5 5.567 11.5 7.5V11.5M3 11.5H13M8 2.5V4M6.5 13.5H9.5\" stroke=\"currentColor\" stroke-width=\"0.92\"/>\n</svg>\n",
17
- "warning": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8 1.8L15.2 14.3H0.8L8 1.8ZM8 3.8L2.53 13.3H13.47L8 3.8ZM7.5 6.3H8.5V10.3H7.5V6.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z\" fill=\"#1E1E1E\"/>\n</svg>\n",
17
+ "warning": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7.5 3.3H8.5V10.3H7.5V3.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z\" fill=\"currentColor\"/>\n</svg>\n",
18
18
  };
@@ -1,4 +1,4 @@
1
- /* version 0.3.0-alpha.25 */
1
+ /* version 0.3.0-alpha.26 */
2
2
 
3
3
  /* Noto Sans for Japanese and Chinese, for a product that shows them. Opt in:
4
4
  link it beside one.css or fonts.css, or ask Sync 1 for "cjk": true. Without
@@ -1,4 +1,4 @@
1
- /* version 0.3.0-alpha.25 */
1
+ /* version 0.3.0-alpha.26 */
2
2
 
3
3
  /* Design system 1's faces and the typeface tokens that name them, on their
4
4
  own: a page that does not load one.css links this sheet (one.css imports
@@ -12,7 +12,7 @@
12
12
  * the danger colour. The `ds-notice` element draws the same parts.
13
13
  *
14
14
  * ds-notice the block: mark, words, dismiss
15
- * ds-notice__mark the square mark; holds an icon in its ink
15
+ * ds-notice__mark the mark, a picture's 4px corners; holds an icon in its ink
16
16
  * ds-notice__title one line in the medium face
17
17
  * ds-notice__text lines of one square
18
18
  * ds-notice__actions buttons or links on one row
@@ -84,6 +84,9 @@
84
84
  height: var(--ds-control-height);
85
85
  margin-block: calc((var(--ds-unit) - var(--ds-control-height)) / 2);
86
86
  overflow: hidden;
87
+ /* Rounded as every icon tile is (Joachim, 19 October 2026). */
88
+ border-radius: var(--ds-radius);
89
+ corner-shape: var(--ds-corner-shape, round);
87
90
  background: var(--ds-notice-mark);
88
91
  color: var(--ds-notice-mark-ink);
89
92
  --ds-icon-color: var(--ds-notice-mark-ink);
@@ -1,4 +1,4 @@
1
- /* version 0.3.0-alpha.25 */
1
+ /* version 0.3.0-alpha.26 */
2
2
 
3
3
  @import "./grid.css";
4
4
  @import "./component-tokens.css";
@@ -1,4 +1,4 @@
1
- /* DS1 — version 0.3.0-alpha.25 */
1
+ /* DS1 — version 0.3.0-alpha.26 */
2
2
  /* A classless stylesheet for native HTML. No JavaScript is required. */
3
3
 
4
4
  /* It draws on Design system 1's measures: the 20px square, 14px type on
@@ -19,7 +19,13 @@
19
19
  *
20
20
  * `data-sheet` makes it a spreadsheet: every cell four squares by one (80 by
21
21
  * 20), its 1px lines at its end and foot so the words have 79 by 19, set 4px
22
- * in on the sixteen, as an Ezo item's are. Column letters and the row numbers
22
+ * in on the sixteen. Words that do not fit fade out over the last square
23
+ * where they are cut, never an ellipsis: put them in `.ds-table__words`,
24
+ * which carries the fade (a mask, so it fades to whatever is behind: the
25
+ * paper, a selected or hovered cell's fill). A table marked `data-fit`
26
+ * (`<ds-table sheet>` is) measures its cells and marks the cut ones
27
+ * `data-cut="end"`, or `"start"` for a number it has scrolled to its end, so
28
+ * words that fit never fade; without it every cell's end fades. Column letters and the row numbers
23
29
  * (`.ds-table__letters`, `.ds-table__number`, two squares wide) stay in place
24
30
  * while the sheet scrolls both ways inside `.ds-table-scroll`; give the table
25
31
  * `--ds-table-columns` (the number of data columns) and the scroll a height
@@ -161,11 +167,29 @@
161
167
  border-bottom: 1px solid var(--ds-table-rule);
162
168
  border-inline-end: 1px solid var(--ds-table-rule);
163
169
  overflow: hidden;
164
- text-overflow: ellipsis;
165
170
  }
166
171
  .ds-table[data-sheet] :is(th, td):last-child {
167
172
  padding-inline-end: var(--ds-table-text);
168
173
  }
174
+ .ds-table[data-sheet] .ds-table__words {
175
+ --ds-table-fade-to: right;
176
+ --ds-table-fade-from: left;
177
+ display: block;
178
+ overflow: hidden;
179
+ white-space: nowrap;
180
+ }
181
+ .ds-table[data-sheet]:dir(rtl) .ds-table__words {
182
+ --ds-table-fade-to: left;
183
+ --ds-table-fade-from: right;
184
+ }
185
+ /* Cut words fade over their last square to nothing, at the edge where they are cut. */
186
+ .ds-table[data-sheet]:not([data-fit]) .ds-table__words,
187
+ .ds-table[data-sheet] .ds-table__words[data-cut="end"] {
188
+ mask-image: linear-gradient(to var(--ds-table-fade-to), #000 calc(100% - var(--ds-table-row)), transparent);
189
+ }
190
+ .ds-table[data-sheet] .ds-table__words[data-cut="start"] {
191
+ mask-image: linear-gradient(to var(--ds-table-fade-from), #000 calc(100% - var(--ds-table-row)), transparent);
192
+ }
169
193
  .ds-table[data-sheet] .ds-table__number {
170
194
  width: var(--ds-table-index);
171
195
  max-width: var(--ds-table-index);
@@ -100,7 +100,29 @@ export class Tooltip extends LitElement {
100
100
  trigger.setAttribute("aria-describedby", [...ids, this.description.id].join(" "));
101
101
  };
102
102
 
103
- updated(): void { this.describe(); }
103
+ updated(): void {
104
+ this.describe();
105
+ if (this._visible) this.place();
106
+ }
107
+
108
+ /**
109
+ * Keeps the bubble inside the window, as the page's tooltips do (0-face/tooltips.ts): four
110
+ * pixels from its edges, and below the control when there is no room above (or above when
111
+ * `placement="bottom"` has no room below). A tooltip at a frame's edge is never cut short.
112
+ */
113
+ private place(): void {
114
+ const bubble = this.shadowRoot?.querySelector<HTMLElement>(".bubble");
115
+ if (!bubble || bubble.hidden) return;
116
+ const edge = 4 * (parseFloat(getComputedStyle(this).getPropertyValue("--ds-sf")) || 1);
117
+ bubble.style.removeProperty("--ds-tooltip-shift");
118
+ bubble.dataset.side = this.placement === "bottom" ? "bottom" : "top";
119
+ let box = bubble.getBoundingClientRect();
120
+ if (bubble.dataset.side === "top" && box.top < edge) bubble.dataset.side = "bottom";
121
+ else if (bubble.dataset.side === "bottom" && box.bottom > innerHeight - edge) bubble.dataset.side = "top";
122
+ box = bubble.getBoundingClientRect();
123
+ const shift = box.left < edge ? edge - box.left : box.right > innerWidth - edge ? innerWidth - edge - box.right : 0;
124
+ if (shift) bubble.style.setProperty("--ds-tooltip-shift", `${shift}px`);
125
+ }
104
126
 
105
127
  render() {
106
128
  return html`<slot @slotchange=${this.describe}></slot>
@@ -322,7 +322,6 @@ export const iconNameToSvgMap = {
322
322
  "toggle": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3 5L7.5 8L3 11Z\" fill=\"currentColor\"/>\n<path d=\"M9.5 7.5H13.5V8.5H9.5Z\" fill=\"currentColor\"/>\n</svg>",
323
323
  "train": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3.25\" y=\"1.75\" width=\"9.5\" height=\"9.5\" rx=\"2.25\"/><path d=\"M3.25 7H12.75\"/><path d=\"M5.75 9.25H5.76M10.24 9.25H10.25\"/><path d=\"M5.25 11.25L3.75 14M10.75 11.25L12.25 14\"/></g>\n</svg>",
324
324
  "transfer": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 5.5H12.5M10 3L12.5 5.5L10 8\"/><path d=\"M13 10.5H3.5M6 8L3.5 10.5L6 13\"/></g>\n</svg>",
325
- "triangle": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8 1.8L15.2 14.3H0.8L8 1.8ZM8 3.8L2.53 13.3H13.47L8 3.8Z\" fill=\"#1E1E1E\"/>\n</svg>",
326
325
  "tv": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"1.75\" y=\"3.25\" width=\"12.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M5.5 13.75H10.5\"/><path d=\"M7 6V9L9.5 7.5Z\"/></g>\n</svg>",
327
326
  "underline": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M5.5 3.25V8A2.5 2.5 0 0 0 10.5 8V3.25M4 12.75H12\" stroke=\"currentColor\" stroke-width=\"1.1\"/>\n</svg>",
328
327
  "undo": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 12 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M1 4L4 1M1 4L4 7M1 4H8C9.65685 4 11 5.34315 11 7V9\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"/>\n</svg></svg>",
@@ -341,7 +340,7 @@ export const iconNameToSvgMap = {
341
340
  "views": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<circle cx=\"7\" cy=\"7\" r=\"4.5\" stroke=\"currentColor\" stroke-width=\"0.92\"/>\n<path d=\"M10.2 10.2L13.5 13.5\" stroke=\"currentColor\" stroke-width=\"0.92\"/>\n</svg>",
342
341
  "vimeo": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3 8.5l1 1s1.5 -1.102 2 -.5c.509 .609 1.863 7.65 2.5 9c.556 1.184 1.978 2.89 4 1.5c2 -1.5 7.5 -5.5 8.5 -11.5c.444 -2.661 -1 -4 -2.5 -4c-2 0 -4.047 1.202 -4.5 4c2.05 -1.254 2.551 1 1.5 3c-1.052 2 -2 3 -2.5 3c-.49 0 -.924 -1.165 -1.5 -3.5c-.59 -2.42 -.5 -6.5 -3 -6.5s-5.5 4.5 -5.5 4.5\"/>\n</svg></svg>",
343
342
  "wallet": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12.25 5.25V4.25C12.25 3.7 11.8 3.25 11.25 3.25H3.75C2.92 3.25 2.25 3.92 2.25 4.75\"/><rect x=\"2.25\" y=\"4.75\" width=\"11.5\" height=\"8\" rx=\"1.75\"/><path d=\"M13.75 7.5H11.25C10.42 7.5 9.75 8.17 9.75 9C9.75 9.83 10.42 10.5 11.25 10.5H13.75\"/></g>\n</svg>",
344
- "warning": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8 1.8L15.2 14.3H0.8L8 1.8ZM8 3.8L2.53 13.3H13.47L8 3.8ZM7.5 6.3H8.5V10.3H7.5V6.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z\" fill=\"#1E1E1E\"/>\n</svg>",
343
+ "warning": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7.5 3.3H8.5V10.3H7.5V3.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z\" fill=\"currentColor\"/>\n</svg>",
345
344
  "wifi": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1.75 6.25C5.2 3.25 10.8 3.25 14.25 6.25\"/><path d=\"M3.75 8.5C6.2 6.5 9.8 6.5 12.25 8.5\"/><path d=\"M5.75 10.75C7.05 9.75 8.95 9.75 10.25 10.75\"/><path d=\"M8 12.99V13\"/></g>\n</svg>",
346
345
  "window": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<rect x=\"2.5\" y=\"3.5\" width=\"11\" height=\"9\" stroke=\"currentColor\"/>\n<path d=\"M2.5 6H13.5\" stroke=\"currentColor\"/>\n</svg>",
347
346
  "work": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13.8153 4.78289C13.8153 4.20267 13.3448 3.73213 12.7646 3.73213H8H3.23544C2.65521 3.73213 2.18468 4.20267 2.18468 4.78289V7.31419H13.8153L13.8153 4.78289ZM2.18468 8V11.2171C2.18468 11.7973 2.65521 12.2679 3.23544 12.2679H12.7646C13.3448 12.2679 13.8153 11.7973 13.8153 11.2171L13.8153 8L9.33239 7.98014V8.63222C9.33239 8.92233 9.09712 9.1576 8.807 9.1576H8H7.19299C6.90287 9.1576 6.66761 8.92233 6.66761 8.63222V7.98014L2.18468 8Z\" fill=\"currentColor\"/>\n</svg>",
@@ -670,7 +669,6 @@ export const iconNames = [
670
669
  "toggle",
671
670
  "train",
672
671
  "transfer",
673
- "triangle",
674
672
  "tv",
675
673
  "underline",
676
674
  "undo",
@@ -278,7 +278,6 @@ export const icons: Readonly<Record<string, string>> = {
278
278
  "toggle": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3 5L7.5 8L3 11Z\" fill=\"currentColor\"/>\n<path d=\"M9.5 7.5H13.5V8.5H9.5Z\" fill=\"currentColor\"/>\n</svg>",
279
279
  "train": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3.25\" y=\"1.75\" width=\"9.5\" height=\"9.5\" rx=\"2.25\"/><path d=\"M3.25 7H12.75\"/><path d=\"M5.75 9.25H5.76M10.24 9.25H10.25\"/><path d=\"M5.25 11.25L3.75 14M10.75 11.25L12.25 14\"/></g>\n</svg>",
280
280
  "transfer": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 5.5H12.5M10 3L12.5 5.5L10 8\"/><path d=\"M13 10.5H3.5M6 8L3.5 10.5L6 13\"/></g>\n</svg>",
281
- "triangle": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8 1.8L15.2 14.3H0.8L8 1.8ZM8 3.8L2.53 13.3H13.47L8 3.8Z\" fill=\"#1E1E1E\"/>\n</svg>",
282
281
  "tv": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"1.75\" y=\"3.25\" width=\"12.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M5.5 13.75H10.5\"/><path d=\"M7 6V9L9.5 7.5Z\"/></g>\n</svg>",
283
282
  "underline": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M5.5 3.25V8A2.5 2.5 0 0 0 10.5 8V3.25M4 12.75H12\" stroke=\"currentColor\" stroke-width=\"1.1\"/>\n</svg>",
284
283
  "undo": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 12 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M1 4L4 1M1 4L4 7M1 4H8C9.65685 4 11 5.34315 11 7V9\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"/>\n</svg></svg>",
@@ -291,7 +290,7 @@ export const icons: Readonly<Record<string, string>> = {
291
290
  "video": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<rect x=\"2.5\" y=\"4.5\" width=\"8\" height=\"7\" stroke=\"currentColor\"/>\n<path d=\"M10.5 7L13.5 5V11L10.5 9\" stroke=\"currentColor\"/>\n</svg>",
292
291
  "vimeo": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3 8.5l1 1s1.5 -1.102 2 -.5c.509 .609 1.863 7.65 2.5 9c.556 1.184 1.978 2.89 4 1.5c2 -1.5 7.5 -5.5 8.5 -11.5c.444 -2.661 -1 -4 -2.5 -4c-2 0 -4.047 1.202 -4.5 4c2.05 -1.254 2.551 1 1.5 3c-1.052 2 -2 3 -2.5 3c-.49 0 -.924 -1.165 -1.5 -3.5c-.59 -2.42 -.5 -6.5 -3 -6.5s-5.5 4.5 -5.5 4.5\"/>\n</svg></svg>",
293
292
  "wallet": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12.25 5.25V4.25C12.25 3.7 11.8 3.25 11.25 3.25H3.75C2.92 3.25 2.25 3.92 2.25 4.75\"/><rect x=\"2.25\" y=\"4.75\" width=\"11.5\" height=\"8\" rx=\"1.75\"/><path d=\"M13.75 7.5H11.25C10.42 7.5 9.75 8.17 9.75 9C9.75 9.83 10.42 10.5 11.25 10.5H13.75\"/></g>\n</svg>",
294
- "warning": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8 1.8L15.2 14.3H0.8L8 1.8ZM8 3.8L2.53 13.3H13.47L8 3.8ZM7.5 6.3H8.5V10.3H7.5V6.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z\" fill=\"#1E1E1E\"/>\n</svg>",
293
+ "warning": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7.5 3.3H8.5V10.3H7.5V3.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z\" fill=\"currentColor\"/>\n</svg>",
295
294
  "wifi": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1.75 6.25C5.2 3.25 10.8 3.25 14.25 6.25\"/><path d=\"M3.75 8.5C6.2 6.5 9.8 6.5 12.25 8.5\"/><path d=\"M5.75 10.75C7.05 9.75 8.95 9.75 10.25 10.75\"/><path d=\"M8 12.99V13\"/></g>\n</svg>",
296
295
  "window": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<rect x=\"2.5\" y=\"3.5\" width=\"11\" height=\"9\" stroke=\"currentColor\"/>\n<path d=\"M2.5 6H13.5\" stroke=\"currentColor\"/>\n</svg>",
297
296
  "work": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13.8153 4.78289C13.8153 4.20267 13.3448 3.73213 12.7646 3.73213H8H3.23544C2.65521 3.73213 2.18468 4.20267 2.18468 4.78289V7.31419H13.8153L13.8153 4.78289ZM2.18468 8V11.2171C2.18468 11.7973 2.65521 12.2679 3.23544 12.2679H12.7646C13.3448 12.2679 13.8153 11.7973 13.8153 11.2171L13.8153 8L9.33239 7.98014V8.63222C9.33239 8.92233 9.09712 9.1576 8.807 9.1576H8H7.19299C6.90287 9.1576 6.66761 8.92233 6.66761 8.63222V7.98014L2.18468 8Z\" fill=\"currentColor\"/>\n</svg>",
@@ -46,4 +46,4 @@ export const icons: Readonly<Record<string, string>> = {
46
46
  "up": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7.49645 3.48222V16H8.50702L8.50841 3.48259L11.4156 6.38982L12.1095 5.68299L8.00173 1.57524L3.8905 5.68647L4.59784 6.39381L7.49645 3.48222Z\" fill=\"currentColor\"/>\n</svg>",
47
47
  "views": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<circle cx=\"7\" cy=\"7\" r=\"4.5\" stroke=\"currentColor\" stroke-width=\"0.92\"/>\n<path d=\"M10.2 10.2L13.5 13.5\" stroke=\"currentColor\" stroke-width=\"0.92\"/>\n</svg>"
48
48
  }
49
- export const deferredIconNames = ["1x","1xdots","1xgrid","1xlines","2x","2xdots","2xgrid","2xgrid-alt","2xgrid-alt-2","2xgrid-alt-3","2xlines","4x4","airtable","archive-alt","arrange-archive","arrange-check","arrange-chevron","arrange-connect","arrange-draft","arrange-dropdown","arrange-home","arrange-link","arrange-menu","arrange-more","arrange-page","arrange-plus","arrange-site","attach","audio","avatar","badge-bands","badge-bands-3d","badge-blue-fan","badge-blue-fan-3d","badge-bricks","badge-bricks-3d","badge-broken-stripes","badge-broken-stripes-3d","badge-checker","badge-checker-3d","badge-diamond","badge-diamond-3d","badge-fan","badge-fan-3d","badge-fan-dark","badge-fan-dark-3d","badge-halves","badge-halves-3d","badge-halves-green","badge-halves-green-3d","badge-red","badge-red-3d","badge-red-blue-bricks","badge-red-blue-bricks-3d","badge-round-fan","badge-round-fan-3d","badge-shard","badge-shard-3d","badge-split-circle","badge-split-circle-3d","badge-tall-bricks","badge-tall-bricks-3d","badge-weave","badge-weave-3d","bag-alt","bank","banknote","block-accordion","block-banner","block-breadcrumbs","block-button","block-divider","block-forms","block-group","block-heading","block-image","block-logo-marquee","block-page-progress","block-section","block-table","block-tabs","block-text","bold","bolt","book","book-alt","box","briefcase","building","bullet","callout","car","card","cart","categories","check-alt","chevron-down","chevron-left","chevron-right","chevron-up","cloud","code","code-block","coffee","coins","color","column","comment","connect","content","cursor","curve","default","dictate","dislike","divider","dot-bank","dot-banknote","dot-banknotes","dot-card","dot-coin","dot-coins","dot-happy","dot-neutral","dot-receipt","dot-sad","dot-safe","dot-transfer","dot-wallet","download","drive","drop","dropbox","dumbbell","equation","exercise","eye","eye-off","facebook","figma","flame","flip","food","form","fuel","gallery","game","gift","github","globe","group","group-alt","group-alt-2","h1","h2","h3","handle","head","heart","help","help-alt","history","home-alt","icon","image","in","income","indent","info","instagram","italic","item","jpbank","key","keyboard","life","like","link","linkedin","list-line","lock-filled","logo-marquee","loom","map","medical","mention","menu","minimize","minimize-alt","minus","money","moon","move","music","music-alt","navigation-check","note-alt","note-alt-2","note-lines","notifications","notion","numbered","offline","open-alt","open-source","outdent","page","page-18","page-alt","page-note","panel","password-see","password-unsee","pattern-call-to-action","pattern-card","pattern-feature","pattern-hero","pause","paw","pdf","people","percent","phone","pill","plane","play-alt","postal","present","quote","reaction","receipt","redo","refresh","refund","relationships","repeat","rewind","rewind-30","rewind-30-alt","rotate","row","safe","school","school-alt","search-30","see-30","settings","shield","shield-alt","shirt","shop","sign-in","sign-out","slack","slash","sparkle","star-alt","star-alt-2","start","status","status-alt","status-filled","stop","strike","sun","system","table","tag","templates","text","ticket","title","title-struck","titlestyle","todo","toggle","train","transfer","triangle","tv","underline","undo","ungroup","unhead","unicon","untitle","up-right","upload","video","vimeo","wallet","warning","wifi","window","work","wrench","x-brand","youtube"] as const
49
+ export const deferredIconNames = ["1x","1xdots","1xgrid","1xlines","2x","2xdots","2xgrid","2xgrid-alt","2xgrid-alt-2","2xgrid-alt-3","2xlines","4x4","airtable","archive-alt","arrange-archive","arrange-check","arrange-chevron","arrange-connect","arrange-draft","arrange-dropdown","arrange-home","arrange-link","arrange-menu","arrange-more","arrange-page","arrange-plus","arrange-site","attach","audio","avatar","badge-bands","badge-bands-3d","badge-blue-fan","badge-blue-fan-3d","badge-bricks","badge-bricks-3d","badge-broken-stripes","badge-broken-stripes-3d","badge-checker","badge-checker-3d","badge-diamond","badge-diamond-3d","badge-fan","badge-fan-3d","badge-fan-dark","badge-fan-dark-3d","badge-halves","badge-halves-3d","badge-halves-green","badge-halves-green-3d","badge-red","badge-red-3d","badge-red-blue-bricks","badge-red-blue-bricks-3d","badge-round-fan","badge-round-fan-3d","badge-shard","badge-shard-3d","badge-split-circle","badge-split-circle-3d","badge-tall-bricks","badge-tall-bricks-3d","badge-weave","badge-weave-3d","bag-alt","bank","banknote","block-accordion","block-banner","block-breadcrumbs","block-button","block-divider","block-forms","block-group","block-heading","block-image","block-logo-marquee","block-page-progress","block-section","block-table","block-tabs","block-text","bold","bolt","book","book-alt","box","briefcase","building","bullet","callout","car","card","cart","categories","check-alt","chevron-down","chevron-left","chevron-right","chevron-up","cloud","code","code-block","coffee","coins","color","column","comment","connect","content","cursor","curve","default","dictate","dislike","divider","dot-bank","dot-banknote","dot-banknotes","dot-card","dot-coin","dot-coins","dot-happy","dot-neutral","dot-receipt","dot-sad","dot-safe","dot-transfer","dot-wallet","download","drive","drop","dropbox","dumbbell","equation","exercise","eye","eye-off","facebook","figma","flame","flip","food","form","fuel","gallery","game","gift","github","globe","group","group-alt","group-alt-2","h1","h2","h3","handle","head","heart","help","help-alt","history","home-alt","icon","image","in","income","indent","info","instagram","italic","item","jpbank","key","keyboard","life","like","link","linkedin","list-line","lock-filled","logo-marquee","loom","map","medical","mention","menu","minimize","minimize-alt","minus","money","moon","move","music","music-alt","navigation-check","note-alt","note-alt-2","note-lines","notifications","notion","numbered","offline","open-alt","open-source","outdent","page","page-18","page-alt","page-note","panel","password-see","password-unsee","pattern-call-to-action","pattern-card","pattern-feature","pattern-hero","pause","paw","pdf","people","percent","phone","pill","plane","play-alt","postal","present","quote","reaction","receipt","redo","refresh","refund","relationships","repeat","rewind","rewind-30","rewind-30-alt","rotate","row","safe","school","school-alt","search-30","see-30","settings","shield","shield-alt","shirt","shop","sign-in","sign-out","slack","slash","sparkle","star-alt","star-alt-2","start","status","status-alt","status-filled","stop","strike","sun","system","table","tag","templates","text","ticket","title","title-struck","titlestyle","todo","toggle","train","transfer","tv","underline","undo","ungroup","unhead","unicon","untitle","up-right","upload","video","vimeo","wallet","warning","wifi","window","work","wrench","x-brand","youtube"] as const
@@ -10,7 +10,8 @@
10
10
  position: absolute;
11
11
  left: 50%;
12
12
  bottom: calc(100% + 2px * var(--ds-sf, var(--sf, 1)));
13
- transform: translateX(-50%);
13
+ /* Centred over its control, shifted to stay four pixels inside the window (ds-tooltip.ts). */
14
+ transform: translateX(calc(-50% + var(--ds-tooltip-shift, 0px)));
14
15
  z-index: var(--ds-tooltip-z-index, 1000);
15
16
  width: max-content;
16
17
  max-width: min(calc(320px * var(--ds-sf, var(--sf, 1))), calc(100vw - 20px));
@@ -32,7 +33,7 @@
32
33
 
33
34
  .bubble[hidden] { display: none; }
34
35
 
35
- :host([placement="bottom"]) .bubble {
36
+ .bubble[data-side="bottom"] {
36
37
  bottom: auto;
37
38
  top: calc(100% + 2px * var(--ds-sf, var(--sf, 1)));
38
39
  }
@@ -4,7 +4,8 @@
4
4
  // `sheet` it is a spreadsheet: every cell four squares by one, lettered
5
5
  // columns and numbered rows held in place while it scrolls both ways, and with
6
6
  // `reorderable` its rows move by the grip on their number: dragged with a
7
- // mouse, after a long press on a touch screen, or with Alt+↑/↓.
7
+ // mouse, after a long press on a touch screen, or with Alt+↑/↓. A sheet's
8
+ // words that do not fit fade out over their last square, never an ellipsis.
8
9
 
9
10
  import { LitElement, html, nothing, unsafeCSS, type PropertyValues } from "lit";
10
11
  import { getText } from "../0-face/i18n";
@@ -102,6 +103,9 @@ export class DsTable extends LitElement {
102
103
  /** A move waiting for the page's data, and the time it settles back without it. */
103
104
  private settle: { from: number; to: number; timer: ReturnType<typeof setTimeout> } | undefined;
104
105
  private status = "";
106
+ /** Measures the cells again when the sheet's size changes, as its scale does. */
107
+ private resize: ResizeObserver | undefined;
108
+ private watched: Element | undefined;
105
109
 
106
110
  constructor() {
107
111
  super();
@@ -114,8 +118,16 @@ export class DsTable extends LitElement {
114
118
 
115
119
  static styles = [unsafeCSS(metrics), unsafeCSS(table), unsafeCSS(styles)];
116
120
 
121
+ connectedCallback() {
122
+ super.connectedCallback();
123
+ // The faces may arrive after the first measure and change every width.
124
+ void document.fonts?.ready.then(() => { if (this.isConnected && this.sheet) this.fit(); });
125
+ }
126
+
117
127
  disconnectedCallback() {
118
128
  super.disconnectedCallback();
129
+ this.resize?.disconnect();
130
+ this.watched = undefined;
119
131
  this.release();
120
132
  if (this.settle) clearTimeout(this.settle.timer);
121
133
  this.settle = undefined;
@@ -128,6 +140,42 @@ export class DsTable extends LitElement {
128
140
  if (this.grip >= this.data.length) this.grip = Math.max(0, this.data.length - 1);
129
141
  }
130
142
 
143
+ protected updated(changed: PropertyValues<this>) {
144
+ super.updated(changed);
145
+ if (!this.sheet) return;
146
+ // Before the first paint, so words that fit never show a fade.
147
+ if (["data", "columns", "footer", "sheet"].some(name => changed.has(name as keyof DsTable))) this.fit();
148
+ const table = this.table;
149
+ if (!table || table === this.watched || typeof ResizeObserver === "undefined") return;
150
+ this.resize ??= new ResizeObserver(() => this.fit());
151
+ this.resize.disconnect();
152
+ this.resize.observe(table);
153
+ this.watched = table;
154
+ }
155
+
156
+ /**
157
+ * Marks the cells whose words are cut, so only they fade where they are
158
+ * cut; a label fades at its end. A number always shows its last digits and loses its first: in a
159
+ * left-to-right sheet it is scrolled to its end and fades at its start;
160
+ * in a right-to-left one its digits already overflow on the left, the
161
+ * cell's end. All the reads come before any write, so it lays out once.
162
+ */
163
+ private fit() {
164
+ const words = [...this.renderRoot.querySelectorAll<HTMLElement>(".ds-table__words")];
165
+ if (!words.length) return;
166
+ const rtl = getComputedStyle(words[0]!).direction === "rtl";
167
+ const over = words.map(element => element.scrollWidth - element.clientWidth);
168
+ const scrolled = words.map((element, index) => !rtl && over[index]! > 0 && Boolean(element.parentElement?.matches("td[data-numeric]")));
169
+ words.forEach((element, index) => {
170
+ const left = scrolled[index] ? over[index]! : 0;
171
+ if (element.scrollLeft !== left) element.scrollLeft = left;
172
+ });
173
+ words.forEach((element, index) => {
174
+ const cut = over[index]! <= 0 ? undefined : scrolled[index] ? "start" : "end";
175
+ if (element.dataset.cut !== cut) { if (cut) element.dataset.cut = cut; else delete element.dataset.cut; }
176
+ });
177
+ }
178
+
131
179
  private resolvedColumns(): TableColumn[] {
132
180
  const named = this.columns.length > 0;
133
181
  const given = named
@@ -156,7 +204,7 @@ export class DsTable extends LitElement {
156
204
  private sheetRow(row: TableRow, columns: TableColumn[], number: string, index?: number) {
157
205
  const grip = this.reorderable && index !== undefined;
158
206
  return html`<tr><th scope="row" class="ds-table__number">${grip ? this.gripCell(number, index) : number}</th>${columns.map((column, index) =>
159
- html`<td ?data-numeric=${column.numeric}>${text(cell(row, column.key, index))}</td>`)}</tr>`;
207
+ html`<td ?data-numeric=${column.numeric}><span class="ds-table__words">${text(cell(row, column.key, index))}</span></td>`)}</tr>`;
160
208
  }
161
209
 
162
210
  private gripCell(number: string, index: number) {
@@ -398,10 +446,10 @@ export class DsTable extends LitElement {
398
446
  private renderSheet(columns: TableColumn[]) {
399
447
  return html`
400
448
  <div class="ds-table-scroll" part="scroll" @pointerdown=${this.press} @touchmove=${{ handleEvent: this.holdTouch, passive: false }} @contextmenu=${this.holdMenu}>
401
- <table class="ds-table" part="table" data-sheet ?data-reorderable=${this.reorderable} style=${`--ds-table-columns: ${columns.length}`} aria-label=${this.label ?? nothing}>
449
+ <table class="ds-table" part="table" data-sheet data-fit ?data-reorderable=${this.reorderable} style=${`--ds-table-columns: ${columns.length}`} aria-label=${this.label ?? nothing}>
402
450
  <thead>
403
451
  <tr class="ds-table__letters" aria-hidden="true"><td class="ds-table__number"></td>${columns.map((_, index) => html`<td>${columnLetter(index)}</td>`)}</tr>
404
- <tr><td class="ds-table__number"></td>${columns.map(column => html`<th scope="col" ?data-numeric=${column.numeric}>${column.label}</th>`)}</tr>
452
+ <tr><td class="ds-table__number"></td>${columns.map(column => html`<th scope="col" ?data-numeric=${column.numeric}><span class="ds-table__words">${column.label}</span></th>`)}</tr>
405
453
  </thead>
406
454
  <tbody>${this.data.map((row, index) => this.sheetRow(row, columns, String(index + 1), index))}</tbody>
407
455
  ${this.footer ? html`<tfoot>${this.sheetRow(this.footer, columns, "")}</tfoot>` : nothing}
@@ -1,3 +1,3 @@
1
1
  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path fill-rule="evenodd" clip-rule="evenodd" d="M8 1.8L15.2 14.3H0.8L8 1.8ZM8 3.8L2.53 13.3H13.47L8 3.8ZM7.5 6.3H8.5V10.3H7.5V6.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z" fill="#1E1E1E"/>
2
+ <path d="M7.5 3.3H8.5V10.3H7.5V3.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z" fill="currentColor"/>
3
3
  </svg>
@@ -10,5 +10,5 @@ export const toastIcons = {
10
10
  "check": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M6.68649 11.884L12.443 6.13601L11.736 5.42715L6.68835 10.4827L4.26399 8.0501L3.55696 8.74525L6.68649 11.884Z\" fill=\"currentColor\"/>\n</svg>\n",
11
11
  "close": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12.1215 4.58087L8.70453 7.99397L12.1176 11.4169L11.4106 12.112L7.99847 8.69108L4.58636 12.112L3.87836 11.4031L7.29535 7.99005L3.88226 4.56716L4.58929 3.87201L8.0014 7.29294L11.4145 3.87201L12.1215 4.58087Z\" fill=\"currentColor\"/>\n</svg>\n",
12
12
  "notifications": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M4.5 11.5V7.5C4.5 5.567 6.067 4 8 4C9.933 4 11.5 5.567 11.5 7.5V11.5M3 11.5H13M8 2.5V4M6.5 13.5H9.5\" stroke=\"currentColor\" stroke-width=\"0.92\"/>\n</svg>\n",
13
- "warning": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8 1.8L15.2 14.3H0.8L8 1.8ZM8 3.8L2.53 13.3H13.47L8 3.8ZM7.5 6.3H8.5V10.3H7.5V6.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z\" fill=\"#1E1E1E\"/>\n</svg>\n",
13
+ "warning": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7.5 3.3H8.5V10.3H7.5V3.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z\" fill=\"currentColor\"/>\n</svg>\n",
14
14
  };
@@ -38,6 +38,12 @@ export declare class Tooltip extends LitElement {
38
38
  private releaseDescription;
39
39
  private describe;
40
40
  updated(): void;
41
+ /**
42
+ * Keeps the bubble inside the window, as the page's tooltips do (0-face/tooltips.ts): four
43
+ * pixels from its edges, and below the control when there is no room above (or above when
44
+ * `placement="bottom"` has no room below). A tooltip at a frame's edge is never cut short.
45
+ */
46
+ private place;
41
47
  render(): import("lit").TemplateResult<1>;
42
48
  }
43
49
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"ds-tooltip.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAOlD,6DAA6D;AAC7D,qBAAa,OAAQ,SAAQ,UAAU;IACrC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;MAMf;IAEM,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAC;IACpC,QAAgB,QAAQ,CAAU;IAClC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAkB;;IAsBtC,MAAM,CAAC,MAAM,0BAAqB;IAElC,OAAO,CAAC,eAAe,CAA8B;IAErD,iBAAiB,IAAI,IAAI;IAOzB,oBAAoB,IAAI,IAAI;IAQ5B,OAAO,KAAK,KAAK,GAKhB;IAED,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,QAAQ,CAgBd;IAEF,OAAO,IAAI,IAAI;IAEf,MAAM;CAIP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAAG,YAAY,EAAE,OAAO,CAAC;KAAE;CAC3D"}
1
+ {"version":3,"file":"ds-tooltip.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAOlD,6DAA6D;AAC7D,qBAAa,OAAQ,SAAQ,UAAU;IACrC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;MAMf;IAEM,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAC;IACpC,QAAgB,QAAQ,CAAU;IAClC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAkB;;IAsBtC,MAAM,CAAC,MAAM,0BAAqB;IAElC,OAAO,CAAC,eAAe,CAA8B;IAErD,iBAAiB,IAAI,IAAI;IAOzB,oBAAoB,IAAI,IAAI;IAQ5B,OAAO,KAAK,KAAK,GAKhB;IAED,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,QAAQ,CAgBd;IAEF,OAAO,IAAI,IAAI;IAKf;;;;OAIG;IACH,OAAO,CAAC,KAAK;IAcb,MAAM;CAIP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAAG,YAAY,EAAE,OAAO,CAAC;KAAE;CAC3D"}
@@ -82,7 +82,33 @@ export class Tooltip extends LitElement {
82
82
  this.trigger.removeAttribute("aria-describedby");
83
83
  this.trigger = undefined;
84
84
  }
85
- updated() { this.describe(); }
85
+ updated() {
86
+ this.describe();
87
+ if (this._visible)
88
+ this.place();
89
+ }
90
+ /**
91
+ * Keeps the bubble inside the window, as the page's tooltips do (0-face/tooltips.ts): four
92
+ * pixels from its edges, and below the control when there is no room above (or above when
93
+ * `placement="bottom"` has no room below). A tooltip at a frame's edge is never cut short.
94
+ */
95
+ place() {
96
+ const bubble = this.shadowRoot?.querySelector(".bubble");
97
+ if (!bubble || bubble.hidden)
98
+ return;
99
+ const edge = 4 * (parseFloat(getComputedStyle(this).getPropertyValue("--ds-sf")) || 1);
100
+ bubble.style.removeProperty("--ds-tooltip-shift");
101
+ bubble.dataset.side = this.placement === "bottom" ? "bottom" : "top";
102
+ let box = bubble.getBoundingClientRect();
103
+ if (bubble.dataset.side === "top" && box.top < edge)
104
+ bubble.dataset.side = "bottom";
105
+ else if (bubble.dataset.side === "bottom" && box.bottom > innerHeight - edge)
106
+ bubble.dataset.side = "top";
107
+ box = bubble.getBoundingClientRect();
108
+ const shift = box.left < edge ? edge - box.left : box.right > innerWidth - edge ? innerWidth - edge - box.right : 0;
109
+ if (shift)
110
+ bubble.style.setProperty("--ds-tooltip-shift", `${shift}px`);
111
+ }
86
112
  render() {
87
113
  return html `<slot @slotchange=${this.describe}></slot>
88
114
  <span class="bubble" role="tooltip" aria-hidden="true" ?hidden=${!this._visible || !this.label}>${this.label}</span>`;
@@ -321,7 +321,6 @@ export declare const iconNameToSvgMap: {
321
321
  readonly toggle: "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3 5L7.5 8L3 11Z\" fill=\"currentColor\"/>\n<path d=\"M9.5 7.5H13.5V8.5H9.5Z\" fill=\"currentColor\"/>\n</svg>";
322
322
  readonly train: "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3.25\" y=\"1.75\" width=\"9.5\" height=\"9.5\" rx=\"2.25\"/><path d=\"M3.25 7H12.75\"/><path d=\"M5.75 9.25H5.76M10.24 9.25H10.25\"/><path d=\"M5.25 11.25L3.75 14M10.75 11.25L12.25 14\"/></g>\n</svg>";
323
323
  readonly transfer: "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 5.5H12.5M10 3L12.5 5.5L10 8\"/><path d=\"M13 10.5H3.5M6 8L3.5 10.5L6 13\"/></g>\n</svg>";
324
- readonly triangle: "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8 1.8L15.2 14.3H0.8L8 1.8ZM8 3.8L2.53 13.3H13.47L8 3.8Z\" fill=\"#1E1E1E\"/>\n</svg>";
325
324
  readonly tv: "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"1.75\" y=\"3.25\" width=\"12.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M5.5 13.75H10.5\"/><path d=\"M7 6V9L9.5 7.5Z\"/></g>\n</svg>";
326
325
  readonly underline: "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M5.5 3.25V8A2.5 2.5 0 0 0 10.5 8V3.25M4 12.75H12\" stroke=\"currentColor\" stroke-width=\"1.1\"/>\n</svg>";
327
326
  readonly undo: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 12 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M1 4L4 1M1 4L4 7M1 4H8C9.65685 4 11 5.34315 11 7V9\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"/>\n</svg></svg>";
@@ -340,7 +339,7 @@ export declare const iconNameToSvgMap: {
340
339
  readonly views: "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<circle cx=\"7\" cy=\"7\" r=\"4.5\" stroke=\"currentColor\" stroke-width=\"0.92\"/>\n<path d=\"M10.2 10.2L13.5 13.5\" stroke=\"currentColor\" stroke-width=\"0.92\"/>\n</svg>";
341
340
  readonly vimeo: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3 8.5l1 1s1.5 -1.102 2 -.5c.509 .609 1.863 7.65 2.5 9c.556 1.184 1.978 2.89 4 1.5c2 -1.5 7.5 -5.5 8.5 -11.5c.444 -2.661 -1 -4 -2.5 -4c-2 0 -4.047 1.202 -4.5 4c2.05 -1.254 2.551 1 1.5 3c-1.052 2 -2 3 -2.5 3c-.49 0 -.924 -1.165 -1.5 -3.5c-.59 -2.42 -.5 -6.5 -3 -6.5s-5.5 4.5 -5.5 4.5\"/>\n</svg></svg>";
342
341
  readonly wallet: "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12.25 5.25V4.25C12.25 3.7 11.8 3.25 11.25 3.25H3.75C2.92 3.25 2.25 3.92 2.25 4.75\"/><rect x=\"2.25\" y=\"4.75\" width=\"11.5\" height=\"8\" rx=\"1.75\"/><path d=\"M13.75 7.5H11.25C10.42 7.5 9.75 8.17 9.75 9C9.75 9.83 10.42 10.5 11.25 10.5H13.75\"/></g>\n</svg>";
343
- readonly warning: "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8 1.8L15.2 14.3H0.8L8 1.8ZM8 3.8L2.53 13.3H13.47L8 3.8ZM7.5 6.3H8.5V10.3H7.5V6.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z\" fill=\"#1E1E1E\"/>\n</svg>";
342
+ readonly warning: "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7.5 3.3H8.5V10.3H7.5V3.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z\" fill=\"currentColor\"/>\n</svg>";
344
343
  readonly wifi: "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1.75 6.25C5.2 3.25 10.8 3.25 14.25 6.25\"/><path d=\"M3.75 8.5C6.2 6.5 9.8 6.5 12.25 8.5\"/><path d=\"M5.75 10.75C7.05 9.75 8.95 9.75 10.25 10.75\"/><path d=\"M8 12.99V13\"/></g>\n</svg>";
345
344
  readonly window: "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<rect x=\"2.5\" y=\"3.5\" width=\"11\" height=\"9\" stroke=\"currentColor\"/>\n<path d=\"M2.5 6H13.5\" stroke=\"currentColor\"/>\n</svg>";
346
345
  readonly work: "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13.8153 4.78289C13.8153 4.20267 13.3448 3.73213 12.7646 3.73213H8H3.23544C2.65521 3.73213 2.18468 4.20267 2.18468 4.78289V7.31419H13.8153L13.8153 4.78289ZM2.18468 8V11.2171C2.18468 11.7973 2.65521 12.2679 3.23544 12.2679H12.7646C13.3448 12.2679 13.8153 11.7973 13.8153 11.2171L13.8153 8L9.33239 7.98014V8.63222C9.33239 8.92233 9.09712 9.1576 8.807 9.1576H8H7.19299C6.90287 9.1576 6.66761 8.92233 6.66761 8.63222V7.98014L2.18468 8Z\" fill=\"currentColor\"/>\n</svg>";
@@ -349,5 +348,5 @@ export declare const iconNameToSvgMap: {
349
348
  readonly youtube: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M2 8a4 4 0 0 1 4 -4h12a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-12a4 4 0 0 1 -4 -4v-8\"/>\n<path d=\"M10 9l5 3l-5 3l0 -6\"/>\n</svg></svg>";
350
349
  };
351
350
  export type IconName = keyof typeof iconNameToSvgMap;
352
- export declare const iconNames: readonly ["1x", "1xdots", "1xgrid", "1xlines", "2x", "2xdots", "2xgrid", "2xgrid-alt", "2xgrid-alt-2", "2xgrid-alt-3", "2xlines", "4x4", "airtable", "app", "apple", "archive", "archive-alt", "arrange-archive", "arrange-check", "arrange-chevron", "arrange-connect", "arrange-draft", "arrange-dropdown", "arrange-home", "arrange-link", "arrange-menu", "arrange-more", "arrange-page", "arrange-plus", "arrange-site", "attach", "audio", "avatar", "badge-bands", "badge-bands-3d", "badge-blue-fan", "badge-blue-fan-3d", "badge-bricks", "badge-bricks-3d", "badge-broken-stripes", "badge-broken-stripes-3d", "badge-checker", "badge-checker-3d", "badge-diamond", "badge-diamond-3d", "badge-fan", "badge-fan-3d", "badge-fan-dark", "badge-fan-dark-3d", "badge-halves", "badge-halves-3d", "badge-halves-green", "badge-halves-green-3d", "badge-red", "badge-red-3d", "badge-red-blue-bricks", "badge-red-blue-bricks-3d", "badge-round-fan", "badge-round-fan-3d", "badge-shard", "badge-shard-3d", "badge-split-circle", "badge-split-circle-3d", "badge-tall-bricks", "badge-tall-bricks-3d", "badge-weave", "badge-weave-3d", "bag", "bag-alt", "bank", "banknote", "block-accordion", "block-banner", "block-breadcrumbs", "block-button", "block-divider", "block-forms", "block-group", "block-heading", "block-image", "block-logo-marquee", "block-page-progress", "block-section", "block-table", "block-tabs", "block-text", "bold", "bolt", "book", "book-alt", "box", "briefcase", "building", "bullet", "calendar", "callout", "camera", "car", "card", "cart", "categories", "check", "check-alt", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "close", "cloud", "code", "code-block", "coffee", "coins", "collapse", "color", "column", "comment", "compose", "connect", "content", "cursor", "curve", "default", "delete", "dictate", "dislike", "divider", "dot-bank", "dot-banknote", "dot-banknotes", "dot-card", "dot-coin", "dot-coins", "dot-happy", "dot-neutral", "dot-receipt", "dot-sad", "dot-safe", "dot-transfer", "dot-wallet", "down", "download", "drive", "drop", "dropbox", "dumbbell", "duplicate", "email", "equation", "exercise", "expand", "eye", "eye-off", "facebook", "figma", "flame", "flip", "folder", "food", "form", "fuel", "gallery", "game", "gift", "github", "globe", "google", "group", "group-alt", "group-alt-2", "h1", "h2", "h3", "handle", "head", "heart", "help", "help-alt", "history", "home", "home-alt", "icon", "image", "in", "income", "indent", "info", "instagram", "italic", "item", "jpbank", "key", "keyboard", "left", "life", "like", "link", "linkedin", "list-line", "lists", "lock", "lock-filled", "logo-marquee", "loom", "loop", "map", "medical", "mention", "menu", "mic", "minimize", "minimize-alt", "minus", "money", "moon", "more", "move", "music", "music-alt", "navigation-check", "note", "note-alt", "note-alt-2", "note-lines", "notifications", "notion", "numbered", "offline", "open", "open-alt", "open-source", "outdent", "pad", "page", "page-18", "page-alt", "page-note", "panel", "password-see", "password-unsee", "pattern-call-to-action", "pattern-card", "pattern-feature", "pattern-hero", "pause", "paw", "pdf", "pen", "people", "percent", "phone", "pill", "plane", "play-alt", "plus", "postal", "present", "quote", "reaction", "receipt", "redo", "refresh", "refund", "relationships", "repeat", "rewind", "rewind-30", "rewind-30-alt", "right", "rotate", "row", "safe", "school", "school-alt", "sdown", "search", "search-30", "see", "see-30", "settings", "shared", "shield", "shield-alt", "shirt", "shop", "sign-in", "sign-out", "slack", "slash", "sparkle", "star", "star-alt", "star-alt-2", "start", "stats", "status", "status-alt", "status-filled", "stop", "store", "strike", "sun", "sup", "system", "table", "tag", "template", "templates", "text", "ticket", "title", "title-struck", "titlestyle", "todo", "toggle", "train", "transfer", "triangle", "tv", "underline", "undo", "ungroup", "unhead", "unicon", "unlock", "unmic", "unsee", "unstar", "untitle", "up", "up-right", "upload", "video", "views", "vimeo", "wallet", "warning", "wifi", "window", "work", "wrench", "x-brand", "youtube"];
351
+ export declare const iconNames: readonly ["1x", "1xdots", "1xgrid", "1xlines", "2x", "2xdots", "2xgrid", "2xgrid-alt", "2xgrid-alt-2", "2xgrid-alt-3", "2xlines", "4x4", "airtable", "app", "apple", "archive", "archive-alt", "arrange-archive", "arrange-check", "arrange-chevron", "arrange-connect", "arrange-draft", "arrange-dropdown", "arrange-home", "arrange-link", "arrange-menu", "arrange-more", "arrange-page", "arrange-plus", "arrange-site", "attach", "audio", "avatar", "badge-bands", "badge-bands-3d", "badge-blue-fan", "badge-blue-fan-3d", "badge-bricks", "badge-bricks-3d", "badge-broken-stripes", "badge-broken-stripes-3d", "badge-checker", "badge-checker-3d", "badge-diamond", "badge-diamond-3d", "badge-fan", "badge-fan-3d", "badge-fan-dark", "badge-fan-dark-3d", "badge-halves", "badge-halves-3d", "badge-halves-green", "badge-halves-green-3d", "badge-red", "badge-red-3d", "badge-red-blue-bricks", "badge-red-blue-bricks-3d", "badge-round-fan", "badge-round-fan-3d", "badge-shard", "badge-shard-3d", "badge-split-circle", "badge-split-circle-3d", "badge-tall-bricks", "badge-tall-bricks-3d", "badge-weave", "badge-weave-3d", "bag", "bag-alt", "bank", "banknote", "block-accordion", "block-banner", "block-breadcrumbs", "block-button", "block-divider", "block-forms", "block-group", "block-heading", "block-image", "block-logo-marquee", "block-page-progress", "block-section", "block-table", "block-tabs", "block-text", "bold", "bolt", "book", "book-alt", "box", "briefcase", "building", "bullet", "calendar", "callout", "camera", "car", "card", "cart", "categories", "check", "check-alt", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "close", "cloud", "code", "code-block", "coffee", "coins", "collapse", "color", "column", "comment", "compose", "connect", "content", "cursor", "curve", "default", "delete", "dictate", "dislike", "divider", "dot-bank", "dot-banknote", "dot-banknotes", "dot-card", "dot-coin", "dot-coins", "dot-happy", "dot-neutral", "dot-receipt", "dot-sad", "dot-safe", "dot-transfer", "dot-wallet", "down", "download", "drive", "drop", "dropbox", "dumbbell", "duplicate", "email", "equation", "exercise", "expand", "eye", "eye-off", "facebook", "figma", "flame", "flip", "folder", "food", "form", "fuel", "gallery", "game", "gift", "github", "globe", "google", "group", "group-alt", "group-alt-2", "h1", "h2", "h3", "handle", "head", "heart", "help", "help-alt", "history", "home", "home-alt", "icon", "image", "in", "income", "indent", "info", "instagram", "italic", "item", "jpbank", "key", "keyboard", "left", "life", "like", "link", "linkedin", "list-line", "lists", "lock", "lock-filled", "logo-marquee", "loom", "loop", "map", "medical", "mention", "menu", "mic", "minimize", "minimize-alt", "minus", "money", "moon", "more", "move", "music", "music-alt", "navigation-check", "note", "note-alt", "note-alt-2", "note-lines", "notifications", "notion", "numbered", "offline", "open", "open-alt", "open-source", "outdent", "pad", "page", "page-18", "page-alt", "page-note", "panel", "password-see", "password-unsee", "pattern-call-to-action", "pattern-card", "pattern-feature", "pattern-hero", "pause", "paw", "pdf", "pen", "people", "percent", "phone", "pill", "plane", "play-alt", "plus", "postal", "present", "quote", "reaction", "receipt", "redo", "refresh", "refund", "relationships", "repeat", "rewind", "rewind-30", "rewind-30-alt", "right", "rotate", "row", "safe", "school", "school-alt", "sdown", "search", "search-30", "see", "see-30", "settings", "shared", "shield", "shield-alt", "shirt", "shop", "sign-in", "sign-out", "slack", "slash", "sparkle", "star", "star-alt", "star-alt-2", "start", "stats", "status", "status-alt", "status-filled", "stop", "store", "strike", "sun", "sup", "system", "table", "tag", "template", "templates", "text", "ticket", "title", "title-struck", "titlestyle", "todo", "toggle", "train", "transfer", "tv", "underline", "undo", "ungroup", "unhead", "unicon", "unlock", "unmic", "unsee", "unstar", "untitle", "up", "up-right", "upload", "video", "views", "vimeo", "wallet", "warning", "wifi", "window", "work", "wrench", "x-brand", "youtube"];
353
352
  //# sourceMappingURL=ds-icon-map.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ds-icon-map.d.ts","sourceRoot":"","sources":["../../../DS1/2-core/generated/ds-icon-map.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwVnB,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAErD,eAAO,MAAM,SAAS,uhIAwVZ,CAAC"}
1
+ {"version":3,"file":"ds-icon-map.d.ts","sourceRoot":"","sources":["../../../DS1/2-core/generated/ds-icon-map.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuVnB,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAErD,eAAO,MAAM,SAAS,2gIAuVZ,CAAC"}
@@ -321,7 +321,6 @@ export const iconNameToSvgMap = {
321
321
  "toggle": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3 5L7.5 8L3 11Z\" fill=\"currentColor\"/>\n<path d=\"M9.5 7.5H13.5V8.5H9.5Z\" fill=\"currentColor\"/>\n</svg>",
322
322
  "train": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3.25\" y=\"1.75\" width=\"9.5\" height=\"9.5\" rx=\"2.25\"/><path d=\"M3.25 7H12.75\"/><path d=\"M5.75 9.25H5.76M10.24 9.25H10.25\"/><path d=\"M5.25 11.25L3.75 14M10.75 11.25L12.25 14\"/></g>\n</svg>",
323
323
  "transfer": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 5.5H12.5M10 3L12.5 5.5L10 8\"/><path d=\"M13 10.5H3.5M6 8L3.5 10.5L6 13\"/></g>\n</svg>",
324
- "triangle": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8 1.8L15.2 14.3H0.8L8 1.8ZM8 3.8L2.53 13.3H13.47L8 3.8Z\" fill=\"#1E1E1E\"/>\n</svg>",
325
324
  "tv": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"1.75\" y=\"3.25\" width=\"12.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M5.5 13.75H10.5\"/><path d=\"M7 6V9L9.5 7.5Z\"/></g>\n</svg>",
326
325
  "underline": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M5.5 3.25V8A2.5 2.5 0 0 0 10.5 8V3.25M4 12.75H12\" stroke=\"currentColor\" stroke-width=\"1.1\"/>\n</svg>",
327
326
  "undo": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 12 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M1 4L4 1M1 4L4 7M1 4H8C9.65685 4 11 5.34315 11 7V9\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"/>\n</svg></svg>",
@@ -340,7 +339,7 @@ export const iconNameToSvgMap = {
340
339
  "views": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<circle cx=\"7\" cy=\"7\" r=\"4.5\" stroke=\"currentColor\" stroke-width=\"0.92\"/>\n<path d=\"M10.2 10.2L13.5 13.5\" stroke=\"currentColor\" stroke-width=\"0.92\"/>\n</svg>",
341
340
  "vimeo": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3 8.5l1 1s1.5 -1.102 2 -.5c.509 .609 1.863 7.65 2.5 9c.556 1.184 1.978 2.89 4 1.5c2 -1.5 7.5 -5.5 8.5 -11.5c.444 -2.661 -1 -4 -2.5 -4c-2 0 -4.047 1.202 -4.5 4c2.05 -1.254 2.551 1 1.5 3c-1.052 2 -2 3 -2.5 3c-.49 0 -.924 -1.165 -1.5 -3.5c-.59 -2.42 -.5 -6.5 -3 -6.5s-5.5 4.5 -5.5 4.5\"/>\n</svg></svg>",
342
341
  "wallet": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12.25 5.25V4.25C12.25 3.7 11.8 3.25 11.25 3.25H3.75C2.92 3.25 2.25 3.92 2.25 4.75\"/><rect x=\"2.25\" y=\"4.75\" width=\"11.5\" height=\"8\" rx=\"1.75\"/><path d=\"M13.75 7.5H11.25C10.42 7.5 9.75 8.17 9.75 9C9.75 9.83 10.42 10.5 11.25 10.5H13.75\"/></g>\n</svg>",
343
- "warning": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8 1.8L15.2 14.3H0.8L8 1.8ZM8 3.8L2.53 13.3H13.47L8 3.8ZM7.5 6.3H8.5V10.3H7.5V6.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z\" fill=\"#1E1E1E\"/>\n</svg>",
342
+ "warning": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7.5 3.3H8.5V10.3H7.5V3.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z\" fill=\"currentColor\"/>\n</svg>",
344
343
  "wifi": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1.75 6.25C5.2 3.25 10.8 3.25 14.25 6.25\"/><path d=\"M3.75 8.5C6.2 6.5 9.8 6.5 12.25 8.5\"/><path d=\"M5.75 10.75C7.05 9.75 8.95 9.75 10.25 10.75\"/><path d=\"M8 12.99V13\"/></g>\n</svg>",
345
344
  "window": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<rect x=\"2.5\" y=\"3.5\" width=\"11\" height=\"9\" stroke=\"currentColor\"/>\n<path d=\"M2.5 6H13.5\" stroke=\"currentColor\"/>\n</svg>",
346
345
  "work": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13.8153 4.78289C13.8153 4.20267 13.3448 3.73213 12.7646 3.73213H8H3.23544C2.65521 3.73213 2.18468 4.20267 2.18468 4.78289V7.31419H13.8153L13.8153 4.78289ZM2.18468 8V11.2171C2.18468 11.7973 2.65521 12.2679 3.23544 12.2679H12.7646C13.3448 12.2679 13.8153 11.7973 13.8153 11.2171L13.8153 8L9.33239 7.98014V8.63222C9.33239 8.92233 9.09712 9.1576 8.807 9.1576H8H7.19299C6.90287 9.1576 6.66761 8.92233 6.66761 8.63222V7.98014L2.18468 8Z\" fill=\"currentColor\"/>\n</svg>",
@@ -666,7 +665,6 @@ export const iconNames = [
666
665
  "toggle",
667
666
  "train",
668
667
  "transfer",
669
- "triangle",
670
668
  "tv",
671
669
  "underline",
672
670
  "undo",
@@ -1 +1 @@
1
- {"version":3,"file":"icons-extra.d.ts","sourceRoot":"","sources":["../../../DS1/2-core/generated/icons-extra.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2SlD,CAAA"}
1
+ {"version":3,"file":"icons-extra.d.ts","sourceRoot":"","sources":["../../../DS1/2-core/generated/icons-extra.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0SlD,CAAA"}
@@ -278,7 +278,6 @@ export const icons = {
278
278
  "toggle": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3 5L7.5 8L3 11Z\" fill=\"currentColor\"/>\n<path d=\"M9.5 7.5H13.5V8.5H9.5Z\" fill=\"currentColor\"/>\n</svg>",
279
279
  "train": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3.25\" y=\"1.75\" width=\"9.5\" height=\"9.5\" rx=\"2.25\"/><path d=\"M3.25 7H12.75\"/><path d=\"M5.75 9.25H5.76M10.24 9.25H10.25\"/><path d=\"M5.25 11.25L3.75 14M10.75 11.25L12.25 14\"/></g>\n</svg>",
280
280
  "transfer": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 5.5H12.5M10 3L12.5 5.5L10 8\"/><path d=\"M13 10.5H3.5M6 8L3.5 10.5L6 13\"/></g>\n</svg>",
281
- "triangle": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8 1.8L15.2 14.3H0.8L8 1.8ZM8 3.8L2.53 13.3H13.47L8 3.8Z\" fill=\"#1E1E1E\"/>\n</svg>",
282
281
  "tv": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"1.75\" y=\"3.25\" width=\"12.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M5.5 13.75H10.5\"/><path d=\"M7 6V9L9.5 7.5Z\"/></g>\n</svg>",
283
282
  "underline": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M5.5 3.25V8A2.5 2.5 0 0 0 10.5 8V3.25M4 12.75H12\" stroke=\"currentColor\" stroke-width=\"1.1\"/>\n</svg>",
284
283
  "undo": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 12 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M1 4L4 1M1 4L4 7M1 4H8C9.65685 4 11 5.34315 11 7V9\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"/>\n</svg></svg>",
@@ -291,7 +290,7 @@ export const icons = {
291
290
  "video": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<rect x=\"2.5\" y=\"4.5\" width=\"8\" height=\"7\" stroke=\"currentColor\"/>\n<path d=\"M10.5 7L13.5 5V11L10.5 9\" stroke=\"currentColor\"/>\n</svg>",
292
291
  "vimeo": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3 8.5l1 1s1.5 -1.102 2 -.5c.509 .609 1.863 7.65 2.5 9c.556 1.184 1.978 2.89 4 1.5c2 -1.5 7.5 -5.5 8.5 -11.5c.444 -2.661 -1 -4 -2.5 -4c-2 0 -4.047 1.202 -4.5 4c2.05 -1.254 2.551 1 1.5 3c-1.052 2 -2 3 -2.5 3c-.49 0 -.924 -1.165 -1.5 -3.5c-.59 -2.42 -.5 -6.5 -3 -6.5s-5.5 4.5 -5.5 4.5\"/>\n</svg></svg>",
293
292
  "wallet": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12.25 5.25V4.25C12.25 3.7 11.8 3.25 11.25 3.25H3.75C2.92 3.25 2.25 3.92 2.25 4.75\"/><rect x=\"2.25\" y=\"4.75\" width=\"11.5\" height=\"8\" rx=\"1.75\"/><path d=\"M13.75 7.5H11.25C10.42 7.5 9.75 8.17 9.75 9C9.75 9.83 10.42 10.5 11.25 10.5H13.75\"/></g>\n</svg>",
294
- "warning": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8 1.8L15.2 14.3H0.8L8 1.8ZM8 3.8L2.53 13.3H13.47L8 3.8ZM7.5 6.3H8.5V10.3H7.5V6.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z\" fill=\"#1E1E1E\"/>\n</svg>",
293
+ "warning": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7.5 3.3H8.5V10.3H7.5V3.3ZM7.5 11.3H8.5V12.3H7.5V11.3Z\" fill=\"currentColor\"/>\n</svg>",
295
294
  "wifi": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g stroke=\"currentColor\" stroke-width=\"0.92\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1.75 6.25C5.2 3.25 10.8 3.25 14.25 6.25\"/><path d=\"M3.75 8.5C6.2 6.5 9.8 6.5 12.25 8.5\"/><path d=\"M5.75 10.75C7.05 9.75 8.95 9.75 10.25 10.75\"/><path d=\"M8 12.99V13\"/></g>\n</svg>",
296
295
  "window": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<rect x=\"2.5\" y=\"3.5\" width=\"11\" height=\"9\" stroke=\"currentColor\"/>\n<path d=\"M2.5 6H13.5\" stroke=\"currentColor\"/>\n</svg>",
297
296
  "work": "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13.8153 4.78289C13.8153 4.20267 13.3448 3.73213 12.7646 3.73213H8H3.23544C2.65521 3.73213 2.18468 4.20267 2.18468 4.78289V7.31419H13.8153L13.8153 4.78289ZM2.18468 8V11.2171C2.18468 11.7973 2.65521 12.2679 3.23544 12.2679H12.7646C13.3448 12.2679 13.8153 11.7973 13.8153 11.2171L13.8153 8L9.33239 7.98014V8.63222C9.33239 8.92233 9.09712 9.1576 8.807 9.1576H8H7.19299C6.90287 9.1576 6.66761 8.92233 6.66761 8.63222V7.98014L2.18468 8Z\" fill=\"currentColor\"/>\n</svg>",