@tappify/extension-sdk 2.0.0 → 2.1.0-beta.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 (148) hide show
  1. package/README.md +208 -0
  2. package/dist/chunk-2CY5HVY7.mjs +59 -0
  3. package/dist/chunk-2CY5HVY7.mjs.map +1 -0
  4. package/dist/{chunk-2DBSVKAU.cjs → chunk-6HETNZJY.cjs} +1 -1
  5. package/dist/chunk-6HETNZJY.cjs.map +1 -0
  6. package/dist/{chunk-PYJMJF44.cjs → chunk-7YKH4LZN.cjs} +9 -2
  7. package/dist/chunk-7YKH4LZN.cjs.map +1 -0
  8. package/dist/{chunk-RMUWRESK.cjs → chunk-A74HCO6T.cjs} +31 -18
  9. package/dist/chunk-A74HCO6T.cjs.map +1 -0
  10. package/dist/chunk-BPCGXXMD.cjs +781 -0
  11. package/dist/chunk-BPCGXXMD.cjs.map +1 -0
  12. package/dist/chunk-EB5XWQAU.cjs +132 -0
  13. package/dist/chunk-EB5XWQAU.cjs.map +1 -0
  14. package/dist/{chunk-5AAPD5WV.cjs → chunk-GAUZYBXE.cjs} +11 -11
  15. package/dist/chunk-GAUZYBXE.cjs.map +1 -0
  16. package/dist/chunk-J5LGTIGS.mjs +10 -0
  17. package/dist/chunk-J5LGTIGS.mjs.map +1 -0
  18. package/dist/{chunk-ZT35X7KL.mjs → chunk-KZ5NGFUP.mjs} +22 -9
  19. package/dist/chunk-KZ5NGFUP.mjs.map +1 -0
  20. package/dist/chunk-NN263PGQ.cjs +70 -0
  21. package/dist/chunk-NN263PGQ.cjs.map +1 -0
  22. package/dist/{chunk-3YWVYA42.cjs → chunk-O357OJXL.cjs} +14 -18
  23. package/dist/chunk-O357OJXL.cjs.map +1 -0
  24. package/dist/chunk-ONJMPO3P.cjs +59 -0
  25. package/dist/chunk-ONJMPO3P.cjs.map +1 -0
  26. package/dist/{chunk-OPPYEA7F.cjs → chunk-PRCZMOLD.cjs} +3 -3
  27. package/dist/chunk-PRCZMOLD.cjs.map +1 -0
  28. package/dist/chunk-Q7SFCCGT.cjs +10 -0
  29. package/dist/chunk-Q7SFCCGT.cjs.map +1 -0
  30. package/dist/{chunk-QHM7XNRK.mjs → chunk-QA5AL3VZ.mjs} +2 -2
  31. package/dist/{chunk-QHM7XNRK.mjs.map → chunk-QA5AL3VZ.mjs.map} +1 -1
  32. package/dist/chunk-QJMZRV7A.mjs +132 -0
  33. package/dist/chunk-QJMZRV7A.mjs.map +1 -0
  34. package/dist/{chunk-CSTYBKZC.mjs → chunk-QXD7WVKK.mjs} +1 -1
  35. package/dist/chunk-QXD7WVKK.mjs.map +1 -0
  36. package/dist/{chunk-4C5Z3CIK.mjs → chunk-RBIQT75L.mjs} +2 -2
  37. package/dist/chunk-RBIQT75L.mjs.map +1 -0
  38. package/dist/{chunk-MNDVYPEP.mjs → chunk-SGCYEEXD.mjs} +9 -2
  39. package/dist/chunk-SGCYEEXD.mjs.map +1 -0
  40. package/dist/{chunk-BDCX6LRQ.mjs → chunk-SGEYDV3K.mjs} +3 -3
  41. package/dist/chunk-SGEYDV3K.mjs.map +1 -0
  42. package/dist/{chunk-IGK2AP6J.mjs → chunk-SLGOHIBL.mjs} +13 -17
  43. package/dist/chunk-SLGOHIBL.mjs.map +1 -0
  44. package/dist/chunk-SWG7CNTZ.mjs +781 -0
  45. package/dist/chunk-SWG7CNTZ.mjs.map +1 -0
  46. package/dist/{chunk-7KIKOH5H.cjs → chunk-VV7ELNRW.cjs} +3 -3
  47. package/dist/chunk-VV7ELNRW.cjs.map +1 -0
  48. package/dist/chunk-Z43DPNZ6.mjs +70 -0
  49. package/dist/chunk-Z43DPNZ6.mjs.map +1 -0
  50. package/dist/client-CV1qzQgx.d.cts +25 -0
  51. package/dist/client-CnlSHDWE.d.ts +25 -0
  52. package/dist/codegen.cjs.map +1 -1
  53. package/dist/codegen.d.cts +40 -7
  54. package/dist/codegen.d.ts +40 -7
  55. package/dist/codegen.mjs.map +1 -1
  56. package/dist/{constants-DJ_KgZpN.d.cts → constants-BAimnqOK.d.cts} +41 -8
  57. package/dist/{constants-DJ_KgZpN.d.ts → constants-BAimnqOK.d.ts} +41 -8
  58. package/dist/{context-Ml7k_V14.d.ts → context-Cr93B05o.d.ts} +5 -4
  59. package/dist/{context-Dt6xh_5t.d.cts → context-DJ3REtdT.d.cts} +5 -4
  60. package/dist/{errors-COsBh7kd.d.cts → errors-Cqh0wrqt.d.cts} +3 -2
  61. package/dist/{errors-COsBh7kd.d.ts → errors-Cqh0wrqt.d.ts} +3 -2
  62. package/dist/host.cjs +5 -4
  63. package/dist/host.cjs.map +1 -1
  64. package/dist/host.d.cts +5 -5
  65. package/dist/host.d.ts +5 -5
  66. package/dist/host.mjs +4 -3
  67. package/dist/host.mjs.map +1 -1
  68. package/dist/index.cjs +9 -656
  69. package/dist/index.cjs.map +1 -1
  70. package/dist/index.d.cts +69 -627
  71. package/dist/index.d.ts +69 -627
  72. package/dist/index.mjs +5 -652
  73. package/dist/index.mjs.map +1 -1
  74. package/dist/manifest.cjs +138 -85
  75. package/dist/manifest.cjs.map +1 -1
  76. package/dist/manifest.d.cts +93 -12
  77. package/dist/manifest.d.ts +93 -12
  78. package/dist/manifest.mjs +125 -72
  79. package/dist/manifest.mjs.map +1 -1
  80. package/dist/server.cjs +15 -66
  81. package/dist/server.cjs.map +1 -1
  82. package/dist/server.d.cts +6 -6
  83. package/dist/server.d.ts +6 -6
  84. package/dist/server.mjs +10 -61
  85. package/dist/server.mjs.map +1 -1
  86. package/dist/testing/index.cjs +73 -750
  87. package/dist/testing/index.cjs.map +1 -1
  88. package/dist/testing/index.d.cts +30 -11
  89. package/dist/testing/index.d.ts +30 -11
  90. package/dist/testing/index.mjs +89 -766
  91. package/dist/testing/index.mjs.map +1 -1
  92. package/dist/testing/jest.cjs +6 -5
  93. package/dist/testing/jest.cjs.map +1 -1
  94. package/dist/testing/jest.mjs +3 -2
  95. package/dist/testing/jest.mjs.map +1 -1
  96. package/dist/testing/vitest.cjs +6 -5
  97. package/dist/testing/vitest.cjs.map +1 -1
  98. package/dist/testing/vitest.d.cts +10 -0
  99. package/dist/testing/vitest.d.ts +10 -0
  100. package/dist/testing/vitest.mjs +3 -2
  101. package/dist/testing/vitest.mjs.map +1 -1
  102. package/dist/{types-DrpQSv_2.d.cts → types-BYGcp5pZ.d.ts} +4 -3
  103. package/dist/{types-DDAGLpov.d.ts → types-I1JOZyI_.d.cts} +4 -3
  104. package/dist/ui/styles.css +740 -0
  105. package/dist/ui.cjs +1018 -0
  106. package/dist/ui.cjs.map +1 -0
  107. package/dist/ui.d.cts +231 -0
  108. package/dist/ui.d.ts +231 -0
  109. package/dist/ui.mjs +1018 -0
  110. package/dist/ui.mjs.map +1 -0
  111. package/dist/vite-preview-bootstrap.cjs +66 -0
  112. package/dist/vite-preview-bootstrap.cjs.map +1 -0
  113. package/dist/vite-preview-bootstrap.d.cts +15 -0
  114. package/dist/vite-preview-bootstrap.d.ts +15 -0
  115. package/dist/vite-preview-bootstrap.mjs +66 -0
  116. package/dist/vite-preview-bootstrap.mjs.map +1 -0
  117. package/dist/vite-preview.cjs +876 -0
  118. package/dist/vite-preview.cjs.map +1 -0
  119. package/dist/vite-preview.d.cts +9 -0
  120. package/dist/vite-preview.d.ts +9 -0
  121. package/dist/vite-preview.mjs +876 -0
  122. package/dist/vite-preview.mjs.map +1 -0
  123. package/dist/vite.cjs +316 -59
  124. package/dist/vite.cjs.map +1 -1
  125. package/dist/vite.d.cts +51 -8
  126. package/dist/vite.d.ts +51 -8
  127. package/dist/vite.mjs +308 -53
  128. package/dist/vite.mjs.map +1 -1
  129. package/dist/work-events-DB3WR468.d.ts +547 -0
  130. package/dist/work-events-Dxe7Djdy.d.cts +547 -0
  131. package/package.json +19 -2
  132. package/schema/extension-v2.json +432 -121
  133. package/dist/chunk-2DBSVKAU.cjs.map +0 -1
  134. package/dist/chunk-3YWVYA42.cjs.map +0 -1
  135. package/dist/chunk-4C5Z3CIK.mjs.map +0 -1
  136. package/dist/chunk-5AAPD5WV.cjs.map +0 -1
  137. package/dist/chunk-7KIKOH5H.cjs.map +0 -1
  138. package/dist/chunk-BDCX6LRQ.mjs.map +0 -1
  139. package/dist/chunk-CSTYBKZC.mjs.map +0 -1
  140. package/dist/chunk-IGK2AP6J.mjs.map +0 -1
  141. package/dist/chunk-MNDVYPEP.mjs.map +0 -1
  142. package/dist/chunk-OPPYEA7F.cjs.map +0 -1
  143. package/dist/chunk-PYJMJF44.cjs.map +0 -1
  144. package/dist/chunk-RMUWRESK.cjs.map +0 -1
  145. package/dist/chunk-ZT35X7KL.mjs.map +0 -1
  146. package/dist/handler-CZIlZ5vu.d.ts +0 -227
  147. package/dist/handler-kU9Jf36K.d.cts +0 -227
  148. package/dist/styles.css +0 -367
