@erplora/outfitkit 0.1.19 → 0.1.21

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 (90) hide show
  1. package/README.md +5 -6
  2. package/dist/cdn.d.ts +0 -5
  3. package/dist/index.d.ts +2 -9
  4. package/dist/index.js +8 -11
  5. package/dist/ok-data-table.js +1 -1
  6. package/dist/ok-file-manager.js +1 -1
  7. package/dist/ok-lightbox.js +1 -1
  8. package/dist/outfitkit.bundle.js +3634 -5572
  9. package/dist/outfitkit.js +0 -5
  10. package/dist/shared/icons.js +3 -3
  11. package/dist/showcase/auth-login-saas-parity.test.d.ts +1 -0
  12. package/dist/showcase/component-catalog-completeness.test.d.ts +1 -0
  13. package/dist/showcase/current-page-contract.test.d.ts +1 -0
  14. package/dist/showcase/hub-access-dashboard-parity.test.d.ts +1 -0
  15. package/dist/showcase/hub-apps-billing-pages-parity.test.d.ts +1 -0
  16. package/dist/showcase/hub-employee-forms-parity.test.d.ts +1 -0
  17. package/dist/showcase/hub-shell-parity.test.d.ts +1 -0
  18. package/dist/showcase/hub-system-settings-shell-parity.test.d.ts +1 -0
  19. package/dist/showcase/hub-table-pages-parity.test.d.ts +1 -0
  20. package/dist/showcase/ionic-boundary.test.d.ts +1 -0
  21. package/dist/showcase/ionic-ios-default.test.d.ts +1 -0
  22. package/dist/showcase/module-appointments-parity.test.d.ts +1 -0
  23. package/dist/showcase/module-backup-pages-parity.test.d.ts +1 -0
  24. package/dist/showcase/module-cart-checkout-pages-parity.test.d.ts +1 -0
  25. package/dist/showcase/module-cash-register-parity.test.d.ts +1 -0
  26. package/dist/showcase/module-customers-fields-parity.test.d.ts +1 -0
  27. package/dist/showcase/module-customers-groups-parity.test.d.ts +1 -0
  28. package/dist/showcase/module-customers-list-parity.test.d.ts +1 -0
  29. package/dist/showcase/module-customers-tags-parity.test.d.ts +1 -0
  30. package/dist/showcase/module-inventory-categories-parity.test.d.ts +1 -0
  31. package/dist/showcase/module-inventory-dashboard-parity.test.d.ts +1 -0
  32. package/dist/showcase/module-inventory-products-parity.test.d.ts +1 -0
  33. package/dist/showcase/module-invoice-list-parity.test.d.ts +1 -0
  34. package/dist/showcase/module-invoice-series-list-parity.test.d.ts +1 -0
  35. package/dist/showcase/module-invoice-settings-parity.test.d.ts +1 -0
  36. package/dist/showcase/module-kitchen-pages-parity.test.d.ts +1 -0
  37. package/dist/showcase/module-online-booking-pages-parity.test.d.ts +1 -0
  38. package/dist/showcase/module-pages-data.test.d.ts +1 -0
  39. package/dist/showcase/module-payment-gateways-parity.test.d.ts +1 -0
  40. package/dist/showcase/module-payments-list-parity.test.d.ts +1 -0
  41. package/dist/showcase/module-pricing-lists-parity.test.d.ts +1 -0
  42. package/dist/showcase/module-printing-pages-parity.test.d.ts +1 -0
  43. package/dist/showcase/module-reservations-availability-parity.test.d.ts +1 -0
  44. package/dist/showcase/module-reservations-list-parity.test.d.ts +1 -0
  45. package/dist/showcase/module-reservations-waitlist-parity.test.d.ts +1 -0
  46. package/dist/showcase/module-sales-list-parity.test.d.ts +1 -0
  47. package/dist/showcase/module-sales-pos-parity.test.d.ts +1 -0
  48. package/dist/showcase/module-schedules-hours-parity.test.d.ts +1 -0
  49. package/dist/showcase/module-services-parity.test.d.ts +1 -0
  50. package/dist/showcase/module-staff-members-parity.test.d.ts +1 -0
  51. package/dist/showcase/module-staff-roles-parity.test.d.ts +1 -0
  52. package/dist/showcase/module-staff-schedules-parity.test.d.ts +1 -0
  53. package/dist/showcase/module-staff-time-off-parity.test.d.ts +1 -0
  54. package/dist/showcase/module-tables-pages-parity.test.d.ts +1 -0
  55. package/dist/showcase/module-tasks-list-parity.test.d.ts +1 -0
  56. package/dist/showcase/module-tasks-projects-parity.test.d.ts +1 -0
  57. package/dist/showcase/module-taxes-pages-parity.test.d.ts +1 -0
  58. package/dist/showcase/module-tickets-list-parity.test.d.ts +1 -0
  59. package/dist/showcase/module-tickets-sla-parity.test.d.ts +1 -0
  60. package/dist/showcase/module-verifactu-pages-parity.test.d.ts +1 -0
  61. package/dist/showcase/module-whatsapp-inbox-pages-parity.test.d.ts +1 -0
  62. package/dist/showcase/page-catalog.test.d.ts +1 -0
  63. package/dist/showcase/page-navigation.test.d.ts +1 -0
  64. package/dist/showcase/saas-account-help-pages-parity.test.d.ts +1 -0
  65. package/dist/showcase/saas-auth-account-pages-parity.test.d.ts +1 -0
  66. package/dist/showcase/saas-billing-table-pages-parity.test.d.ts +1 -0
  67. package/dist/showcase/saas-dashboard-shell-parity.test.d.ts +1 -0
  68. package/dist/showcase/saas-developer-pages-parity.test.d.ts +1 -0
  69. package/dist/showcase/saas-developer-table-pages-parity.test.d.ts +1 -0
  70. package/dist/showcase/saas-hub-detail-pages-parity.test.d.ts +1 -0
  71. package/dist/showcase/saas-hubs-table-pages-parity.test.d.ts +1 -0
  72. package/dist/showcase/saas-operations-marketplace-pages-parity.test.d.ts +1 -0
  73. package/dist/showcase/saas-organizations-page-parity.test.d.ts +1 -0
  74. package/dist/showcase/saas-organizations-users-detail-pages-parity.test.d.ts +1 -0
  75. package/dist/showcase/saas-public-error-pages-parity.test.d.ts +1 -0
  76. package/dist/tabbar/tabbar.d.ts +69 -0
  77. package/dist/tabbar/tabbar.test.d.ts +1 -0
  78. package/dist/tabbar.css +72 -0
  79. package/dist/tabbar.js +76 -0
  80. package/package.json +7 -6
  81. package/dist/components/ok-date-picker/ok-date-picker.d.ts +0 -81
  82. package/dist/components/ok-drawer/ok-drawer.d.ts +0 -56
  83. package/dist/components/ok-range-dual/ok-range-dual.d.ts +0 -38
  84. package/dist/components/ok-skeleton/ok-skeleton.d.ts +0 -40
  85. package/dist/components/ok-time-picker/ok-time-picker.d.ts +0 -50
  86. package/dist/ok-date-picker.js +0 -737
  87. package/dist/ok-drawer.js +0 -358
  88. package/dist/ok-range-dual.js +0 -280
  89. package/dist/ok-skeleton.js +0 -345
  90. package/dist/ok-time-picker.js +0 -472
