@vendoai/ui 0.4.0
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.
- package/LICENSE +202 -0
- package/README.md +7 -0
- package/dist/chrome/activity-ledger.d.ts +14 -0
- package/dist/chrome/activity-ledger.d.ts.map +1 -0
- package/dist/chrome/activity-ledger.js +40 -0
- package/dist/chrome/activity-ledger.js.map +1 -0
- package/dist/chrome/activity-panel.d.ts +7 -0
- package/dist/chrome/activity-panel.d.ts.map +1 -0
- package/dist/chrome/activity-panel.js +27 -0
- package/dist/chrome/activity-panel.js.map +1 -0
- package/dist/chrome/activity-semantics.d.ts +42 -0
- package/dist/chrome/activity-semantics.d.ts.map +1 -0
- package/dist/chrome/activity-semantics.js +119 -0
- package/dist/chrome/activity-semantics.js.map +1 -0
- package/dist/chrome/approval-card.d.ts +22 -0
- package/dist/chrome/approval-card.d.ts.map +1 -0
- package/dist/chrome/approval-card.js +95 -0
- package/dist/chrome/approval-card.js.map +1 -0
- package/dist/chrome/approval-sheet.d.ts +23 -0
- package/dist/chrome/approval-sheet.d.ts.map +1 -0
- package/dist/chrome/approval-sheet.js +72 -0
- package/dist/chrome/approval-sheet.js.map +1 -0
- package/dist/chrome/automations-panel.d.ts +3 -0
- package/dist/chrome/automations-panel.d.ts.map +1 -0
- package/dist/chrome/automations-panel.js +305 -0
- package/dist/chrome/automations-panel.js.map +1 -0
- package/dist/chrome/build-beat.d.ts +70 -0
- package/dist/chrome/build-beat.d.ts.map +1 -0
- package/dist/chrome/build-beat.js +101 -0
- package/dist/chrome/build-beat.js.map +1 -0
- package/dist/chrome/chrome-css.d.ts +7 -0
- package/dist/chrome/chrome-css.d.ts.map +1 -0
- package/dist/chrome/chrome-css.js +2042 -0
- package/dist/chrome/chrome-css.js.map +1 -0
- package/dist/chrome/chrome-root.d.ts +13 -0
- package/dist/chrome/chrome-root.d.ts.map +1 -0
- package/dist/chrome/chrome-root.js +39 -0
- package/dist/chrome/chrome-root.js.map +1 -0
- package/dist/chrome/clipboard.d.ts +4 -0
- package/dist/chrome/clipboard.d.ts.map +1 -0
- package/dist/chrome/clipboard.js +49 -0
- package/dist/chrome/clipboard.js.map +1 -0
- package/dist/chrome/connect-card.d.ts +19 -0
- package/dist/chrome/connect-card.d.ts.map +1 -0
- package/dist/chrome/connect-card.js +57 -0
- package/dist/chrome/connect-card.js.map +1 -0
- package/dist/chrome/connect-dock.d.ts +25 -0
- package/dist/chrome/connect-dock.d.ts.map +1 -0
- package/dist/chrome/connect-dock.js +192 -0
- package/dist/chrome/connect-dock.js.map +1 -0
- package/dist/chrome/connected-accounts-panel.d.ts +14 -0
- package/dist/chrome/connected-accounts-panel.d.ts.map +1 -0
- package/dist/chrome/connected-accounts-panel.js +157 -0
- package/dist/chrome/connected-accounts-panel.js.map +1 -0
- package/dist/chrome/dev-mode.d.ts +5 -0
- package/dist/chrome/dev-mode.d.ts.map +1 -0
- package/dist/chrome/dev-mode.js +7 -0
- package/dist/chrome/dev-mode.js.map +1 -0
- package/dist/chrome/discoverability.d.ts +33 -0
- package/dist/chrome/discoverability.d.ts.map +1 -0
- package/dist/chrome/discoverability.js +63 -0
- package/dist/chrome/discoverability.js.map +1 -0
- package/dist/chrome/embeds.d.ts +21 -0
- package/dist/chrome/embeds.d.ts.map +1 -0
- package/dist/chrome/embeds.js +181 -0
- package/dist/chrome/embeds.js.map +1 -0
- package/dist/chrome/fluid-thinking.d.ts +15 -0
- package/dist/chrome/fluid-thinking.d.ts.map +1 -0
- package/dist/chrome/fluid-thinking.js +37 -0
- package/dist/chrome/fluid-thinking.js.map +1 -0
- package/dist/chrome/humanize.d.ts +46 -0
- package/dist/chrome/humanize.d.ts.map +1 -0
- package/dist/chrome/humanize.js +104 -0
- package/dist/chrome/humanize.js.map +1 -0
- package/dist/chrome/index.d.ts +39 -0
- package/dist/chrome/index.d.ts.map +1 -0
- package/dist/chrome/index.js +38 -0
- package/dist/chrome/index.js.map +1 -0
- package/dist/chrome/markdown.d.ts +23 -0
- package/dist/chrome/markdown.d.ts.map +1 -0
- package/dist/chrome/markdown.js +149 -0
- package/dist/chrome/markdown.js.map +1 -0
- package/dist/chrome/morph-toast.d.ts +43 -0
- package/dist/chrome/morph-toast.d.ts.map +1 -0
- package/dist/chrome/morph-toast.js +89 -0
- package/dist/chrome/morph-toast.js.map +1 -0
- package/dist/chrome/no-policy-notice.d.ts +8 -0
- package/dist/chrome/no-policy-notice.d.ts.map +1 -0
- package/dist/chrome/no-policy-notice.js +18 -0
- package/dist/chrome/no-policy-notice.js.map +1 -0
- package/dist/chrome/onest-font.gen.d.ts +10 -0
- package/dist/chrome/onest-font.gen.d.ts.map +1 -0
- package/dist/chrome/onest-font.gen.js +10 -0
- package/dist/chrome/onest-font.gen.js.map +1 -0
- package/dist/chrome/overlay-registry.d.ts +66 -0
- package/dist/chrome/overlay-registry.d.ts.map +1 -0
- package/dist/chrome/overlay-registry.js +103 -0
- package/dist/chrome/overlay-registry.js.map +1 -0
- package/dist/chrome/palette-hotkey.d.ts +42 -0
- package/dist/chrome/palette-hotkey.d.ts.map +1 -0
- package/dist/chrome/palette-hotkey.js +91 -0
- package/dist/chrome/palette-hotkey.js.map +1 -0
- package/dist/chrome/policy-notice-body.d.ts +3 -0
- package/dist/chrome/policy-notice-body.d.ts.map +1 -0
- package/dist/chrome/policy-notice-body.js +6 -0
- package/dist/chrome/policy-notice-body.js.map +1 -0
- package/dist/chrome/takeover-portal.d.ts +16 -0
- package/dist/chrome/takeover-portal.d.ts.map +1 -0
- package/dist/chrome/takeover-portal.js +21 -0
- package/dist/chrome/takeover-portal.js.map +1 -0
- package/dist/chrome/thread/attachments.d.ts +24 -0
- package/dist/chrome/thread/attachments.d.ts.map +1 -0
- package/dist/chrome/thread/attachments.js +50 -0
- package/dist/chrome/thread/attachments.js.map +1 -0
- package/dist/chrome/thread/composer.d.ts +63 -0
- package/dist/chrome/thread/composer.d.ts.map +1 -0
- package/dist/chrome/thread/composer.js +259 -0
- package/dist/chrome/thread/composer.js.map +1 -0
- package/dist/chrome/thread/index.d.ts +41 -0
- package/dist/chrome/thread/index.d.ts.map +1 -0
- package/dist/chrome/thread/index.js +258 -0
- package/dist/chrome/thread/index.js.map +1 -0
- package/dist/chrome/thread/message-data.d.ts +35 -0
- package/dist/chrome/thread/message-data.d.ts.map +1 -0
- package/dist/chrome/thread/message-data.js +127 -0
- package/dist/chrome/thread/message-data.js.map +1 -0
- package/dist/chrome/thread/message-list.d.ts +30 -0
- package/dist/chrome/thread/message-list.d.ts.map +1 -0
- package/dist/chrome/thread/message-list.js +11 -0
- package/dist/chrome/thread/message-list.js.map +1 -0
- package/dist/chrome/thread/message.d.ts +18 -0
- package/dist/chrome/thread/message.d.ts.map +1 -0
- package/dist/chrome/thread/message.js +57 -0
- package/dist/chrome/thread/message.js.map +1 -0
- package/dist/chrome/thread/parts.d.ts +53 -0
- package/dist/chrome/thread/parts.d.ts.map +1 -0
- package/dist/chrome/thread/parts.js +184 -0
- package/dist/chrome/thread/parts.js.map +1 -0
- package/dist/chrome/thread/scrolling.d.ts +26 -0
- package/dist/chrome/thread/scrolling.d.ts.map +1 -0
- package/dist/chrome/thread/scrolling.js +214 -0
- package/dist/chrome/thread/scrolling.js.map +1 -0
- package/dist/chrome/truncate.d.ts +12 -0
- package/dist/chrome/truncate.d.ts.map +1 -0
- package/dist/chrome/truncate.js +18 -0
- package/dist/chrome/truncate.js.map +1 -0
- package/dist/chrome/vendo-activities.d.ts +24 -0
- package/dist/chrome/vendo-activities.d.ts.map +1 -0
- package/dist/chrome/vendo-activities.js +38 -0
- package/dist/chrome/vendo-activities.js.map +1 -0
- package/dist/chrome/vendo-overlay.d.ts +63 -0
- package/dist/chrome/vendo-overlay.d.ts.map +1 -0
- package/dist/chrome/vendo-overlay.js +256 -0
- package/dist/chrome/vendo-overlay.js.map +1 -0
- package/dist/chrome/vendo-page.d.ts +3 -0
- package/dist/chrome/vendo-page.d.ts.map +1 -0
- package/dist/chrome/vendo-page.js +162 -0
- package/dist/chrome/vendo-page.js.map +1 -0
- package/dist/chrome/vendo-palette.d.ts +29 -0
- package/dist/chrome/vendo-palette.d.ts.map +1 -0
- package/dist/chrome/vendo-palette.js +95 -0
- package/dist/chrome/vendo-palette.js.map +1 -0
- package/dist/chrome/vendo-slot.d.ts +79 -0
- package/dist/chrome/vendo-slot.d.ts.map +1 -0
- package/dist/chrome/vendo-slot.js +153 -0
- package/dist/chrome/vendo-slot.js.map +1 -0
- package/dist/chrome/vendo-toasts.d.ts +40 -0
- package/dist/chrome/vendo-toasts.d.ts.map +1 -0
- package/dist/chrome/vendo-toasts.js +135 -0
- package/dist/chrome/vendo-toasts.js.map +1 -0
- package/dist/chrome/vendo-trigger.d.ts +24 -0
- package/dist/chrome/vendo-trigger.d.ts.map +1 -0
- package/dist/chrome/vendo-trigger.js +30 -0
- package/dist/chrome/vendo-trigger.js.map +1 -0
- package/dist/chrome/waiting-queue.d.ts +8 -0
- package/dist/chrome/waiting-queue.d.ts.map +1 -0
- package/dist/chrome/waiting-queue.js +21 -0
- package/dist/chrome/waiting-queue.js.map +1 -0
- package/dist/client-impl.d.ts +4 -0
- package/dist/client-impl.d.ts.map +1 -0
- package/dist/client-impl.js +160 -0
- package/dist/client-impl.js.map +1 -0
- package/dist/client.d.ts +136 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +2 -0
- package/dist/client.js.map +1 -0
- package/dist/context.d.ts +97 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +71 -0
- package/dist/context.js.map +1 -0
- package/dist/eject-templates/activities/index.tsx +113 -0
- package/dist/eject-templates/templates.json +29 -0
- package/dist/eject-templates/thread/attachments.tsx +69 -0
- package/dist/eject-templates/thread/composer.tsx +409 -0
- package/dist/eject-templates/thread/index.tsx +422 -0
- package/dist/eject-templates/thread/message-data.ts +151 -0
- package/dist/eject-templates/thread/message-list.tsx +123 -0
- package/dist/eject-templates/thread/message.tsx +149 -0
- package/dist/eject-templates/thread/parts.tsx +293 -0
- package/dist/eject-templates/thread/scrolling.ts +223 -0
- package/dist/embeds.d.ts +28 -0
- package/dist/embeds.d.ts.map +1 -0
- package/dist/embeds.js +2 -0
- package/dist/embeds.js.map +1 -0
- package/dist/hooks/index.d.ts +18 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +19 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/scripted-transport.d.ts +44 -0
- package/dist/hooks/scripted-transport.d.ts.map +1 -0
- package/dist/hooks/scripted-transport.js +58 -0
- package/dist/hooks/scripted-transport.js.map +1 -0
- package/dist/hooks/use-activity.d.ts +17 -0
- package/dist/hooks/use-activity.d.ts.map +1 -0
- package/dist/hooks/use-activity.js +50 -0
- package/dist/hooks/use-activity.js.map +1 -0
- package/dist/hooks/use-app.d.ts +19 -0
- package/dist/hooks/use-app.d.ts.map +1 -0
- package/dist/hooks/use-app.js +66 -0
- package/dist/hooks/use-app.js.map +1 -0
- package/dist/hooks/use-approvals.d.ts +13 -0
- package/dist/hooks/use-approvals.d.ts.map +1 -0
- package/dist/hooks/use-approvals.js +14 -0
- package/dist/hooks/use-approvals.js.map +1 -0
- package/dist/hooks/use-apps.d.ts +17 -0
- package/dist/hooks/use-apps.d.ts.map +1 -0
- package/dist/hooks/use-apps.js +30 -0
- package/dist/hooks/use-apps.js.map +1 -0
- package/dist/hooks/use-automations.d.ts +25 -0
- package/dist/hooks/use-automations.d.ts.map +1 -0
- package/dist/hooks/use-automations.js +30 -0
- package/dist/hooks/use-automations.js.map +1 -0
- package/dist/hooks/use-connections.d.ts +12 -0
- package/dist/hooks/use-connections.d.ts.map +1 -0
- package/dist/hooks/use-connections.js +15 -0
- package/dist/hooks/use-connections.js.map +1 -0
- package/dist/hooks/use-connector-catalog.d.ts +8 -0
- package/dist/hooks/use-connector-catalog.d.ts.map +1 -0
- package/dist/hooks/use-connector-catalog.js +52 -0
- package/dist/hooks/use-connector-catalog.js.map +1 -0
- package/dist/hooks/use-grants.d.ts +13 -0
- package/dist/hooks/use-grants.d.ts.map +1 -0
- package/dist/hooks/use-grants.js +14 -0
- package/dist/hooks/use-grants.js.map +1 -0
- package/dist/hooks/use-mobile-takeover.d.ts +22 -0
- package/dist/hooks/use-mobile-takeover.d.ts.map +1 -0
- package/dist/hooks/use-mobile-takeover.js +66 -0
- package/dist/hooks/use-mobile-takeover.js.map +1 -0
- package/dist/hooks/use-resource.d.ts +21 -0
- package/dist/hooks/use-resource.d.ts.map +1 -0
- package/dist/hooks/use-resource.js +79 -0
- package/dist/hooks/use-resource.js.map +1 -0
- package/dist/hooks/use-slot-app.d.ts +19 -0
- package/dist/hooks/use-slot-app.d.ts.map +1 -0
- package/dist/hooks/use-slot-app.js +18 -0
- package/dist/hooks/use-slot-app.js.map +1 -0
- package/dist/hooks/use-threads.d.ts +16 -0
- package/dist/hooks/use-threads.d.ts.map +1 -0
- package/dist/hooks/use-threads.js +15 -0
- package/dist/hooks/use-threads.js.map +1 -0
- package/dist/hooks/use-vendo-overlay.d.ts +31 -0
- package/dist/hooks/use-vendo-overlay.d.ts.map +1 -0
- package/dist/hooks/use-vendo-overlay.js +23 -0
- package/dist/hooks/use-vendo-overlay.js.map +1 -0
- package/dist/hooks/use-vendo-status.d.ts +6 -0
- package/dist/hooks/use-vendo-status.d.ts.map +1 -0
- package/dist/hooks/use-vendo-status.js +28 -0
- package/dist/hooks/use-vendo-status.js.map +1 -0
- package/dist/hooks/use-vendo-thread.d.ts +39 -0
- package/dist/hooks/use-vendo-thread.d.ts.map +1 -0
- package/dist/hooks/use-vendo-thread.js +185 -0
- package/dist/hooks/use-vendo-thread.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/kit/charts/bar.d.ts +16 -0
- package/dist/kit/charts/bar.d.ts.map +1 -0
- package/dist/kit/charts/bar.js +21 -0
- package/dist/kit/charts/bar.js.map +1 -0
- package/dist/kit/charts/donut.d.ts +16 -0
- package/dist/kit/charts/donut.d.ts.map +1 -0
- package/dist/kit/charts/donut.js +17 -0
- package/dist/kit/charts/donut.js.map +1 -0
- package/dist/kit/charts/line.d.ts +19 -0
- package/dist/kit/charts/line.d.ts.map +1 -0
- package/dist/kit/charts/line.js +21 -0
- package/dist/kit/charts/line.js.map +1 -0
- package/dist/kit/charts/progress.d.ts +12 -0
- package/dist/kit/charts/progress.d.ts.map +1 -0
- package/dist/kit/charts/progress.js +25 -0
- package/dist/kit/charts/progress.js.map +1 -0
- package/dist/kit/charts/sanitize.d.ts +24 -0
- package/dist/kit/charts/sanitize.d.ts.map +1 -0
- package/dist/kit/charts/sanitize.js +50 -0
- package/dist/kit/charts/sanitize.js.map +1 -0
- package/dist/kit/charts/sparkline.d.ts +11 -0
- package/dist/kit/charts/sparkline.d.ts.map +1 -0
- package/dist/kit/charts/sparkline.js +17 -0
- package/dist/kit/charts/sparkline.js.map +1 -0
- package/dist/kit/data/badge.d.ts +13 -0
- package/dist/kit/data/badge.d.ts.map +1 -0
- package/dist/kit/data/badge.js +12 -0
- package/dist/kit/data/badge.js.map +1 -0
- package/dist/kit/data/card-list.d.ts +23 -0
- package/dist/kit/data/card-list.d.ts.map +1 -0
- package/dist/kit/data/card-list.js +43 -0
- package/dist/kit/data/card-list.js.map +1 -0
- package/dist/kit/data/data-table.d.ts +32 -0
- package/dist/kit/data/data-table.d.ts.map +1 -0
- package/dist/kit/data/data-table.js +153 -0
- package/dist/kit/data/data-table.js.map +1 -0
- package/dist/kit/data/stat.d.ts +15 -0
- package/dist/kit/data/stat.d.ts.map +1 -0
- package/dist/kit/data/stat.js +28 -0
- package/dist/kit/data/stat.js.map +1 -0
- package/dist/kit/feedback/accordion.d.ts +15 -0
- package/dist/kit/feedback/accordion.d.ts.map +1 -0
- package/dist/kit/feedback/accordion.js +33 -0
- package/dist/kit/feedback/accordion.js.map +1 -0
- package/dist/kit/feedback/callout.d.ts +13 -0
- package/dist/kit/feedback/callout.d.ts.map +1 -0
- package/dist/kit/feedback/callout.js +24 -0
- package/dist/kit/feedback/callout.js.map +1 -0
- package/dist/kit/feedback/tabs.d.ts +14 -0
- package/dist/kit/feedback/tabs.d.ts.map +1 -0
- package/dist/kit/feedback/tabs.js +37 -0
- package/dist/kit/feedback/tabs.js.map +1 -0
- package/dist/kit/format.d.ts +60 -0
- package/dist/kit/format.d.ts.map +1 -0
- package/dist/kit/format.js +123 -0
- package/dist/kit/format.js.map +1 -0
- package/dist/kit/forms/button.d.ts +17 -0
- package/dist/kit/forms/button.d.ts.map +1 -0
- package/dist/kit/forms/button.js +33 -0
- package/dist/kit/forms/button.js.map +1 -0
- package/dist/kit/forms/checkbox.d.ts +9 -0
- package/dist/kit/forms/checkbox.d.ts.map +1 -0
- package/dist/kit/forms/checkbox.js +9 -0
- package/dist/kit/forms/checkbox.js.map +1 -0
- package/dist/kit/forms/date-picker.d.ts +13 -0
- package/dist/kit/forms/date-picker.d.ts.map +1 -0
- package/dist/kit/forms/date-picker.js +9 -0
- package/dist/kit/forms/date-picker.js.map +1 -0
- package/dist/kit/forms/disclaimer.d.ts +8 -0
- package/dist/kit/forms/disclaimer.d.ts.map +1 -0
- package/dist/kit/forms/disclaimer.js +20 -0
- package/dist/kit/forms/disclaimer.js.map +1 -0
- package/dist/kit/forms/field.d.ts +18 -0
- package/dist/kit/forms/field.d.ts.map +1 -0
- package/dist/kit/forms/field.js +19 -0
- package/dist/kit/forms/field.js.map +1 -0
- package/dist/kit/forms/form.d.ts +10 -0
- package/dist/kit/forms/form.d.ts.map +1 -0
- package/dist/kit/forms/form.js +9 -0
- package/dist/kit/forms/form.js.map +1 -0
- package/dist/kit/forms/input.d.ts +14 -0
- package/dist/kit/forms/input.d.ts.map +1 -0
- package/dist/kit/forms/input.js +9 -0
- package/dist/kit/forms/input.js.map +1 -0
- package/dist/kit/forms/select.d.ts +21 -0
- package/dist/kit/forms/select.d.ts.map +1 -0
- package/dist/kit/forms/select.js +35 -0
- package/dist/kit/forms/select.js.map +1 -0
- package/dist/kit/forms/textarea.d.ts +12 -0
- package/dist/kit/forms/textarea.d.ts.map +1 -0
- package/dist/kit/forms/textarea.js +9 -0
- package/dist/kit/forms/textarea.js.map +1 -0
- package/dist/kit/index.d.ts +42 -0
- package/dist/kit/index.d.ts.map +1 -0
- package/dist/kit/index.js +45 -0
- package/dist/kit/index.js.map +1 -0
- package/dist/kit/kit-prompt.d.ts +7 -0
- package/dist/kit/kit-prompt.d.ts.map +1 -0
- package/dist/kit/kit-prompt.js +7 -0
- package/dist/kit/kit-prompt.js.map +1 -0
- package/dist/kit/layout.d.ts +29 -0
- package/dist/kit/layout.d.ts.map +1 -0
- package/dist/kit/layout.js +64 -0
- package/dist/kit/layout.js.map +1 -0
- package/dist/kit/registry.d.ts +11 -0
- package/dist/kit/registry.d.ts.map +1 -0
- package/dist/kit/registry.js +34 -0
- package/dist/kit/registry.js.map +1 -0
- package/dist/kit/schema.d.ts +9 -0
- package/dist/kit/schema.d.ts.map +1 -0
- package/dist/kit/schema.js +9 -0
- package/dist/kit/schema.js.map +1 -0
- package/dist/kit/tokens.d.ts +33 -0
- package/dist/kit/tokens.d.ts.map +1 -0
- package/dist/kit/tokens.js +48 -0
- package/dist/kit/tokens.js.map +1 -0
- package/dist/kit/values.d.ts +55 -0
- package/dist/kit/values.d.ts.map +1 -0
- package/dist/kit/values.js +108 -0
- package/dist/kit/values.js.map +1 -0
- package/dist/theme.d.ts +25 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +100 -0
- package/dist/theme.js.map +1 -0
- package/dist/tree/bindings.d.ts +4 -0
- package/dist/tree/bindings.d.ts.map +1 -0
- package/dist/tree/bindings.js +20 -0
- package/dist/tree/bindings.js.map +1 -0
- package/dist/tree/branded.d.ts +124 -0
- package/dist/tree/branded.d.ts.map +1 -0
- package/dist/tree/branded.js +319 -0
- package/dist/tree/branded.js.map +1 -0
- package/dist/tree/error-boundary.d.ts +22 -0
- package/dist/tree/error-boundary.d.ts.map +1 -0
- package/dist/tree/error-boundary.js +25 -0
- package/dist/tree/error-boundary.js.map +1 -0
- package/dist/tree/fluid-reveal.d.ts +22 -0
- package/dist/tree/fluid-reveal.d.ts.map +1 -0
- package/dist/tree/fluid-reveal.js +28 -0
- package/dist/tree/fluid-reveal.js.map +1 -0
- package/dist/tree/forming-skeleton.d.ts +14 -0
- package/dist/tree/forming-skeleton.d.ts.map +1 -0
- package/dist/tree/forming-skeleton.js +36 -0
- package/dist/tree/forming-skeleton.js.map +1 -0
- package/dist/tree/frames.d.ts +52 -0
- package/dist/tree/frames.d.ts.map +1 -0
- package/dist/tree/frames.js +143 -0
- package/dist/tree/frames.js.map +1 -0
- package/dist/tree/host-mount.d.ts +24 -0
- package/dist/tree/host-mount.d.ts.map +1 -0
- package/dist/tree/host-mount.js +0 -0
- package/dist/tree/host-mount.js.map +1 -0
- package/dist/tree/index.d.ts +9 -0
- package/dist/tree/index.d.ts.map +1 -0
- package/dist/tree/index.js +9 -0
- package/dist/tree/index.js.map +1 -0
- package/dist/tree/jail/JailedComponent.d.ts +41 -0
- package/dist/tree/jail/JailedComponent.d.ts.map +1 -0
- package/dist/tree/jail/JailedComponent.js +269 -0
- package/dist/tree/jail/JailedComponent.js.map +1 -0
- package/dist/tree/jail/runtime-bundle.gen.d.ts +3 -0
- package/dist/tree/jail/runtime-bundle.gen.d.ts.map +1 -0
- package/dist/tree/jail/runtime-bundle.gen.js +3 -0
- package/dist/tree/jail/runtime-bundle.gen.js.map +1 -0
- package/dist/tree/jail/runtime-entry.d.ts +18 -0
- package/dist/tree/jail/runtime-entry.d.ts.map +1 -0
- package/dist/tree/jail/runtime-entry.js +440 -0
- package/dist/tree/jail/runtime-entry.js.map +1 -0
- package/dist/tree/jail/viewport-css.d.ts +17 -0
- package/dist/tree/jail/viewport-css.d.ts.map +1 -0
- package/dist/tree/jail/viewport-css.js +32 -0
- package/dist/tree/jail/viewport-css.js.map +1 -0
- package/dist/tree/mcp-shim/entry.d.ts +2 -0
- package/dist/tree/mcp-shim/entry.d.ts.map +1 -0
- package/dist/tree/mcp-shim/entry.js +45 -0
- package/dist/tree/mcp-shim/entry.js.map +1 -0
- package/dist/tree/mcp-shim/http-open-card.d.ts +5 -0
- package/dist/tree/mcp-shim/http-open-card.d.ts.map +1 -0
- package/dist/tree/mcp-shim/http-open-card.js +61 -0
- package/dist/tree/mcp-shim/http-open-card.js.map +1 -0
- package/dist/tree/mcp-shim/shim-core.d.ts +58 -0
- package/dist/tree/mcp-shim/shim-core.d.ts.map +1 -0
- package/dist/tree/mcp-shim/shim-core.js +176 -0
- package/dist/tree/mcp-shim/shim-core.js.map +1 -0
- package/dist/tree/mcp-shim/theme.d.ts +8 -0
- package/dist/tree/mcp-shim/theme.d.ts.map +1 -0
- package/dist/tree/mcp-shim/theme.js +36 -0
- package/dist/tree/mcp-shim/theme.js.map +1 -0
- package/dist/tree/notice.d.ts +8 -0
- package/dist/tree/notice.d.ts.map +1 -0
- package/dist/tree/notice.js +30 -0
- package/dist/tree/notice.js.map +1 -0
- package/dist/tree/primitives.d.ts +30 -0
- package/dist/tree/primitives.d.ts.map +1 -0
- package/dist/tree/primitives.js +105 -0
- package/dist/tree/primitives.js.map +1 -0
- package/dist/tree/renderer-v2.d.ts +15 -0
- package/dist/tree/renderer-v2.d.ts.map +1 -0
- package/dist/tree/renderer-v2.js +71 -0
- package/dist/tree/renderer-v2.js.map +1 -0
- package/dist/tree/renderer.d.ts +77 -0
- package/dist/tree/renderer.d.ts.map +1 -0
- package/dist/tree/renderer.js +376 -0
- package/dist/tree/renderer.js.map +1 -0
- package/dist/voice/driver.d.ts +94 -0
- package/dist/voice/driver.d.ts.map +1 -0
- package/dist/voice/driver.js +2 -0
- package/dist/voice/driver.js.map +1 -0
- package/dist/voice/index.d.ts +7 -0
- package/dist/voice/index.d.ts.map +1 -0
- package/dist/voice/index.js +5 -0
- package/dist/voice/index.js.map +1 -0
- package/dist/voice/realtime-driver.d.ts +57 -0
- package/dist/voice/realtime-driver.d.ts.map +1 -0
- package/dist/voice/realtime-driver.js +592 -0
- package/dist/voice/realtime-driver.js.map +1 -0
- package/dist/voice/stage.d.ts +12 -0
- package/dist/voice/stage.d.ts.map +1 -0
- package/dist/voice/stage.js +259 -0
- package/dist/voice/stage.js.map +1 -0
- package/dist/voice/use-voice-approvals.d.ts +16 -0
- package/dist/voice/use-voice-approvals.d.ts.map +1 -0
- package/dist/voice/use-voice-approvals.js +77 -0
- package/dist/voice/use-voice-approvals.js.map +1 -0
- package/dist/voice/use-voice.d.ts +26 -0
- package/dist/voice/use-voice.d.ts.map +1 -0
- package/dist/voice/use-voice.js +201 -0
- package/dist/voice/use-voice.js.map +1 -0
- package/dist/voice/voice-act.d.ts +13 -0
- package/dist/voice/voice-act.d.ts.map +1 -0
- package/dist/voice/voice-act.js +301 -0
- package/dist/voice/voice-act.js.map +1 -0
- package/dist/voice/voice-blob.d.ts +17 -0
- package/dist/voice/voice-blob.d.ts.map +1 -0
- package/dist/voice/voice-blob.js +67 -0
- package/dist/voice/voice-blob.js.map +1 -0
- package/dist/voice/voice-consent.d.ts +17 -0
- package/dist/voice/voice-consent.d.ts.map +1 -0
- package/dist/voice/voice-consent.js +45 -0
- package/dist/voice/voice-consent.js.map +1 -0
- package/dist/voice/voice-drawer.d.ts +10 -0
- package/dist/voice/voice-drawer.d.ts.map +1 -0
- package/dist/voice/voice-drawer.js +22 -0
- package/dist/voice/voice-drawer.js.map +1 -0
- package/dist/wire-types.d.ts +238 -0
- package/dist/wire-types.d.ts.map +1 -0
- package/dist/wire-types.js +2 -0
- package/dist/wire-types.js.map +1 -0
- package/package.json +106 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { isRenderableNumber } from "../format.js";
|
|
3
|
+
import { font, t } from "../tokens.js";
|
|
4
|
+
/** Replace non-finite values in the given series keys with `null`. */
|
|
5
|
+
export function sanitizeSeries(rows, keys) {
|
|
6
|
+
// W3 — fail SOFT on missing data (a failed query resolves to undefined).
|
|
7
|
+
if (!Array.isArray(rows))
|
|
8
|
+
return [];
|
|
9
|
+
return rows.map((row) => {
|
|
10
|
+
const out = { ...row };
|
|
11
|
+
for (const key of keys) {
|
|
12
|
+
const v = row[key];
|
|
13
|
+
out[key] = isRenderableNumber(v) ? v : null;
|
|
14
|
+
}
|
|
15
|
+
return out;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
/** Keep only finite numbers. */
|
|
19
|
+
export function sanitizeNumbers(values) {
|
|
20
|
+
return values.filter(isRenderableNumber);
|
|
21
|
+
}
|
|
22
|
+
/** True when no series key holds any finite value across the rows. */
|
|
23
|
+
export function seriesIsEmpty(rows, keys) {
|
|
24
|
+
return !rows.some((row) => keys.some((key) => isRenderableNumber(row[key])));
|
|
25
|
+
}
|
|
26
|
+
/** Common chart wrapper providing a min-height box. */
|
|
27
|
+
export function ChartFrame({ height = 220, children }) {
|
|
28
|
+
return _jsx("div", { style: { width: "100%", height, minHeight: height }, children: children });
|
|
29
|
+
}
|
|
30
|
+
/** A designed empty/invalid state that reads as intentional, not broken. */
|
|
31
|
+
export function ChartEmpty({ height = 220, children }) {
|
|
32
|
+
const style = {
|
|
33
|
+
...font,
|
|
34
|
+
display: "flex",
|
|
35
|
+
alignItems: "center",
|
|
36
|
+
justifyContent: "center",
|
|
37
|
+
width: "100%",
|
|
38
|
+
height,
|
|
39
|
+
minHeight: height,
|
|
40
|
+
color: t.muted,
|
|
41
|
+
border: `1px dashed ${t.border}`,
|
|
42
|
+
borderRadius: t.radiusMedium,
|
|
43
|
+
background: `color-mix(in srgb, ${t.background} 40%, transparent)`,
|
|
44
|
+
fontSize: "0.9em",
|
|
45
|
+
textAlign: "center",
|
|
46
|
+
padding: 12,
|
|
47
|
+
};
|
|
48
|
+
return _jsx("div", { "data-kit": "ChartEmpty", children: _jsx("div", { style: style, children: children }) });
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=sanitize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../../src/kit/charts/sanitize.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAEvC,sEAAsE;AACtE,MAAM,UAAU,cAAc,CAC5B,IAAS,EACT,IAAc;IAEd,yEAAyE;IACzE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,MAAM,GAAG,GAA4B,EAAE,GAAG,GAAG,EAAE,CAAC;QAChD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9C,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,eAAe,CAAC,MAAwC;IACtE,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC3C,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,aAAa,CAAC,IAAoC,EAAE,IAAc;IAChF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAOD,uDAAuD;AACvD,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAmB;IACpE,OAAO,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAG,QAAQ,GAAO,CAAC;AACpF,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,QAAQ,EAA4C;IAC7F,MAAM,KAAK,GAAkB;QAC3B,GAAG,IAAI;QACP,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,KAAK,EAAE,MAAM;QACb,MAAM;QACN,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE;QAChC,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,UAAU,EAAE,sBAAsB,CAAC,CAAC,UAAU,oBAAoB;QAClE,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,EAAE;KACZ,CAAC;IACF,OAAO,0BAAc,YAAY,YAAE,cAAK,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAO,GAAO,CAAC;AAChF,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface SparklineProps {
|
|
2
|
+
/** A list of numbers, or rows with a `valueKey`. */
|
|
3
|
+
data: Array<number | Record<string, unknown>>;
|
|
4
|
+
/** Field to read when `data` holds objects. */
|
|
5
|
+
valueKey?: string;
|
|
6
|
+
height?: number;
|
|
7
|
+
/** Placeholder shown when there is nothing renderable. */
|
|
8
|
+
emptyState?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function Sparkline({ data, valueKey, height, emptyState }: SparklineProps): import("react").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=sparkline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sparkline.d.ts","sourceRoot":"","sources":["../../../src/kit/charts/sparkline.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,QAAkB,EAAE,MAAW,EAAE,UAAgB,EAAE,EAAE,cAAc,+BAmCpG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/** Sparkline — a compact inline trend, recharts Area internals (W2 §The Kit). */
|
|
3
|
+
import { Area, AreaChart, ResponsiveContainer } from "recharts";
|
|
4
|
+
import { seriesColor } from "../tokens.js";
|
|
5
|
+
import { font, t } from "../tokens.js";
|
|
6
|
+
import { sanitizeNumbers } from "./sanitize.js";
|
|
7
|
+
export function Sparkline({ data, valueKey = "value", height = 40, emptyState = "—" }) {
|
|
8
|
+
// W3 — fail SOFT on missing data (a failed query resolves to undefined).
|
|
9
|
+
const raw = (Array.isArray(data) ? data : []).map((d) => (typeof d === "number" ? d : d[valueKey]));
|
|
10
|
+
const clean = sanitizeNumbers(raw);
|
|
11
|
+
if (clean.length < 2) {
|
|
12
|
+
return (_jsx("span", { "data-kit": "Sparkline", style: { ...font, color: t.muted, fontSize: "0.9em" }, children: emptyState }));
|
|
13
|
+
}
|
|
14
|
+
const points = clean.map((v, i) => ({ i, v }));
|
|
15
|
+
return (_jsx("div", { "data-kit": "Sparkline", style: { width: "100%", height, minHeight: height }, children: _jsx(ResponsiveContainer, { width: "100%", height: "100%", children: _jsxs(AreaChart, { data: points, margin: { top: 2, right: 2, bottom: 2, left: 2 }, children: [_jsx("defs", { children: _jsxs("linearGradient", { id: "vendo-spark-fill", x1: "0", y1: "0", x2: "0", y2: "1", children: [_jsx("stop", { offset: "0%", stopColor: seriesColor(0), stopOpacity: 0.25 }), _jsx("stop", { offset: "100%", stopColor: seriesColor(0), stopOpacity: 0 })] }) }), _jsx(Area, { type: "monotone", dataKey: "v", stroke: seriesColor(0), strokeWidth: 1.6, fill: "url(#vendo-spark-fill)", dot: false, isAnimationActive: false })] }) }) }));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=sparkline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sparkline.js","sourceRoot":"","sources":["../../../src/kit/charts/sparkline.tsx"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAYhD,MAAM,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,EAAE,MAAM,GAAG,EAAE,EAAE,UAAU,GAAG,GAAG,EAAkB;IACnG,yEAAyE;IACzE,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,QAAQ,CAAY,CAAC,CAAC,CAAC;IAChH,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CACL,2BAAe,WAAW,EAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,YAC7E,UAAU,GACN,CACR,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,OAAO,CACL,0BAAc,WAAW,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAC3E,KAAC,mBAAmB,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,YAC7C,MAAC,SAAS,IAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,aACvE,yBACE,0BAAgB,EAAE,EAAC,kBAAkB,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,aAC/D,eAAM,MAAM,EAAC,IAAI,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,GAAI,EAClE,eAAM,MAAM,EAAC,MAAM,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,GAAI,IAClD,GACZ,EACP,KAAC,IAAI,IACH,IAAI,EAAC,UAAU,EACf,OAAO,EAAC,GAAG,EACX,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EACtB,WAAW,EAAE,GAAG,EAChB,IAAI,EAAC,wBAAwB,EAC7B,GAAG,EAAE,KAAK,EACV,iBAAiB,EAAE,KAAK,GACxB,IACQ,GACQ,GAClB,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Badge — small status label using theme tones (W2 §The Kit). */
|
|
2
|
+
import type { PropsWithChildren } from "react";
|
|
3
|
+
import { type EnumTone } from "../values.js";
|
|
4
|
+
export interface BadgeProps {
|
|
5
|
+
label?: string;
|
|
6
|
+
tone?: EnumTone;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A literal status pill. For enum data fields prefer `EnumBadge` (it humanizes
|
|
10
|
+
* and tone-maps the raw value); `Badge` is for a copy label the model writes.
|
|
11
|
+
*/
|
|
12
|
+
export declare function Badge({ label, tone, children }: PropsWithChildren<BadgeProps>): import("react").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../src/kit/data/badge.tsx"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,KAAK,EAAE,IAAgB,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,UAAU,CAAC,+BAIzF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { EnumBadge } from "../values.js";
|
|
3
|
+
/**
|
|
4
|
+
* A literal status pill. For enum data fields prefer `EnumBadge` (it humanizes
|
|
5
|
+
* and tone-maps the raw value); `Badge` is for a copy label the model writes.
|
|
6
|
+
*/
|
|
7
|
+
export function Badge({ label, tone = "neutral", children }) {
|
|
8
|
+
const text = label ?? (typeof children === "string" ? children : "");
|
|
9
|
+
// Reuse EnumBadge's tone styling with an explicit label (no humanization).
|
|
10
|
+
return _jsx(EnumBadge, { value: text, labels: { [text]: text }, tone: tone });
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/kit/data/badge.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAiB,MAAM,cAAc,CAAC;AAOxD;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAiC;IACxF,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrE,2EAA2E;IAC3E,OAAO,KAAC,SAAS,IAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** CardList — one branded card per record, semantically formatted (W2 §The Kit). */
|
|
2
|
+
import { type ValueFormat } from "../format.js";
|
|
3
|
+
export interface CardField {
|
|
4
|
+
key: string;
|
|
5
|
+
label?: string;
|
|
6
|
+
format?: ValueFormat;
|
|
7
|
+
}
|
|
8
|
+
export interface CardListProps {
|
|
9
|
+
/** Items from a tool call. */
|
|
10
|
+
items: Array<Record<string, unknown>>;
|
|
11
|
+
/** Field used as each card's title. */
|
|
12
|
+
titleField?: string;
|
|
13
|
+
/** Optional field rendered as a status pill (EnumBadge). */
|
|
14
|
+
badgeField?: string;
|
|
15
|
+
/** Fields shown as label/value rows. */
|
|
16
|
+
fields?: CardField[];
|
|
17
|
+
/** Columns of cards (defaults to a responsive auto-fit grid). */
|
|
18
|
+
columns?: number;
|
|
19
|
+
/** Text shown when there are no items. */
|
|
20
|
+
emptyState?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function CardList({ items: rawItems, titleField, badgeField, fields, columns, emptyState }: CardListProps): import("react").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=card-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-list.d.ts","sourceRoot":"","sources":["../../../src/kit/data/card-list.tsx"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAI7D,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,8BAA8B;IAC9B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtC,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAW,EAAE,OAAO,EAAE,UAAuB,EAAE,EAAE,aAAa,+BAuEjI"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/** CardList — one branded card per record, semantically formatted (W2 §The Kit). */
|
|
3
|
+
import { applyFormat } from "../format.js";
|
|
4
|
+
import { font, t } from "../tokens.js";
|
|
5
|
+
import { EnumBadge } from "../values.js";
|
|
6
|
+
function resolve(row, key) {
|
|
7
|
+
return key.split(".").reduce((acc, k) => (acc && typeof acc === "object" ? acc[k] : undefined), row);
|
|
8
|
+
}
|
|
9
|
+
export function CardList({ items: rawItems, titleField, badgeField, fields = [], columns, emptyState = "No items" }) {
|
|
10
|
+
// W3 — fail SOFT on missing data (a failed query resolves to undefined).
|
|
11
|
+
const items = Array.isArray(rawItems) ? rawItems : [];
|
|
12
|
+
if (items.length === 0) {
|
|
13
|
+
return (_jsx("div", { "data-kit": "CardList", style: {
|
|
14
|
+
...font,
|
|
15
|
+
color: t.muted,
|
|
16
|
+
textAlign: "center",
|
|
17
|
+
border: `1px dashed ${t.border}`,
|
|
18
|
+
borderRadius: t.radiusMedium,
|
|
19
|
+
padding: "calc(var(--vendo-font-size, 15px) * 1.6)",
|
|
20
|
+
}, children: emptyState }));
|
|
21
|
+
}
|
|
22
|
+
const gridTemplate = columns
|
|
23
|
+
? `repeat(${Math.max(1, Math.floor(columns))}, minmax(0, 1fr))`
|
|
24
|
+
: "repeat(auto-fill, minmax(220px, 1fr))";
|
|
25
|
+
return (_jsx("div", { "data-kit": "CardList", style: { display: "grid", gridTemplateColumns: gridTemplate, gap: "var(--vendo-density-content-gap, 10px)" }, children: items.map((item, index) => {
|
|
26
|
+
const badge = badgeField ? resolve(item, badgeField) : undefined;
|
|
27
|
+
return (_jsxs("article", { style: {
|
|
28
|
+
...font,
|
|
29
|
+
display: "flex",
|
|
30
|
+
flexDirection: "column",
|
|
31
|
+
gap: "var(--vendo-density-field-gap, 6px)",
|
|
32
|
+
border: `1px solid ${t.border}`,
|
|
33
|
+
borderRadius: t.radiusLarge,
|
|
34
|
+
background: t.surface,
|
|
35
|
+
boxShadow: `0 4px 20px color-mix(in srgb, ${t.text} 5%, transparent)`,
|
|
36
|
+
padding: "var(--vendo-density-card-padding, 16px)",
|
|
37
|
+
}, children: [(titleField || badge !== undefined) && (_jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8 }, children: [titleField ? (_jsx("span", { style: { fontFamily: t.headingFamily, fontWeight: 650, letterSpacing: "-0.015em" }, children: String(resolve(item, titleField) ?? "—") })) : _jsx("span", {}), badge !== undefined && badge !== null && badge !== "" ? (_jsx(EnumBadge, { value: String(badge) })) : null] })), fields.map((f) => {
|
|
38
|
+
const formatted = applyFormat(resolve(item, f.key), f.format ?? "text");
|
|
39
|
+
return (_jsxs("div", { style: { display: "flex", justifyContent: "space-between", gap: 8, fontSize: "0.92em" }, children: [_jsx("span", { style: { color: t.muted }, children: f.label ?? f.key }), _jsx("span", { style: { fontVariantNumeric: "tabular-nums" }, children: formatted ?? "—" })] }, f.key));
|
|
40
|
+
})] }, String(resolve(item, "id") ?? index)));
|
|
41
|
+
}) }));
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=card-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-list.js","sourceRoot":"","sources":["../../../src/kit/data/card-list.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type ValueFormat } from "../format.js";
|
|
2
|
+
export interface DataTableColumn {
|
|
3
|
+
/** Field key; supports dot-paths ("client.name"). */
|
|
4
|
+
key: string;
|
|
5
|
+
/** Header label; defaults to a humanized last path segment. */
|
|
6
|
+
label?: string;
|
|
7
|
+
/** Value-tier format applied to every cell. */
|
|
8
|
+
format?: ValueFormat;
|
|
9
|
+
align?: "start" | "center" | "end";
|
|
10
|
+
}
|
|
11
|
+
export interface DataTableProps {
|
|
12
|
+
/** Rows from a tool call. */
|
|
13
|
+
rows: Array<Record<string, unknown>>;
|
|
14
|
+
/** Column descriptions; when omitted, inferred from the first row's keys. */
|
|
15
|
+
columns?: DataTableColumn[];
|
|
16
|
+
/** Initial sort, e.g. "dueDate asc" or "amountCents desc". */
|
|
17
|
+
sortBy?: string;
|
|
18
|
+
/** Hard cap on rows shown. */
|
|
19
|
+
limit?: number;
|
|
20
|
+
/** Column keys to expose as distinct-value filter dropdowns. */
|
|
21
|
+
filterableBy?: string[];
|
|
22
|
+
/** Show a search box filtering across all columns. */
|
|
23
|
+
searchable?: boolean;
|
|
24
|
+
/** Page size; enables pagination when set. */
|
|
25
|
+
paginate?: number;
|
|
26
|
+
/** Text shown when there are no rows (the named-query empty state). */
|
|
27
|
+
emptyState?: string;
|
|
28
|
+
/** Optional table caption. */
|
|
29
|
+
caption?: string;
|
|
30
|
+
}
|
|
31
|
+
export declare function DataTable(props: DataTableProps): import("react").JSX.Element;
|
|
32
|
+
//# sourceMappingURL=data-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../../src/kit/data/data-table.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAI7D,MAAM,WAAW,eAAe;IAC9B,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,sDAAsD;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAeD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,+BAuP9C"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* DataTable — the flagship (W2 §The Kit). TanStack Table internals; the model
|
|
4
|
+
* only fills props. It sorts, filters, searches, paginates, resolves dot-path
|
|
5
|
+
* column keys, formats each cell by its `format` token, and shows a named-query
|
|
6
|
+
* empty state — none of which the model has to author.
|
|
7
|
+
*/
|
|
8
|
+
import { useMemo, useState } from "react";
|
|
9
|
+
import { flexRender, getCoreRowModel, getFilteredRowModel, getPaginationRowModel, getSortedRowModel, useReactTable, } from "@tanstack/react-table";
|
|
10
|
+
import { applyFormat } from "../format.js";
|
|
11
|
+
import { font, t } from "../tokens.js";
|
|
12
|
+
import { humanizeEnum } from "../values.js";
|
|
13
|
+
/** Resolve a dot-path against a row. */
|
|
14
|
+
function resolvePath(row, path) {
|
|
15
|
+
return path.split(".").reduce((acc, key) => {
|
|
16
|
+
if (acc && typeof acc === "object")
|
|
17
|
+
return acc[key];
|
|
18
|
+
return undefined;
|
|
19
|
+
}, row);
|
|
20
|
+
}
|
|
21
|
+
const alignCss = (a) => a === "end" ? "right" : a === "center" ? "center" : "left";
|
|
22
|
+
const cellPad = "var(--vendo-density-table-padding, 10px 12px)";
|
|
23
|
+
export function DataTable(props) {
|
|
24
|
+
const { rows: rawRows, sortBy, limit, filterableBy, searchable = false, paginate, emptyState = "No data", caption, } = props;
|
|
25
|
+
// W3 — fail SOFT on missing data: a failed/pending query resolves its
|
|
26
|
+
// binding to undefined at runtime; the table's named-query empty state is
|
|
27
|
+
// the honest render, never a crash.
|
|
28
|
+
const rows = useMemo(() => (Array.isArray(rawRows) ? rawRows : []), [rawRows]);
|
|
29
|
+
const columns = useMemo(() => props.columns ?? Object.keys(rows[0] ?? {}).map((key) => ({ key })), [props.columns, rows]);
|
|
30
|
+
const data = useMemo(() => (typeof limit === "number" && limit >= 0 ? rows.slice(0, limit) : rows), [rows, limit]);
|
|
31
|
+
const initialSorting = useMemo(() => {
|
|
32
|
+
if (!sortBy)
|
|
33
|
+
return [];
|
|
34
|
+
const [id, dir] = sortBy.trim().split(/\s+/);
|
|
35
|
+
if (!id)
|
|
36
|
+
return [];
|
|
37
|
+
return [{ id, desc: (dir ?? "asc").toLowerCase() === "desc" }];
|
|
38
|
+
}, [sortBy]);
|
|
39
|
+
const tanstackColumns = useMemo(() => columns.map((col) => ({
|
|
40
|
+
id: col.key,
|
|
41
|
+
accessorFn: (row) => resolvePath(row, col.key),
|
|
42
|
+
header: col.label ?? humanizeEnum(col.key.split(".").pop() ?? col.key),
|
|
43
|
+
cell: (ctx) => {
|
|
44
|
+
const raw = ctx.getValue();
|
|
45
|
+
const formatted = applyFormat(raw, col.format ?? "text");
|
|
46
|
+
if (formatted === null)
|
|
47
|
+
return _jsx("span", { style: { color: t.muted }, children: "\u2014" });
|
|
48
|
+
return formatted;
|
|
49
|
+
},
|
|
50
|
+
filterFn: "includesString",
|
|
51
|
+
})), [columns]);
|
|
52
|
+
const [sorting, setSorting] = useState(initialSorting);
|
|
53
|
+
const [globalFilter, setGlobalFilter] = useState("");
|
|
54
|
+
const [columnFilters, setColumnFilters] = useState([]);
|
|
55
|
+
const table = useReactTable({
|
|
56
|
+
data,
|
|
57
|
+
columns: tanstackColumns,
|
|
58
|
+
state: { sorting, globalFilter, columnFilters },
|
|
59
|
+
onSortingChange: setSorting,
|
|
60
|
+
onGlobalFilterChange: setGlobalFilter,
|
|
61
|
+
onColumnFiltersChange: setColumnFilters,
|
|
62
|
+
globalFilterFn: "includesString",
|
|
63
|
+
getCoreRowModel: getCoreRowModel(),
|
|
64
|
+
getSortedRowModel: getSortedRowModel(),
|
|
65
|
+
getFilteredRowModel: getFilteredRowModel(),
|
|
66
|
+
...(typeof paginate === "number" && paginate > 0
|
|
67
|
+
? { getPaginationRowModel: getPaginationRowModel(), initialState: { pagination: { pageSize: paginate, pageIndex: 0 } } }
|
|
68
|
+
: {}),
|
|
69
|
+
});
|
|
70
|
+
const distinctValues = useMemo(() => {
|
|
71
|
+
const map = new Map();
|
|
72
|
+
for (const key of filterableBy ?? []) {
|
|
73
|
+
const set = new Set();
|
|
74
|
+
for (const row of data) {
|
|
75
|
+
const v = resolvePath(row, key);
|
|
76
|
+
if (v !== null && v !== undefined && v !== "")
|
|
77
|
+
set.add(String(v));
|
|
78
|
+
}
|
|
79
|
+
map.set(key, [...set].sort());
|
|
80
|
+
}
|
|
81
|
+
return map;
|
|
82
|
+
}, [filterableBy, data]);
|
|
83
|
+
const columnLabel = (key) => columns.find((c) => c.key === key)?.label ?? humanizeEnum(key.split(".").pop() ?? key);
|
|
84
|
+
const bodyRows = table.getRowModel().rows;
|
|
85
|
+
return (_jsxs("div", { "data-kit": "DataTable", style: { ...font, display: "flex", flexDirection: "column", gap: "var(--vendo-density-content-gap, 10px)" }, children: [(searchable || (filterableBy && filterableBy.length > 0)) && (_jsxs("div", { style: { display: "flex", flexWrap: "wrap", gap: "var(--vendo-density-inline-gap, 7px)", alignItems: "center" }, children: [searchable && (_jsx("input", { type: "search", role: "searchbox", "aria-label": "Search table", placeholder: "Search\u2026", value: globalFilter, onChange: (e) => setGlobalFilter(e.target.value), style: {
|
|
86
|
+
...font,
|
|
87
|
+
minHeight: "var(--vendo-density-control-height, 38px)",
|
|
88
|
+
border: `1px solid ${t.border}`,
|
|
89
|
+
borderRadius: t.radiusSmall,
|
|
90
|
+
background: t.surface,
|
|
91
|
+
padding: "var(--vendo-density-control-padding, 9px 12px)",
|
|
92
|
+
flex: "1 1 180px",
|
|
93
|
+
} })), (filterableBy ?? []).map((key) => (_jsxs("select", { "aria-label": `Filter by ${columnLabel(key)}`, value: columnFilters.find((f) => f.id === key)?.value ?? "", onChange: (e) => {
|
|
94
|
+
const value = e.target.value;
|
|
95
|
+
setColumnFilters((prev) => {
|
|
96
|
+
const rest = prev.filter((f) => f.id !== key);
|
|
97
|
+
return value ? [...rest, { id: key, value }] : rest;
|
|
98
|
+
});
|
|
99
|
+
}, style: {
|
|
100
|
+
...font,
|
|
101
|
+
minHeight: "var(--vendo-density-control-height, 38px)",
|
|
102
|
+
border: `1px solid ${t.border}`,
|
|
103
|
+
borderRadius: t.radiusSmall,
|
|
104
|
+
background: t.surface,
|
|
105
|
+
padding: "6px 10px",
|
|
106
|
+
cursor: "pointer",
|
|
107
|
+
}, children: [_jsxs("option", { value: "", children: ["All ", columnLabel(key)] }), (distinctValues.get(key) ?? []).map((v) => (_jsx("option", { value: v, children: v }, v)))] }, key)))] })), _jsx("div", { style: {
|
|
108
|
+
width: "100%",
|
|
109
|
+
overflowX: "auto",
|
|
110
|
+
border: `1px solid ${t.border}`,
|
|
111
|
+
borderRadius: t.radiusMedium,
|
|
112
|
+
background: t.surface,
|
|
113
|
+
}, children: _jsxs("table", { style: { width: "100%", borderCollapse: "collapse" }, children: [caption ? (_jsx("caption", { style: { padding: cellPad, textAlign: "left", fontWeight: 650 }, children: caption })) : null, _jsx("thead", { children: table.getHeaderGroups().map((hg) => (_jsx("tr", { style: { background: `color-mix(in srgb, ${t.background} 72%, ${t.surface})` }, children: hg.headers.map((header) => {
|
|
114
|
+
const col = columns.find((c) => c.key === header.column.id);
|
|
115
|
+
const sorted = header.column.getIsSorted();
|
|
116
|
+
return (_jsxs("th", { scope: "col", onClick: header.column.getToggleSortingHandler(), style: {
|
|
117
|
+
color: t.muted,
|
|
118
|
+
borderBottom: `1px solid ${t.border}`,
|
|
119
|
+
fontSize: "0.78em",
|
|
120
|
+
fontWeight: 700,
|
|
121
|
+
letterSpacing: "0.045em",
|
|
122
|
+
padding: cellPad,
|
|
123
|
+
textAlign: alignCss(col?.align),
|
|
124
|
+
textTransform: "uppercase",
|
|
125
|
+
cursor: "pointer",
|
|
126
|
+
userSelect: "none",
|
|
127
|
+
whiteSpace: "nowrap",
|
|
128
|
+
}, children: [flexRender(header.column.columnDef.header, header.getContext()), sorted === "asc" ? " ▲" : sorted === "desc" ? " ▼" : ""] }, header.id));
|
|
129
|
+
}) }, hg.id))) }), _jsx("tbody", { children: bodyRows.length === 0 ? (_jsx("tr", { children: _jsx("td", { colSpan: Math.max(1, columns.length), style: { color: t.muted, padding: "calc(var(--vendo-font-size, 15px) * 1.6) 12px", textAlign: "center" }, children: emptyState }) })) : (bodyRows.map((row, rowIndex) => (_jsx("tr", { children: row.getVisibleCells().map((cell) => {
|
|
130
|
+
const col = columns.find((c) => c.key === cell.column.id);
|
|
131
|
+
return (_jsx("td", { style: {
|
|
132
|
+
borderBottom: rowIndex === bodyRows.length - 1 ? 0 : `1px solid ${t.border}`,
|
|
133
|
+
padding: cellPad,
|
|
134
|
+
textAlign: alignCss(col?.align),
|
|
135
|
+
fontVariantNumeric: col?.format && col.format !== "text" ? "tabular-nums" : undefined,
|
|
136
|
+
}, children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id));
|
|
137
|
+
}) }, row.id)))) })] }) }), typeof paginate === "number" && paginate > 0 && table.getPageCount() > 1 && (_jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: "var(--vendo-density-inline-gap, 7px)" }, children: [_jsxs("span", { style: { color: t.muted, fontSize: "0.85em" }, children: ["Page ", table.getState().pagination.pageIndex + 1, " of ", table.getPageCount()] }), _jsxs("div", { style: { display: "flex", gap: "var(--vendo-density-inline-gap, 7px)" }, children: [_jsx(PageButton, { disabled: !table.getCanPreviousPage(), onClick: () => table.previousPage(), children: "Previous" }), _jsx(PageButton, { disabled: !table.getCanNextPage(), onClick: () => table.nextPage(), children: "Next" })] })] }))] }));
|
|
138
|
+
}
|
|
139
|
+
function PageButton({ disabled, onClick, children }) {
|
|
140
|
+
return (_jsx("button", { type: "button", disabled: disabled, onClick: onClick, style: {
|
|
141
|
+
...font,
|
|
142
|
+
border: `1px solid ${t.border}`,
|
|
143
|
+
borderRadius: t.radiusSmall,
|
|
144
|
+
background: t.surface,
|
|
145
|
+
color: t.text,
|
|
146
|
+
cursor: disabled ? "not-allowed" : "pointer",
|
|
147
|
+
opacity: disabled ? 0.5 : 1,
|
|
148
|
+
fontSize: "0.85em",
|
|
149
|
+
fontWeight: 600,
|
|
150
|
+
padding: "6px 12px",
|
|
151
|
+
}, children: children }));
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=data-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-table.js","sourceRoot":"","sources":["../../../src/kit/data/data-table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Stat — a KPI/metric summary with semantic formatting (W2 §The Kit). */
|
|
2
|
+
import { type ValueFormat } from "../format.js";
|
|
3
|
+
export interface StatProps {
|
|
4
|
+
/** Metric name. */
|
|
5
|
+
label: string;
|
|
6
|
+
/** Raw value; formatted by `format` (money takes cents). */
|
|
7
|
+
value: number | string;
|
|
8
|
+
/** Value-tier format. */
|
|
9
|
+
format?: ValueFormat;
|
|
10
|
+
/** A trend / delta caption, e.g. "+12% MoM". */
|
|
11
|
+
trend?: string;
|
|
12
|
+
tone?: "default" | "accent" | "danger";
|
|
13
|
+
}
|
|
14
|
+
export declare function Stat({ label, value, format, trend, tone }: StatProps): import("react").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=stat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stat.d.ts","sourceRoot":"","sources":["../../../src/kit/data/stat.tsx"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAG7D,MAAM,WAAW,SAAS;IACxB,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,yBAAyB;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACxC;AAED,wBAAgB,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAe,EAAE,KAAK,EAAE,IAAgB,EAAE,EAAE,SAAS,+BAuCzF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/** Stat — a KPI/metric summary with semantic formatting (W2 §The Kit). */
|
|
3
|
+
import { applyFormat } from "../format.js";
|
|
4
|
+
import { font, t } from "../tokens.js";
|
|
5
|
+
export function Stat({ label, value, format = "text", trend, tone = "default" }) {
|
|
6
|
+
const emphasis = tone === "accent" ? t.accent : tone === "danger" ? t.danger : t.text;
|
|
7
|
+
const formatted = applyFormat(value, format);
|
|
8
|
+
return (_jsxs("article", { "data-kit": "Stat", "data-tone": tone, "aria-label": label, style: {
|
|
9
|
+
...font,
|
|
10
|
+
display: "flex",
|
|
11
|
+
flexDirection: "column",
|
|
12
|
+
gap: "var(--vendo-density-field-gap, 6px)",
|
|
13
|
+
minWidth: 0,
|
|
14
|
+
borderLeft: `3px solid ${emphasis}`,
|
|
15
|
+
borderRadius: t.radiusSmall,
|
|
16
|
+
background: `color-mix(in srgb, ${t.surface} 90%, ${t.background})`,
|
|
17
|
+
padding: "var(--vendo-density-stat-padding, 12px 14px)",
|
|
18
|
+
}, children: [_jsx("span", { style: { color: t.muted, fontSize: "0.82em", fontWeight: 650 }, children: label }), _jsx("strong", { style: {
|
|
19
|
+
color: emphasis,
|
|
20
|
+
fontFamily: t.headingFamily,
|
|
21
|
+
fontSize: "calc(var(--vendo-font-size, 15px) * 1.65)",
|
|
22
|
+
fontWeight: 700,
|
|
23
|
+
letterSpacing: "-0.025em",
|
|
24
|
+
lineHeight: 1.12,
|
|
25
|
+
fontVariantNumeric: "tabular-nums",
|
|
26
|
+
}, children: formatted ?? "—" }), trend ? (_jsx("span", { style: { color: t.muted, fontSize: "0.8em", lineHeight: 1.35 }, children: trend })) : null] }));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=stat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stat.js","sourceRoot":"","sources":["../../../src/kit/data/stat.tsx"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,OAAO,EAAE,WAAW,EAAoB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAcvC,MAAM,UAAU,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,SAAS,EAAa;IACxF,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,OAAO,CACL,+BACW,MAAM,eACJ,IAAI,gBACH,KAAK,EACjB,KAAK,EAAE;YACL,GAAG,IAAI;YACP,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,GAAG,EAAE,qCAAqC;YAC1C,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,aAAa,QAAQ,EAAE;YACnC,YAAY,EAAE,CAAC,CAAC,WAAW;YAC3B,UAAU,EAAE,sBAAsB,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,UAAU,GAAG;YACnE,OAAO,EAAE,8CAA8C;SACxD,aAED,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,YAAG,KAAK,GAAQ,EACpF,iBACE,KAAK,EAAE;oBACL,KAAK,EAAE,QAAQ;oBACf,UAAU,EAAE,CAAC,CAAC,aAAa;oBAC3B,QAAQ,EAAE,2CAA2C;oBACrD,UAAU,EAAE,GAAG;oBACf,aAAa,EAAE,UAAU;oBACzB,UAAU,EAAE,IAAI;oBAChB,kBAAkB,EAAE,cAAc;iBACnC,YAEA,SAAS,IAAI,GAAG,GACV,EACR,KAAK,CAAC,CAAC,CAAC,CACP,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,YAAG,KAAK,GAAQ,CACrF,CAAC,CAAC,CAAC,IAAI,IACA,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Accordion — self-managing collapsible sections (W2 §The Kit). */
|
|
2
|
+
import { type ReactNode } from "react";
|
|
3
|
+
export interface AccordionItem {
|
|
4
|
+
label: string;
|
|
5
|
+
content: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export interface AccordionProps {
|
|
8
|
+
items: AccordionItem[];
|
|
9
|
+
/** Allow more than one section open at once. */
|
|
10
|
+
multiple?: boolean;
|
|
11
|
+
/** Indices open on first render. */
|
|
12
|
+
defaultOpen?: number[];
|
|
13
|
+
}
|
|
14
|
+
export declare function Accordion({ items, multiple, defaultOpen }: AccordionProps): import("react").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=accordion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/kit/feedback/accordion.tsx"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGjD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,QAAgB,EAAE,WAAgB,EAAE,EAAE,cAAc,+BAkDtF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/** Accordion — self-managing collapsible sections (W2 §The Kit). */
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { font, t } from "../tokens.js";
|
|
5
|
+
export function Accordion({ items, multiple = false, defaultOpen = [] }) {
|
|
6
|
+
const [open, setOpen] = useState(new Set(defaultOpen));
|
|
7
|
+
const toggle = (i) => setOpen((prev) => {
|
|
8
|
+
const next = new Set(multiple ? prev : []);
|
|
9
|
+
if (prev.has(i))
|
|
10
|
+
next.delete(i);
|
|
11
|
+
else
|
|
12
|
+
next.add(i);
|
|
13
|
+
return next;
|
|
14
|
+
});
|
|
15
|
+
return (_jsx("div", { "data-kit": "Accordion", style: { ...font, border: `1px solid ${t.border}`, borderRadius: t.radiusMedium, overflow: "hidden", background: t.surface }, children: items.map((item, i) => {
|
|
16
|
+
const isOpen = open.has(i);
|
|
17
|
+
return (_jsxs("div", { style: { borderTop: i === 0 ? 0 : `1px solid ${t.border}` }, children: [_jsxs("button", { type: "button", "aria-expanded": isOpen, onClick: () => toggle(i), style: {
|
|
18
|
+
...font,
|
|
19
|
+
display: "flex",
|
|
20
|
+
width: "100%",
|
|
21
|
+
alignItems: "center",
|
|
22
|
+
justifyContent: "space-between",
|
|
23
|
+
gap: 8,
|
|
24
|
+
border: 0,
|
|
25
|
+
background: "transparent",
|
|
26
|
+
cursor: "pointer",
|
|
27
|
+
fontWeight: 600,
|
|
28
|
+
padding: "var(--vendo-density-card-padding, 12px 14px)",
|
|
29
|
+
textAlign: "left",
|
|
30
|
+
}, children: [item.label, _jsx("span", { "aria-hidden": "true", style: { color: t.muted, transform: isOpen ? "rotate(90deg)" : "none", transition: `transform ${t.motionDuration} ${t.motionEasing}` }, children: "\u203A" })] }), isOpen ? (_jsx("div", { style: { padding: "0 14px var(--vendo-density-card-padding, 14px)", color: t.text }, children: item.content })) : null] }, `${item.label}-${i}`));
|
|
31
|
+
}) }));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../../src/kit/feedback/accordion.tsx"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAevC,MAAM,UAAU,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAkB;IACrF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAc,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAC3B,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;;YAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACL,OAAO,CACL,0BACW,WAAW,EACpB,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,YAE3H,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3B,OAAO,CACL,eAAgC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,aACzF,kBACE,IAAI,EAAC,QAAQ,mBACE,MAAM,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EACxB,KAAK,EAAE;4BACL,GAAG,IAAI;4BACP,OAAO,EAAE,MAAM;4BACf,KAAK,EAAE,MAAM;4BACb,UAAU,EAAE,QAAQ;4BACpB,cAAc,EAAE,eAAe;4BAC/B,GAAG,EAAE,CAAC;4BACN,MAAM,EAAE,CAAC;4BACT,UAAU,EAAE,aAAa;4BACzB,MAAM,EAAE,SAAS;4BACjB,UAAU,EAAE,GAAG;4BACf,OAAO,EAAE,8CAA8C;4BACvD,SAAS,EAAE,MAAM;yBAClB,aAEA,IAAI,CAAC,KAAK,EACX,8BAAkB,MAAM,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,uBAExJ,IACA,EACR,MAAM,CAAC,CAAC,CAAC,CACR,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,gDAAgD,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,YAAG,IAAI,CAAC,OAAO,GAAO,CAC/G,CAAC,CAAC,CAAC,IAAI,KA3BA,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CA4BxB,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Callout — a toned info/success/warning/danger notice (W2 §The Kit).
|
|
3
|
+
* Distinct from Disclaimer: Callout highlights real information; Disclaimer is
|
|
4
|
+
* the honesty arm for when no tool backs the ask.
|
|
5
|
+
*/
|
|
6
|
+
import type { PropsWithChildren } from "react";
|
|
7
|
+
export type CalloutTone = "info" | "success" | "warning" | "danger";
|
|
8
|
+
export interface CalloutProps {
|
|
9
|
+
tone?: CalloutTone;
|
|
10
|
+
title?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function Callout({ tone, title, children }: PropsWithChildren<CalloutProps>): import("react").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=callout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callout.d.ts","sourceRoot":"","sources":["../../../src/kit/feedback/callout.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AASpE,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,OAAO,CAAC,EAAE,IAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,YAAY,CAAC,+BA6B1F"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { font, t } from "../tokens.js";
|
|
3
|
+
const TONE = {
|
|
4
|
+
info: { accent: t.accent, icon: "ⓘ" },
|
|
5
|
+
success: { accent: "#1e7f53", icon: "✓" },
|
|
6
|
+
warning: { accent: "#b8860b", icon: "▲" },
|
|
7
|
+
danger: { accent: t.danger, icon: "✕" },
|
|
8
|
+
};
|
|
9
|
+
export function Callout({ tone = "info", title, children }) {
|
|
10
|
+
const { accent, icon } = TONE[tone];
|
|
11
|
+
return (_jsxs("div", { "data-kit": "Callout", "data-tone": tone, role: "status", style: {
|
|
12
|
+
...font,
|
|
13
|
+
display: "flex",
|
|
14
|
+
gap: "var(--vendo-density-inline-gap, 10px)",
|
|
15
|
+
alignItems: "flex-start",
|
|
16
|
+
borderLeft: `3px solid ${accent}`,
|
|
17
|
+
border: `1px solid color-mix(in srgb, ${accent} 25%, ${t.border})`,
|
|
18
|
+
borderLeftWidth: 3,
|
|
19
|
+
borderRadius: t.radiusMedium,
|
|
20
|
+
background: `color-mix(in srgb, ${accent} 7%, ${t.surface})`,
|
|
21
|
+
padding: "var(--vendo-density-card-padding, 12px 14px)",
|
|
22
|
+
}, children: [_jsx("span", { "aria-hidden": "true", style: { color: accent, fontWeight: 700, lineHeight: 1.4 }, children: icon }), _jsxs("div", { style: { display: "flex", flexDirection: "column", gap: 3 }, children: [title ? _jsx("span", { style: { fontWeight: 650, letterSpacing: "-0.01em" }, children: title }) : null, _jsx("span", { style: { color: t.muted, fontSize: "0.92em", lineHeight: 1.45 }, children: children })] })] }));
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=callout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callout.js","sourceRoot":"","sources":["../../../src/kit/feedback/callout.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAIvC,MAAM,IAAI,GAA0D;IAClE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE;IACrC,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE;IACzC,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE;IACzC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE;CACxC,CAAC;AAOF,MAAM,UAAU,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAmC;IACzF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,CACL,2BACW,SAAS,eACP,IAAI,EACf,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;YACL,GAAG,IAAI;YACP,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,uCAAuC;YAC5C,UAAU,EAAE,YAAY;YACxB,UAAU,EAAE,aAAa,MAAM,EAAE;YACjC,MAAM,EAAE,gCAAgC,MAAM,SAAS,CAAC,CAAC,MAAM,GAAG;YAClE,eAAe,EAAE,CAAC;YAClB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,UAAU,EAAE,sBAAsB,MAAM,QAAQ,CAAC,CAAC,OAAO,GAAG;YAC5D,OAAO,EAAE,8CAA8C;SACxD,aAED,8BAAkB,MAAM,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,YAChF,IAAI,GACA,EACP,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,aAC7D,KAAK,CAAC,CAAC,CAAC,eAAM,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,YAAG,KAAK,GAAQ,CAAC,CAAC,CAAC,IAAI,EAC1F,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,YAAG,QAAQ,GAAQ,IACpF,IACF,CACP,CAAC;AACJ,CAAC"}
|