@erplora/outfitkit 0.1.14 → 0.1.15

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 (43) hide show
  1. package/dist/base/icons.d.ts +59 -0
  2. package/dist/base/icons.test.d.ts +1 -0
  3. package/dist/components/ok-kpi/ok-kpi.d.ts +1 -1
  4. package/dist/ok-app-launcher.js +4 -3
  5. package/dist/ok-audio.js +4 -3
  6. package/dist/ok-calendar.js +4 -3
  7. package/dist/ok-carousel.js +3 -2
  8. package/dist/ok-chat.js +2 -1
  9. package/dist/ok-combo.js +2 -1
  10. package/dist/ok-command-palette.js +3 -2
  11. package/dist/ok-data-table.js +15 -14
  12. package/dist/ok-date-picker.js +4 -3
  13. package/dist/ok-drawer.js +3 -2
  14. package/dist/ok-dropzone.js +5 -4
  15. package/dist/ok-empty-state.js +2 -1
  16. package/dist/ok-error-page.js +2 -1
  17. package/dist/ok-file-manager.js +5 -4
  18. package/dist/ok-icon-tile.js +2 -1
  19. package/dist/ok-inline-feedback.js +8 -7
  20. package/dist/ok-kpi.js +7 -6
  21. package/dist/ok-lightbox.js +7 -6
  22. package/dist/ok-mail.js +10 -9
  23. package/dist/ok-menu.js +2 -1
  24. package/dist/ok-menubar.js +6 -5
  25. package/dist/ok-notification-center.js +4 -3
  26. package/dist/ok-pdf.js +4 -3
  27. package/dist/ok-pinpad.js +3 -2
  28. package/dist/ok-qty-stepper.js +3 -2
  29. package/dist/ok-rating.js +3 -2
  30. package/dist/ok-scheduler.js +3 -2
  31. package/dist/ok-select-card.js +2 -1
  32. package/dist/ok-signature.js +3 -2
  33. package/dist/ok-split-button.js +3 -2
  34. package/dist/ok-status-pill.js +2 -1
  35. package/dist/ok-stepper.js +2 -1
  36. package/dist/ok-tag-input.js +2 -1
  37. package/dist/ok-timeline.js +2 -1
  38. package/dist/ok-tree.js +3 -2
  39. package/dist/ok-video.js +5 -4
  40. package/dist/ok-widget-board.js +2 -1
  41. package/dist/outfitkit.bundle.js +3113 -3058
  42. package/dist/shared/icons.js +194 -0
  43. package/package.json +7 -2
package/dist/ok-kpi.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { v as iconTrendingUp, w as iconTrendingDown, x as iconRemove, o as okIcon } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -104,22 +105,22 @@ class OkKpi extends LitElement {
104
105
  }
105
106
  `;
106
107
  }
107
- /** Devuelve el ion-icon de flecha según la tendencia. */
108
+ /** Devuelve el icono de flecha según la tendencia (SVG horneado, ver base/icons.ts). */
108
109
  trendIcon() {
109
- if (this.trend === "up") return "trending-up";
110
- if (this.trend === "down") return "trending-down";
111
- return "remove";
110
+ if (this.trend === "up") return iconTrendingUp;
111
+ if (this.trend === "down") return iconTrendingDown;
112
+ return iconRemove;
112
113
  }
113
114
  render() {
114
115
  return html`
115
116
  <div class="card">
116
117
  <div class="top">
117
118
  ${this.label ? html`<p class="label">${this.label}</p>` : null}
118
- ${this.icon ? html`<ion-icon class="label-icon" name=${this.icon} aria-hidden="true"></ion-icon>` : null}
119
+ ${this.icon ? html`<ion-icon class="label-icon" .icon=${okIcon(this.icon)} aria-hidden="true"></ion-icon>` : null}
119
120
  </div>
120
121
  ${this.value ? html`<p class="value">${this.value}</p>` : null}
121
122
  ${this.delta ? html`<span class="delta ${this.trend}">
122
- <ion-icon name=${this.trendIcon()} aria-hidden="true"></ion-icon>${this.delta}
123
+ <ion-icon .icon=${this.trendIcon()} aria-hidden="true"></ion-icon>${this.delta}
123
124
  </span>` : null}
