@wildo-ai/presets-components 1.1.4 → 1.1.6
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/dist/esm/components/actions/action-bar.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.js +65 -8
- package/dist/esm/components/actions/action-bar.js.map +1 -1
- package/dist/esm/components/actions/action-bar.labels.d.ts.map +1 -1
- package/dist/esm/components/actions/action-button.d.ts.map +1 -1
- package/dist/esm/components/actions/action-button.js +3 -3
- package/dist/esm/components/actions/action-button.js.map +1 -1
- package/dist/esm/components/actions/action-button.labels.d.ts.map +1 -1
- package/dist/esm/components/actions/button-group.d.ts.map +1 -1
- package/dist/esm/components/actions/button.d.ts.map +1 -1
- package/dist/esm/components/actions/button.js +62 -3
- package/dist/esm/components/actions/button.js.map +1 -1
- package/dist/esm/components/actions/button.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.js +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts +4 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.js +165 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.js.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.labels.d.ts +3 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.labels.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.labels.js +63 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.labels.js.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/shiki-highlighter-runtime.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/shiki-highlighter.lazy.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.js +8 -1
- package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts +68 -0
- package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/decision/approval-argument-fields.js +208 -0
- package/dist/esm/components/ai-elements/decision/approval-argument-fields.js.map +1 -0
- package/dist/esm/components/ai-elements/decision/approval.d.ts +124 -17
- package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.js +105 -13
- package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
- package/dist/esm/components/ai-elements/decision/decision-request.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/decision-request.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.js +1 -1
- package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.js +8 -1
- package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts +3 -1
- package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/graph-runtime.js +3 -1
- package/dist/esm/components/ai-elements/graph/graph-runtime.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/graph.lazy.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/graph.lazy.js +15 -15
- package/dist/esm/components/ai-elements/graph/graph.lazy.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent.d.ts +0 -1
- package/dist/esm/components/ai-elements/meta/agent.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent.js +23 -18
- package/dist/esm/components/ai-elements/meta/agent.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.lazy.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.lazy.js +13 -11
- package/dist/esm/components/ai-elements/meta/context.lazy.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts +6 -0
- package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.js +13 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.labels.d.ts.map +1 -1
- package/dist/esm/components/app/app-layout-consent-gate.d.ts +23 -0
- package/dist/esm/components/app/app-layout-consent-gate.d.ts.map +1 -0
- package/dist/esm/components/app/app-layout-consent-gate.js +133 -0
- package/dist/esm/components/app/app-layout-consent-gate.js.map +1 -0
- package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts +19 -0
- package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts.map +1 -0
- package/dist/esm/components/app/app-layout-document-acceptance-gate.js +56 -0
- package/dist/esm/components/app/app-layout-document-acceptance-gate.js.map +1 -0
- package/dist/esm/components/app/app-layout-main-container.d.ts +9 -0
- package/dist/esm/components/app/app-layout-main-container.d.ts.map +1 -1
- package/dist/esm/components/app/app-layout-main-container.js +17 -23
- package/dist/esm/components/app/app-layout-main-container.js.map +1 -1
- package/dist/esm/components/app/app-layout-main-container.labels.d.ts.map +1 -1
- package/dist/esm/components/app/app-layout-main-container.labels.js +48 -0
- package/dist/esm/components/app/app-layout-main-container.labels.js.map +1 -1
- package/dist/esm/components/app/public-layout-main-container.d.ts +1 -1
- package/dist/esm/components/app/public-layout-main-container.d.ts.map +1 -1
- package/dist/esm/components/app/public-layout-main-container.js +9 -8
- package/dist/esm/components/app/public-layout-main-container.js.map +1 -1
- package/dist/esm/components/app/public-layout-main-container.labels.d.ts.map +1 -1
- package/dist/esm/components/app/public-layout-terms.d.ts +46 -0
- package/dist/esm/components/app/public-layout-terms.d.ts.map +1 -0
- package/dist/esm/components/app/public-layout-terms.js +137 -0
- package/dist/esm/components/app/public-layout-terms.js.map +1 -0
- package/dist/esm/components/billing/billing-format.utils.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.js +3 -1
- package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.labels.js +1 -0
- package/dist/esm/components/billing/billing-invoice-history.labels.js.map +1 -1
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts +5 -0
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +1 -0
- package/dist/esm/components/billing/billing-plan-change-preview.js +25 -0
- package/dist/esm/components/billing/billing-plan-change-preview.js.map +1 -0
- package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts +3 -0
- package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts.map +1 -0
- package/dist/esm/components/billing/billing-plan-change-preview.labels.js +22 -0
- package/dist/esm/components/billing/billing-plan-change-preview.labels.js.map +1 -0
- package/dist/esm/components/billing/billing-portal-link.d.ts +1 -1
- package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.js +3 -1
- package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.labels.js +1 -0
- package/dist/esm/components/billing/billing-portal-link.labels.js.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.js +10 -4
- package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.labels.js +8 -1
- package/dist/esm/components/billing/billing-pricing-table.labels.js.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.js +3 -1
- package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.labels.js +1 -0
- package/dist/esm/components/billing/billing-subscription-status.labels.js.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.js +10 -7
- package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.labels.js +4 -1
- package/dist/esm/components/billing/billing-usage-dashboard.labels.js.map +1 -1
- package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
- package/dist/esm/components/data-display/avatar.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge.js +16 -15
- package/dist/esm/components/data-display/badge.js.map +1 -1
- package/dist/esm/components/data-display/badge.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/description-list.d.ts +2 -1
- package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
- package/dist/esm/components/data-display/description-list.js +24 -8
- package/dist/esm/components/data-display/description-list.js.map +1 -1
- package/dist/esm/components/data-display/description-list.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/duration.d.ts +15 -0
- package/dist/esm/components/data-display/duration.d.ts.map +1 -0
- package/dist/esm/components/data-display/duration.js +50 -0
- package/dist/esm/components/data-display/duration.js.map +1 -0
- package/dist/esm/components/data-display/duration.labels.d.ts +15 -0
- package/dist/esm/components/data-display/duration.labels.d.ts.map +1 -0
- package/dist/esm/components/data-display/duration.labels.js +35 -0
- package/dist/esm/components/data-display/duration.labels.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-address.d.ts +21 -0
- package/dist/esm/components/data-display/formatters/display-field-address.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-address.js +75 -0
- package/dist/esm/components/data-display/formatters/display-field-address.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts +3 -0
- package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-address.labels.js +13 -0
- package/dist/esm/components/data-display/formatters/display-field-address.labels.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js +6 -2
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.js +2 -2
- package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.js +2 -2
- package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.d.ts +3 -3
- package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.js +17 -4
- package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts +3 -3
- package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.js +17 -4
- package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.js +29 -11
- package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.js +2 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts +4 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.js +18 -5
- package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js +20 -0
- package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.js +3 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.js +14 -15
- package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.labels.js +2 -0
- package/dist/esm/components/data-display/formatters/display-field-file.labels.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-format.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-i18n.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.js +8 -3
- package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.labels.js +5 -2
- package/dist/esm/components/data-display/formatters/display-field-number.labels.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.d.ts +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.js +129 -15
- package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/identifier.d.ts +19 -0
- package/dist/esm/components/data-display/identifier.d.ts.map +1 -0
- package/dist/esm/components/data-display/identifier.js +21 -0
- package/dist/esm/components/data-display/identifier.js.map +1 -0
- package/dist/esm/components/data-display/kbd.d.ts +17 -0
- package/dist/esm/components/data-display/kbd.d.ts.map +1 -0
- package/dist/esm/components/data-display/kbd.js +18 -0
- package/dist/esm/components/data-display/kbd.js.map +1 -0
- package/dist/esm/components/data-display/markdown-content.d.ts.map +1 -1
- package/dist/esm/components/data-display/markdown-stream-runtime.d.ts.map +1 -1
- package/dist/esm/components/data-display/markdown-stream.lazy.d.ts.map +1 -1
- package/dist/esm/components/data-display/markdown-stream.lazy.js +13 -2
- package/dist/esm/components/data-display/markdown-stream.lazy.js.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.js +3 -11
- package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts +63 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts.map +1 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js +75 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js.map +1 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts +32 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts.map +1 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js +36 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js.map +1 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts +46 -6
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts.map +1 -1
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js +70 -46
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js.map +1 -1
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts +12 -2
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts.map +1 -1
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js +3 -2
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js.map +1 -1
- package/dist/esm/components/data-display/timeline.d.ts +3 -0
- package/dist/esm/components/data-display/timeline.d.ts.map +1 -0
- package/dist/esm/components/data-display/timeline.js +92 -0
- package/dist/esm/components/data-display/timeline.js.map +1 -0
- package/dist/esm/components/data-display/untrusted-html-content.d.ts +55 -0
- package/dist/esm/components/data-display/untrusted-html-content.d.ts.map +1 -0
- package/dist/esm/components/data-display/untrusted-html-content.js +67 -0
- package/dist/esm/components/data-display/untrusted-html-content.js.map +1 -0
- package/dist/esm/components/feedback/celebration-overlay.d.ts +13 -4
- package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.js +146 -22
- package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
- package/dist/esm/components/feedback/danger-zone.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-state.js.map +1 -1
- package/dist/esm/components/feedback/empty-state.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
- package/dist/esm/components/feedback/error-display.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.js +5 -5
- package/dist/esm/components/feedback/notification-center.js.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.js +9 -7
- package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/progress.d.ts.map +1 -1
- package/dist/esm/components/feedback/progress.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/toast.d.ts.map +1 -1
- package/dist/esm/components/feedback/toast.labels.d.ts.map +1 -1
- package/dist/esm/components/form/autosave-indicator.d.ts.map +1 -1
- package/dist/esm/components/form/autosave-indicator.labels.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/field.js +11 -3
- package/dist/esm/components/form/chromes/field.js.map +1 -1
- package/dist/esm/components/form/chromes/field.labels.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitive.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitive.labels.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitive.labels.js +37 -0
- package/dist/esm/components/form/chromes/form-primitive.labels.js.map +1 -1
- package/dist/esm/components/form/combobox.d.ts.map +1 -1
- package/dist/esm/components/form/combobox.js +14 -13
- package/dist/esm/components/form/combobox.js.map +1 -1
- package/dist/esm/components/form/combobox.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.d.ts +42 -0
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.d.ts.map +1 -0
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.js +120 -0
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.js.map +1 -0
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.d.ts +16 -0
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.d.ts.map +1 -0
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.js +8 -0
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.js.map +1 -0
- package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.js +2 -2
- package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/code-editor/cm6-editor-appearance.d.ts.map +1 -1
- package/dist/esm/components/form/controls/code-editor/cm6-editor.d.ts.map +1 -1
- package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.d.ts.map +1 -1
- package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js +11 -2
- package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js.map +1 -1
- package/dist/esm/components/form/controls/code-editor/form-field-code.d.ts.map +1 -1
- package/dist/esm/components/form/controls/code-editor/markdown-editor.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js +11 -2
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js +11 -2
- package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.d.ts +1 -1
- package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.js +13 -12
- package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.js +5 -3
- package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.js +96 -5
- package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts +44 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts.map +1 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.js +137 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.js.map +1 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts +22 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts.map +1 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js +27 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js.map +1 -0
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts +3 -1
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.js +3 -1
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.js.map +1 -1
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts +6 -0
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js +8 -1
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js.map +1 -1
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts +6 -2
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.js +6 -2
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.js.map +1 -1
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts +6 -0
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js +8 -1
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js.map +1 -1
- package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input-group.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.labels.js +9 -2
- package/dist/esm/components/form/controls/number/slider.labels.js.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-picker-surface.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-picker-surface.js.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.labels.js +9 -2
- package/dist/esm/components/form/controls/string/password-input.labels.js.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/carousel.d.ts.map +1 -1
- package/dist/esm/components/layout/carousel.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/divider.d.ts.map +1 -1
- package/dist/esm/components/layout/divider.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
- package/dist/esm/components/layout/scroll-area.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/separator.d.ts.map +1 -1
- package/dist/esm/components/layout/separator.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/activity-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/activity-bar.js +2 -2
- package/dist/esm/components/navigation/app-level/activity-bar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/activity-bar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/command-menu.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/command-menu.js +2 -2
- package/dist/esm/components/navigation/app-level/command-menu.js.map +1 -1
- package/dist/esm/components/navigation/app-level/command-menu.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/control-panel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/control-panel.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/menu-user-org.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/menu-user-org.js +10 -4
- package/dist/esm/components/navigation/app-level/menu-user-org.js.map +1 -1
- package/dist/esm/components/navigation/app-level/menu-user-org.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/menu-user-org.labels.js +7 -0
- package/dist/esm/components/navigation/app-level/menu-user-org.labels.js.map +1 -1
- package/dist/esm/components/navigation/app-level/menubar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/menubar.js +36 -14
- package/dist/esm/components/navigation/app-level/menubar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/menubar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/navigation-back.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/navigation-back.js +31 -5
- package/dist/esm/components/navigation/app-level/navigation-back.js.map +1 -1
- package/dist/esm/components/navigation/app-level/navigation-back.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/notification-center.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/notification-center.js.map +1 -1
- package/dist/esm/components/navigation/app-level/notification-center.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/notification-center.labels.js +15 -0
- package/dist/esm/components/navigation/app-level/notification-center.labels.js.map +1 -1
- package/dist/esm/components/navigation/app-level/quick-action-button.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/quick-action-button.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/quick-action-button.labels.js +4 -0
- package/dist/esm/components/navigation/app-level/quick-action-button.labels.js.map +1 -1
- package/dist/esm/components/navigation/app-level/quick-switcher.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/quick-switcher.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/sidebar.js +41 -25
- package/dist/esm/components/navigation/app-level/sidebar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/sidebar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/sidebar.labels.js +1 -0
- package/dist/esm/components/navigation/app-level/sidebar.labels.js.map +1 -1
- package/dist/esm/components/navigation/app-level/status-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/status-bar.js +2 -2
- package/dist/esm/components/navigation/app-level/status-bar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/status-bar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/toolbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/toolbar.js +2 -2
- package/dist/esm/components/navigation/app-level/toolbar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/toolbar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/utility-panel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/utility-panel.js +24 -6
- package/dist/esm/components/navigation/app-level/utility-panel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/utility-panel.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/utility-panel.labels.js.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.js +1 -1
- package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/command.d.ts.map +1 -1
- package/dist/esm/components/navigation/command.js +2 -2
- package/dist/esm/components/navigation/command.js.map +1 -1
- package/dist/esm/components/navigation/command.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/menu-bar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/navbar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/sidebar.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.js +11 -1
- package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.js +11 -1
- package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/popover.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/accordion.d.ts.map +1 -1
- package/dist/esm/components/sections/accordion.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/card.d.ts.map +1 -1
- package/dist/esm/components/sections/card.js +71 -6
- package/dist/esm/components/sections/card.js.map +1 -1
- package/dist/esm/components/sections/card.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/content-section.d.ts.map +1 -1
- package/dist/esm/components/sections/content-section.js +36 -6
- package/dist/esm/components/sections/content-section.js.map +1 -1
- package/dist/esm/components/sections/disclosure-nesting.d.ts.map +1 -1
- package/dist/esm/components/sections/option-gesture.d.ts +15 -0
- package/dist/esm/components/sections/option-gesture.d.ts.map +1 -0
- package/dist/esm/components/sections/option-gesture.js +66 -0
- package/dist/esm/components/sections/option-gesture.js.map +1 -0
- package/dist/esm/components/sections/pagination.d.ts.map +1 -1
- package/dist/esm/components/sections/pagination.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
- package/dist/esm/components/sections/stacked-layout.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.js +5 -3
- package/dist/esm/components/sections/stepper.js.map +1 -1
- package/dist/esm/components/sections/stepper.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/table.d.ts.map +1 -1
- package/dist/esm/components/sections/table.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/tabs.d.ts.map +1 -1
- package/dist/esm/components/sections/tabs.js +60 -15
- package/dist/esm/components/sections/tabs.js.map +1 -1
- package/dist/esm/components/sections/tabs.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/heading.d.ts.map +1 -1
- package/dist/esm/components/typography/heading.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/label.d.ts.map +1 -1
- package/dist/esm/components/typography/label.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/link.d.ts.map +1 -1
- package/dist/esm/components/typography/link.js +9 -3
- package/dist/esm/components/typography/link.js.map +1 -1
- package/dist/esm/components/typography/link.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/text.d.ts +1 -1
- package/dist/esm/components/typography/text.d.ts.map +1 -1
- package/dist/esm/components/typography/text.js +3 -2
- package/dist/esm/components/typography/text.js.map +1 -1
- package/dist/esm/components/typography/text.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
- package/dist/esm/config/billing-shell.presets.d.ts.map +1 -1
- package/dist/esm/config/index.d.ts.map +1 -1
- package/dist/esm/config/preset-design-system.d.ts.map +1 -1
- package/dist/esm/config/preset-design-system.js +37 -60
- package/dist/esm/config/preset-design-system.js.map +1 -1
- package/dist/esm/config/preset-error-pages.d.ts.map +1 -1
- package/dist/esm/config/preset-kits.d.ts.map +1 -1
- package/dist/esm/config/preset-navigation.d.ts.map +1 -1
- package/dist/esm/config/preset-navigation.js +23 -7
- package/dist/esm/config/preset-navigation.js.map +1 -1
- package/dist/esm/config/preset-resources.d.ts.map +1 -1
- package/dist/esm/config/preset-shell.d.ts.map +1 -1
- package/dist/esm/config/preset-utils.d.ts.map +1 -1
- package/dist/esm/config/presets.d.ts.map +1 -1
- package/dist/esm/config/resources/agent-work.resource-presets.d.ts +4 -0
- package/dist/esm/config/resources/agent-work.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/agent-work.resource-presets.js +115 -0
- package/dist/esm/config/resources/agent-work.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/api-key-rotation-window.d.ts +22 -0
- package/dist/esm/config/resources/api-key-rotation-window.d.ts.map +1 -0
- package/dist/esm/config/resources/api-key-rotation-window.js +45 -0
- package/dist/esm/config/resources/api-key-rotation-window.js.map +1 -0
- package/dist/esm/config/resources/application.resource-presets.d.ts +2 -0
- package/dist/esm/config/resources/application.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/application.resource-presets.js +268 -26
- package/dist/esm/config/resources/application.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/billing.resource-presets.d.ts +4 -3
- package/dist/esm/config/resources/billing.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/billing.resource-presets.js +241 -111
- package/dist/esm/config/resources/billing.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/conversation-threads.resource-presets.d.ts +4 -0
- package/dist/esm/config/resources/conversation-threads.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/conversation-threads.resource-presets.js +105 -0
- package/dist/esm/config/resources/conversation-threads.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/guidance.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/guidance.resource-presets.js +39 -16
- package/dist/esm/config/resources/guidance.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/identity.resource-presets.d.ts +0 -13
- package/dist/esm/config/resources/identity.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/identity.resource-presets.js +71 -17
- package/dist/esm/config/resources/identity.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/inbound-deliveries.resource-presets.d.ts +6 -0
- package/dist/esm/config/resources/inbound-deliveries.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/inbound-deliveries.resource-presets.js +112 -0
- package/dist/esm/config/resources/inbound-deliveries.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/inbound-email.resource-presets.d.ts +4 -0
- package/dist/esm/config/resources/inbound-email.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/inbound-email.resource-presets.js +182 -0
- package/dist/esm/config/resources/inbound-email.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/index.d.ts.map +1 -1
- package/dist/esm/config/resources/index.js +9 -2
- package/dist/esm/config/resources/index.js.map +1 -1
- package/dist/esm/config/resources/legal-holds.resource-presets.d.ts +4 -0
- package/dist/esm/config/resources/legal-holds.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/legal-holds.resource-presets.js +76 -0
- package/dist/esm/config/resources/legal-holds.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/organizations.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/organizations.resource-presets.js +216 -35
- package/dist/esm/config/resources/organizations.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/resource.config.utils.d.ts +20 -0
- package/dist/esm/config/resources/resource.config.utils.d.ts.map +1 -1
- package/dist/esm/config/resources/resource.config.utils.js +20 -0
- package/dist/esm/config/resources/resource.config.utils.js.map +1 -1
- package/dist/esm/config/resources/retention-enforcement.resource-presets.d.ts +5 -0
- package/dist/esm/config/resources/retention-enforcement.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/retention-enforcement.resource-presets.js +74 -0
- package/dist/esm/config/resources/retention-enforcement.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/security.resource-presets.d.ts +11 -3
- package/dist/esm/config/resources/security.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/security.resource-presets.js +685 -99
- package/dist/esm/config/resources/security.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/service-providers.resource-presets.d.ts +4 -0
- package/dist/esm/config/resources/service-providers.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/service-providers.resource-presets.js +321 -0
- package/dist/esm/config/resources/service-providers.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/webhooks.resource-presets.d.ts +4 -3
- package/dist/esm/config/resources/webhooks.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/webhooks.resource-presets.js +102 -26
- package/dist/esm/config/resources/webhooks.resource-presets.js.map +1 -1
- package/dist/esm/index.d.ts +7 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +7 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lottie/lottie.content.definitions.d.ts.map +1 -1
- package/dist/esm/lottie/lottie.definitions.d.ts.map +1 -1
- package/dist/esm/mermaid-stub.d.ts.map +1 -1
- package/dist/esm/registration/register-common-enums.d.ts.map +1 -1
- package/dist/esm/registration/register-common-enums.js +63 -34
- package/dist/esm/registration/register-common-enums.js.map +1 -1
- package/dist/esm/registration/register-default-animations.d.ts.map +1 -1
- package/dist/esm/registration/register-default-icons.d.ts.map +1 -1
- package/dist/esm/registration/register-default-icons.js +3 -1
- package/dist/esm/registration/register-default-icons.js.map +1 -1
- package/dist/esm/registration/register-default-presets.d.ts.map +1 -1
- package/dist/esm/registration/register-default-presets.js +32 -4
- package/dist/esm/registration/register-default-presets.js.map +1 -1
- package/dist/esm/registration/register-provider-components.d.ts.map +1 -1
- package/dist/esm/registration/register-provider-components.js +11 -0
- package/dist/esm/registration/register-provider-components.js.map +1 -1
- package/dist/esm/shiki-subset.d.ts +11 -3
- package/dist/esm/shiki-subset.d.ts.map +1 -1
- package/dist/esm/shiki-subset.js +10 -2
- package/dist/esm/shiki-subset.js.map +1 -1
- package/dist/esm/theme-exports.d.ts.map +1 -1
- package/dist/esm/themes/cozy.theme.d.ts.map +1 -1
- package/dist/esm/themes/cozy.theme.js +19 -5
- package/dist/esm/themes/cozy.theme.js.map +1 -1
- package/dist/esm/themes/dense.theme.d.ts.map +1 -1
- package/dist/esm/themes/dense.theme.js +76 -10
- package/dist/esm/themes/dense.theme.js.map +1 -1
- package/dist/esm/themes/editorial.theme.d.ts.map +1 -1
- package/dist/esm/themes/editorial.theme.js +19 -5
- package/dist/esm/themes/editorial.theme.js.map +1 -1
- package/dist/esm/themes/glass.theme.d.ts.map +1 -1
- package/dist/esm/themes/glass.theme.js +5 -1
- package/dist/esm/themes/glass.theme.js.map +1 -1
- package/dist/esm/themes/neo-brutalist.theme.d.ts.map +1 -1
- package/dist/esm/themes/neo-brutalist.theme.js +9 -2
- package/dist/esm/themes/neo-brutalist.theme.js.map +1 -1
- package/dist/esm/themes/terminal.theme.d.ts.map +1 -1
- package/dist/esm/themes/terminal.theme.js +19 -5
- package/dist/esm/themes/terminal.theme.js.map +1 -1
- package/dist/esm/themes/trading.theme.d.ts.map +1 -1
- package/dist/esm/themes/trading.theme.js +22 -6
- package/dist/esm/themes/trading.theme.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +31 -45
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts +0 -16
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +0 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.js +0 -143
- package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-stream.lazy.js","sourceRoot":"","sources":["../../../../../src/components/data-display/markdown-stream.lazy.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"markdown-stream.lazy.js","sourceRoot":"","sources":["../../../../../src/components/data-display/markdown-stream.lazy.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAA;AACxF,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAMnF;;;;;;;;;;;;;;;GAeG;AACH,SAAS,qBAAqB,CAAC,EAAE,KAAK,EAAuD;IAC3F,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,CAAA;IAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACrE,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CAAC,sEAAsE,EAAE,IAAI,CAAC,IAAI,CAAC,qBAChF,gBAAgB,YAEhC,yBAAO,KAAK,GAAQ,GAChB,CACP,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,EAAE,QAAQ,EAAiD;IACzF,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,CAAA;IAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACrE,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CAAC,wGAAwG,EAAE,IAAI,CAAC,IAAI,CAAC,oBACnH,aAAa,YAE5B,yBAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAQ,GACvD,CACP,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,eAAe,GAAgD,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAAA;AAE9G;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CACrC,MAAM,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAClG,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,OAAO,GAAG,eAAe,EAAE,GAAG,KAAK,EAAuB;IACzF,OAAO,CACL,KAAC,qBAAqB,IAAC,QAAQ,EAAC,gBAAgB,EAAC,QAAQ,EAAE,KAAC,sBAAsB,cAAE,KAAK,CAAC,QAAQ,GAA0B,YAC1H,KAAC,KAAK,CAAC,QAAQ,IACb,QAAQ,EACN,eAAK,SAAS,EAAC,WAAW,eAAW,MAAM,aACzC,KAAC,QAAQ,IAAC,SAAS,EAAC,YAAY,GAAG,EACnC,KAAC,QAAQ,IAAC,SAAS,EAAC,aAAa,GAAG,EACpC,KAAC,QAAQ,IAAC,SAAS,EAAC,WAAW,GAAG,IAC9B,YAGR,KAAC,cAAc,IAAC,OAAO,EAAE,OAAO,KAAM,KAAK,GAAI,GAChC,GACK,CACzB,CAAA;AACH,CAAC","sourcesContent":["\"use client\"\n\n/**\n * The ONLY door onto the markdown-rendering pipeline (`streamdown` + `katex` + `marked` + the\n * `micromark`/`mdast`/`parse5` stack).\n *\n * Lazy-boundary wrapper (`*.lazy.tsx` convention — `graph.lazy` / `ChartView.lazy` /\n * `pdf-viewer.lazy` precedent). It owns the single `React.lazy(() => import('./markdown-stream-runtime'))`\n * split point and the Suspense fallback, and re-exports the props type via `import type` so callers\n * stay fully typed with NO runtime edge onto the pipeline.\n *\n * ## What it keeps out of the eager graph, and what that measured\n *\n * `streamdown` was statically imported by three preset components — `data-display/markdown-content`,\n * `ai-elements/trace/reasoning` and `ai-elements/chat/message` — and all three are registered\n * eagerly by `registration/register-default-presets.ts`. Preset registration runs at application\n * bootstrap, so the whole markdown pipeline was in the first-load set of every generated\n * application whether or not it ever renders markdown. Measured on `examples/wonder-crm`\n * (production `vite build`, eager set = the assets `dist/index.html` itself references): **210 kB\n * gzipped**, against a 1,674 kB gzipped first load.\n *\n * See `markdown-stream-runtime.ts` for the per-payload breakdown and for why one runtime module is\n * used rather than three per-leaf split points.\n *\n * ## Suspense fallback\n *\n * Markdown always occupies flow layout, so the fallback reserves height with a three-line\n * `Skeleton` block rather than collapsing to zero and reflowing the surface underneath. Only the\n * FIRST markdown block on a surface realistically suspends: the chunk is resident for every later\n * one, so this is a one-time cost at the moment the user opens a markdown-bearing surface.\n *\n * ## The rule\n *\n * Everything except this wrapper (and tests) must render markdown through `MarkdownStream`. A\n * static import of `./markdown-stream-runtime`, or of `streamdown` itself, from the eager graph\n * silently merges the whole pipeline back into the entry chunk — enforced by\n * `pnpm check:lazy-boundaries`.\n */\n\nimport * as React from \"react\"\nimport { LazyDoorErrorBoundary, Skeleton, cn, useUI } from \"@wildo-ai/saas-frontend-lib\"\nimport { TypographyVariant, UIBehavior } from \"@wildo-ai/presets-components-models\"\nimport type { Streamdown } from \"streamdown\"\n\n/** Props of the underlying renderer, forwarded verbatim. */\nexport type MarkdownStreamProps = React.ComponentProps<typeof Streamdown>\n\n/**\n * What a ```` ```mermaid ```` fence renders as, now that diagram rendering is switched off.\n *\n * Wildo does not render mermaid diagrams: the applications alias the `mermaid` specifier onto\n * `~wildo-presets/mermaid-stub`, which removes ~430 kB gzipped across 21 chunks from the built\n * output (see that module for the measurement and for what it deliberately does NOT save). The stub\n * rejects, `streamdown` catches, and hands the failure to this component.\n *\n * Rendering the SOURCE is the point. `streamdown`'s own fallback is a red error panel with a\n * `Show Code` disclosure, which reads as a malfunction; a diagram nobody chose to render is not a\n * malfunction, and the source is the most useful thing left to show. The block is styled through the\n * CODE typography recipe so it matches every other code surface in the active theme.\n *\n * It is passed as a DEFAULT below rather than hardcoded, so an application that keeps the real\n * `mermaid` (by dropping the alias) is unaffected — the error this renders simply never occurs.\n */\nfunction MermaidSourceFallback({ chart }: { chart: string; error: string; retry: () => void }): React.JSX.Element {\n const { getRecipe } = useUI()\n const code = getRecipe(UIBehavior.TYPOGRAPHY, TypographyVariant.CODE)\n return (\n <pre\n className={cn(\"my-4 overflow-x-auto rounded-md border bg-muted/50 p-card-sm text-sm\", code.base)}\n data-streamdown=\"mermaid-source\"\n >\n <code>{chart}</code>\n </pre>\n )\n}\n\n/**\n * What markdown degrades TO when the rendering pipeline never arrives (#963): the SOURCE, in the same\n * code block the mermaid fallback uses. Markdown is readable as text — headings, lists and links keep\n * their meaning unrendered — so the source is the most useful thing left to show, and it is the\n * person's own content rather than a word the door would have to invent.\n */\nfunction MarkdownSourceFallback({ children }: { children: MarkdownStreamProps[\"children\"] }): React.JSX.Element {\n const { getRecipe } = useUI()\n const code = getRecipe(UIBehavior.TYPOGRAPHY, TypographyVariant.CODE)\n return (\n <pre\n className={cn(\"my-4 overflow-x-auto rounded-md border border-dashed bg-muted/50 p-card-sm text-sm whitespace-pre-wrap\", code.base)}\n data-lazy-door=\"unavailable\"\n >\n <code>{typeof children === \"string\" ? children : \"\"}</code>\n </pre>\n )\n}\n\n/**\n * Default `mermaid` options handed to `streamdown`.\n *\n * Module-level constant, never an inline object literal: `streamdown` memoizes its context value on\n * this prop's identity, so a fresh object per render would invalidate that memo on every keystroke\n * of a streaming response.\n */\nconst MERMAID_OPTIONS: NonNullable<MarkdownStreamProps[\"mermaid\"]> = { errorComponent: MermaidSourceFallback }\n\n/**\n * Resolves to `MarkdownStreamRuntime`, NOT to `Streamdown` itself.\n *\n * That indirection is what applies the reordered rehype chain (`raw → sanitize → harden → katex`)\n * that makes LaTeX render at all — see `DEFAULT_REHYPE_PLUGINS` in the runtime module for the defect\n * and the security reasoning. It cannot be applied here: the plugin list is derived from\n * `streamdown`'s own exports, and naming them from this file would put the whole 210 kB pipeline back\n * into the eager graph, which is the one thing this wrapper exists to prevent.\n */\nconst LazyStreamdown = React.lazy(() =>\n import(\"./markdown-stream-runtime\").then((module) => ({ default: module.MarkdownStreamRuntime })),\n)\n\n/**\n * Renders markdown, resolving the pipeline on first render.\n *\n * A drop-in replacement for `<Streamdown …>`: every prop is forwarded unchanged, so call sites keep\n * their `components` overrides, their `parseIncompleteMarkdown` streaming flag and their class\n * names exactly as before. The one prop that gains a DEFAULT is `mermaid` — see\n * `MermaidSourceFallback` above; passing `mermaid` explicitly overrides it.\n */\nexport function MarkdownStream({ mermaid = MERMAID_OPTIONS, ...props }: MarkdownStreamProps): React.JSX.Element {\n return (\n <LazyDoorErrorBoundary doorName=\"MarkdownStream\" fallback={<MarkdownSourceFallback>{props.children}</MarkdownSourceFallback>}>\n <React.Suspense\n fallback={\n <div className=\"space-y-2\" aria-busy=\"true\">\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-11/12\" />\n <Skeleton className=\"h-4 w-4/6\" />\n </div>\n }\n >\n <LazyStreamdown mermaid={mermaid} {...props} />\n </React.Suspense>\n </LazyDoorErrorBoundary>\n )\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-indicator.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"notification-indicator.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/notification-indicator.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAkB7E,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAa,EACb,KAAK,EACL,SAAS,GACV,EAAE,0BAA0B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA0BvD"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import { UIBehavior } from "@wildo-ai/presets-components-models";
|
|
4
4
|
import { NotificationBadgeDisplayMode } from "@wildo-ai/saas-models";
|
|
5
|
-
import { cn, useUI, Badge, formatBadgeCount } from "@wildo-ai/saas-frontend-lib";
|
|
5
|
+
import { cn, useUI, Badge, formatBadgeCount, indicatorBadgeVariant } from "@wildo-ai/saas-frontend-lib";
|
|
6
6
|
/**
|
|
7
7
|
* DEFAULT preset for `LOW_LEVEL_NOTIFICATION_INDICATOR` (R4). Composes the
|
|
8
8
|
* design-system `Badge`:
|
|
@@ -15,14 +15,6 @@ import { cn, useUI, Badge, formatBadgeCount } from "@wildo-ai/saas-frontend-lib"
|
|
|
15
15
|
* a reduced-motion-safe default). The DEFINITION decides whether/when to pulse;
|
|
16
16
|
* the theme decides how it looks.
|
|
17
17
|
*/
|
|
18
|
-
/** IndicatorVariant (definition tone) → Badge public variant. */
|
|
19
|
-
const TONE_TO_VARIANT = {
|
|
20
|
-
[IndicatorVariant.NEUTRAL]: "default",
|
|
21
|
-
[IndicatorVariant.INFO]: "info",
|
|
22
|
-
[IndicatorVariant.SUCCESS]: "success",
|
|
23
|
-
[IndicatorVariant.WARNING]: "warning",
|
|
24
|
-
[IndicatorVariant.ERROR]: "destructive",
|
|
25
|
-
};
|
|
26
18
|
/** Framework fallback when a theme's INDICATOR recipe declares no `motion.attention`. */
|
|
27
19
|
const DEFAULT_ATTENTION = "animate-pulse motion-reduce:animate-none";
|
|
28
20
|
export function NotificationIndicator({ mode, tone, count, pulse = false, label, className, }) {
|
|
@@ -31,7 +23,7 @@ export function NotificationIndicator({ mode, tone, count, pulse = false, label,
|
|
|
31
23
|
if (mode === NotificationBadgeDisplayMode.NONE || count <= 0) {
|
|
32
24
|
return null;
|
|
33
25
|
}
|
|
34
|
-
const variant =
|
|
26
|
+
const variant = indicatorBadgeVariant(tone);
|
|
35
27
|
const attention = pulse
|
|
36
28
|
? (getRecipe(UIBehavior.INDICATOR, tone).motion.attention ?? DEFAULT_ATTENTION)
|
|
37
29
|
: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-indicator.js","sourceRoot":"","sources":["../../../../../src/components/data-display/notification-indicator.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAIZ,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"notification-indicator.js","sourceRoot":"","sources":["../../../../../src/components/data-display/notification-indicator.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAIZ,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAGvG;;;;;;;;;;;GAWG;AAEH,yFAAyF;AACzF,MAAM,iBAAiB,GAAG,0CAA0C,CAAA;AAEpE,MAAM,UAAU,qBAAqB,CAAC,EACpC,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,GAAG,KAAK,EACb,KAAK,EACL,SAAS,GACkB;IAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,CAAA;IAE7B,4EAA4E;IAC5E,IAAI,IAAI,KAAK,4BAA4B,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,KAAK;QACrB,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,iBAAiB,CAAC;QAC/E,CAAC,CAAC,SAAS,CAAA;IAEb,IAAI,IAAI,KAAK,4BAA4B,CAAC,GAAG,EAAE,CAAC;QAC9C,OAAO,CACL,KAAC,KAAK,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,8BAA8B,EAAE,SAAS,EAAE,SAAS,CAAC,YACxG,eAAM,SAAS,EAAC,SAAS,YAAE,KAAK,GAAQ,GAClC,CACT,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,KAAK,IAAC,OAAO,EAAE,OAAO,eAAY,QAAQ,gBAAa,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,YAC/F,gBAAgB,CAAC,KAAK,CAAC,GAClB,CACT,CAAA;AACH,CAAC","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { UIBehavior } from \"@wildo-ai/presets-components-models\"\nimport { NotificationBadgeDisplayMode } from \"@wildo-ai/saas-models\"\nimport { cn, useUI, Badge, formatBadgeCount, indicatorBadgeVariant } from \"@wildo-ai/saas-frontend-lib\"\nimport type { NotificationIndicatorProps } from \"@wildo-ai/saas-frontend-lib\"\n\n/**\n * DEFAULT preset for `LOW_LEVEL_NOTIFICATION_INDICATOR` (R4). Composes the\n * design-system `Badge`:\n * - `NONE`, or a non-positive count → renders nothing (a dot means \"≥ 1\").\n * - `DOT` → a color signal dot (the enum-icon fallback pattern), label in `sr-only`.\n * - `COUNT` → the truncated number, announced via `aria-live`.\n *\n * Pulse is THEME-OWNED: when `pulse` is true we append the active theme's\n * `INDICATOR` recipe `motion.attention` (a theme may customize it; falls back to\n * a reduced-motion-safe default). The DEFINITION decides whether/when to pulse;\n * the theme decides how it looks.\n */\n\n/** Framework fallback when a theme's INDICATOR recipe declares no `motion.attention`. */\nconst DEFAULT_ATTENTION = \"animate-pulse motion-reduce:animate-none\"\n\nexport function NotificationIndicator({\n mode,\n tone,\n count,\n pulse = false,\n label,\n className,\n}: NotificationIndicatorProps): React.JSX.Element | null {\n const { getRecipe } = useUI()\n\n // A dot/count only makes sense for a positive count; NONE is always silent.\n if (mode === NotificationBadgeDisplayMode.NONE || count <= 0) {\n return null\n }\n\n const variant = indicatorBadgeVariant(tone)\n const attention = pulse\n ? (getRecipe(UIBehavior.INDICATOR, tone).motion.attention ?? DEFAULT_ATTENTION)\n : undefined\n\n if (mode === NotificationBadgeDisplayMode.DOT) {\n return (\n <Badge variant={variant} title={label} className={cn(\"h-2.5 w-2.5 rounded-full p-0\", attention, className)}>\n <span className=\"sr-only\">{label}</span>\n </Badge>\n )\n }\n\n return (\n <Badge variant={variant} aria-live=\"polite\" aria-label={label} className={cn(attention, className)}>\n {formatBadgeCount(count)}\n </Badge>\n )\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-indicator.labels.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"notification-indicator.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/notification-indicator.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAO/H,eAAO,MAAM,mCAAmC,EAAE,mBAAmB,EAAO,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The PDF.js worker SEAM (issue #962) — how a host decides where the viewer's Web Worker comes from.
|
|
3
|
+
*
|
|
4
|
+
* `pdf-viewer.tsx` parses on a Web Worker and installs ONE port for the whole module
|
|
5
|
+
* (`GlobalWorkerOptions.workerPort`). By default that port is built by the Vite path in
|
|
6
|
+
* `pdf-viewer-worker.vite.ts`, which is what the generated application runs. Two consumers this
|
|
7
|
+
* framework also produces cannot use that default:
|
|
8
|
+
*
|
|
9
|
+
* - a NON-VITE bundler (the Docusaurus technical documentation is webpack) does not understand the
|
|
10
|
+
* `?worker` asset suffix, so it must supply the worker itself;
|
|
11
|
+
* - an application whose ASSETS ARE SERVED FROM ANOTHER ORIGIN (the opt-in CDN publish) gets a
|
|
12
|
+
* cross-origin worker URL, which `new Worker(url)` refuses outright.
|
|
13
|
+
*
|
|
14
|
+
* Both register a factory here BEFORE the viewer's chunk loads (any time before the first document
|
|
15
|
+
* renders — the port is installed lazily on first use). The factory takes precedence over the Vite
|
|
16
|
+
* default, and the default's module is then never imported, which is what keeps the `?worker` import
|
|
17
|
+
* out of a non-Vite bundler's graph.
|
|
18
|
+
*
|
|
19
|
+
* This module is deliberately LIGHT: no `pdfjs-dist`, no worker, nothing heavy. It lives outside the
|
|
20
|
+
* lazy boundary so a host can call it from its bootstrap.
|
|
21
|
+
*
|
|
22
|
+
* ## The cross-origin case, and its CSP consequence
|
|
23
|
+
*
|
|
24
|
+
* A browser only constructs a Worker from a SAME-ORIGIN script URL. When the bundle (and so the worker
|
|
25
|
+
* file) is served from a CDN, the answer is a same-origin `blob:` shim whose single statement is
|
|
26
|
+
* `import "<cdn worker url>"` — `createSameOriginModuleWorker` builds exactly that, and
|
|
27
|
+
* `createModuleWorkerForUrl` picks it only when the URL's origin differs from the page's. The shim needs
|
|
28
|
+
* the policy to admit it: `worker-src` (falling back through `child-src` to `script-src`) must include
|
|
29
|
+
* `blob:`, and `script-src` must already admit the CDN origin for the import inside the shim to load —
|
|
30
|
+
* which a CDN publish's policy does, since every script comes from there. The `SAAS_APP` CSP baseline
|
|
31
|
+
* sets no `worker-src`; a CDN deployment adds `worker-src 'self' blob:` (the documentation product's
|
|
32
|
+
* baseline already carries that pair for its own reasons).
|
|
33
|
+
*
|
|
34
|
+
* Under Vite the worker URL is obtained with the `?worker&url` suffix on `pdfjs-dist/build/pdf.worker.min.mjs`,
|
|
35
|
+
* which names the BUILT worker file; under webpack, `new URL('pdfjs-dist/build/pdf.worker.min.mjs', import.meta.url)`
|
|
36
|
+
* resolves through the bundler (it is Vite that does not resolve a bare specifier there — recorded in
|
|
37
|
+
* `pdf-viewer-worker.vite.ts`).
|
|
38
|
+
*/
|
|
39
|
+
/** Builds the Worker that PDF.js will parse on. Called at most once per page lifetime. */
|
|
40
|
+
export type PdfViewerWorkerFactory = () => Worker;
|
|
41
|
+
/**
|
|
42
|
+
* Register how the PDF viewer's worker is built, replacing the Vite default. Pass `null` to return
|
|
43
|
+
* to the default. Must run before the first document renders: the port is installed once, on first
|
|
44
|
+
* use, and a factory registered after that is not consulted (the viewer says so in its log).
|
|
45
|
+
*/
|
|
46
|
+
export declare function configurePdfViewerWorker(factory: PdfViewerWorkerFactory | null): void;
|
|
47
|
+
/** The registered factory, or `null` when the Vite default applies. */
|
|
48
|
+
export declare function resolveConfiguredPdfViewerWorkerFactory(): PdfViewerWorkerFactory | null;
|
|
49
|
+
/**
|
|
50
|
+
* A same-origin MODULE worker for a worker script served from another origin: a `blob:` script whose
|
|
51
|
+
* only statement imports the real one. The blob URL is kept for the page's lifetime — a module
|
|
52
|
+
* worker fetches its script asynchronously, and revoking the URL before that fetch completes would
|
|
53
|
+
* hand the worker a dead URL (which reads as "the worker never answered", the same silent shape as
|
|
54
|
+
* a classic-vs-module mismatch).
|
|
55
|
+
*/
|
|
56
|
+
export declare function createSameOriginModuleWorker(workerScriptUrl: string): Worker;
|
|
57
|
+
/**
|
|
58
|
+
* A module worker for `workerScriptUrl`: constructed directly when the script is same-origin with the
|
|
59
|
+
* page, through the `blob:` shim when it is not. `pageOrigin` defaults to the page's own; a host that
|
|
60
|
+
* knows better (a test, a non-browser runtime) passes it.
|
|
61
|
+
*/
|
|
62
|
+
export declare function createModuleWorkerForUrl(workerScriptUrl: string, pageOrigin?: string | null): Worker;
|
|
63
|
+
//# sourceMappingURL=pdf-viewer-worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdf-viewer-worker.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/pdf-viewer/pdf-viewer-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,0FAA0F;AAC1F,MAAM,MAAM,sBAAsB,GAAG,MAAM,MAAM,CAAA;AAIjD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAErF;AAED,uEAAuE;AACvE,wBAAgB,uCAAuC,IAAI,sBAAsB,GAAG,IAAI,CAEvF;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,GAAG,IAA0C,GAAG,MAAM,CAMzI"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The PDF.js worker SEAM (issue #962) — how a host decides where the viewer's Web Worker comes from.
|
|
3
|
+
*
|
|
4
|
+
* `pdf-viewer.tsx` parses on a Web Worker and installs ONE port for the whole module
|
|
5
|
+
* (`GlobalWorkerOptions.workerPort`). By default that port is built by the Vite path in
|
|
6
|
+
* `pdf-viewer-worker.vite.ts`, which is what the generated application runs. Two consumers this
|
|
7
|
+
* framework also produces cannot use that default:
|
|
8
|
+
*
|
|
9
|
+
* - a NON-VITE bundler (the Docusaurus technical documentation is webpack) does not understand the
|
|
10
|
+
* `?worker` asset suffix, so it must supply the worker itself;
|
|
11
|
+
* - an application whose ASSETS ARE SERVED FROM ANOTHER ORIGIN (the opt-in CDN publish) gets a
|
|
12
|
+
* cross-origin worker URL, which `new Worker(url)` refuses outright.
|
|
13
|
+
*
|
|
14
|
+
* Both register a factory here BEFORE the viewer's chunk loads (any time before the first document
|
|
15
|
+
* renders — the port is installed lazily on first use). The factory takes precedence over the Vite
|
|
16
|
+
* default, and the default's module is then never imported, which is what keeps the `?worker` import
|
|
17
|
+
* out of a non-Vite bundler's graph.
|
|
18
|
+
*
|
|
19
|
+
* This module is deliberately LIGHT: no `pdfjs-dist`, no worker, nothing heavy. It lives outside the
|
|
20
|
+
* lazy boundary so a host can call it from its bootstrap.
|
|
21
|
+
*
|
|
22
|
+
* ## The cross-origin case, and its CSP consequence
|
|
23
|
+
*
|
|
24
|
+
* A browser only constructs a Worker from a SAME-ORIGIN script URL. When the bundle (and so the worker
|
|
25
|
+
* file) is served from a CDN, the answer is a same-origin `blob:` shim whose single statement is
|
|
26
|
+
* `import "<cdn worker url>"` — `createSameOriginModuleWorker` builds exactly that, and
|
|
27
|
+
* `createModuleWorkerForUrl` picks it only when the URL's origin differs from the page's. The shim needs
|
|
28
|
+
* the policy to admit it: `worker-src` (falling back through `child-src` to `script-src`) must include
|
|
29
|
+
* `blob:`, and `script-src` must already admit the CDN origin for the import inside the shim to load —
|
|
30
|
+
* which a CDN publish's policy does, since every script comes from there. The `SAAS_APP` CSP baseline
|
|
31
|
+
* sets no `worker-src`; a CDN deployment adds `worker-src 'self' blob:` (the documentation product's
|
|
32
|
+
* baseline already carries that pair for its own reasons).
|
|
33
|
+
*
|
|
34
|
+
* Under Vite the worker URL is obtained with the `?worker&url` suffix on `pdfjs-dist/build/pdf.worker.min.mjs`,
|
|
35
|
+
* which names the BUILT worker file; under webpack, `new URL('pdfjs-dist/build/pdf.worker.min.mjs', import.meta.url)`
|
|
36
|
+
* resolves through the bundler (it is Vite that does not resolve a bare specifier there — recorded in
|
|
37
|
+
* `pdf-viewer-worker.vite.ts`).
|
|
38
|
+
*/
|
|
39
|
+
let configuredFactory = null;
|
|
40
|
+
/**
|
|
41
|
+
* Register how the PDF viewer's worker is built, replacing the Vite default. Pass `null` to return
|
|
42
|
+
* to the default. Must run before the first document renders: the port is installed once, on first
|
|
43
|
+
* use, and a factory registered after that is not consulted (the viewer says so in its log).
|
|
44
|
+
*/
|
|
45
|
+
export function configurePdfViewerWorker(factory) {
|
|
46
|
+
configuredFactory = factory;
|
|
47
|
+
}
|
|
48
|
+
/** The registered factory, or `null` when the Vite default applies. */
|
|
49
|
+
export function resolveConfiguredPdfViewerWorkerFactory() {
|
|
50
|
+
return configuredFactory;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* A same-origin MODULE worker for a worker script served from another origin: a `blob:` script whose
|
|
54
|
+
* only statement imports the real one. The blob URL is kept for the page's lifetime — a module
|
|
55
|
+
* worker fetches its script asynchronously, and revoking the URL before that fetch completes would
|
|
56
|
+
* hand the worker a dead URL (which reads as "the worker never answered", the same silent shape as
|
|
57
|
+
* a classic-vs-module mismatch).
|
|
58
|
+
*/
|
|
59
|
+
export function createSameOriginModuleWorker(workerScriptUrl) {
|
|
60
|
+
const shim = new Blob([`import ${JSON.stringify(workerScriptUrl)};\n`], { type: 'text/javascript' });
|
|
61
|
+
return new Worker(URL.createObjectURL(shim), { type: 'module' });
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* A module worker for `workerScriptUrl`: constructed directly when the script is same-origin with the
|
|
65
|
+
* page, through the `blob:` shim when it is not. `pageOrigin` defaults to the page's own; a host that
|
|
66
|
+
* knows better (a test, a non-browser runtime) passes it.
|
|
67
|
+
*/
|
|
68
|
+
export function createModuleWorkerForUrl(workerScriptUrl, pageOrigin = globalThis.location?.origin ?? null) {
|
|
69
|
+
const resolved = new URL(workerScriptUrl, pageOrigin ?? undefined);
|
|
70
|
+
if (pageOrigin !== null && resolved.origin !== pageOrigin) {
|
|
71
|
+
return createSameOriginModuleWorker(resolved.href);
|
|
72
|
+
}
|
|
73
|
+
return new Worker(resolved, { type: 'module' });
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=pdf-viewer-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdf-viewer-worker.js","sourceRoot":"","sources":["../../../../../../src/components/data-display/pdf-viewer/pdf-viewer-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAKH,IAAI,iBAAiB,GAAkC,IAAI,CAAA;AAE3D;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAsC;IAC7E,iBAAiB,GAAG,OAAO,CAAA;AAC7B,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,uCAAuC;IACrD,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,eAAuB;IAClE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAA;IACpG,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,eAAuB,EAAE,aAA4B,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI;IAC/H,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,SAAS,CAAC,CAAA;IAClE,IAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1D,OAAO,4BAA4B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;AACjD,CAAC","sourcesContent":["/**\n * The PDF.js worker SEAM (issue #962) — how a host decides where the viewer's Web Worker comes from.\n *\n * `pdf-viewer.tsx` parses on a Web Worker and installs ONE port for the whole module\n * (`GlobalWorkerOptions.workerPort`). By default that port is built by the Vite path in\n * `pdf-viewer-worker.vite.ts`, which is what the generated application runs. Two consumers this\n * framework also produces cannot use that default:\n *\n * - a NON-VITE bundler (the Docusaurus technical documentation is webpack) does not understand the\n * `?worker` asset suffix, so it must supply the worker itself;\n * - an application whose ASSETS ARE SERVED FROM ANOTHER ORIGIN (the opt-in CDN publish) gets a\n * cross-origin worker URL, which `new Worker(url)` refuses outright.\n *\n * Both register a factory here BEFORE the viewer's chunk loads (any time before the first document\n * renders — the port is installed lazily on first use). The factory takes precedence over the Vite\n * default, and the default's module is then never imported, which is what keeps the `?worker` import\n * out of a non-Vite bundler's graph.\n *\n * This module is deliberately LIGHT: no `pdfjs-dist`, no worker, nothing heavy. It lives outside the\n * lazy boundary so a host can call it from its bootstrap.\n *\n * ## The cross-origin case, and its CSP consequence\n *\n * A browser only constructs a Worker from a SAME-ORIGIN script URL. When the bundle (and so the worker\n * file) is served from a CDN, the answer is a same-origin `blob:` shim whose single statement is\n * `import \"<cdn worker url>\"` — `createSameOriginModuleWorker` builds exactly that, and\n * `createModuleWorkerForUrl` picks it only when the URL's origin differs from the page's. The shim needs\n * the policy to admit it: `worker-src` (falling back through `child-src` to `script-src`) must include\n * `blob:`, and `script-src` must already admit the CDN origin for the import inside the shim to load —\n * which a CDN publish's policy does, since every script comes from there. The `SAAS_APP` CSP baseline\n * sets no `worker-src`; a CDN deployment adds `worker-src 'self' blob:` (the documentation product's\n * baseline already carries that pair for its own reasons).\n *\n * Under Vite the worker URL is obtained with the `?worker&url` suffix on `pdfjs-dist/build/pdf.worker.min.mjs`,\n * which names the BUILT worker file; under webpack, `new URL('pdfjs-dist/build/pdf.worker.min.mjs', import.meta.url)`\n * resolves through the bundler (it is Vite that does not resolve a bare specifier there — recorded in\n * `pdf-viewer-worker.vite.ts`).\n */\n\n/** Builds the Worker that PDF.js will parse on. Called at most once per page lifetime. */\nexport type PdfViewerWorkerFactory = () => Worker\n\nlet configuredFactory: PdfViewerWorkerFactory | null = null\n\n/**\n * Register how the PDF viewer's worker is built, replacing the Vite default. Pass `null` to return\n * to the default. Must run before the first document renders: the port is installed once, on first\n * use, and a factory registered after that is not consulted (the viewer says so in its log).\n */\nexport function configurePdfViewerWorker(factory: PdfViewerWorkerFactory | null): void {\n configuredFactory = factory\n}\n\n/** The registered factory, or `null` when the Vite default applies. */\nexport function resolveConfiguredPdfViewerWorkerFactory(): PdfViewerWorkerFactory | null {\n return configuredFactory\n}\n\n/**\n * A same-origin MODULE worker for a worker script served from another origin: a `blob:` script whose\n * only statement imports the real one. The blob URL is kept for the page's lifetime — a module\n * worker fetches its script asynchronously, and revoking the URL before that fetch completes would\n * hand the worker a dead URL (which reads as \"the worker never answered\", the same silent shape as\n * a classic-vs-module mismatch).\n */\nexport function createSameOriginModuleWorker(workerScriptUrl: string): Worker {\n const shim = new Blob([`import ${JSON.stringify(workerScriptUrl)};\\n`], { type: 'text/javascript' })\n return new Worker(URL.createObjectURL(shim), { type: 'module' })\n}\n\n/**\n * A module worker for `workerScriptUrl`: constructed directly when the script is same-origin with the\n * page, through the `blob:` shim when it is not. `pageOrigin` defaults to the page's own; a host that\n * knows better (a test, a non-browser runtime) passes it.\n */\nexport function createModuleWorkerForUrl(workerScriptUrl: string, pageOrigin: string | null = globalThis.location?.origin ?? null): Worker {\n const resolved = new URL(workerScriptUrl, pageOrigin ?? undefined)\n if (pageOrigin !== null && resolved.origin !== pageOrigin) {\n return createSameOriginModuleWorker(resolved.href)\n }\n return new Worker(resolved, { type: 'module' })\n}\n"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The VITE default for the PDF.js worker (issue #962) — the only module in the viewer that carries a
|
|
3
|
+
* bundler-specific import, kept alone so a host on another bundler never has to compile it.
|
|
4
|
+
*
|
|
5
|
+
* `pdf-viewer.tsx` reaches this file through `import(/* webpackIgnore: true *\/ …)` and ONLY when no
|
|
6
|
+
* factory was registered through `configurePdfViewerWorker`. webpack honours that magic comment by
|
|
7
|
+
* leaving the import as a native `import()` it does not follow, so the `?worker` specifier below never
|
|
8
|
+
* enters a webpack graph; Vite ignores the comment and bundles this module as usual.
|
|
9
|
+
*
|
|
10
|
+
* ⚠️ TWO earlier attempts at a bundler-neutral default failed at RENDER time, not build time — which
|
|
11
|
+
* is why they survived typecheck and the lazy-boundary guard. Both are recorded so the next author does
|
|
12
|
+
* not walk back into them:
|
|
13
|
+
*
|
|
14
|
+
* 1. `new URL('pdfjs-dist/build/pdf.worker.min.mjs', import.meta.url)` — Vite's `new URL()` handling
|
|
15
|
+
* resolves only RELATIVE paths against the module URL; a bare package specifier is not
|
|
16
|
+
* bundler-resolved, so the browser requested a path that does not exist and pdf.js reported
|
|
17
|
+
* `Setting up fake worker failed`.
|
|
18
|
+
* 2. `?url` + `GlobalWorkerOptions.workerSrc` — the URL resolved and the file was served (200), but
|
|
19
|
+
* pdf.js instantiates a `workerSrc` string as a CLASSIC worker while pdf.js 6 ships the worker as an
|
|
20
|
+
* ES module. The worker never completed its handshake, so `getDocument()` hung forever with no
|
|
21
|
+
* error to show.
|
|
22
|
+
*
|
|
23
|
+
* `?worker` hands us a bundler-generated constructor that already carries the right worker type
|
|
24
|
+
* (module in dev, the built format in production), which removes the classic-vs-module question
|
|
25
|
+
* entirely. Vite emits the worker as its own fingerprinted file served from the SAME ORIGIN as the
|
|
26
|
+
* bundle — never a CDN, which would both leak document bytes' provenance and need a `worker-src`
|
|
27
|
+
* exception. A deployment that serves its bundle from another origin registers a factory instead
|
|
28
|
+
* (`createModuleWorkerForUrl` in `pdf-viewer-worker.ts`, fed the `?worker&url` URL).
|
|
29
|
+
*/
|
|
30
|
+
/** The Vite-built PDF.js worker, as the generated application constructs it. */
|
|
31
|
+
export declare function createViteDefaultPdfViewerWorker(): Worker;
|
|
32
|
+
//# sourceMappingURL=pdf-viewer-worker.vite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdf-viewer-worker.vite.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/pdf-viewer/pdf-viewer-worker.vite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,gFAAgF;AAChF,wBAAgB,gCAAgC,IAAI,MAAM,CAEzD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The VITE default for the PDF.js worker (issue #962) — the only module in the viewer that carries a
|
|
3
|
+
* bundler-specific import, kept alone so a host on another bundler never has to compile it.
|
|
4
|
+
*
|
|
5
|
+
* `pdf-viewer.tsx` reaches this file through `import(/* webpackIgnore: true *\/ …)` and ONLY when no
|
|
6
|
+
* factory was registered through `configurePdfViewerWorker`. webpack honours that magic comment by
|
|
7
|
+
* leaving the import as a native `import()` it does not follow, so the `?worker` specifier below never
|
|
8
|
+
* enters a webpack graph; Vite ignores the comment and bundles this module as usual.
|
|
9
|
+
*
|
|
10
|
+
* ⚠️ TWO earlier attempts at a bundler-neutral default failed at RENDER time, not build time — which
|
|
11
|
+
* is why they survived typecheck and the lazy-boundary guard. Both are recorded so the next author does
|
|
12
|
+
* not walk back into them:
|
|
13
|
+
*
|
|
14
|
+
* 1. `new URL('pdfjs-dist/build/pdf.worker.min.mjs', import.meta.url)` — Vite's `new URL()` handling
|
|
15
|
+
* resolves only RELATIVE paths against the module URL; a bare package specifier is not
|
|
16
|
+
* bundler-resolved, so the browser requested a path that does not exist and pdf.js reported
|
|
17
|
+
* `Setting up fake worker failed`.
|
|
18
|
+
* 2. `?url` + `GlobalWorkerOptions.workerSrc` — the URL resolved and the file was served (200), but
|
|
19
|
+
* pdf.js instantiates a `workerSrc` string as a CLASSIC worker while pdf.js 6 ships the worker as an
|
|
20
|
+
* ES module. The worker never completed its handshake, so `getDocument()` hung forever with no
|
|
21
|
+
* error to show.
|
|
22
|
+
*
|
|
23
|
+
* `?worker` hands us a bundler-generated constructor that already carries the right worker type
|
|
24
|
+
* (module in dev, the built format in production), which removes the classic-vs-module question
|
|
25
|
+
* entirely. Vite emits the worker as its own fingerprinted file served from the SAME ORIGIN as the
|
|
26
|
+
* bundle — never a CDN, which would both leak document bytes' provenance and need a `worker-src`
|
|
27
|
+
* exception. A deployment that serves its bundle from another origin registers a factory instead
|
|
28
|
+
* (`createModuleWorkerForUrl` in `pdf-viewer-worker.ts`, fed the `?worker&url` URL).
|
|
29
|
+
*/
|
|
30
|
+
// @ts-expect-error -- `?worker` is a Vite asset-import suffix with no TS declaration.
|
|
31
|
+
import PdfJsWorker from 'pdfjs-dist/build/pdf.worker.min.mjs?worker';
|
|
32
|
+
/** The Vite-built PDF.js worker, as the generated application constructs it. */
|
|
33
|
+
export function createViteDefaultPdfViewerWorker() {
|
|
34
|
+
return new PdfJsWorker();
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=pdf-viewer-worker.vite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdf-viewer-worker.vite.js","sourceRoot":"","sources":["../../../../../../src/components/data-display/pdf-viewer/pdf-viewer-worker.vite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,sFAAsF;AACtF,OAAO,WAAW,MAAM,4CAA4C,CAAA;AAEpE,gFAAgF;AAChF,MAAM,UAAU,gCAAgC;IAC9C,OAAO,IAAI,WAAW,EAAY,CAAA;AACpC,CAAC","sourcesContent":["/**\n * The VITE default for the PDF.js worker (issue #962) — the only module in the viewer that carries a\n * bundler-specific import, kept alone so a host on another bundler never has to compile it.\n *\n * `pdf-viewer.tsx` reaches this file through `import(/* webpackIgnore: true *\\/ …)` and ONLY when no\n * factory was registered through `configurePdfViewerWorker`. webpack honours that magic comment by\n * leaving the import as a native `import()` it does not follow, so the `?worker` specifier below never\n * enters a webpack graph; Vite ignores the comment and bundles this module as usual.\n *\n * ⚠️ TWO earlier attempts at a bundler-neutral default failed at RENDER time, not build time — which\n * is why they survived typecheck and the lazy-boundary guard. Both are recorded so the next author does\n * not walk back into them:\n *\n * 1. `new URL('pdfjs-dist/build/pdf.worker.min.mjs', import.meta.url)` — Vite's `new URL()` handling\n * resolves only RELATIVE paths against the module URL; a bare package specifier is not\n * bundler-resolved, so the browser requested a path that does not exist and pdf.js reported\n * `Setting up fake worker failed`.\n * 2. `?url` + `GlobalWorkerOptions.workerSrc` — the URL resolved and the file was served (200), but\n * pdf.js instantiates a `workerSrc` string as a CLASSIC worker while pdf.js 6 ships the worker as an\n * ES module. The worker never completed its handshake, so `getDocument()` hung forever with no\n * error to show.\n *\n * `?worker` hands us a bundler-generated constructor that already carries the right worker type\n * (module in dev, the built format in production), which removes the classic-vs-module question\n * entirely. Vite emits the worker as its own fingerprinted file served from the SAME ORIGIN as the\n * bundle — never a CDN, which would both leak document bytes' provenance and need a `worker-src`\n * exception. A deployment that serves its bundle from another origin registers a factory instead\n * (`createModuleWorkerForUrl` in `pdf-viewer-worker.ts`, fed the `?worker&url` URL).\n */\n\n// @ts-expect-error -- `?worker` is a Vite asset-import suffix with no TS declaration.\nimport PdfJsWorker from 'pdfjs-dist/build/pdf.worker.min.mjs?worker'\n\n/** The Vite-built PDF.js worker, as the generated application constructs it. */\nexport function createViteDefaultPdfViewerWorker(): Worker {\n return new PdfJsWorker() as Worker\n}\n"]}
|
|
@@ -26,13 +26,51 @@
|
|
|
26
26
|
*
|
|
27
27
|
* ## Worker
|
|
28
28
|
*
|
|
29
|
-
* PDF.js parses on a Web Worker.
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
29
|
+
* PDF.js parses on a Web Worker. ONE port for the whole module, installed lazily on the
|
|
30
|
+
* first render (`ensurePdfViewerWorkerPort`) and assigned to `GlobalWorkerOptions.workerPort`:
|
|
31
|
+
* the pdf.js worker multiplexes documents by id, so several viewers mounted at once (a
|
|
32
|
+
* THUMBNAIL in a list plus an overlay, say) share it safely, and the shared port avoids
|
|
33
|
+
* spawning a worker per rendered thumbnail. A per-instance `PDFWorker` was tried first
|
|
34
|
+
* out of a concurrency worry that does not apply.
|
|
35
|
+
*
|
|
36
|
+
* WHERE the worker comes from is the host's decision (issue #962, `pdf-viewer-worker.ts`):
|
|
37
|
+
* a factory registered through `configurePdfViewerWorker` wins; otherwise the Vite default
|
|
38
|
+
* in `pdf-viewer-worker.vite.ts` is imported — and only then, so a non-Vite bundler that
|
|
39
|
+
* registered a factory never compiles the `?worker` import. The default is a same-origin
|
|
40
|
+
* file URL, so the `SAAS_APP` CSP baseline needs nothing beyond `script-src 'self'`; the
|
|
41
|
+
* cross-origin (CDN publish) case and its `worker-src blob:` note live with the seam.
|
|
42
|
+
*
|
|
43
|
+
* ## Text
|
|
44
|
+
*
|
|
45
|
+
* The viewer is label-agnostic: every string it shows or announces arrives resolved in
|
|
46
|
+
* `labels` from its host, which owns the component's i18n catalog. A failure is shown
|
|
47
|
+
* as the host's labelled message and the cause is logged — a raw pdf.js exception
|
|
48
|
+
* message is developer text, not something to put in front of a reader.
|
|
34
49
|
*/
|
|
35
50
|
import * as React from "react";
|
|
51
|
+
/**
|
|
52
|
+
* Install the module-wide worker port once, from the host's factory when one is registered and from
|
|
53
|
+
* the Vite default otherwise (issue #962). Idempotent and memoised: every render awaits the same
|
|
54
|
+
* installation, and a factory registered AFTER it is not consulted. The Vite module is reached
|
|
55
|
+
* through a dynamic import that webpack is told not to follow (`webpackIgnore`), which is what keeps
|
|
56
|
+
* its `?worker` specifier out of a non-Vite graph; a host on such a bundler that registered no
|
|
57
|
+
* factory gets a rejected installation here — surfaced as the viewer's labelled failure with the
|
|
58
|
+
* cause in the log, never a hang.
|
|
59
|
+
*/
|
|
60
|
+
export declare function ensurePdfViewerWorkerPort(): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Every string the viewer shows or announces, RESOLVED by the host. Functions where
|
|
63
|
+
* the text carries a number, so the host's i18n interpolation — not this module —
|
|
64
|
+
* decides word order.
|
|
65
|
+
*/
|
|
66
|
+
export interface PdfViewerLabels {
|
|
67
|
+
/** Accessible name of one rendered page image. */
|
|
68
|
+
page(pageNumber: number): string;
|
|
69
|
+
/** Notice under a document longer than the render cap. */
|
|
70
|
+
pagesTruncated(shown: number, total: number): string;
|
|
71
|
+
/** Alert shown when the document cannot be rendered. */
|
|
72
|
+
renderFailed: string;
|
|
73
|
+
}
|
|
36
74
|
export interface PdfViewerProps {
|
|
37
75
|
/** Bytes of the PDF. Fetched by the host over the authenticated serve route. */
|
|
38
76
|
data: ArrayBuffer;
|
|
@@ -43,7 +81,9 @@ export interface PdfViewerProps {
|
|
|
43
81
|
className?: string;
|
|
44
82
|
/** Accessible name for the rendered document region. */
|
|
45
83
|
ariaLabel?: string;
|
|
84
|
+
/** Resolved text. Required: the viewer invents no words of its own. */
|
|
85
|
+
labels: PdfViewerLabels;
|
|
46
86
|
}
|
|
47
|
-
export declare function PdfViewer({ data, firstPageOnly, targetWidth, className, ariaLabel, }: PdfViewerProps): React.JSX.Element;
|
|
87
|
+
export declare function PdfViewer({ data, firstPageOnly, targetWidth, className, ariaLabel, labels, }: PdfViewerProps): React.JSX.Element;
|
|
48
88
|
export default PdfViewer;
|
|
49
89
|
//# sourceMappingURL=pdf-viewer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-viewer.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"pdf-viewer.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/pdf-viewer/pdf-viewer.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAezD;AAOD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC,0DAA0D;IAC1D,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACpD,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,gFAAgF;IAChF,IAAI,EAAE,WAAW,CAAA;IACjB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uEAAuE;IACvE,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,aAAqB,EACrB,WAAW,EACX,SAAS,EACT,SAAS,EACT,MAAM,GACP,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAoHpC;AAED,eAAe,SAAS,CAAA"}
|
|
@@ -28,54 +28,71 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
28
28
|
*
|
|
29
29
|
* ## Worker
|
|
30
30
|
*
|
|
31
|
-
* PDF.js parses on a Web Worker.
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
31
|
+
* PDF.js parses on a Web Worker. ONE port for the whole module, installed lazily on the
|
|
32
|
+
* first render (`ensurePdfViewerWorkerPort`) and assigned to `GlobalWorkerOptions.workerPort`:
|
|
33
|
+
* the pdf.js worker multiplexes documents by id, so several viewers mounted at once (a
|
|
34
|
+
* THUMBNAIL in a list plus an overlay, say) share it safely, and the shared port avoids
|
|
35
|
+
* spawning a worker per rendered thumbnail. A per-instance `PDFWorker` was tried first
|
|
36
|
+
* out of a concurrency worry that does not apply.
|
|
37
|
+
*
|
|
38
|
+
* WHERE the worker comes from is the host's decision (issue #962, `pdf-viewer-worker.ts`):
|
|
39
|
+
* a factory registered through `configurePdfViewerWorker` wins; otherwise the Vite default
|
|
40
|
+
* in `pdf-viewer-worker.vite.ts` is imported — and only then, so a non-Vite bundler that
|
|
41
|
+
* registered a factory never compiles the `?worker` import. The default is a same-origin
|
|
42
|
+
* file URL, so the `SAAS_APP` CSP baseline needs nothing beyond `script-src 'self'`; the
|
|
43
|
+
* cross-origin (CDN publish) case and its `worker-src blob:` note live with the seam.
|
|
44
|
+
*
|
|
45
|
+
* ## Text
|
|
46
|
+
*
|
|
47
|
+
* The viewer is label-agnostic: every string it shows or announces arrives resolved in
|
|
48
|
+
* `labels` from its host, which owns the component's i18n catalog. A failure is shown
|
|
49
|
+
* as the host's labelled message and the cause is logged — a raw pdf.js exception
|
|
50
|
+
* message is developer text, not something to put in front of a reader.
|
|
36
51
|
*/
|
|
37
52
|
import * as React from "react";
|
|
38
|
-
import { cn, Text, Skeleton } from "@wildo-ai/saas-frontend-lib";
|
|
53
|
+
import { cn, Text, Skeleton, LoggerFrontendService } from "@wildo-ai/saas-frontend-lib";
|
|
39
54
|
import * as pdfjs from "pdfjs-dist";
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
//
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
// when this module loads, which is already behind the lazy boundary.
|
|
69
|
-
// @ts-expect-error -- `?worker` is a Vite asset-import suffix with no TS declaration.
|
|
70
|
-
import PdfJsWorker from 'pdfjs-dist/build/pdf.worker.min.mjs?worker';
|
|
71
|
-
pdfjs.GlobalWorkerOptions.workerPort = new PdfJsWorker();
|
|
55
|
+
import { resolveConfiguredPdfViewerWorkerFactory } from "./pdf-viewer-worker.js";
|
|
56
|
+
import { describeCaughtError } from '@wildo-ai/saas-models';
|
|
57
|
+
let workerPortInstallation = null;
|
|
58
|
+
/**
|
|
59
|
+
* Install the module-wide worker port once, from the host's factory when one is registered and from
|
|
60
|
+
* the Vite default otherwise (issue #962). Idempotent and memoised: every render awaits the same
|
|
61
|
+
* installation, and a factory registered AFTER it is not consulted. The Vite module is reached
|
|
62
|
+
* through a dynamic import that webpack is told not to follow (`webpackIgnore`), which is what keeps
|
|
63
|
+
* its `?worker` specifier out of a non-Vite graph; a host on such a bundler that registered no
|
|
64
|
+
* factory gets a rejected installation here — surfaced as the viewer's labelled failure with the
|
|
65
|
+
* cause in the log, never a hang.
|
|
66
|
+
*/
|
|
67
|
+
export function ensurePdfViewerWorkerPort() {
|
|
68
|
+
if (workerPortInstallation === null) {
|
|
69
|
+
workerPortInstallation = (async () => {
|
|
70
|
+
const configured = resolveConfiguredPdfViewerWorkerFactory();
|
|
71
|
+
const worker = configured
|
|
72
|
+
? configured()
|
|
73
|
+
: (await import(/* webpackIgnore: true */ './pdf-viewer-worker.vite')).createViteDefaultPdfViewerWorker();
|
|
74
|
+
pdfjs.GlobalWorkerOptions.workerPort = worker;
|
|
75
|
+
})().catch((cause) => {
|
|
76
|
+
// A failed installation must not poison every later render: the next one asks again.
|
|
77
|
+
workerPortInstallation = null;
|
|
78
|
+
throw cause;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return workerPortInstallation;
|
|
82
|
+
}
|
|
72
83
|
/** Hard cap on rasterised pages — a bound, not a product limit. */
|
|
73
84
|
const MAX_RENDERED_PAGES = 50;
|
|
74
|
-
|
|
85
|
+
const logger = LoggerFrontendService.getLogger();
|
|
86
|
+
export function PdfViewer({ data, firstPageOnly = false, targetWidth, className, ariaLabel, labels, }) {
|
|
75
87
|
const containerRef = React.useRef(null);
|
|
76
88
|
const [pageCount, setPageCount] = React.useState(null);
|
|
77
|
-
const [
|
|
89
|
+
const [renderFailed, setRenderFailed] = React.useState(false);
|
|
78
90
|
const [rendering, setRendering] = React.useState(true);
|
|
91
|
+
// Read through a ref inside the render effect: `labels.page` is a function the host
|
|
92
|
+
// may recreate every render, and re-rasterising a whole document because a label
|
|
93
|
+
// closure changed identity would be a visible flicker for no reason.
|
|
94
|
+
const pageLabelRef = React.useRef(labels.page);
|
|
95
|
+
pageLabelRef.current = labels.page;
|
|
79
96
|
React.useEffect(() => {
|
|
80
97
|
let cancelled = false;
|
|
81
98
|
let document_ = null;
|
|
@@ -88,10 +105,13 @@ export function PdfViewer({ data, firstPageOnly = false, targetWidth, className,
|
|
|
88
105
|
// Hand it a copy; the host keeps its own.
|
|
89
106
|
const ownedData = data.slice(0);
|
|
90
107
|
setRendering(true);
|
|
91
|
-
|
|
108
|
+
setRenderFailed(false);
|
|
92
109
|
container.replaceChildren();
|
|
93
110
|
void (async () => {
|
|
94
111
|
try {
|
|
112
|
+
await ensurePdfViewerWorkerPort();
|
|
113
|
+
if (cancelled)
|
|
114
|
+
return;
|
|
95
115
|
loadingTask = pdfjs.getDocument({ data: ownedData });
|
|
96
116
|
document_ = await loadingTask.promise;
|
|
97
117
|
if (cancelled)
|
|
@@ -122,7 +142,7 @@ export function PdfViewer({ data, firstPageOnly = false, targetWidth, className,
|
|
|
122
142
|
canvas.style.height = `${Math.floor(viewport.height / dpr)}px`;
|
|
123
143
|
canvas.className = 'mx-auto max-w-full rounded-md border border-border shadow-xs';
|
|
124
144
|
canvas.setAttribute('role', 'img');
|
|
125
|
-
canvas.setAttribute('aria-label',
|
|
145
|
+
canvas.setAttribute('aria-label', pageLabelRef.current(pageNumber));
|
|
126
146
|
// ATTACH BEFORE RENDERING. Rendering into a detached canvas and appending
|
|
127
147
|
// afterwards left `page.render()` unsettled indefinitely (observed live:
|
|
128
148
|
// "rendering page 1" with no completion). Attaching first also makes pages
|
|
@@ -138,8 +158,12 @@ export function PdfViewer({ data, firstPageOnly = false, targetWidth, className,
|
|
|
138
158
|
}
|
|
139
159
|
}
|
|
140
160
|
catch (cause) {
|
|
141
|
-
if (!cancelled)
|
|
142
|
-
|
|
161
|
+
if (!cancelled) {
|
|
162
|
+
logger.warn('[PdfViewer] document could not be rendered', {
|
|
163
|
+
error: describeCaughtError(cause),
|
|
164
|
+
});
|
|
165
|
+
setRenderFailed(true);
|
|
166
|
+
}
|
|
143
167
|
}
|
|
144
168
|
finally {
|
|
145
169
|
if (!cancelled)
|
|
@@ -156,10 +180,10 @@ export function PdfViewer({ data, firstPageOnly = false, targetWidth, className,
|
|
|
156
180
|
void document_?.cleanup();
|
|
157
181
|
};
|
|
158
182
|
}, [data, firstPageOnly, targetWidth]);
|
|
159
|
-
return (_jsxs("div", { className: cn('w-full', className), "aria-label": ariaLabel, "aria-busy": rendering || undefined, children: [rendering && _jsx(Skeleton, { className: "h-64 w-full", "aria-hidden": "true" }),
|
|
183
|
+
return (_jsxs("div", { className: cn('w-full', className), "aria-label": ariaLabel, "aria-busy": rendering || undefined, children: [rendering && _jsx(Skeleton, { className: "h-64 w-full", "aria-hidden": "true" }), renderFailed && (_jsx(Text, { className: "text-sm text-destructive", role: "alert", children: labels.renderFailed })), _jsx("div", { ref: containerRef, className: "flex flex-col gap-item" }), !firstPageOnly && pageCount !== null && pageCount > MAX_RENDERED_PAGES && (
|
|
160
184
|
// Say what was NOT rendered rather than silently truncating — a document that
|
|
161
185
|
// looks complete but is not is worse than an explicit bound.
|
|
162
|
-
_jsx(Text, { className: "mt-item text-xs text-muted-foreground", children:
|
|
186
|
+
_jsx(Text, { className: "mt-item text-xs text-muted-foreground", children: labels.pagesTruncated(MAX_RENDERED_PAGES, pageCount) }))] }));
|
|
163
187
|
}
|
|
164
188
|
export default PdfViewer;
|
|
165
189
|
//# sourceMappingURL=pdf-viewer.js.map
|