@@ -1,345 +0,0 @@
1
- import { LitElement, css, html } from "lit";
2
- import { property } from "lit/decorators.js";
3
- import { define } from "./define.js";
4
- var __defProp = Object.defineProperty;
5
- var __decorateClass = (decorators, target, key, kind) => {
6
- var result = void 0;
7
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
8
- if (decorator = decorators[i])
9
- result = decorator(target, key, result) || result;
10
- if (result) __defProp(target, key, result);
11
- return result;
12
- };
13
- class OkSkeleton extends LitElement {
14
- constructor() {
15
- super(...arguments);
16
- this.variant = "text";
17
- this.lines = 1;
18
- this.preset = "none";
19
- this.rows = 5;
20
- this.cols = 4;
21
- }
22
- static {
23
- this.styles = css`
24
- :host {
25
- display: block;
26
- width: 100%;
27
- /* Tokens propios estilo Ionic (overridables): --ok-* → --ion-* → hex. */
28
- --skel-from: var(--ok-skeleton-base, var(--ion-color-step-100, #e9edf2));
29
- --skel-to: var(--ok-skeleton-highlight, var(--ion-color-step-200, #d3dae2));
30
- --surface: var(--ok-surface, var(--ion-card-background, var(--ion-background-color, #fff)));
31
- --line: var(--ok-border-color, var(--ion-border-color, #e2e8f0));
32
- --radius-sm: var(--ok-radius-sm, 4px);
33
- --radius-md: var(--ok-radius-md, 8px);
34
- --radius-lg: var(--ok-radius-lg, 12px);
35
- --radius-xl: var(--ok-radius-xl, 16px);
36
- --radius-pill: var(--ok-radius-pill, 999px);
37
- --speed: var(--ok-skeleton-speed, 1.4s);
38
- }
39
-
40
- /* Bloque base con shimmer horizontal. */
41
- .skel {
42
- display: block;
43
- background: linear-gradient(
44
- 90deg,
45
- var(--skel-from) 0%,
46
- var(--skel-to) 50%,
47
- var(--skel-from) 100%
48
- );
49
- background-size: 200% 100%;
50
- animation: skel-shimmer var(--speed) linear infinite;
51
- border-radius: var(--radius-sm);
52
- }
53
-
54
- @keyframes skel-shimmer {
55
- 0% {
56
- background-position: 200% 0;
57
- }
58
- 100% {
59
- background-position: -200% 0;
60
- }
61
- }
62
-
63
- /* Variantes de forma. */
64
- .v-text {
65
- height: 12px;
66
- width: 100%;
67
- border-radius: 4px;
68
- }
69
- .v-title {
70
- height: 18px;
71
- width: 60%;
72
- border-radius: 4px;
73
- }
74
- .v-circle {
75
- border-radius: 50%;
76
- aspect-ratio: 1;
77
- }
78
- .v-avatar {
79
- width: 36px;
80
- height: 36px;
81
- border-radius: 50%;
82
- }
83
- .v-button {
84
- height: 32px;
85
- width: 96px;
86
- border-radius: var(--radius-md);
87
- }
88
- .v-chip {
89
- height: 22px;
90
- width: 72px;
91
- border-radius: var(--radius-pill);
92
- }
93
- .v-card {
94
- height: 120px;
95
- border-radius: var(--radius-lg);
96
- }
97
- .v-row {
98
- height: 44px;
99
- border-radius: var(--radius-md);
100
- }
101
-
102
- /* Stack de líneas de texto con anchos decrecientes (92/78/60%). */
103
- .stack {
104
- display: flex;
105
- flex-direction: column;
106
- gap: 6px;
107
- }
108
- .stack .line:nth-child(2) {
109
- width: 92%;
110
- }
111
- .stack .line:nth-child(3) {
112
- width: 78%;
113
- }
114
- .stack .line:nth-child(n + 4) {
115
- width: 60%;
116
- }
117
-
118
- /* Preset: card. */
119
- .preset-card {
120
- background: var(--surface);
121
- border: 1px solid var(--line);
122
- border-radius: var(--radius-xl);
123
- padding: 16px;
124
- display: flex;
125
- flex-direction: column;
126
- gap: 12px;
127
- box-sizing: border-box;
128
- }
129
- .preset-card .head {
130
- display: flex;
131
- align-items: center;
132
- gap: 12px;
133
- }
134
- .preset-card .head .meta {
135
- flex: 1;
136
- display: flex;
137
- flex-direction: column;
138
- gap: 6px;
139
- }
140
-
141
- /* Preset: table (replica la rejilla de ok-data-table). */
142
- .preset-table {
143
- background: var(--surface);
144
- border: 1px solid var(--line);
145
- border-radius: var(--radius-xl);
146
- padding: 6px 14px;
147
- box-sizing: border-box;
148
- }
149
- .preset-table .trow {
150
- display: grid;
151
- gap: 16px;
152
- padding: 14px 0;
153
- border-bottom: 1px solid var(--line);
154
- align-items: center;
155
- }
156
- .preset-table .trow:last-child {
157
- border-bottom: none;
158
- }
159
- .preset-table .trow.head .skel {
160
- opacity: 0.55;
161
- height: 10px;
162
- }
163
-
164
- /* Preset: chart (barras con shimmer vertical). */
165
- .preset-chart {
166
- background: var(--surface);
167
- border: 1px solid var(--line);
168
- border-radius: var(--radius-xl);
169
- padding: 16px;
170
- height: 180px;
171
- display: flex;
172
- align-items: flex-end;
173
- gap: 6px;
174
- box-sizing: border-box;
175
- }
176
- .preset-chart .bar {
177
- flex: 1;
178
- border-radius: var(--radius-sm);
179
- background: linear-gradient(
180
- 180deg,
181
- var(--skel-from) 0%,
182
- var(--skel-to) 50%,
183
- var(--skel-from) 100%
184
- );
185
- background-size: 100% 200%;
186
- animation: skel-shimmer-v var(--speed) linear infinite;
187
- }
188
-
189
- @keyframes skel-shimmer-v {
190
- 0% {
191
- background-position: 0 200%;
192
- }
193
- 100% {
194
- background-position: 0 -200%;
195
- }
196
- }
197
-
198
- /* Accesibilidad: sin movimiento si el usuario lo pide. */
199
- @media (prefers-reduced-motion: reduce) {
200
- .skel,
201
- .preset-chart .bar {
202
- animation: none;
203
- }
204
- }
205
- `;
206
- }
207
- /** Estilos inline (width/height/radius) aplicados al bloque. */
208
- blockStyle() {
209
- const parts = [];
210
- if (this.width) parts.push(`width:${this.width}`);
211
- if (this.height) parts.push(`height:${this.height}`);
212
- if (this.radius) parts.push(`border-radius:${this.radius}`);
213
- return parts.join(";");
214
- }
215
- /** Bloque base con la clase de variante. */
216
- renderBlock(variant = this.variant) {
217
- return html`
218
- <div
219
- class="skel v-${variant}"
220
- style=${this.blockStyle()}
221
- part="block"
222
- ></div>
223
- `;
224
- }
225
- /** Stack de líneas con anchos decrecientes (la 1ª al 100%). */
226
- renderStack() {
227
- const n = Math.max(1, this.lines);
228
- const cls = this.variant === "title" ? "v-title" : "v-text";
229
- return html`
230
- <div class="stack">
231
- ${Array.from(
232
- { length: n },
233
- () => html`<div class="skel line ${cls}" part="line"></div>`
234
- )}
235
- </div>
236
- `;
237
- }
238
- /** Preset card: avatar + dos líneas de meta + bloque de cuerpo + acciones. */
239
- renderPresetCard() {
240
- return html`
241
- <div class="preset-card" part="card">
242
- <div class="head">
243
- <div class="skel v-avatar"></div>
244
- <div class="meta">
245
- <div class="skel v-title" style="width:50%"></div>
246
- <div class="skel v-text" style="width:80%"></div>
247
- </div>
248
- </div>
249
- <div class="skel v-card" style="height:80px"></div>
250
- <div class="head" style="justify-content:flex-end">
251
- <div class="skel v-button"></div>
252
- <div class="skel v-button" style="width:72px"></div>
253
- </div>
254
- </div>
255
- `;
256
- }
257
- /** Preset table: replica la rejilla de ok-data-table (cabecera + filas). */
258
- renderPresetTable() {
259
- const cols = Math.max(1, this.cols);
260
- const rows = Math.max(1, this.rows);
261
- const template = Array.from({ length: cols }, (_, i) => {
262
- if (i === 0) return "1.6fr";
263
- if (i === cols - 1) return "0.6fr";
264
- return "1fr";
265
- }).join(" ");
266
- const rowStyle = `grid-template-columns:${template}`;
267
- const cell = () => html`<div class="skel v-text"></div>`;
268
- return html`
269
- <div class="preset-table" part="table">
270
- <div class="trow head" style=${rowStyle}>
271
- ${Array.from({ length: cols }, cell)}
272
- </div>
273
- ${Array.from(
274
- { length: rows },
275
- () => html`<div class="trow" style=${rowStyle}>
276
- ${Array.from({ length: cols }, cell)}
277
- </div>`
278
- )}
279
- </div>
280
- `;
281
- }
282
- /** Preset chart: barras con alturas pseudo-variadas. */
283
- renderPresetChart() {
284
- const n = Math.max(1, this.cols);
285
- const heights = [40, 70, 55, 90, 35, 65, 80, 50, 75, 45, 60, 85];
286
- return html`
287
- <div class="preset-chart" part="chart">
288
- ${Array.from(
289
- { length: n },
290
- (_, i) => html`<div
291
- class="bar"
292
- style="height:${heights[i % heights.length]}%"
293
- ></div>`
294
- )}
295
- </div>
296
- `;
297
- }
298
- render() {
299
- let content;
300
- switch (this.preset) {
301
- case "card":
302
- content = this.renderPresetCard();
303
- break;
304
- case "table":
305
- content = this.renderPresetTable();
306
- break;
307
- case "chart":
308
- content = this.renderPresetChart();
309
- break;
310
- default:
311
- content = this.lines > 1 ? this.renderStack() : this.renderBlock();
312
- }
313
- return html`
314
- <div role="status" aria-busy="true" aria-live="polite">${content}</div>
315
- `;
316
- }
317
- }
318
- __decorateClass([
319
- property()
320
- ], OkSkeleton.prototype, "variant");
321
- __decorateClass([
322
- property({ type: Number })
323
- ], OkSkeleton.prototype, "lines");
324
- __decorateClass([
325
- property()
326
- ], OkSkeleton.prototype, "width");
327
- __decorateClass([
328
- property()
329
- ], OkSkeleton.prototype, "height");
330
- __decorateClass([
331
- property()
332
- ], OkSkeleton.prototype, "radius");
333
- __decorateClass([
334
- property()
335
- ], OkSkeleton.prototype, "preset");
336
- __decorateClass([
337
- property({ type: Number })
338
- ], OkSkeleton.prototype, "rows");
339
- __decorateClass([
340
- property({ type: Number })
341
- ], OkSkeleton.prototype, "cols");
342
- define("ok-skeleton", OkSkeleton);
343
- export {
344
- OkSkeleton
345
- };