package/dist/styles.css DELETED
@@ -1,367 +0,0 @@
1
- .tap-root {
2
- font-family: var(--font-sans, system-ui, -apple-system, sans-serif);
3
- color: var(--fg-default, #121212);
4
- container-type: inline-size;
5
- container-name: tap-mount;
6
- line-height: 1.45;
7
- font-size: 13px;
8
- }
9
-
10
- .tap-root *,
11
- .tap-root *::before,
12
- .tap-root *::after {
13
- box-sizing: border-box;
14
- }
15
-
16
- .tap-stack {
17
- display: flex;
18
- flex-direction: column;
19
- gap: var(--tap-space, 8px);
20
- }
21
-
22
- .tap-row {
23
- display: flex;
24
- align-items: center;
25
- gap: var(--tap-space, 8px);
26
- }
27
-
28
- .tap-btn {
29
- display: inline-flex;
30
- align-items: center;
31
- justify-content: center;
32
- gap: 6px;
33
- border: 1px solid transparent;
34
- border-radius: var(--tap-radius, 6px);
35
- font: inherit;
36
- font-weight: 500;
37
- cursor: pointer;
38
- padding: 6px 12px;
39
- transition:
40
- background-color 120ms ease,
41
- border-color 120ms ease;
42
- }
43
-
44
- .tap-btn:disabled {
45
- opacity: 0.55;
46
- cursor: not-allowed;
47
- }
48
-
49
- .tap-btn:focus-visible {
50
- outline: 2px solid var(--tap-accent, #4f46e5);
51
- outline-offset: 2px;
52
- }
53
-
54
- .tap-btn--sm {
55
- padding: 3px 8px;
56
- font-size: 12px;
57
- }
58
-
59
- .tap-btn--primary {
60
- background: var(--tap-accent, #4f46e5);
61
- color: var(--tap-accent-fg, #ffffff);
62
- }
63
-
64
- .tap-btn--secondary {
65
- background: var(--bg-raised, #ffffff);
66
- color: var(--fg-default, #121212);
67
- border-color: var(--divider, rgba(18, 18, 18, 0.12));
68
- }
69
-
70
- .tap-btn--ghost {
71
- background: transparent;
72
- color: var(--fg-muted, rgba(18, 18, 18, 0.6));
73
- }
74
-
75
- .tap-btn--danger {
76
- background: var(--tap-danger, #b42318);
77
- color: var(--tap-accent-fg, #ffffff);
78
- }
79
-
80
- .tap-card {
81
- background: var(--bg-raised, #ffffff);
82
- border: 1px solid var(--divider, rgba(18, 18, 18, 0.12));
83
- border-radius: var(--tap-radius, 6px);
84
- display: flex;
85
- flex-direction: column;
86
- min-width: 0;
87
- }
88
-
89
- .tap-card__head {
90
- display: flex;
91
- align-items: center;
92
- justify-content: space-between;
93
- gap: var(--tap-space, 8px);
94
- padding: 10px 12px;
95
- border-bottom: 1px solid var(--divider, rgba(18, 18, 18, 0.12));
96
- font-weight: 600;
97
- }
98
-
99
- .tap-card__body {
100
- padding: 12px;
101
- min-width: 0;
102
- }
103
-
104
- .tap-card__foot {
105
- padding: 8px 12px;
106
- border-top: 1px solid var(--divider, rgba(18, 18, 18, 0.12));
107
- color: var(--fg-muted, rgba(18, 18, 18, 0.6));
108
- }
109
-
110
- .tap-page-header {
111
- display: flex;
112
- align-items: flex-start;
113
- justify-content: space-between;
114
- gap: var(--tap-space, 8px);
115
- padding-bottom: 12px;
116
- border-bottom: 1px solid var(--divider, rgba(18, 18, 18, 0.12));
117
- margin-bottom: 16px;
118
- }
119
-
120
- .tap-page-header__title {
121
- margin: 0;
122
- font-size: 18px;
123
- font-weight: 600;
124
- }
125
-
126
- .tap-page-header__description {
127
- margin: 4px 0 0;
128
- color: var(--fg-muted, rgba(18, 18, 18, 0.6));
129
- }
130
-
131
- .tap-skeleton {
132
- display: block;
133
- height: 12px;
134
- border-radius: 4px;
135
- background: var(--bg-subtle, rgba(18, 18, 18, 0.06));
136
- animation: tap-pulse 1.4s ease-in-out infinite;
137
- }
138
-
139
- .tap-skeleton + .tap-skeleton {
140
- margin-top: 6px;
141
- }
142
-
143
- @keyframes tap-pulse {
144
- 0%,
145
- 100% {
146
- opacity: 1;
147
- }
148
- 50% {
149
- opacity: 0.5;
150
- }
151
- }
152
-
153
- @media (prefers-reduced-motion: reduce) {
154
- .tap-skeleton {
155
- animation: none;
156
- }
157
- }
158
-
159
- .tap-state {
160
- display: flex;
161
- flex-direction: column;
162
- align-items: center;
163
- gap: 6px;
164
- text-align: center;
165
- padding: 24px 16px;
166
- color: var(--fg-muted, rgba(18, 18, 18, 0.6));
167
- }
168
-
169
- .tap-state__title {
170
- color: var(--fg-default, #121212);
171
- font-weight: 600;
172
- }
173
-
174
- .tap-state--error .tap-state__title {
175
- color: var(--tap-danger, #b42318);
176
- }
177
-
178
- .tap-state__code {
179
- font-family: var(--font-mono, ui-monospace, SFMono-Regular, monospace);
180
- font-size: 11px;
181
- }
182
-
183
- .tap-stat {
184
- display: flex;
185
- flex-direction: column;
186
- gap: 2px;
187
- min-width: 0;
188
- }
189
-
190
- .tap-stat__label {
191
- color: var(--fg-muted, rgba(18, 18, 18, 0.6));
192
- font-size: 11px;
193
- text-transform: uppercase;
194
- letter-spacing: 0.04em;
195
- }
196
-
197
- .tap-stat__value {
198
- font-size: 22px;
199
- font-weight: 600;
200
- font-variant-numeric: tabular-nums;
201
- line-height: 1.1;
202
- }
203
-
204
- .tap-stat__delta--up {
205
- color: var(--tap-accent, #4f46e5);
206
- }
207
-
208
- .tap-stat__delta--down {
209
- color: var(--tap-danger, #b42318);
210
- }
211
-
212
- .tap-field {
213
- display: flex;
214
- flex-direction: column;
215
- gap: 4px;
216
- }
217
-
218
- .tap-field__label {
219
- font-weight: 500;
220
- }
221
-
222
- .tap-field__hint,
223
- .tap-field__error {
224
- font-size: 11px;
225
- }
226
-
227
- .tap-field__hint {
228
- color: var(--fg-muted, rgba(18, 18, 18, 0.6));
229
- }
230
-
231
- .tap-field__error {
232
- color: var(--tap-danger, #b42318);
233
- }
234
-
235
- .tap-control {
236
- font: inherit;
237
- color: inherit;
238
- background: var(--bg-base, #ffffff);
239
- border: 1px solid var(--divider, rgba(18, 18, 18, 0.12));
240
- border-radius: var(--tap-radius, 6px);
241
- padding: 6px 8px;
242
- width: 100%;
243
- min-width: 0;
244
- }
245
-
246
- .tap-control:focus-visible {
247
- outline: 2px solid var(--tap-accent, #4f46e5);
248
- outline-offset: 1px;
249
- }
250
-
251
- .tap-control--invalid {
252
- border-color: var(--tap-danger, #b42318);
253
- }
254
-
255
- .tap-control--checkbox {
256
- width: auto;
257
- }
258
-
259
- textarea.tap-control {
260
- min-height: 76px;
261
- resize: vertical;
262
- }
263
-
264
- .tap-table-wrap {
265
- overflow-x: auto;
266
- }
267
-
268
- .tap-table {
269
- width: 100%;
270
- border-collapse: collapse;
271
- }
272
-
273
- .tap-table th,
274
- .tap-table td {
275
- text-align: start;
276
- padding: 6px 8px;
277
- border-bottom: 1px solid var(--divider, rgba(18, 18, 18, 0.12));
278
- white-space: nowrap;
279
- }
280
-
281
- .tap-table th {
282
- color: var(--fg-muted, rgba(18, 18, 18, 0.6));
283
- font-size: 11px;
284
- font-weight: 500;
285
- text-transform: uppercase;
286
- letter-spacing: 0.04em;
287
- }
288
-
289
- .tap-table__end {
290
- text-align: end;
291
- font-variant-numeric: tabular-nums;
292
- }
293
-
294
- .tap-table tr[data-clickable='true'] {
295
- cursor: pointer;
296
- }
297
-
298
- .tap-table tr[data-clickable='true']:hover td {
299
- background: var(--bg-subtle, rgba(18, 18, 18, 0.04));
300
- }
301
-
302
- .tap-dialog-scrim {
303
- position: fixed;
304
- inset: 0;
305
- background: var(--tap-scrim, rgba(18, 18, 18, 0.7));
306
- display: flex;
307
- align-items: center;
308
- justify-content: center;
309
- padding: 24px;
310
- z-index: 1;
311
- }
312
-
313
- .tap-dialog {
314
- background: var(--bg-raised, #ffffff);
315
- color: var(--fg-default, #121212);
316
- border-radius: var(--tap-radius, 6px);
317
- border: 1px solid var(--divider, rgba(18, 18, 18, 0.12));
318
- width: min(520px, 100%);
319
- max-height: 100%;
320
- display: flex;
321
- flex-direction: column;
322
- overflow: hidden;
323
- }
324
-
325
- .tap-dialog__head {
326
- padding: 12px 16px;
327
- border-bottom: 1px solid var(--divider, rgba(18, 18, 18, 0.12));
328
- font-weight: 600;
329
- }
330
-
331
- .tap-dialog__body {
332
- padding: 16px;
333
- overflow: auto;
334
- }
335
-
336
- .tap-dialog__foot {
337
- padding: 12px 16px;
338
- border-top: 1px solid var(--divider, rgba(18, 18, 18, 0.12));
339
- display: flex;
340
- justify-content: flex-end;
341
- gap: 8px;
342
- }
343
-
344
- .tap-form {
345
- display: flex;
346
- flex-direction: column;
347
- gap: 12px;
348
- }
349
-
350
- .tap-form__actions {
351
- display: flex;
352
- justify-content: flex-end;
353
- gap: 8px;
354
- }
355
-
356
- @container tap-mount (max-width: 360px) {
357
- .tap-page-header,
358
- .tap-form__actions,
359
- .tap-dialog__foot {
360
- flex-direction: column;
361
- align-items: stretch;
362
- }
363
-
364
- .tap-stat__value {
365
- font-size: 18px;
366
- }
367
- }