@erplora/outfitkit 0.1.1

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 (210) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +457 -0
  3. package/dist/base/anchor.d.ts +13 -0
  4. package/dist/base/define.d.ts +1 -0
  5. package/dist/base/relay.d.ts +1 -0
  6. package/dist/cdn.d.ts +96 -0
  7. package/dist/components/ok-app-launcher/ok-app-launcher.d.ts +57 -0
  8. package/dist/components/ok-audio/ok-audio.d.ts +45 -0
  9. package/dist/components/ok-avatar/ok-avatar.d.ts +36 -0
  10. package/dist/components/ok-avatar-group/ok-avatar-group.d.ts +38 -0
  11. package/dist/components/ok-bar-list/ok-bar-list.d.ts +36 -0
  12. package/dist/components/ok-bento/ok-bento.d.ts +17 -0
  13. package/dist/components/ok-bento-item/ok-bento-item.d.ts +34 -0
  14. package/dist/components/ok-calculator/ok-calculator.d.ts +46 -0
  15. package/dist/components/ok-calendar/ok-calendar.d.ts +63 -0
  16. package/dist/components/ok-carousel/ok-carousel.d.ts +48 -0
  17. package/dist/components/ok-chart/ok-chart.d.ts +55 -0
  18. package/dist/components/ok-chat/ok-chat.d.ts +54 -0
  19. package/dist/components/ok-coachmark/ok-coachmark.d.ts +69 -0
  20. package/dist/components/ok-code/ok-code.d.ts +28 -0
  21. package/dist/components/ok-color-picker/ok-color-picker.d.ts +63 -0
  22. package/dist/components/ok-combo/ok-combo.d.ts +46 -0
  23. package/dist/components/ok-command-palette/ok-command-palette.d.ts +72 -0
  24. package/dist/components/ok-contact-form/ok-contact-form.d.ts +54 -0
  25. package/dist/components/ok-cropper/ok-cropper.d.ts +60 -0
  26. package/dist/components/ok-cta-band/ok-cta-band.d.ts +18 -0
  27. package/dist/components/ok-currency/ok-currency.d.ts +31 -0
  28. package/dist/components/ok-data-table/ok-data-table.d.ts +312 -0
  29. package/dist/components/ok-date-picker/ok-date-picker.d.ts +81 -0
  30. package/dist/components/ok-detail-list/ok-detail-list.d.ts +30 -0
  31. package/dist/components/ok-diff/ok-diff.d.ts +38 -0
  32. package/dist/components/ok-donut/ok-donut.d.ts +38 -0
  33. package/dist/components/ok-drawer/ok-drawer.d.ts +56 -0
  34. package/dist/components/ok-dropzone/ok-dropzone.d.ts +48 -0
  35. package/dist/components/ok-empty-state/ok-empty-state.d.ts +16 -0
  36. package/dist/components/ok-error-page/ok-error-page.d.ts +77 -0
  37. package/dist/components/ok-event-card/ok-event-card.d.ts +56 -0
  38. package/dist/components/ok-feature-card/ok-feature-card.d.ts +23 -0
  39. package/dist/components/ok-file-item/ok-file-item.d.ts +31 -0
  40. package/dist/components/ok-file-manager/ok-file-manager.d.ts +145 -0
  41. package/dist/components/ok-footer/ok-footer.d.ts +10 -0
  42. package/dist/components/ok-funnel/ok-funnel.d.ts +31 -0
  43. package/dist/components/ok-gallery/ok-gallery.d.ts +34 -0
  44. package/dist/components/ok-gauge/ok-gauge.d.ts +49 -0
  45. package/dist/components/ok-heatmap/ok-heatmap.d.ts +45 -0
  46. package/dist/components/ok-hero/ok-hero.d.ts +10 -0
  47. package/dist/components/ok-hover-card/ok-hover-card.d.ts +76 -0
  48. package/dist/components/ok-icon-tile/ok-icon-tile.d.ts +24 -0
  49. package/dist/components/ok-image/ok-image.d.ts +56 -0
  50. package/dist/components/ok-inline-feedback/ok-inline-feedback.d.ts +33 -0
  51. package/dist/components/ok-invoice/ok-invoice.d.ts +137 -0
  52. package/dist/components/ok-json-viewer/ok-json-viewer.d.ts +31 -0
  53. package/dist/components/ok-kanban/ok-kanban.d.ts +56 -0
  54. package/dist/components/ok-kbd/ok-kbd.d.ts +21 -0
  55. package/dist/components/ok-keyboard/ok-keyboard.d.ts +35 -0
  56. package/dist/components/ok-kpi/ok-kpi.d.ts +24 -0
  57. package/dist/components/ok-language-select/ok-language-select.d.ts +31 -0
  58. package/dist/components/ok-lightbox/ok-lightbox.d.ts +59 -0
  59. package/dist/components/ok-logo-cloud/ok-logo-cloud.d.ts +14 -0
  60. package/dist/components/ok-loyalty-card/ok-loyalty-card.d.ts +35 -0
  61. package/dist/components/ok-mail/ok-mail.d.ts +117 -0
  62. package/dist/components/ok-menu/ok-menu.d.ts +75 -0
  63. package/dist/components/ok-menubar/ok-menubar.d.ts +75 -0
  64. package/dist/components/ok-navbar/ok-navbar.d.ts +42 -0
  65. package/dist/components/ok-notification-center/ok-notification-center.d.ts +79 -0
  66. package/dist/components/ok-org-chart/ok-org-chart.d.ts +67 -0
  67. package/dist/components/ok-otp/ok-otp.d.ts +31 -0
  68. package/dist/components/ok-page-header/ok-page-header.d.ts +23 -0
  69. package/dist/components/ok-pagination/ok-pagination.d.ts +44 -0
  70. package/dist/components/ok-pdf/ok-pdf.d.ts +32 -0
  71. package/dist/components/ok-phone/ok-phone.d.ts +48 -0
  72. package/dist/components/ok-pinpad/ok-pinpad.d.ts +29 -0
  73. package/dist/components/ok-pricing-card/ok-pricing-card.d.ts +31 -0
  74. package/dist/components/ok-product-card/ok-product-card.d.ts +25 -0
  75. package/dist/components/ok-qr/ok-qr.d.ts +24 -0
  76. package/dist/components/ok-qty-stepper/ok-qty-stepper.d.ts +35 -0
  77. package/dist/components/ok-range-dual/ok-range-dual.d.ts +38 -0
  78. package/dist/components/ok-rating/ok-rating.d.ts +33 -0
  79. package/dist/components/ok-receipt/ok-receipt.d.ts +103 -0
  80. package/dist/components/ok-reveal/ok-reveal.d.ts +21 -0
  81. package/dist/components/ok-rich-text/ok-rich-text.d.ts +46 -0
  82. package/dist/components/ok-scheduler/ok-scheduler.d.ts +74 -0
  83. package/dist/components/ok-select-card/ok-select-card.d.ts +37 -0
  84. package/dist/components/ok-signature/ok-signature.d.ts +55 -0
  85. package/dist/components/ok-skeleton/ok-skeleton.d.ts +40 -0
  86. package/dist/components/ok-sparkline/ok-sparkline.d.ts +27 -0
  87. package/dist/components/ok-split-button/ok-split-button.d.ts +49 -0
  88. package/dist/components/ok-splitter/ok-splitter.d.ts +36 -0
  89. package/dist/components/ok-stat/ok-stat.d.ts +16 -0
  90. package/dist/components/ok-status-dot/ok-status-dot.d.ts +24 -0
  91. package/dist/components/ok-status-pill/ok-status-pill.d.ts +22 -0
  92. package/dist/components/ok-stepper/ok-stepper.d.ts +33 -0
  93. package/dist/components/ok-store/ok-store.d.ts +33 -0
  94. package/dist/components/ok-tag-input/ok-tag-input.d.ts +39 -0
  95. package/dist/components/ok-testimonial/ok-testimonial.d.ts +21 -0
  96. package/dist/components/ok-time-picker/ok-time-picker.d.ts +50 -0
  97. package/dist/components/ok-timeline/ok-timeline.d.ts +33 -0
  98. package/dist/components/ok-tree/ok-tree.d.ts +46 -0
  99. package/dist/components/ok-video/ok-video.d.ts +49 -0
  100. package/dist/components/ok-widget-board/ok-widget-board.d.ts +71 -0
  101. package/dist/components/ok-wizard/ok-wizard.d.ts +30 -0
  102. package/dist/define.js +8 -0
  103. package/dist/erplora.css +112 -0
  104. package/dist/index.d.ts +158 -0
  105. package/dist/index.js +197 -0
  106. package/dist/layout.css +338 -0
  107. package/dist/ok-app-launcher.js +396 -0
  108. package/dist/ok-audio.js +308 -0
  109. package/dist/ok-avatar-group.js +158 -0
  110. package/dist/ok-avatar.js +179 -0
  111. package/dist/ok-bar-list.js +189 -0
  112. package/dist/ok-bento-item.js +168 -0
  113. package/dist/ok-bento.js +63 -0
  114. package/dist/ok-calculator.js +406 -0
  115. package/dist/ok-calendar.js +541 -0
  116. package/dist/ok-carousel.js +352 -0
  117. package/dist/ok-chart.js +325 -0
  118. package/dist/ok-chat.js +320 -0
  119. package/dist/ok-coachmark.js +500 -0
  120. package/dist/ok-code.js +190 -0
  121. package/dist/ok-color-picker.js +569 -0
  122. package/dist/ok-combo.js +294 -0
  123. package/dist/ok-command-palette.js +448 -0
  124. package/dist/ok-contact-form.js +288 -0
  125. package/dist/ok-cropper.js +404 -0
  126. package/dist/ok-cta-band.js +134 -0
  127. package/dist/ok-currency.js +172 -0
  128. package/dist/ok-data-table.js +1281 -0
  129. package/dist/ok-date-picker.js +736 -0
  130. package/dist/ok-detail-list.js +156 -0
  131. package/dist/ok-diff.js +200 -0
  132. package/dist/ok-donut.js +280 -0
  133. package/dist/ok-drawer.js +357 -0
  134. package/dist/ok-dropzone.js +376 -0
  135. package/dist/ok-empty-state.js +104 -0
  136. package/dist/ok-error-page.js +547 -0
  137. package/dist/ok-event-card.js +384 -0
  138. package/dist/ok-feature-card.js +152 -0
  139. package/dist/ok-file-item.js +259 -0
  140. package/dist/ok-file-manager.js +1116 -0
  141. package/dist/ok-footer.js +67 -0
  142. package/dist/ok-funnel.js +181 -0
  143. package/dist/ok-gallery.js +293 -0
  144. package/dist/ok-gauge.js +385 -0
  145. package/dist/ok-heatmap.js +268 -0
  146. package/dist/ok-hero.js +43 -0
  147. package/dist/ok-hover-card.js +480 -0
  148. package/dist/ok-icon-tile.js +123 -0
  149. package/dist/ok-image.js +471 -0
  150. package/dist/ok-inline-feedback.js +221 -0
  151. package/dist/ok-invoice.js +229 -0
  152. package/dist/ok-json-viewer.js +330 -0
  153. package/dist/ok-kanban.js +427 -0
  154. package/dist/ok-kbd.js +159 -0
  155. package/dist/ok-keyboard.js +402 -0
  156. package/dist/ok-kpi.js +147 -0
  157. package/dist/ok-language-select.js +188 -0
  158. package/dist/ok-lightbox.js +490 -0
  159. package/dist/ok-logo-cloud.js +92 -0
  160. package/dist/ok-loyalty-card.js +353 -0
  161. package/dist/ok-mail.js +562 -0
  162. package/dist/ok-menu.js +529 -0
  163. package/dist/ok-menubar.js +628 -0
  164. package/dist/ok-navbar.js +306 -0
  165. package/dist/ok-notification-center.js +545 -0
  166. package/dist/ok-org-chart.js +619 -0
  167. package/dist/ok-otp.js +199 -0
  168. package/dist/ok-page-header.js +202 -0
  169. package/dist/ok-pagination.js +366 -0
  170. package/dist/ok-pdf.js +160 -0
  171. package/dist/ok-phone.js +225 -0
  172. package/dist/ok-pinpad.js +171 -0
  173. package/dist/ok-pricing-card.js +184 -0
  174. package/dist/ok-product-card.js +178 -0
  175. package/dist/ok-qr.js +652 -0
  176. package/dist/ok-qty-stepper.js +212 -0
  177. package/dist/ok-range-dual.js +280 -0
  178. package/dist/ok-rating.js +199 -0
  179. package/dist/ok-receipt.js +183 -0
  180. package/dist/ok-reveal.js +94 -0
  181. package/dist/ok-rich-text.js +538 -0
  182. package/dist/ok-scheduler.js +518 -0
  183. package/dist/ok-select-card.js +231 -0
  184. package/dist/ok-signature.js +267 -0
  185. package/dist/ok-skeleton.js +345 -0
  186. package/dist/ok-sparkline.js +150 -0
  187. package/dist/ok-split-button.js +251 -0
  188. package/dist/ok-splitter.js +289 -0
  189. package/dist/ok-stat.js +77 -0
  190. package/dist/ok-status-dot.js +163 -0
  191. package/dist/ok-status-pill.js +123 -0
  192. package/dist/ok-stepper.js +299 -0
  193. package/dist/ok-store.js +83 -0
  194. package/dist/ok-tag-input.js +358 -0
  195. package/dist/ok-testimonial.js +136 -0
  196. package/dist/ok-time-picker.js +472 -0
  197. package/dist/ok-timeline.js +251 -0
  198. package/dist/ok-tree.js +266 -0
  199. package/dist/ok-video.js +362 -0
  200. package/dist/ok-widget-board.js +265 -0
  201. package/dist/ok-wizard.js +153 -0
  202. package/dist/outfitkit.js +96 -0
  203. package/dist/shared/anchor.js +14 -0
  204. package/dist/store/controller.d.ts +17 -0
  205. package/dist/store/idb.d.ts +16 -0
  206. package/dist/store/store.d.ts +39 -0
  207. package/dist/store-controller.js +31 -0
  208. package/dist/store.js +182 -0
  209. package/dist/theme.example.css +70 -0
  210. package/package.json +147 -0