124
125
  <slot></slot>
125
126
  </div>
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, render, nothing, html } from "lit";
2
2
  import { property, state } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { M as iconExpandOutline, B as iconCloseOutline, z as iconChevronBackOutline, q as iconChevronForwardOutline, I as iconDownloadOutline, S as iconPlayOutline } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -388,7 +389,7 @@ class OkLightbox extends LitElement {
388
389
  rel="noopener"
389
390
  aria-label=${this.t.download}
390
391
  >
391
- <ion-icon name="download-outline"></ion-icon>
392
+ <ion-icon .icon=${iconDownloadOutline}></ion-icon>
392
393
  </a>` : null}
393
394
  <button
394
395
  type="button"
@@ -396,7 +397,7 @@ class OkLightbox extends LitElement {
396
397
  aria-label=${this.t.fullscreen}
397
398
  @click=${() => this.toggleFullscreen()}
398
399
  >
399
- <ion-icon name="expand-outline"></ion-icon>
400
+ <ion-icon .icon=${iconExpandOutline}></ion-icon>
400
401
  </button>
401
402
  <button
402
403
  type="button"
@@ -404,7 +405,7 @@ class OkLightbox extends LitElement {
404
405
  aria-label=${this.t.close}
405
406
  @click=${() => this.requestClose()}
406
407
  >
407
- <ion-icon name="close-outline"></ion-icon>
408
+ <ion-icon .icon=${iconCloseOutline}></ion-icon>
408
409
  </button>
409
410
  </div>
410
411
  </div>
@@ -417,7 +418,7 @@ class OkLightbox extends LitElement {
417
418
  ?disabled=${i <= 0}
418
419
  @click=${() => this.go(-1)}
419
420
  >
420
- <ion-icon name="chevron-back-outline"></ion-icon>
421
+ <ion-icon .icon=${iconChevronBackOutline}></ion-icon>
421
422
  </button>
422
423
 
423
424
  ${current ? isVideo ? html`<video
@@ -435,7 +436,7 @@ class OkLightbox extends LitElement {
435
436
  ?disabled=${i >= total - 1}
436
437
  @click=${() => this.go(1)}
437
438
  >
438
- <ion-icon name="chevron-forward-outline"></ion-icon>
439
+ <ion-icon .icon=${iconChevronForwardOutline}></ion-icon>
439
440
  </button>
440
441
  </div>
441
442
 
@@ -455,7 +456,7 @@ class OkLightbox extends LitElement {
455
456
  aria-label=${this.fileName(item)}
456
457
  @click=${() => this.setIndex(idx)}
457
458
  >
458
- ${isVideo ? html`<span class="vid"><ion-icon name="play-outline"></ion-icon></span>` : html`<img src=${item.thumb ?? item.src} alt="" loading="lazy" />`}
459
+ ${isVideo ? html`<span class="vid"><ion-icon .icon=${iconPlayOutline}></ion-icon></span>` : html`<img src=${item.thumb ?? item.src} alt="" loading="lazy" />`}
459
460
  </button>`;
460
461
  }
461
462
  // Pantalla completa nativa sobre el overlay portado (con fallback silencioso si no se concede).
package/dist/ok-mail.js CHANGED
@@ -2,6 +2,7 @@ import { LitElement, css, nothing, html } from "lit";
2
2
  import { property, state } from "lit/decorators.js";
3
3
  import { repeat } from "lit/directives/repeat.js";
4
4
  import { define } from "./define.js";
5
+ import { j as iconCreateOutline, o as okIcon, c as iconChevronBack, k as iconArrowUndoOutline, l as iconArrowRedoOutline, m as iconArchiveOutline, n as iconTrashOutline, p as iconDocumentAttachOutline } from "./shared/icons.js";
5
6
  var __defProp = Object.defineProperty;
6
7
  var __decorateClass = (decorators, target, key, kind) => {
7
8
  var result = void 0;
@@ -389,7 +390,7 @@ class OkMail extends LitElement {
389
390
  return html`
390
391
  <div class="topbar">
391
392
  <ion-button @click=${() => this.emit("ok-compose", {})}>
392
- <ion-icon slot="start" name="create-outline"></ion-icon>
393
+ <ion-icon slot="start" .icon=${iconCreateOutline}></ion-icon>
393
394
  ${this.t.compose}
394
395
  </ion-button>
395
396
  ${this.searchable ? html`<ion-searchbar
@@ -415,7 +416,7 @@ class OkMail extends LitElement {
415
416
  aria-selected=${f.id === this.activeFolder ? "true" : "false"}
416
417
  @click=${() => this.onFolderSelect(f.id)}
417
418
  >
418
- ${f.icon ? html`<ion-icon name=${f.icon}></ion-icon>` : nothing}
419
+ ${f.icon ? html`<ion-icon .icon=${okIcon(f.icon)}></ion-icon>` : nothing}
419
420
  <span class="tlabel">${f.label}</span>
420
421
  ${f.count ? html`<ion-badge>${f.count}</ion-badge>` : nothing}
421
422
  </button>
@@ -453,7 +454,7 @@ class OkMail extends LitElement {
453
454
  aria-label=${m.starred ? this.t.unstar : this.t.star}
454
455
  @click=${(e) => this.onStar(e, m)}
455
456
  >
456
- <ion-icon name=${m.starred ? "star" : "star-outline"}></ion-icon>
457
+ <ion-icon .icon=${okIcon(m.starred ? "star" : "star-outline")}></ion-icon>
457
458
  </button>
458
459
  </article>
459
460
  `;
@@ -482,20 +483,20 @@ class OkMail extends LitElement {
482
483
  <ion-button fill="clear" size="small" aria-label=${this.t.back} @click=${() => {
483
484
  this.activeMessage = "";
484
485
  }}>
485
- <ion-icon slot="icon-only" name="chevron-back"></ion-icon>
486
+ <ion-icon slot="icon-only" .icon=${iconChevronBack}></ion-icon>
486
487
  </ion-button>
487
488
  </span>
488
489
  <ion-button fill="clear" size="small" aria-label=${this.t.reply} @click=${() => this.emit("ok-reply", { id: m.id })}>
489
- <ion-icon slot="icon-only" name="arrow-undo-outline"></ion-icon>
490
+ <ion-icon slot="icon-only" .icon=${iconArrowUndoOutline}></ion-icon>
490
491
  </ion-button>
491
492
  <ion-button fill="clear" size="small" aria-label=${this.t.forward} @click=${() => this.emit("ok-forward", { id: m.id })}>
492
- <ion-icon slot="icon-only" name="arrow-redo-outline"></ion-icon>
493
+ <ion-icon slot="icon-only" .icon=${iconArrowRedoOutline}></ion-icon>
493
494
  </ion-button>
494
495
  <ion-button fill="clear" size="small" aria-label=${this.t.archive} @click=${() => this.emit("ok-archive", { id: m.id })}>
495
- <ion-icon slot="icon-only" name="archive-outline"></ion-icon>
496
+ <ion-icon slot="icon-only" .icon=${iconArchiveOutline}></ion-icon>
496
497
  </ion-button>
497
498
  <ion-button fill="clear" size="small" color="danger" aria-label=${this.t.delete} @click=${() => this.emit("ok-delete", { id: m.id })}>
498
- <ion-icon slot="icon-only" name="trash-outline"></ion-icon>
499
+ <ion-icon slot="icon-only" .icon=${iconTrashOutline}></ion-icon>
499
500
  </ion-button>
500
501
  </div>
501
502
  <div class="reader-body">
@@ -515,7 +516,7 @@ class OkMail extends LitElement {
515
516
  ${m.attachments.map(
516
517
  (a) => html`
517
518
  <span class="att-chip">
518
- <ion-icon name="document-attach-outline"></ion-icon>
519
+ <ion-icon .icon=${iconDocumentAttachOutline}></ion-icon>
519
520
  <span>${a.name}</span>
520
521
  ${a.size != null ? html`<span class="att-size">${this.fmtSize(a.size)}</span>` : nothing}
521
522
  </span>
package/dist/ok-menu.js CHANGED
@@ -2,6 +2,7 @@ import { LitElement, css, html, nothing } from "lit";
2
2
  import { property, state } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
4
  import { c as computeAnchor } from "./shared/anchor.js";
5
+ import { o as okIcon } from "./shared/icons.js";
5
6
  var __defProp = Object.defineProperty;
6
7
  var __decorateClass = (decorators, target, key, kind) => {
7
8
  var result = void 0;
@@ -409,7 +410,7 @@ class OkMenu extends LitElement {
409
410
  return /^\s*</.test(icon) || icon.startsWith("data:");
410
411
  }
411
412
  renderIcon(icon) {
412
- return this.isResolvedSvg(icon) ? html`<ion-icon .icon=${icon}></ion-icon>` : html`<ion-icon .name=${icon}></ion-icon>`;
413
+ return this.isResolvedSvg(icon) ? html`<ion-icon .icon=${icon}></ion-icon>` : html`<ion-icon .icon=${okIcon(icon)}></ion-icon>`;
413
414
  }
414
415
  renderEntry(entry, key) {
415
416
  if (entry.divider) return html`<li><div class="divider" role="separator"></div></li>`;
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property, state } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { o as okIcon, q as iconChevronForwardOutline, H as iconMenuOutline } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -504,10 +505,10 @@ class OkMenubar extends LitElement {
504
505
  aria-disabled=${item.disabled ? "true" : "false"}
505
506
  @click=${() => hasChildren ? this.openSub(item.id, level) : this.selectItem(item)}
506
507
  >
507
- <span class="icon">${item.icon ? html`<ion-icon .name=${item.icon}></ion-icon>` : ""}</span>
508
+ <span class="icon">${item.icon ? html`<ion-icon .icon=${okIcon(item.icon)}></ion-icon>` : ""}</span>
508
509
  <span class="label">${item.label ?? ""}</span>
509
510
  ${item.shortcut ? html`<span class="shortcut">${item.shortcut}</span>` : ""}
510
- ${hasChildren ? html`<span class="caret"><ion-icon name="chevron-forward-outline"></ion-icon></span>` : ""}
511
+ ${hasChildren ? html`<span class="caret"><ion-icon .icon=${iconChevronForwardOutline}></ion-icon></span>` : ""}
511
512
  </button>
512
513
  ${subOpen ? html`<div class="panel sub" role="menu">
513
514
  ${item.children.map((child) => this.renderItem(child, level + 1))}
@@ -551,7 +552,7 @@ class OkMenubar extends LitElement {
551
552
  aria-disabled=${item.disabled ? "true" : "false"}
552
553
  @click=${() => this.selectItem(item)}
553
554
  >
554
- <span class="icon">${item.icon ? html`<ion-icon .name=${item.icon}></ion-icon>` : ""}</span>
555
+ <span class="icon">${item.icon ? html`<ion-icon .icon=${okIcon(item.icon)}></ion-icon>` : ""}</span>
555
556
  <span class="label">${item.label ?? ""}</span>
556
557
  ${item.shortcut ? html`<span class="shortcut">${item.shortcut}</span>` : ""}
557
558
  </button>
@@ -568,7 +569,7 @@ class OkMenubar extends LitElement {
568
569
  aria-label=${this.t.menu}
569
570
  @click=${() => this.toggleMobile()}
570
571
  >
571
- <ion-icon name="menu-outline"></ion-icon>
572
+ <ion-icon .icon=${iconMenuOutline}></ion-icon>
572
573
  <span>${this.t.menu}</span>
573
574
  </button>
574
575
  ${this.mobileOpen ? html`<div class="accordion" role="menu">
@@ -582,7 +583,7 @@ class OkMenubar extends LitElement {
582
583
  @click=${() => this.toggleAccordion(menu.id)}
583
584
  >
584
585
  <span class="label">${menu.label}</span>
585
- <span class="caret"><ion-icon name="chevron-forward-outline"></ion-icon></span>
586
+ <span class="caret"><ion-icon .icon=${iconChevronForwardOutline}></ion-icon></span>
586
587
  </button>
587
588
  ${expanded ? menu.items.map((item) => this.renderAccItem(item, 0)) : ""}
588
589
  `;
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html, nothing } from "lit";
2
2
  import { property } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { o as okIcon, R as iconNotificationsOffOutline, B as iconCloseOutline } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -434,7 +435,7 @@ class OkNotificationCenter extends LitElement {
434
435
  ${this.isResolvedSvg(icon) ? (
435
436
  // SVG resuelto: lo pinta ion-icon vía prop `icon`.
436
437
  html`<ion-icon .icon=${icon}></ion-icon>`
437
- ) : html`<ion-icon .name=${icon}></ion-icon>`}
438
+ ) : html`<ion-icon .icon=${okIcon(icon)}></ion-icon>`}
438
439
  </span>`;
439
440
  }
440
441
  // Pinta el texto principal interpretando SOLO <b>…</b> (sin HTML arbitrario, seguro para CSP).
@@ -467,7 +468,7 @@ class OkNotificationCenter extends LitElement {
467
468
  }
468
469
  renderEmpty() {
469
470
  return html`<div class="empty">
470
- <span class="ic" aria-hidden="true"><ion-icon name="notifications-off-outline"></ion-icon></span>
471
+ <span class="ic" aria-hidden="true"><ion-icon .icon=${iconNotificationsOffOutline}></ion-icon></span>
471
472
  <span class="e-title">${this.t.emptyTitle}</span>
472
473
  <span class="e-text">${this.t.emptyText}</span>
473
474
  </div>`;
@@ -493,7 +494,7 @@ class OkNotificationCenter extends LitElement {
493
494
  aria-label=${this.t.close}
494
495
  @click=${() => this.requestClose("button")}
495
496
  >
496
- <ion-icon name="close-outline"></ion-icon>
497
+ <ion-icon .icon=${iconCloseOutline}></ion-icon>
497
498
  </button>
498
499
  </header>
499
500
 
package/dist/ok-pdf.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { N as iconOpenOutline, O as iconDocumentTextOutline, I as iconDownloadOutline } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -121,7 +122,7 @@ class OkPdf extends LitElement {
121
122
  aria-label=${this.t.openAria}
122
123
  @click=${this.open}
123
124
  >
124
- <ion-icon slot="start" name="open-outline"></ion-icon>
125
+ <ion-icon slot="start" .icon=${iconOpenOutline}></ion-icon>
125
126
  ${this.t.open}
126
127
  </ion-button>
127
128
  </div>
@@ -129,10 +130,10 @@ class OkPdf extends LitElement {
129
130
  <object data=${this.src} type="application/pdf">
130
131
  <!-- Fallback: el navegador no pudo incrustar el PDF → enlace de descarga. -->
131
132
  <div class="fallback">
132
- <ion-icon name="document-text-outline"></ion-icon>
133
+ <ion-icon .icon=${iconDocumentTextOutline}></ion-icon>
133
134
  <span>${this.t.cannotDisplay}</span>
134
135
  <ion-button fill="solid" size="small" @click=${this.open}>
135
- <ion-icon slot="start" name="download-outline"></ion-icon>
136
+ <ion-icon slot="start" .icon=${iconDownloadOutline}></ion-icon>
136
137
  ${this.t.download}
137
138
  </ion-button>
138
139
  </div>
package/dist/ok-pinpad.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { C as iconBackspaceOutline, o as okIcon } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -160,7 +161,7 @@ class OkPinpad extends LitElement {
160
161
  // Botón de borrado (reutilizado en ambos layouts).
161
162
  renderBackspace() {
162
163
  return html`<ion-button fill="clear" aria-label=${this.t.backspace} @click=${() => this.backspace()}>
163
- <ion-icon slot="icon-only" name="backspace-outline"></ion-icon>
164
+ <ion-icon slot="icon-only" .icon=${iconBackspaceOutline}></ion-icon>
164
165
  </ion-button>`;
165
166
  }
166
167
  // Pinta la pantalla: dots si `masked`, dígitos si no, placeholder si vacío.
@@ -203,7 +204,7 @@ class OkPinpad extends LitElement {
203
204
  fill="clear"
204
205
  aria-label=${this.secondaryLabel ?? this.secondaryIcon}
205
206
  @click=${() => this.secondary()}
206
- ><ion-icon slot="icon-only" name=${this.secondaryIcon}></ion-icon></ion-button>` : html`<span class="spacer" aria-hidden="true"></span>`}
207
+ ><ion-icon slot="icon-only" .icon=${okIcon(this.secondaryIcon)}></ion-icon></ion-button>` : html`<span class="spacer" aria-hidden="true"></span>`}
207
208
  <ion-button fill="outline" aria-label="0" @click=${() => this.press("0")}>0</ion-button>
208
209
  ${this.renderBackspace()}
209
210
  </div>
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { x as iconRemove, P as iconAdd } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -161,7 +162,7 @@ class OkQtyStepper extends LitElement {
161
162
  ?disabled=${this.disabled || atMin}
162
163
  @click=${() => this.decrement()}
163
164
  >
164
- <ion-icon slot="icon-only" name="remove"></ion-icon>
165
+ <ion-icon slot="icon-only" .icon=${iconRemove}></ion-icon>
165
166
  </ion-button>
166
167
  <input
167
168
  class="field"
@@ -183,7 +184,7 @@ class OkQtyStepper extends LitElement {
183
184
  ?disabled=${this.disabled || atMax}
184
185
  @click=${() => this.increment()}
185
186
  >
186
- <ion-icon slot="icon-only" name="add"></ion-icon>
187
+ <ion-icon slot="icon-only" .icon=${iconAdd}></ion-icon>
187
188
  </ion-button>
188
189
  </div>`;
189
190
  }
package/dist/ok-rating.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property, state } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { o as okIcon } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -137,7 +138,7 @@ class OkRating extends LitElement {
137
138
  renderHalfStar(index) {
138
139
  const filled = this.displayValue >= index - 0.5;
139
140
  return html`<span class=${`star half-mode ${filled ? "filled" : ""}`}>
140
- <ion-icon .name=${this.iconFor(index)}></ion-icon>
141
+ <ion-icon .icon=${okIcon(this.iconFor(index))}></ion-icon>
141
142
  ${this.readonly ? "" : html`<span
142
143
  class="half-zone left"
143
144
  @mouseenter=${() => this.onEnter(index - 0.5)}
@@ -161,7 +162,7 @@ class OkRating extends LitElement {
161
162
  @mouseenter=${() => this.onEnter(index)}
162
163
  @click=${() => this.setValue(index)}
163
164
  >
164
- <ion-icon .name=${this.iconFor(index)}></ion-icon>
165
+ <ion-icon .icon=${okIcon(this.iconFor(index))}></ion-icon>
165
166
  </button>`;
166
167
  }
167
168
  render() {
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property, state } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { z as iconChevronBackOutline, q as iconChevronForwardOutline } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -462,7 +463,7 @@ class OkScheduler extends LitElement {
462
463
  aria-label=${this.t.prevDay}
463
464
  @click=${() => this.navDay(-1)}
464
465
  >
465
- <ion-icon slot="icon-only" name="chevron-back-outline"></ion-icon>
466
+ <ion-icon slot="icon-only" .icon=${iconChevronBackOutline}></ion-icon>
466
467
  </ion-button>
467
468
  <span class="title">${this.dayLabel()}</span>
468
469
  <ion-button
@@ -471,7 +472,7 @@ class OkScheduler extends LitElement {
471
472
  aria-label=${this.t.nextDay}
472
473
  @click=${() => this.navDay(1)}
473
474
  >
474
- <ion-icon slot="icon-only" name="chevron-forward-outline"></ion-icon>
475
+ <ion-icon slot="icon-only" .icon=${iconChevronForwardOutline}></ion-icon>
475
476
  </ion-button>
476
477
  </div>
477
478
  <div class="scroll">
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { o as okIcon } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -191,7 +192,7 @@ class OkSelectCard extends LitElement {
191
192
  @keydown=${this.onKeydown}
192
193
  >
193
194
  ${control}
194
- ${this.icon ? html`<span class="icon"><ion-icon name=${this.icon}></ion-icon></span>` : null}
195
+ ${this.icon ? html`<span class="icon"><ion-icon .icon=${okIcon(this.icon)}></ion-icon></span>` : null}
195
196
  <div class="body">
196
197
  ${this.label ? html`<p class="label">${this.label}</p>` : null}
197
198
  ${this.description ? html`<p class="description">${this.description}</p>` : null}
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property, query } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { n as iconTrashOutline, I as iconDownloadOutline } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -216,7 +217,7 @@ class OkSignature extends LitElement {
216
217
  </div>
217
218
  <div class="actions">
218
219
  <ion-button fill="clear" size="small" @click=${() => this.clear()}>
219
- <ion-icon slot="start" name="trash-outline"></ion-icon>
220
+ <ion-icon slot="start" .icon=${iconTrashOutline}></ion-icon>
220
221
  ${this.t.clear}
221
222
  </ion-button>
222
223
  ${this.showExport ? html`<ion-button
@@ -224,7 +225,7 @@ class OkSignature extends LitElement {
224
225
  size="small"
225
226
  @click=${() => this.onExport()}
226
227
  >
227
- <ion-icon slot="start" name="download-outline"></ion-icon>
228
+ <ion-icon slot="start" .icon=${iconDownloadOutline}></ion-icon>
228
229
  ${this.t.export}
229
230
  </ion-button>` : ""}
230
231
  </div>
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property, state } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { o as okIcon, h as iconChevronDownOutline } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -194,7 +195,7 @@ class OkSplitButton extends LitElement {
194
195
  role="menuitem"
195
196
  @click=${() => this.selectItem(item)}
196
197
  >
197
- ${item.icon ? html`<ion-icon .name=${item.icon}></ion-icon>` : ""}
198
+ ${item.icon ? html`<ion-icon .icon=${okIcon(item.icon)}></ion-icon>` : ""}
198
199
  <span class="label">${item.label}</span>
199
200
  </button>`;
200
201
  }
@@ -218,7 +219,7 @@ class OkSplitButton extends LitElement {
218
219
  aria-label=${this.t.more}
219
220
  @click=${() => this.toggle()}
220
221
  >
221
- <ion-icon slot="icon-only" name="chevron-down-outline"></ion-icon>
222
+ <ion-icon slot="icon-only" .icon=${iconChevronDownOutline}></ion-icon>
222
223
  </ion-button>
223
224
  </div>
224
225
  ${this.open ? html`<div class="menu" role="menu" aria-label=${this.t.menu}>
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { o as okIcon } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -96,7 +97,7 @@ class OkStatusPill extends LitElement {
96
97
  render() {
97
98
  return html`
98
99
  <span class="pill" part="pill">
99
- ${this.dot ? html`<span class="dot" part="dot" aria-hidden="true"></span>` : this.icon ? html`<ion-icon name=${this.icon} aria-hidden="true"></ion-icon>` : null}
100
+ ${this.dot ? html`<span class="dot" part="dot" aria-hidden="true"></span>` : this.icon ? html`<ion-icon .icon=${okIcon(this.icon)} aria-hidden="true"></ion-icon>` : null}
100
101
  <slot>${this.label ?? ""}</slot>
101
102
  </span>
102
103
  `;
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { y as iconCheckmarkOutline } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -259,7 +260,7 @@ class OkStepper extends LitElement {
259
260
  >
260
261
  <span class="circle-row">
261
262
  <span class="circle">
262
- ${i < this.current ? html`<ion-icon name="checkmark-outline" aria-hidden="true"></ion-icon>` : html`${i + 1}`}
263
+ ${i < this.current ? html`<ion-icon .icon=${iconCheckmarkOutline} aria-hidden="true"></ion-icon>` : html`${i + 1}`}
263
264
  </span>
264
265
  </span>
265
266
  <span class="labels">
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property, state } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { B as iconCloseOutline } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -304,7 +305,7 @@ class OkTagInput extends LitElement {
304
305
  this.removeAt(i);
305
306
  }}
306
307
  >
307
- <ion-icon name="close-outline"></ion-icon>
308
+ <ion-icon .icon=${iconCloseOutline}></ion-icon>
308
309
  </button>
309
310
  </span>`
310
311
  )}
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { o as okIcon } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -216,7 +217,7 @@ class OkTimeline extends LitElement {
216
217
  return html`<li class=${classes}>
217
218
  <span class="marker">
218
219
  <span class="dot" style=${dotStyle}>
219
- ${item.icon ? html`<ion-icon .name=${item.icon}></ion-icon>` : ""}
220
+ ${item.icon ? html`<ion-icon .icon=${okIcon(item.icon)}></ion-icon>` : ""}
220
221
  </span>
221
222
  </span>
222
223
  <button
package/dist/ok-tree.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property, state } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { q as iconChevronForwardOutline, o as okIcon } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -225,9 +226,9 @@ class OkTree extends LitElement {
225
226
  this.toggle(node);
226
227
  }}
227
228
  >
228
- <ion-icon name="chevron-forward-outline"></ion-icon>
229
+ <ion-icon .icon=${iconChevronForwardOutline}></ion-icon>
229
230
  </button>
230
- ${node.icon ? html`<span class="icon"><ion-icon .name=${node.icon}></ion-icon></span>` : ""}
231
+ ${node.icon ? html`<span class="icon"><ion-icon .icon=${okIcon(node.icon)}></ion-icon></span>` : ""}
231
232
  <span class="label" @click=${() => this.select(node)}>${node.label}</span>
232
233
  </div>
233
234
  ${expanded ? html`<ul role="group">
package/dist/ok-video.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { LitElement, css, html } from "lit";
2
2
  import { property, state, query } from "lit/decorators.js";
3
3
  import { define } from "./define.js";
4
+ import { M as iconExpandOutline, o as okIcon } from "./shared/icons.js";
4
5
  var __defProp = Object.defineProperty;
5
6
  var __decorateClass = (decorators, target, key, kind) => {
6
7
  var result = void 0;
@@ -272,7 +273,7 @@ class OkVideo extends LitElement {
272
273
  @click=${this.togglePlay}
273
274
  >
274
275
  <span class="big">
275
- <ion-icon name=${this.playing ? "pause" : "play"}></ion-icon>
276
+ <ion-icon .icon=${okIcon(this.playing ? "pause" : "play")}></ion-icon>
276
277
  </span>
277
278
  </button>
278
279
 
@@ -283,7 +284,7 @@ class OkVideo extends LitElement {
283
284
  aria-label=${this.playing ? this.t.pause : this.t.play}
284
285
  @click=${this.togglePlay}
285
286
  >
286
- <ion-icon slot="icon-only" name=${this.playing ? "pause" : "play"}></ion-icon>
287
+ <ion-icon slot="icon-only" .icon=${okIcon(this.playing ? "pause" : "play")}></ion-icon>
287
288
  </ion-button>
288
289
 
289
290
  <div class="progress" @click=${this.seek}>
@@ -300,7 +301,7 @@ class OkVideo extends LitElement {
300
301
  aria-label=${this.muted ? this.t.unmute : this.t.mute}
301
302
  @click=${this.toggleMute}
302
303
  >
303
- <ion-icon slot="icon-only" name=${volIcon}></ion-icon>
304
+ <ion-icon slot="icon-only" .icon=${okIcon(volIcon)}></ion-icon>
304
305
  </ion-button>
305
306
  <input
306
307
  type="range"
@@ -319,7 +320,7 @@ class OkVideo extends LitElement {
319
320
  aria-label=${this.t.fullscreen}
320
321
  @click=${this.toggleFullscreen}
321
322
  >
322
- <ion-icon slot="icon-only" name="expand-outline"></ion-icon>
323
+ <ion-icon slot="icon-only" .icon=${iconExpandOutline}></ion-icon>
323
324
  </ion-button>
324
325
  </div>
325
326
  </div>
@@ -2,6 +2,7 @@ import { LitElement, css, nothing, html } from "lit";
2
2
  import { property, state } from "lit/decorators.js";
3
3
  import { repeat } from "lit/directives/repeat.js";
4
4
  import { define } from "./define.js";
5
+ import { a as iconEllipsisVertical } from "./shared/icons.js";
5
6
  var __defProp = Object.defineProperty;
6
7
  var __decorateClass = (decorators, target, key, kind) => {
7
8
  var result = void 0;
@@ -97,7 +98,7 @@ class OkWidgetBoard extends LitElement {
97
98
  <div class="bar">
98
99
  <slot name="title"><span class="title"></span></slot>
99
100
  ${this.editable ? html`<ion-button fill="clear" size="small" aria-label=${this.t.customize} @click=${this.openConfig}>
100
- <ion-icon slot="icon-only" name="ellipsis-vertical"></ion-icon>
101
+ <ion-icon slot="icon-only" .icon=${iconEllipsisVertical}></ion-icon>
101
102
  </ion-button>` : nothing}
102
103
  </div>
103
104
  <div class="grid">