@@ -0,0 +1,45 @@
1
+ import { LitElement } from 'lit';
2
+ export interface OkAudioLabels {
3
+ /** aria-label del botón cuando está pausado (acción: reproducir). */
4
+ play: string;
5
+ /** aria-label del botón cuando reproduce (acción: pausar). */
6
+ pause: string;
7
+ /** aria-label del botón de mute cuando hay sonido (acción: silenciar). */
8
+ mute: string;
9
+ /** aria-label del botón de mute cuando está silenciado (acción: activar sonido). */
10
+ unmute: string;
11
+ /** aria-label del slider de volumen. */
12
+ volume: string;
13
+ }
14
+ export declare class OkAudio extends LitElement {
15
+ static styles: import("lit").CSSResult;
16
+ /** URL del audio a reproducir. */
17
+ src: string;
18
+ /** Título opcional mostrado sobre los controles. */
19
+ title: string;
20
+ /** Textos i18n (parcial; se mezclan sobre los defaults en inglés). */
21
+ labels: Partial<OkAudioLabels>;
22
+ private get t();
23
+ private playing;
24
+ private current;
25
+ private duration;
26
+ private volume;
27
+ private muted;
28
+ private audioEl;
29
+ private togglePlay;
30
+ private onPlay;
31
+ private onPause;
32
+ private onEnded;
33
+ private onTimeUpdate;
34
+ private onLoadedMeta;
35
+ private seek;
36
+ private onVolume;
37
+ private toggleMute;
38
+ private fmt;
39
+ render(): unknown;
40
+ }
41
+ declare global {
42
+ interface HTMLElementTagNameMap {
43
+ 'ok-audio': OkAudio;
44
+ }
45
+ }
@@ -0,0 +1,36 @@
1
+ import { LitElement } from 'lit';
2
+ export type OkAvatarSize = 'xs' | 'sm' | 'md' | 'lg';
3
+ export type OkAvatarShape = 'circle' | 'rounded';
4
+ export type OkAvatarTone = 'primary' | 'auto';
5
+ export type OkAvatarStatus = 'online' | 'offline' | 'busy';
6
+ export declare class OkAvatar extends LitElement {
7
+ static styles: import("lit").CSSResult;
8
+ /** Nombre completo; deriva las iniciales (1ª letra de las dos primeras palabras). */
9
+ name: string;
10
+ /** Email: fallback para las iniciales y para el title. */
11
+ email?: string;
12
+ /** URL de imagen; si carga sustituye a las iniciales (vuelve a iniciales si falla). */
13
+ src?: string;
14
+ /** Tamaño predefinido (o usa --ok-avatar-size para tamaño libre). */
15
+ size: OkAvatarSize;
16
+ /** Forma: círculo o esquinas redondeadas. */
17
+ shape: OkAvatarShape;
18
+ /** Color: primary fijo o derivado estable por hash del nombre (útil en listados). */
19
+ tone: OkAvatarTone;
20
+ /** Punto de estado opcional. */
21
+ status?: OkAvatarStatus;
22
+ /** Si se indica, el avatar se envuelve en un <a href>. */
23
+ href?: string;
24
+ /** La imagen falló al cargar → se vuelve a las iniciales. */
25
+ private imgFailed;
26
+ private initials;
27
+ private autoHue;
28
+ protected willUpdate(changed: Map<PropertyKey, unknown>): void;
29
+ private onImgError;
30
+ render(): unknown;
31
+ }
32
+ declare global {
33
+ interface HTMLElementTagNameMap {
34
+ 'ok-avatar': OkAvatar;
35
+ }
36
+ }
@@ -0,0 +1,38 @@
1
+ import { LitElement } from 'lit';
2
+ /** Tonos de color para un avatar (afecta solo al fondo cuando no hay imagen). */
3
+ export type OkAvatarTone = 'neutral' | 'brand' | 'success' | 'warning' | 'danger' | 'info';
4
+ /** Tamaños del stack (espejo del ux-avatar original). */
5
+ export type OkAvatarGroupSize = 'xs' | 'sm' | 'md' | 'lg';
6
+ /** Descriptor declarativo de un avatar dentro del grupo. */
7
+ export interface OkAvatarItem {
8
+ /** URL de imagen; si falta se muestran las iniciales. */
9
+ src?: string;
10
+ /** Iniciales (1-3 chars) cuando no hay imagen. */
11
+ initials?: string;
12
+ /** Tono de fondo cuando se pintan iniciales. */
13
+ tone?: OkAvatarTone;
14
+ /** Texto accesible (title/alt). Por defecto las iniciales. */
15
+ label?: string;
16
+ }
17
+ export declare class OkAvatarGroup extends LitElement {
18
+ static styles: import("lit").CSSResult;
19
+ /** Lista declarativa de avatares. */
20
+ avatars: OkAvatarItem[];
21
+ /** Máximo de avatares visibles antes de colapsar en "+N". 0 = sin límite. */
22
+ max: number;
23
+ /** Tamaño del stack. */
24
+ size: OkAvatarGroupSize;
25
+ /** Solape en px entre avatares (margen-izq negativo). Por defecto según tamaño. */
26
+ overlap?: number;
27
+ /** Métricas por tamaño: [diámetro, font-size, solape por defecto]. */
28
+ private static readonly SIZES;
29
+ /** Devuelve las iniciales normalizadas (máx 3 chars, mayúsculas). */
30
+ private initialsOf;
31
+ private renderAvatar;
32
+ render(): unknown;
33
+ }
34
+ declare global {
35
+ interface HTMLElementTagNameMap {
36
+ 'ok-avatar-group': OkAvatarGroup;
37
+ }
38
+ }
@@ -0,0 +1,36 @@
1
+ import { LitElement } from 'lit';
2
+ /** Variante de color semántica predefinida para una barra. */
3
+ export type BarListColor = 'brand' | 'leaf' | 'warn' | 'info' | 'danger';
4
+ /** Formato de presentación del valor numérico. */
5
+ export type BarListValueFormat = 'number' | 'compact' | 'currency' | 'percent';
6
+ /** Un ítem de la lista de barras. */
7
+ export interface BarListItem {
8
+ /** Texto de la fila (se trunca con ellipsis si no cabe). */
9
+ label: string;
10
+ /** Valor numérico; determina el ancho del relleno y el texto del valor. */
11
+ value: number;
12
+ /** Variante semántica o color CSS literal del relleno (def 'brand'). */
13
+ color?: BarListColor | string;
14
+ }
15
+ export declare class OkBarList extends LitElement {
16
+ static styles: import("lit").CSSResult;
17
+ /** Lista de ítems a representar (se asigna como propiedad desde JS). */
18
+ items: BarListItem[];
19
+ /** Tope de la escala; si no se da, se usa el valor máximo del dataset. */
20
+ max?: number;
21
+ /** Formato de presentación del valor. */
22
+ valueFormat: BarListValueFormat;
23
+ /** Locale para Intl.NumberFormat (def: navegador). */
24
+ locale: string;
25
+ /** Divisa ISO 4217 cuando value-format='currency'. */
26
+ currency: string;
27
+ private get scaleMax();
28
+ private fillColor;
29
+ private formatValue;
30
+ render(): unknown;
31
+ }
32
+ declare global {
33
+ interface HTMLElementTagNameMap {
34
+ 'ok-bar-list': OkBarList;
35
+ }
36
+ }
@@ -0,0 +1,17 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class OkBento extends LitElement {
3
+ static styles: import("lit").CSSResult;
4
+ /** Nº de columnas de la rejilla en escritorio (def 6). */
5
+ cols: number;
6
+ /** Nº de columnas en tablet (≤900px, def 4). */
7
+ colsMd: number;
8
+ /** Separación entre celdas (CSS length, def 1rem). */
9
+ gap: string;
10
+ updated(): void;
11
+ render(): unknown;
12
+ }
13
+ declare global {
14
+ interface HTMLElementTagNameMap {
15
+ 'ok-bento': OkBento;
16
+ }
17
+ }
@@ -0,0 +1,34 @@
1
+ import { LitElement } from 'lit';
2
+ type Tone = 'default' | 'primary' | 'success' | 'warning' | 'danger';
3
+ export declare class OkBentoItem extends LitElement {
4
+ static styles: import("lit").CSSResult;
5
+ /** Columnas que ocupa en la rejilla (def 2). */
6
+ cols: number;
7
+ /** Filas que ocupa (def 1). */
8
+ rows: number;
9
+ /** Tono de acento. */
10
+ tone: Tone;
11
+ /** Cristal esmerilado. */
12
+ glass: boolean;
13
+ /** Eleva al hover (y cursor pointer / link si hay href). */
14
+ interactive: boolean;
15
+ /** Si se pasa, toda la celda es un enlace. */
16
+ href?: string;
17
+ /** Icono (nombre iconify, p.ej. "lucide:zap"). Para otro icono usa slot="icon". */
18
+ icon?: string;
19
+ /** Eyebrow opcional sobre el título. */
20
+ eyebrow?: string;
21
+ /** Título opcional. */
22
+ heading?: string;
23
+ updated(): void;
24
+ /** "lucide:box" → "https://api.iconify.design/lucide/box.svg". */
25
+ private iconUrl;
26
+ private body;
27
+ render(): unknown;
28
+ }
29
+ declare global {
30
+ interface HTMLElementTagNameMap {
31
+ 'ok-bento-item': OkBentoItem;
32
+ }
33
+ }
34
+ export {};
@@ -0,0 +1,46 @@
1
+ import { LitElement } from 'lit';
2
+ /** Operador interno usado por la máquina de estados. */
3
+ export type OkCalculatorOp = '+' | '-' | '*' | '/' | '';
4
+ /** Detalle del evento ok-input emitido en cada pulsación de tecla. */
5
+ export interface OkCalculatorInputDetail {
6
+ /** Tecla pulsada tal cual aparece en el teclado (dígito, operador, '=', 'AC', '⌫', '.'). */
7
+ key: string;
8
+ }
9
+ /** Detalle del evento ok-change emitido cuando cambia el valor mostrado. */
10
+ export interface OkCalculatorChangeDetail {
11
+ /** Valor actual del display. */
12
+ value: string;
13
+ }
14
+ export declare class OkCalculator extends LitElement {
15
+ static styles: import("lit").CSSResult;
16
+ /**
17
+ * Valor mostrado. Si se setea desde fuera actúa como modo controlado (opcional);
18
+ * si no, el componente gestiona su propio estado interno.
19
+ */
20
+ value?: string;
21
+ private _display;
22
+ private _prev;
23
+ private _op;
24
+ private _stored;
25
+ private _justEvaluated;
26
+ private get _shownValue();
27
+ render(): unknown;
28
+ private _renderKey;
29
+ private _ariaForKey;
30
+ private _onKey;
31
+ private get _cur();
32
+ private _inputDigit;
33
+ private _inputDot;
34
+ private _applyOperator;
35
+ private _evaluate;
36
+ private _clear;
37
+ private _backspace;
38
+ private _setDisplay;
39
+ private _emitInput;
40
+ private _emitChange;
41
+ }
42
+ declare global {
43
+ interface HTMLElementTagNameMap {
44
+ 'ok-calculator': OkCalculator;
45
+ }
46
+ }
@@ -0,0 +1,63 @@
1
+ import { LitElement } from 'lit';
2
+ export interface OkCalendarEvent {
3
+ /** Identificador único del evento. */
4
+ id: string;
5
+ /** Fecha del evento en `YYYY-MM-DD` o ISO (se normaliza al día local). */
6
+ date: string;
7
+ /** Texto visible del evento (chip / fila de agenda). */
8
+ title: string;
9
+ /** Color del chip; cadena CSS (hex, var, etc.). Por defecto, el primario. */
10
+ color?: string;
11
+ }
12
+ export type OkCalendarView = 'month' | 'agenda';
13
+ export interface OkCalendarLabels {
14
+ /** Etiqueta del botón de vista Mes. */
15
+ month: string;
16
+ /** Etiqueta del botón de vista Agenda. */
17
+ agenda: string;
18
+ /** Indicador de eventos extra por día; `{n}` = cantidad. */
19
+ more: string;
20
+ /** Texto cuando la agenda no tiene próximos eventos. */
21
+ agendaEmpty: string;
22
+ /** aria-label del botón "mes anterior". */
23
+ prevMonth: string;
24
+ /** aria-label del botón "mes siguiente". */
25
+ nextMonth: string;
26
+ }
27
+ export declare class OkCalendar extends LitElement {
28
+ static styles: import("lit").CSSResult;
29
+ /** Eventos a mostrar; el consumidor los pasa por propiedad. */
30
+ events: OkCalendarEvent[];
31
+ /** Día seleccionado (`YYYY-MM-DD`). */
32
+ value: string;
33
+ /** Vista actual: 'month' | 'agenda'. */
34
+ view: OkCalendarView;
35
+ /** Máximo de chips de evento por celda antes de mostrar "+X más". */
36
+ maxPerDay: number;
37
+ /** Locale BCP-47 para formatear meses/días/fechas (Intl). Default 'en-US'. */
38
+ locale: string;
39
+ /** Textos humanos sobreescribibles (i18n). Default INGLÉS. */
40
+ labels: Partial<OkCalendarLabels>;
41
+ /** Textos efectivos: defaults INGLÉS mezclados con los del consumidor. */
42
+ private get t();
43
+ private cursor;
44
+ private seeded;
45
+ private weekdays;
46
+ private dayKey;
47
+ private parseDate;
48
+ private indexEvents;
49
+ private navMonth;
50
+ private setView;
51
+ private selectDay;
52
+ private clickEvent;
53
+ private monthLabel;
54
+ private buildDays;
55
+ private renderMonth;
56
+ private renderAgenda;
57
+ render(): unknown;
58
+ }
59
+ declare global {
60
+ interface HTMLElementTagNameMap {
61
+ 'ok-calendar': OkCalendar;
62
+ }
63
+ }
@@ -0,0 +1,48 @@
1
+ import { LitElement } from 'lit';
2
+ export interface OkCarouselLabels {
3
+ /** aria-label de la flecha anterior. */
4
+ previous: string;
5
+ /** aria-label de la flecha siguiente. */
6
+ next: string;
7
+ /** aria-label de cada punto indicador. `{n}` se reemplaza por el número de slide. */
8
+ goToSlide: string;
9
+ }
10
+ export declare class OkCarousel extends LitElement {
11
+ static styles: import("lit").CSSResult;
12
+ /** Slides aportados por datos (texto/HTML). Si está vacío, se usa el `<slot>`. */
13
+ slides: string[];
14
+ /** Índice del slide activo (controlable desde fuera). */
15
+ index: number;
16
+ /** Si > 0, avanza automáticamente cada N milisegundos. */
17
+ autoplay: number;
18
+ /** Permite saltar del último al primero (y viceversa). */
19
+ loop: boolean;
20
+ /** Textos i18n (parcial; se mezclan sobre los defaults en inglés). */
21
+ labels: Partial<OkCarouselLabels>;
22
+ private get t();
23
+ private slottedCount;
24
+ private trackEl;
25
+ private autoplayTimer?;
26
+ private dragStartX;
27
+ private dragging;
28
+ private dragDelta;
29
+ disconnectedCallback(): void;
30
+ updated(changed: Map<string, unknown>): void;
31
+ private get count();
32
+ private onSlotChange;
33
+ private goTo;
34
+ private next;
35
+ private prev;
36
+ private restartAutoplay;
37
+ private stopAutoplay;
38
+ private onPointerDown;
39
+ private onPointerMove;
40
+ private onPointerUp;
41
+ render(): unknown;
42
+ private unsafeSlide;
43
+ }
44
+ declare global {
45
+ interface HTMLElementTagNameMap {
46
+ 'ok-carousel': OkCarousel;
47
+ }
48
+ }
@@ -0,0 +1,55 @@
1
+ import { LitElement } from 'lit';
2
+ /** Una serie de datos del gráfico. */
3
+ export interface OkChartSeries {
4
+ /** Nombre (para la leyenda). */
5
+ name?: string;
6
+ /** Color del trazo/relleno/barra; cae a la cadena de tokens si se omite. */
7
+ color?: string;
8
+ /** Valores numéricos de la serie. */
9
+ data: number[];
10
+ /** En línea/área: dibuja la serie como trazo punteado (proyección). */
11
+ dashed?: boolean;
12
+ /** En barras: pinta esta serie/columna atenuada (variante mute). */
13
+ mute?: boolean;
14
+ }
15
+ export type OkChartType = 'line' | 'area' | 'bar';
16
+ export declare class OkChart extends LitElement {
17
+ static styles: import("lit").CSSResult;
18
+ /** Tipo de gráfico. */
19
+ type: OkChartType;
20
+ /** Series de datos. */
21
+ series: OkChartSeries[];
22
+ /** Etiquetas del eje X (debajo). */
23
+ labels: string[];
24
+ /** Etiquetas del eje de valor (izquierda), de arriba a abajo. */
25
+ axis: string[];
26
+ /** Pinta las líneas de rejilla horizontales. */
27
+ gridlines: boolean;
28
+ /** Alto del SVG en px. */
29
+ height: number;
30
+ /** Punto + etiqueta de valor al final de la primera serie (líneas). */
31
+ endpoint: boolean;
32
+ /** Texto de la etiqueta del endpoint; si se omite usa el último dato. */
33
+ endpointLabel: string;
34
+ private readonly vbWidth;
35
+ private get vbHeight();
36
+ private get pad();
37
+ private get plotW();
38
+ private get plotH();
39
+ private get bounds();
40
+ private seriesColor;
41
+ private xAt;
42
+ private yAt;
43
+ private renderGrid;
44
+ private renderValueAxis;
45
+ private renderXLabels;
46
+ private renderLines;
47
+ private renderBars;
48
+ private renderLegend;
49
+ render(): unknown;
50
+ }
51
+ declare global {
52
+ interface HTMLElementTagNameMap {
53
+ 'ok-chart': OkChart;
54
+ }
55
+ }
@@ -0,0 +1,54 @@
1
+ import { LitElement } from 'lit';
2
+ export interface OkChatMessage {
3
+ /** Identificador único del mensaje (clave de render). */
4
+ id: string;
5
+ /** Texto del mensaje. */
6
+ text: string;
7
+ /** Autor visible (solo se muestra en mensajes ajenos). */
8
+ author?: string;
9
+ /** Hora del mensaje (texto ya formateado, p.ej. '14:32'). */
10
+ time?: string;
11
+ /** Si es `true`, el mensaje es del usuario actual (alineado a la derecha). */
12
+ self?: boolean;
13
+ /** Avatar: URL de imagen o iniciales (texto corto). Solo en mensajes ajenos. */
14
+ avatar?: string;
15
+ }
16
+ /** Textos humanos de ok-chat (i18n; default inglés, override vía prop `labels`). */
17
+ export interface OkChatLabels {
18
+ /** Placeholder del compositor. */
19
+ composerPlaceholder: string;
20
+ /** aria-label del botón de enviar. */
21
+ send: string;
22
+ }
23
+ export declare class OkChat extends LitElement {
24
+ static styles: import("lit").CSSResult;
25
+ /** Mensajes del hilo (orden cronológico ascendente). */
26
+ messages: OkChatMessage[];
27
+ /** Texto de la cabecera; si está vacío no se dibuja cabecera. */
28
+ title: string;
29
+ /** Placeholder del compositor. Si vacío, se deriva de `labels.composerPlaceholder`. */
30
+ placeholder: string;
31
+ /** Si está activo, oculta el compositor (chat de solo lectura). */
32
+ readonly: boolean;
33
+ /** Overrides de textos humanos (i18n). Se fusionan sobre los defaults en inglés. */
34
+ labels: Partial<OkChatLabels>;
35
+ /** Textos efectivos (defaults inglés + overrides). */
36
+ private get t();
37
+ /** Placeholder efectivo: prop explícita o el de labels. */
38
+ private get effectivePlaceholder();
39
+ private logEl?;
40
+ private textareaEl?;
41
+ private isGroupStart;
42
+ private isGroupEnd;
43
+ private renderAvatar;
44
+ private renderMessage;
45
+ private send;
46
+ private onKeydown;
47
+ protected updated(changed: Map<string, unknown>): void;
48
+ render(): unknown;
49
+ }
50
+ declare global {
51
+ interface HTMLElementTagNameMap {
52
+ 'ok-chat': OkChat;
53
+ }
54
+ }
@@ -0,0 +1,69 @@
1
+ import { LitElement } from 'lit';
2
+ export interface OkCoachStep {
3
+ /** Selector CSS del elemento a destacar (spotlight). Si no resuelve, el bubble se centra. */
4
+ target: string;
5
+ /** Título del paso (negrita). */
6
+ title?: string;
7
+ /** Cuerpo descriptivo del paso. */
8
+ text?: string;
9
+ /**
10
+ * Lado preferido del bubble respecto al target: `top` | `bottom` | `left` | `right`.
11
+ * Default `bottom`. Igualmente se voltea si no cabe en el viewport (edge-aware).
12
+ */
13
+ placement?: OkCoachPlacement;
14
+ }
15
+ export type OkCoachPlacement = 'top' | 'bottom' | 'left' | 'right';
16
+ export interface OkCoachmarkLabels {
17
+ /** Botón anterior. */
18
+ prev: string;
19
+ /** Botón siguiente. */
20
+ next: string;
21
+ /** Botón del último paso (finaliza el tour). */
22
+ finish: string;
23
+ /** Botón saltar (cierra el tour). */
24
+ skip: string;
25
+ /** Plantilla de etiqueta de paso; `{n}` = actual (1-based), `{total}` = total. */
26
+ step: string;
27
+ }
28
+ export declare class OkCoachmark extends LitElement {
29
+ static styles: import("lit").CSSResult;
30
+ /** Pasos del tour. */
31
+ steps: OkCoachStep[];
32
+ /** Índice del paso activo (0-based). Reflejado para control externo. */
33
+ current: number;
34
+ /** Si el tour está abierto/visible. */
35
+ open: boolean;
36
+ /** Textos traducibles (merge sobre los defaults en inglés). */
37
+ labels: Partial<OkCoachmarkLabels>;
38
+ private rect;
39
+ private bubble;
40
+ private portalRoot;
41
+ private get t();
42
+ private get step();
43
+ private get isLast();
44
+ private readonly onReflow;
45
+ private readonly onKeydown;
46
+ disconnectedCallback(): void;
47
+ protected updated(changed: Map<string, unknown>): void;
48
+ private bind;
49
+ private unbind;
50
+ private ensurePortal;
51
+ private measure;
52
+ private computeBubble;
53
+ private emit;
54
+ private goTo;
55
+ private next;
56
+ private prev;
57
+ private finish;
58
+ private skip;
59
+ render(): unknown;
60
+ private scrimTemplate;
61
+ private spotTemplate;
62
+ private bubbleTemplate;
63
+ private overlayTemplate;
64
+ }
65
+ declare global {
66
+ interface HTMLElementTagNameMap {
67
+ 'ok-coachmark': OkCoachmark;
68
+ }
69
+ }
@@ -0,0 +1,28 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class OkCode extends LitElement {
3
+ static styles: import("lit").CSSResult;
4
+ /** Texto de código a mostrar. */
5
+ code: string;
6
+ /** Variante inline (pill dentro de texto) en vez de bloque. */
7
+ inline: boolean;
8
+ /** Etiqueta del lenguaje (solo informativa, no hay resaltado). */
9
+ language: string;
10
+ /** Muestra el botón de copiar (solo en variante bloque). */
11
+ copy: boolean;
12
+ /** Estado transitorio tras copiar (feedback visual). */
13
+ private copied;
14
+ private handleCopy;
15
+ render(): unknown;
16
+ }
17
+ /** Detalle del evento `ok-copy`. */
18
+ export interface OkCodeCopyDetail {
19
+ /** Código que se intentó copiar. */
20
+ code: string;
21
+ /** Si la copia al portapapeles tuvo éxito. */
22
+ ok: boolean;
23
+ }
24
+ declare global {
25
+ interface HTMLElementTagNameMap {
26
+ 'ok-code': OkCode;
27
+ }
28
+ }
@@ -0,0 +1,63 @@
1
+ import { LitElement } from 'lit';
2
+ export interface OkRgb {
3
+ /** Canal rojo (0–255). */
4
+ r: number;
5
+ /** Canal verde (0–255). */
6
+ g: number;
7
+ /** Canal azul (0–255). */
8
+ b: number;
9
+ }
10
+ export interface OkColorPickerLabels {
11
+ /** aria-label del botón swatch que abre el panel. */
12
+ triggerLabel: string;
13
+ /** aria-label del panel/popover. */
14
+ panelLabel: string;
15
+ /** aria-label del input de valor hexadecimal. */
16
+ hexLabel: string;
17
+ }
18
+ export declare class OkColorPicker extends LitElement {
19
+ static styles: import("lit").CSSResult;
20
+ /** Color actual en hex (#rrggbb). */
21
+ value: string;
22
+ /** Swatches preset (array de hex). Si no se pasa, se usa una paleta razonable. */
23
+ presets: string[];
24
+ /** Textos i18n (default inglés); pasa solo las claves que quieras sobreescribir. */
25
+ labels: Partial<OkColorPickerLabels>;
26
+ private get t();
27
+ private open;
28
+ private h;
29
+ private s;
30
+ private v;
31
+ private hexInput;
32
+ private hexInvalid;
33
+ private dragging;
34
+ private syncFromValue;
35
+ connectedCallback(): void;
36
+ willUpdate(changed: Map<string, unknown>): void;
37
+ disconnectedCallback(): void;
38
+ private readonly onDocClick;
39
+ private readonly onKeydown;
40
+ private bindGlobal;
41
+ private unbindGlobal;
42
+ private toggle;
43
+ private openPanel;
44
+ private close;
45
+ private commitFromHsv;
46
+ private emit;
47
+ private updateSvFromPointer;
48
+ private updateHueFromPointer;
49
+ private readonly onPointerMove;
50
+ private readonly onPointerUp;
51
+ private bindDrag;
52
+ private unbindDrag;
53
+ private onSvPointerDown;
54
+ private onHuePointerDown;
55
+ private onHexInput;
56
+ private selectPreset;
57
+ render(): unknown;
58
+ }
59
+ declare global {
60
+ interface HTMLElementTagNameMap {
61
+ 'ok-color-picker': OkColorPicker;
62
+ }
63
+ }