@mastra/playground-ui 67.0.0 → 68.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ActionRow-BfK77pCT.cjs → ActionRow-BlC9GAef.cjs} +4 -4
- package/dist/ActionRow-BlC9GAef.cjs.map +1 -0
- package/dist/{ActionRow-Cd6tOC2K.js → ActionRow-DCrRCvBq.js} +4 -4
- package/dist/ActionRow-DCrRCvBq.js.map +1 -0
- package/dist/{Button-Bw1e3ONi.js → Button-CLXTbAY8.js} +42 -13
- package/dist/Button-CLXTbAY8.js.map +1 -0
- package/dist/{Button-YQRflC47.cjs → Button-DLcMcuUL.cjs} +58 -11
- package/dist/Button-DLcMcuUL.cjs.map +1 -0
- package/dist/{CodeEditor-CJ9jC9lu.cjs → CodeEditor-CLzs0yVc.cjs} +4 -4
- package/dist/{CodeEditor-CJ9jC9lu.cjs.map → CodeEditor-CLzs0yVc.cjs.map} +1 -1
- package/dist/{CodeEditor-CPVxj7WS.js → CodeEditor-COnz9c6B.js} +4 -4
- package/dist/{CodeEditor-CPVxj7WS.js.map → CodeEditor-COnz9c6B.js.map} +1 -1
- package/dist/{Comment-VFJq2wRp.js → Comment-0n98b_f_.js} +3 -3
- package/dist/{Comment-VFJq2wRp.js.map → Comment-0n98b_f_.js.map} +1 -1
- package/dist/{Comment-KYUQzeSu.cjs → Comment-Cg0f7eLa.cjs} +3 -3
- package/dist/{Comment-KYUQzeSu.cjs.map → Comment-Cg0f7eLa.cjs.map} +1 -1
- package/dist/{DataCodeSection-CZRPsStI.cjs → DataCodeSection-CcPmJPTp.cjs} +8 -8
- package/dist/{DataCodeSection-CZRPsStI.cjs.map → DataCodeSection-CcPmJPTp.cjs.map} +1 -1
- package/dist/{DataCodeSection-Ckd47p_S.js → DataCodeSection-KJRyRD1Q.js} +6 -6
- package/dist/{DataCodeSection-Ckd47p_S.js.map → DataCodeSection-KJRyRD1Q.js.map} +1 -1
- package/dist/{DataDetailsPanel-_CK0Huk6.js → DataDetailsPanel-CohEKPm4.js} +5 -5
- package/dist/{DataDetailsPanel-_CK0Huk6.js.map → DataDetailsPanel-CohEKPm4.js.map} +1 -1
- package/dist/{DataDetailsPanel-DFhM9H5D.cjs → DataDetailsPanel-DiyjEXqK.cjs} +6 -6
- package/dist/{DataDetailsPanel-DFhM9H5D.cjs.map → DataDetailsPanel-DiyjEXqK.cjs.map} +1 -1
- package/dist/{DataList-2tIlQsLc.js → DataList-CUhRQAv6.js} +2 -2
- package/dist/{DataList-2tIlQsLc.js.map → DataList-CUhRQAv6.js.map} +1 -1
- package/dist/{DataList-Czwmwyvp.cjs → DataList-Cj0mfk19.cjs} +2 -2
- package/dist/{DataList-Czwmwyvp.cjs.map → DataList-Cj0mfk19.cjs.map} +1 -1
- package/dist/{DataPanel-CY1W5LHJ.js → DataPanel-Bv4M17xO.js} +3 -3
- package/dist/{DataPanel-CY1W5LHJ.js.map → DataPanel-Bv4M17xO.js.map} +1 -1
- package/dist/{DataPanel-C0Ll76Ne.cjs → DataPanel-BwB1Oifd.cjs} +3 -3
- package/dist/{DataPanel-C0Ll76Ne.cjs.map → DataPanel-BwB1Oifd.cjs.map} +1 -1
- package/dist/{Dialog-CjaiCrkv.cjs → Dialog-BvWF9HE-.cjs} +2 -2
- package/dist/{Dialog-CjaiCrkv.cjs.map → Dialog-BvWF9HE-.cjs.map} +1 -1
- package/dist/{Dialog-CKtTR8h3.js → Dialog-DaWtxwd9.js} +2 -2
- package/dist/{Dialog-CKtTR8h3.js.map → Dialog-DaWtxwd9.js.map} +1 -1
- package/dist/{ErrorBoundary-Bm0LL_b7.cjs → ErrorBoundary-B5GjmA6V.cjs} +2 -2
- package/dist/{ErrorBoundary-Bm0LL_b7.cjs.map → ErrorBoundary-B5GjmA6V.cjs.map} +1 -1
- package/dist/{ErrorBoundary-95_6A77S.js → ErrorBoundary-Cat3KU86.js} +2 -2
- package/dist/{ErrorBoundary-95_6A77S.js.map → ErrorBoundary-Cat3KU86.js.map} +1 -1
- package/dist/{FilterBar--4oguuVe.js → FilterBar-BO-vvvyq.js} +18 -22
- package/dist/FilterBar-BO-vvvyq.js.map +1 -0
- package/dist/{FilterBar-BUd4f7oi.cjs → FilterBar-Buw0tv51.cjs} +18 -22
- package/dist/FilterBar-Buw0tv51.cjs.map +1 -0
- package/dist/KnowledgePageGraph.css +11 -0
- package/dist/{LogsDataList-Cslabh8K.js → LogsDataList-BI2C5OJz.js} +2 -2
- package/dist/{LogsDataList-Cslabh8K.js.map → LogsDataList-BI2C5OJz.js.map} +1 -1
- package/dist/{LogsDataList-DMmxAt_t.cjs → LogsDataList-CCIfUPGo.cjs} +2 -2
- package/dist/{LogsDataList-DMmxAt_t.cjs.map → LogsDataList-CCIfUPGo.cjs.map} +1 -1
- package/dist/{MarkdownRenderer-DME2xKTk.js → MarkdownRenderer-2GOXQJEv.js} +3 -3
- package/dist/{MarkdownRenderer-DME2xKTk.js.map → MarkdownRenderer-2GOXQJEv.js.map} +1 -1
- package/dist/{MarkdownRenderer-CS6u5drO.cjs → MarkdownRenderer-CB8Z_CHc.cjs} +4 -4
- package/dist/{MarkdownRenderer-CS6u5drO.cjs.map → MarkdownRenderer-CB8Z_CHc.cjs.map} +1 -1
- package/dist/{Message-nVI6tMS3.js → Message-CWzi5F_Q.js} +2 -2
- package/dist/{Message-nVI6tMS3.js.map → Message-CWzi5F_Q.js.map} +1 -1
- package/dist/{Message-DsCNQpou.cjs → Message-jj56lxNL.cjs} +2 -2
- package/dist/{Message-DsCNQpou.cjs.map → Message-jj56lxNL.cjs.map} +1 -1
- package/dist/{Notice-CyKngbbv.js → Notice-C-8oOZZF.js} +2 -2
- package/dist/{Notice-CyKngbbv.js.map → Notice-C-8oOZZF.js.map} +1 -1
- package/dist/{Notice-DWNeCe-t.cjs → Notice-JZ7SW7q6.cjs} +2 -2
- package/dist/{Notice-DWNeCe-t.cjs.map → Notice-JZ7SW7q6.cjs.map} +1 -1
- package/dist/{Workflow-BVWvgDmI.js → Workflow-C3SlEdP-.js} +5 -5
- package/dist/{Workflow-BVWvgDmI.js.map → Workflow-C3SlEdP-.js.map} +1 -1
- package/dist/{Workflow-BeF6pIO9.cjs → Workflow-DSWQ-ROz.cjs} +5 -5
- package/dist/{Workflow-BeF6pIO9.cjs.map → Workflow-DSWQ-ROz.cjs.map} +1 -1
- package/dist/{activity-DAK8tj7r.cjs → activity-DyB5H3gF.cjs} +2 -2
- package/dist/{activity-DAK8tj7r.cjs.map → activity-DyB5H3gF.cjs.map} +1 -1
- package/dist/{activity-CM34JyW-.js → activity-rJ1NQl_2.js} +2 -2
- package/dist/{activity-CM34JyW-.js.map → activity-rJ1NQl_2.js.map} +1 -1
- package/dist/{ask-user-BdjH9F7G.js → ask-user-B225wzWc.js} +2 -2
- package/dist/{ask-user-BdjH9F7G.js.map → ask-user-B225wzWc.js.map} +1 -1
- package/dist/{ask-user-C82m_G9W.cjs → ask-user-DdYz56qH.cjs} +2 -2
- package/dist/{ask-user-C82m_G9W.cjs.map → ask-user-DdYz56qH.cjs.map} +1 -1
- package/dist/buttons-group-Dc6R7YSs.cjs +48 -0
- package/dist/buttons-group-Dc6R7YSs.cjs.map +1 -0
- package/dist/buttons-group-DkFlnMiL.js +35 -0
- package/dist/buttons-group-DkFlnMiL.js.map +1 -0
- package/dist/{ButtonsGroup.css → buttons-group.css} +2 -0
- package/dist/clear-filters-button-Buc973vw.cjs +27 -0
- package/dist/clear-filters-button-Buc973vw.cjs.map +1 -0
- package/dist/clear-filters-button-CNrRuHOY.js +22 -0
- package/dist/clear-filters-button-CNrRuHOY.js.map +1 -0
- package/dist/{combobox-8kNAJFlj.cjs → combobox-CMx2ayFN.cjs} +3 -3
- package/dist/{combobox-8kNAJFlj.cjs.map → combobox-CMx2ayFN.cjs.map} +1 -1
- package/dist/{combobox-wFudhN8F.js → combobox-CtCK0mNx.js} +3 -3
- package/dist/{combobox-wFudhN8F.js.map → combobox-CtCK0mNx.js.map} +1 -1
- package/dist/{combobox-parts-W7KRQUsV.js → combobox-parts-C1CugUAU.js} +11 -19
- package/dist/combobox-parts-C1CugUAU.js.map +1 -0
- package/dist/{combobox-parts-BZVXwbG7.cjs → combobox-parts-ScKcYjMR.cjs} +10 -18
- package/dist/combobox-parts-ScKcYjMR.cjs.map +1 -0
- package/dist/components/ActionRow.cjs.js +1 -1
- package/dist/components/ActionRow.es.js +1 -1
- package/dist/components/AlertDialog.cjs.js +2 -2
- package/dist/components/AlertDialog.es.js +2 -2
- package/dist/components/Button.cjs.js +4 -1
- package/dist/components/Button.es.js +2 -2
- package/dist/components/ButtonsGroup.cjs.js +3 -38
- package/dist/components/ButtonsGroup.es.js +1 -35
- package/dist/components/ClampedText.cjs.js +1 -1
- package/dist/components/ClampedText.es.js +1 -1
- package/dist/components/ClearFiltersButton.cjs.js +3 -0
- package/dist/components/ClearFiltersButton.d.ts +1 -0
- package/dist/components/ClearFiltersButton.es.js +1 -0
- package/dist/components/CodeBlock.cjs.js +3 -3
- package/dist/components/CodeBlock.es.js +3 -3
- package/dist/components/CodeEditor.cjs.js +1 -1
- package/dist/components/CodeEditor.es.js +1 -1
- package/dist/components/CollapsibleBox.cjs.js +1 -1
- package/dist/components/CollapsibleBox.es.js +1 -1
- package/dist/components/Combobox.cjs.js +2 -2
- package/dist/components/Combobox.es.js +2 -2
- package/dist/components/Command.cjs.js +3 -2
- package/dist/components/Command.cjs.js.map +1 -1
- package/dist/components/Command.es.js +3 -2
- package/dist/components/Command.es.js.map +1 -1
- package/dist/components/Comment.cjs.js +1 -1
- package/dist/components/Comment.es.js +1 -1
- package/dist/components/CopyButton.cjs.js +1 -1
- package/dist/components/CopyButton.es.js +1 -1
- package/dist/components/DataCodeSection.cjs.js +1 -1
- package/dist/components/DataCodeSection.es.js +1 -1
- package/dist/components/DataDetailsPanel.cjs.js +1 -1
- package/dist/components/DataDetailsPanel.es.js +1 -1
- package/dist/components/DataList.cjs.js +3 -3
- package/dist/components/DataList.es.js +3 -3
- package/dist/components/DataPanel.cjs.js +1 -1
- package/dist/components/DataPanel.es.js +1 -1
- package/dist/components/DateRangeTimeline.cjs.js +1 -1
- package/dist/components/DateRangeTimeline.es.js +1 -1
- package/dist/components/DateTimePicker.cjs.js +2 -2
- package/dist/components/DateTimePicker.es.js +2 -2
- package/dist/components/DateTimeRangePicker.cjs.js +2 -2
- package/dist/components/DateTimeRangePicker.es.js +1 -1
- package/dist/components/Dialog.cjs.js +1 -1
- package/dist/components/Dialog.es.js +1 -1
- package/dist/components/DisabledFeatureButton.cjs.js +1 -1
- package/dist/components/DisabledFeatureButton.es.js +1 -1
- package/dist/components/Drawer.cjs.js +1 -1
- package/dist/components/Drawer.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +4 -4
- package/dist/components/EnvironmentVariablesEditor.es.js +4 -4
- package/dist/components/ErrorBoundary.cjs.js +1 -1
- package/dist/components/ErrorBoundary.es.js +1 -1
- package/dist/components/FilterBar.cjs.js +7 -2
- package/dist/components/FilterBar.es.js +4 -3
- package/dist/components/FormFieldBlocks.cjs.js +2 -2
- package/dist/components/FormFieldBlocks.es.js +2 -2
- package/dist/components/InputGroup.cjs.js +1 -1
- package/dist/components/InputGroup.es.js +1 -1
- package/dist/components/InputNumber.cjs.js +2 -2
- package/dist/components/InputNumber.es.js +2 -2
- package/dist/components/JSONSchemaForm.cjs.js +2 -2
- package/dist/components/JSONSchemaForm.es.js +2 -2
- package/dist/components/ListSearch.cjs.js +1 -1
- package/dist/components/ListSearch.es.js +1 -1
- package/dist/components/LogsDataList.cjs.js +2 -2
- package/dist/components/LogsDataList.es.js +2 -2
- package/dist/components/MarkdownRenderer.cjs.js +1 -1
- package/dist/components/MarkdownRenderer.es.js +1 -1
- package/dist/components/Message.cjs.js +1 -1
- package/dist/components/Message.es.js +1 -1
- package/dist/components/Notice.cjs.js +1 -1
- package/dist/components/Notice.es.js +1 -1
- package/dist/components/PrevNextNav.cjs.js +1 -1
- package/dist/components/PrevNextNav.es.js +1 -1
- package/dist/components/PropertyFilter.cjs.js +3 -3
- package/dist/components/PropertyFilter.es.js +3 -3
- package/dist/components/RuleBuilder.cjs.js +2 -2
- package/dist/components/RuleBuilder.es.js +2 -2
- package/dist/components/SavedViews.cjs.js +4 -3
- package/dist/components/SavedViews.cjs.js.map +1 -1
- package/dist/components/SavedViews.es.js +4 -3
- package/dist/components/SavedViews.es.js.map +1 -1
- package/dist/components/SearchInput.cjs.js +5 -2
- package/dist/components/SearchInput.cjs.js.map +1 -1
- package/dist/components/SearchInput.es.js +5 -2
- package/dist/components/SearchInput.es.js.map +1 -1
- package/dist/components/Select.cjs.js +1 -1
- package/dist/components/Select.es.js +1 -1
- package/dist/components/SideDialog.cjs.js +5 -5
- package/dist/components/SideDialog.cjs.js.map +1 -1
- package/dist/components/SideDialog.es.js +4 -4
- package/dist/components/Sidebar.cjs.js +3 -3
- package/dist/components/Sidebar.es.js +3 -3
- package/dist/components/Tabs.cjs.js +2 -2
- package/dist/components/Tabs.es.js +2 -2
- package/dist/components/ThreadList.cjs.js +1 -1
- package/dist/components/ThreadList.es.js +1 -1
- package/dist/components/Toaster.cjs.js +2 -2
- package/dist/components/Toaster.es.js +2 -2
- package/dist/components/Truncate.cjs.js +1 -1
- package/dist/components/Truncate.es.js +1 -1
- package/dist/components/Workflow.cjs.js +1 -1
- package/dist/components/Workflow.es.js +1 -1
- package/dist/components/ai/activity.cjs.js +1 -1
- package/dist/components/ai/activity.es.js +1 -1
- package/dist/components/ai/ask-user.cjs.js +1 -1
- package/dist/components/ai/ask-user.es.js +1 -1
- package/dist/components/ai/plan.cjs.js +2 -2
- package/dist/components/ai/plan.es.js +2 -2
- package/dist/components/ai/tool-approval.cjs.js +1 -1
- package/dist/components/ai/tool-approval.es.js +1 -1
- package/dist/components/ai/tool-call.cjs.js +2 -2
- package/dist/components/ai/tool-call.es.js +2 -2
- package/dist/{copy-button-CF-X4iDj.js → copy-button-BXrbevLn.js} +2 -2
- package/dist/{copy-button-CF-X4iDj.js.map → copy-button-BXrbevLn.js.map} +1 -1
- package/dist/{copy-button-BYEFKNpo.cjs → copy-button-DJAQ6_3o.cjs} +2 -2
- package/dist/{copy-button-BYEFKNpo.cjs.map → copy-button-DJAQ6_3o.cjs.map} +1 -1
- package/dist/{data-list-BkimqE_P.cjs → data-list-C4Vmq5HA.cjs} +2 -2
- package/dist/{data-list-BkimqE_P.cjs.map → data-list-C4Vmq5HA.cjs.map} +1 -1
- package/dist/{data-list-evmf5xWI.js → data-list-DHCOoLmj.js} +2 -2
- package/dist/{data-list-evmf5xWI.js.map → data-list-DHCOoLmj.js.map} +1 -1
- package/dist/{DateTimeRangePicker-HmPOHwAQ.cjs → date-time-range-picker-CTt7Od0P.cjs} +71 -57
- package/dist/date-time-range-picker-CTt7Od0P.cjs.map +1 -0
- package/dist/{DateTimeRangePicker-C_Lie_2P.js → date-time-range-picker-DKh1K9Iy.js} +72 -58
- package/dist/date-time-range-picker-DKh1K9Iy.js.map +1 -0
- package/dist/domains/auth/components/session-expired.cjs.js +2 -2
- package/dist/domains/auth/components/session-expired.es.js +2 -2
- package/dist/domains/chat/activity/activity-stretch-line.cjs.js +1 -1
- package/dist/domains/chat/activity/activity-stretch-line.es.js +1 -1
- package/dist/domains/chat/activity/components/activity-fold.cjs.js +1 -1
- package/dist/domains/chat/activity/components/activity-fold.es.js +1 -1
- package/dist/domains/chat/activity/components/activity-timed-trigger.cjs.js +1 -1
- package/dist/domains/chat/activity/components/activity-timed-trigger.es.js +1 -1
- package/dist/domains/chat/activity/components/calls-panel.cjs.js +1 -1
- package/dist/domains/chat/activity/components/calls-panel.es.js +1 -1
- package/dist/domains/chat/activity/components/stretch-content.cjs.js +1 -1
- package/dist/domains/chat/activity/components/stretch-content.es.js +1 -1
- package/dist/domains/chat/activity/components/stretch-thought.cjs.js +1 -1
- package/dist/domains/chat/activity/components/stretch-thought.es.js +1 -1
- package/dist/domains/chat/activity/model/activity-segments.cjs.js +1 -1
- package/dist/domains/chat/activity/model/activity-segments.es.js +1 -1
- package/dist/domains/chat/activity/model/activity-words.cjs.js +2 -2
- package/dist/domains/chat/activity/model/activity-words.es.js +2 -2
- package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
- package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
- package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
- package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
- package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
- package/dist/domains/chat/knowledge/knowledge-links.cjs.js +40 -0
- package/dist/domains/chat/knowledge/knowledge-links.cjs.js.map +1 -0
- package/dist/domains/chat/knowledge/knowledge-links.d.ts +1 -0
- package/dist/domains/chat/knowledge/knowledge-links.es.js +38 -0
- package/dist/domains/chat/knowledge/knowledge-links.es.js.map +1 -0
- package/dist/domains/chat/knowledge/pinned-knowledge-data.cjs.js +79 -0
- package/dist/domains/chat/knowledge/pinned-knowledge-data.cjs.js.map +1 -0
- package/dist/domains/chat/knowledge/pinned-knowledge-data.d.ts +1 -0
- package/dist/domains/chat/knowledge/pinned-knowledge-data.es.js +77 -0
- package/dist/domains/chat/knowledge/pinned-knowledge-data.es.js.map +1 -0
- package/dist/domains/chat/knowledge/pinned-knowledge.cjs.js +124 -0
- package/dist/domains/chat/knowledge/pinned-knowledge.cjs.js.map +1 -0
- package/dist/domains/chat/knowledge/pinned-knowledge.d.ts +1 -0
- package/dist/domains/chat/knowledge/pinned-knowledge.es.js +123 -0
- package/dist/domains/chat/knowledge/pinned-knowledge.es.js.map +1 -0
- package/dist/domains/chat/knowledge.cjs.js +12 -0
- package/dist/domains/chat/knowledge.d.ts +1 -0
- package/dist/domains/chat/knowledge.es.js +5 -0
- package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
- package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
- package/dist/domains/chat/messages/dataset-save-action.cjs.js +5 -5
- package/dist/domains/chat/messages/dataset-save-action.es.js +5 -5
- package/dist/domains/chat/messages/message-row.cjs.js +4 -4
- package/dist/domains/chat/messages/message-row.es.js +4 -4
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
- package/dist/domains/chat/messages/reasoning-content.cjs.js +1 -1
- package/dist/domains/chat/messages/reasoning-content.es.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.cjs.js +2 -2
- package/dist/domains/chat/messages/renderers/message-text.es.js +2 -2
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
- package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
- package/dist/domains/chat/messages/signal-badge.cjs.js +8 -1
- package/dist/domains/chat/messages/signal-badge.cjs.js.map +1 -1
- package/dist/domains/chat/messages/signal-badge.es.js +8 -1
- package/dist/domains/chat/messages/signal-badge.es.js.map +1 -1
- package/dist/domains/chat/messages/skill-message.cjs.js +2 -2
- package/dist/domains/chat/messages/skill-message.es.js +2 -2
- package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
- package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
- package/dist/domains/chat/messages/tripwire-notice.cjs.js +2 -2
- package/dist/domains/chat/messages/tripwire-notice.es.js +2 -2
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/file-tree-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js +273 -0
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js.map +1 -0
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.d.ts +1 -0
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js +270 -0
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js.map +1 -0
- package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/mcp-task-chip.es.js +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.cjs.js +4 -4
- package/dist/domains/chat/tools/badges/tool-badge.es.js +4 -4
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +4 -4
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +4 -4
- package/dist/domains/chat/tools/connect-prompt-tool.cjs.js +3 -3
- package/dist/domains/chat/tools/connect-prompt-tool.es.js +3 -3
- package/dist/domains/chat/tools/submit-plan-tool.cjs.js +1 -1
- package/dist/domains/chat/tools/submit-plan-tool.es.js +1 -1
- package/dist/domains/chat/tools/tool-card-kind.cjs.js +4 -2
- package/dist/domains/chat/tools/tool-card-kind.cjs.js.map +1 -1
- package/dist/domains/chat/tools/tool-card-kind.es.js +4 -2
- package/dist/domains/chat/tools/tool-card-kind.es.js.map +1 -1
- package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-card.es.js +1 -1
- package/dist/domains/chat/tools/tool-groups.cjs.js +3 -2
- package/dist/domains/chat/tools/tool-groups.cjs.js.map +1 -1
- package/dist/domains/chat/tools/tool-groups.es.js +3 -2
- package/dist/domains/chat/tools/tool-groups.es.js.map +1 -1
- package/dist/domains/chat.cjs.js +11 -0
- package/dist/domains/chat.es.js +5 -1
- package/dist/domains/dashboards/components/dashboard-renderer.cjs.js +1 -1
- package/dist/domains/dashboards/components/dashboard-renderer.es.js +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js +4 -4
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js +4 -4
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.cjs.js +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.es.js +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js +3 -3
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js +3 -3
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +5 -5
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +5 -5
- package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js +438 -0
- package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgePageDetail.d.ts +1 -0
- package/dist/domains/knowledge/components/KnowledgePageDetail.es.js +436 -0
- package/dist/domains/knowledge/components/KnowledgePageDetail.es.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js +521 -0
- package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgePageExplorer.d.ts +1 -0
- package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js +520 -0
- package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js +626 -0
- package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgePageGraph.d.ts +1 -0
- package/dist/domains/knowledge/components/KnowledgePageGraph.es.js +625 -0
- package/dist/domains/knowledge/components/KnowledgePageGraph.es.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js +170 -0
- package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgePageTree.d.ts +1 -0
- package/dist/domains/knowledge/components/KnowledgePageTree.es.js +168 -0
- package/dist/domains/knowledge/components/KnowledgePageTree.es.js.map +1 -0
- package/dist/domains/knowledge/hooks/useInteractionIdle.cjs.js +37 -0
- package/dist/domains/knowledge/hooks/useInteractionIdle.cjs.js.map +1 -0
- package/dist/domains/knowledge/hooks/useInteractionIdle.d.ts +1 -0
- package/dist/domains/knowledge/hooks/useInteractionIdle.es.js +35 -0
- package/dist/domains/knowledge/hooks/useInteractionIdle.es.js.map +1 -0
- package/dist/domains/knowledge/lib/layout.cjs.js +93 -0
- package/dist/domains/knowledge/lib/layout.cjs.js.map +1 -0
- package/dist/domains/knowledge/lib/layout.d.ts +1 -0
- package/dist/domains/knowledge/lib/layout.es.js +92 -0
- package/dist/domains/knowledge/lib/layout.es.js.map +1 -0
- package/dist/domains/knowledge/lib/pageGraph.cjs.js +135 -0
- package/dist/domains/knowledge/lib/pageGraph.cjs.js.map +1 -0
- package/dist/domains/knowledge/lib/pageGraph.d.ts +1 -0
- package/dist/domains/knowledge/lib/pageGraph.es.js +128 -0
- package/dist/domains/knowledge/lib/pageGraph.es.js.map +1 -0
- package/dist/domains/knowledge/lib/pageLayout.cjs.js +49 -0
- package/dist/domains/knowledge/lib/pageLayout.cjs.js.map +1 -0
- package/dist/domains/knowledge/lib/pageLayout.d.ts +1 -0
- package/dist/domains/knowledge/lib/pageLayout.es.js +48 -0
- package/dist/domains/knowledge/lib/pageLayout.es.js.map +1 -0
- package/dist/domains/knowledge/lib/pageTree.cjs.js +98 -0
- package/dist/domains/knowledge/lib/pageTree.cjs.js.map +1 -0
- package/dist/domains/knowledge/lib/pageTree.d.ts +1 -0
- package/dist/domains/knowledge/lib/pageTree.es.js +94 -0
- package/dist/domains/knowledge/lib/pageTree.es.js.map +1 -0
- package/dist/domains/knowledge/lib/popupPlacement.cjs.js +22 -0
- package/dist/domains/knowledge/lib/popupPlacement.cjs.js.map +1 -0
- package/dist/domains/knowledge/lib/popupPlacement.d.ts +1 -0
- package/dist/domains/knowledge/lib/popupPlacement.es.js +21 -0
- package/dist/domains/knowledge/lib/popupPlacement.es.js.map +1 -0
- package/dist/domains/knowledge/lib/recordText.cjs.js +26 -0
- package/dist/domains/knowledge/lib/recordText.cjs.js.map +1 -0
- package/dist/domains/knowledge/lib/recordText.d.ts +1 -0
- package/dist/domains/knowledge/lib/recordText.es.js +25 -0
- package/dist/domains/knowledge/lib/recordText.es.js.map +1 -0
- package/dist/domains/knowledge/pageTypes.cjs.js +0 -0
- package/dist/domains/knowledge/pageTypes.d.ts +1 -0
- package/dist/domains/knowledge/pageTypes.es.js +0 -0
- package/dist/domains/logs/components/log-data-panel.cjs.js +6 -6
- package/dist/domains/logs/components/log-data-panel.cjs.js.map +1 -1
- package/dist/domains/logs/components/log-data-panel.es.js +4 -4
- package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
- package/dist/domains/logs/components/logs-list-view.es.js +2 -2
- package/dist/domains/logs/components/logs-saved-views.cjs.js +1 -1
- package/dist/domains/logs/components/logs-saved-views.es.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
- package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
- package/dist/domains/logs/components/no-logs-info.es.js +1 -1
- package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +1 -1
- package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js +1 -1
- package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
- package/dist/domains/memory/components/flame-graph.es.js +1 -1
- package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
- package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
- package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
- package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
- package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
- package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
- package/dist/domains/metrics/components/date-range-selector.cjs.js +2 -2
- package/dist/domains/metrics/components/date-range-selector.cjs.js.map +1 -1
- package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
- package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js +4 -4
- package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js.map +1 -1
- package/dist/domains/metrics/components/metrics-time-range-chip.es.js +4 -4
- package/dist/domains/metrics/components/metrics-time-range-chip.es.js.map +1 -1
- package/dist/domains/metrics/drilldown.cjs.js +1 -1
- package/dist/domains/metrics/drilldown.es.js +1 -1
- package/dist/domains/metrics/metrics-filters.cjs.js +1 -1
- package/dist/domains/metrics/metrics-filters.es.js +1 -1
- package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js +1 -1
- package/dist/domains/observability/hooks/use-observability-list-filters.es.js +1 -1
- package/dist/domains/observability/observability-list-url-state.cjs.js +1 -1
- package/dist/domains/observability/observability-list-url-state.es.js +1 -1
- package/dist/domains/observability/saved-view-state.cjs.js +1 -1
- package/dist/domains/observability/saved-view-state.es.js +1 -1
- package/dist/domains/observability/saved-views/observability-saved-views.cjs.js +1 -1
- package/dist/domains/observability/saved-views/observability-saved-views.es.js +1 -1
- package/dist/domains/observability/saved-views/saved-views-provider.cjs.js +3 -2
- package/dist/domains/observability/saved-views/saved-views-provider.cjs.js.map +1 -1
- package/dist/domains/observability/saved-views/saved-views-provider.es.js +3 -2
- package/dist/domains/observability/saved-views/saved-views-provider.es.js.map +1 -1
- package/dist/domains/observability/saved-views/saved-views-source.cjs.js.map +1 -1
- package/dist/domains/observability/saved-views/saved-views-source.es.js.map +1 -1
- package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js +3 -2
- package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js.map +1 -1
- package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js +3 -2
- package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js.map +1 -1
- package/dist/domains/observability/saved-views.cjs.js +1 -1
- package/dist/domains/observability/saved-views.es.js +1 -1
- package/dist/domains/observability.cjs.js +1 -1
- package/dist/domains/observability.es.js +1 -1
- package/dist/domains/scores/components/score-data-panel.cjs.js +2 -2
- package/dist/domains/scores/components/score-data-panel.es.js +2 -2
- package/dist/domains/scores/components/span-scoring.cjs.js +4 -4
- package/dist/domains/scores/components/span-scoring.es.js +4 -4
- package/dist/domains/scores/components/trace-scores-list.cjs.js +2 -2
- package/dist/domains/scores/components/trace-scores-list.es.js +2 -2
- package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
- package/dist/domains/skills/skill-simple-form.cjs.js +4 -4
- package/dist/domains/skills/skill-simple-form.cjs.js.map +1 -1
- package/dist/domains/skills/skill-simple-form.es.js +4 -4
- package/dist/domains/skills/skill-simple-form.es.js.map +1 -1
- package/dist/domains/spans/components/spans-explorer-body.cjs.js +8 -8
- package/dist/domains/spans/components/spans-explorer-body.cjs.js.map +1 -1
- package/dist/domains/spans/components/spans-explorer-body.es.js +8 -8
- package/dist/domains/spans/components/spans-explorer-body.es.js.map +1 -1
- package/dist/domains/spans/components/spans-filter-bar.cjs.js +5 -5
- package/dist/domains/spans/components/spans-filter-bar.cjs.js.map +1 -1
- package/dist/domains/spans/components/spans-filter-bar.es.js +5 -5
- package/dist/domains/spans/components/spans-filter-bar.es.js.map +1 -1
- package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js +5 -5
- package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js.map +1 -1
- package/dist/domains/spans/hooks/use-spans-filter-bar.es.js +5 -5
- package/dist/domains/spans/hooks/use-spans-filter-bar.es.js.map +1 -1
- package/dist/domains/spans/span-filters.cjs.js +2 -2
- package/dist/domains/spans/span-filters.cjs.js.map +1 -1
- package/dist/domains/spans/span-filters.es.js +2 -2
- package/dist/domains/spans/span-filters.es.js.map +1 -1
- package/dist/domains/threads/components/threads-explorer-body.cjs.js +8 -8
- package/dist/domains/threads/components/threads-explorer-body.cjs.js.map +1 -1
- package/dist/domains/threads/components/threads-explorer-body.es.js +8 -8
- package/dist/domains/threads/components/threads-explorer-body.es.js.map +1 -1
- package/dist/domains/threads/components/threads-filter-bar.cjs.js +5 -5
- package/dist/domains/threads/components/threads-filter-bar.cjs.js.map +1 -1
- package/dist/domains/threads/components/threads-filter-bar.es.js +5 -5
- package/dist/domains/threads/components/threads-filter-bar.es.js.map +1 -1
- package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js +5 -5
- package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js.map +1 -1
- package/dist/domains/threads/hooks/use-threads-filter-bar.es.js +5 -5
- package/dist/domains/threads/hooks/use-threads-filter-bar.es.js.map +1 -1
- package/dist/domains/threads/thread-filters.cjs.js +2 -2
- package/dist/domains/threads/thread-filters.cjs.js.map +1 -1
- package/dist/domains/threads/thread-filters.es.js +2 -2
- package/dist/domains/threads/thread-filters.es.js.map +1 -1
- package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js +1 -1
- package/dist/domains/traces/components/columns-menu/columns-menu.es.js +1 -1
- package/dist/domains/traces/components/feedback-thread.cjs.js +3 -3
- package/dist/domains/traces/components/feedback-thread.es.js +3 -3
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +5 -5
- package/dist/domains/traces/components/span-data-panel-view.es.js +5 -5
- package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
- package/dist/domains/traces/components/span-details-view.es.js +1 -1
- package/dist/domains/traces/components/span-outcome.cjs.js +1 -1
- package/dist/domains/traces/components/span-outcome.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-json.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-section.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-processor-mutations.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-processor-mutations.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-tools-section.es.js +1 -1
- package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
- package/dist/domains/traces/components/span-summary-description.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.es.js +1 -1
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +3 -4
- package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.es.js +3 -4
- package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +4 -4
- package/dist/domains/traces/components/trace-data-panel-view.es.js +4 -4
- package/dist/domains/traces/components/trace-data-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-data-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-details-view.cjs.js +1 -1
- package/dist/domains/traces/components/trace-details-view.es.js +1 -1
- package/dist/domains/traces/components/trace-error-cell.cjs.js +1 -1
- package/dist/domains/traces/components/trace-error-cell.es.js +1 -1
- package/dist/domains/traces/components/trace-error-summary.cjs.js +1 -1
- package/dist/domains/traces/components/trace-error-summary.es.js +1 -1
- package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
- package/dist/domains/traces/components/trace-id-button.es.js +1 -1
- package/dist/domains/traces/components/trace-span-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-span-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
- package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
- package/dist/domains/traces/components/trace-thread-item-view.cjs.js +1 -1
- package/dist/domains/traces/components/trace-thread-item-view.es.js +1 -1
- package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +5 -5
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +5 -5
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +5 -5
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +5 -5
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js.map +1 -1
- package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
- package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
- package/dist/domains/traces/components/traces-list-view.cjs.js +2 -2
- package/dist/domains/traces/components/traces-list-view.es.js +2 -2
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -2
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -2
- package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
- package/dist/domains/traces/components/traces-spans-switch.cjs.js +1 -1
- package/dist/domains/traces/components/traces-spans-switch.es.js +1 -1
- package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +1 -1
- package/dist/domains/traces/hooks/use-download-trace-json.es.js +1 -1
- package/dist/domains/traces/trace-filters.cjs.js +1 -1
- package/dist/domains/traces/trace-filters.es.js +1 -1
- package/dist/domains/traces/trace-query-filters.cjs.js +1 -1
- package/dist/domains/traces/trace-query-filters.es.js +1 -1
- package/dist/domains/traces.cjs.js +1 -1
- package/dist/domains/traces.es.js +1 -1
- package/dist/domains/workflows/components/workflow-combobox.cjs.js +2 -2
- package/dist/domains/workflows/components/workflow-combobox.es.js +2 -2
- package/dist/domains/workflows/components/workflow-information.cjs.js +2 -2
- package/dist/domains/workflows/components/workflow-information.es.js +2 -2
- package/dist/domains/workflows/components/workflow-layout.cjs.js +1 -1
- package/dist/domains/workflows/components/workflow-layout.es.js +1 -1
- package/dist/domains/workflows/components/workflow-step-detail.cjs.js +2 -2
- package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
- package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
- package/dist/domains/workflows/context/use-stream-for-run.cjs.js +1 -1
- package/dist/domains/workflows/context/use-stream-for-run.es.js +1 -1
- package/dist/domains/workflows/runs/workflow-run-list.cjs.js +1 -1
- package/dist/domains/workflows/runs/workflow-run-list.es.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
- package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-trigger.cjs.js +2 -1
- package/dist/domains/workflows/workflow/use-workflow-trigger.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/use-workflow-trigger.es.js +2 -1
- package/dist/domains/workflows/workflow/use-workflow-trigger.es.js.map +1 -1
- package/dist/domains/workflows/workflow/utils.cjs.js +1 -1
- package/dist/domains/workflows/workflow/utils.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-layout.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-layout.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-run-data.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-error.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-header.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-step-node-utils.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-node-utils.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger.es.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +3 -3
- package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +3 -3
- package/dist/domains/workspace/components/workspace-add-skill.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill.es.js +1 -1
- package/dist/domains/workspace/components/workspace-create-directory.cjs.js +2 -2
- package/dist/domains/workspace/components/workspace-create-directory.es.js +2 -2
- package/dist/domains/workspace/components/workspace-error.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-error.es.js +1 -1
- package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-markdown-preview.es.js +1 -1
- package/dist/domains/workspace/components/workspace-search.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-search.es.js +1 -1
- package/dist/domains/workspace/components/workspace-tree.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-tree.es.js +1 -1
- package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
- package/dist/ee/signals/components/entity-index-list.es.js +1 -1
- package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
- package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +6 -6
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +5 -5
- package/dist/ee/signals/examples-pager.cjs.js +1 -1
- package/dist/ee/signals/examples-pager.es.js +1 -1
- package/dist/ee/signals/sankey-signals.cjs.js +1 -1
- package/dist/ee/signals/sankey-signals.es.js +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
- package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
- package/dist/ee/signals/settings/trace-signal-settings.cjs.js +3 -3
- package/dist/ee/signals/settings/trace-signal-settings.es.js +3 -3
- package/dist/ee/signals/signals-error-state.cjs.js +1 -1
- package/dist/ee/signals/signals-error-state.es.js +1 -1
- package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
- package/dist/ee/signals/snapshot-timeline.es.js +1 -1
- package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
- package/dist/ee/signals/theme-filter-banner.es.js +1 -1
- package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
- package/dist/ee/signals/trace-insight-view.es.js +1 -1
- package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
- package/dist/ee/signals/view-mode-tab.es.js +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
- package/dist/{filter-bar-chip-7O02P9Vk.js → filter-bar-chip-B4sV4gDm.js} +86 -71
- package/dist/filter-bar-chip-B4sV4gDm.js.map +1 -0
- package/dist/{filter-bar-chip-BUyMf8XQ.cjs → filter-bar-chip-CIEsWcEw.cjs} +88 -79
- package/dist/filter-bar-chip-CIEsWcEw.cjs.map +1 -0
- package/dist/filter-bar-chip.css +22 -0
- package/dist/filter-bar-time-range-CXQMBgpz.js +60 -0
- package/dist/filter-bar-time-range-CXQMBgpz.js.map +1 -0
- package/dist/filter-bar-time-range-DvuaFnkI.cjs +83 -0
- package/dist/filter-bar-time-range-DvuaFnkI.cjs.map +1 -0
- package/dist/hooks/use-copy-to-clipboard.cjs.js +1 -1
- package/dist/hooks/use-copy-to-clipboard.es.js +1 -1
- package/dist/{input-group-uDpFNnSW.cjs → input-group-DVJLZDBL.cjs} +6 -4
- package/dist/input-group-DVJLZDBL.cjs.map +1 -0
- package/dist/{input-group-g85FYfze.js → input-group-QKKV_ouF.js} +7 -5
- package/dist/input-group-QKKV_ouF.js.map +1 -0
- package/dist/layout/tabbed-container.cjs.js +1 -1
- package/dist/layout/tabbed-container.es.js +1 -1
- package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
- package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/array-wrapper.es.js +1 -1
- package/dist/lib/form/components/date-field.cjs.js +1 -1
- package/dist/lib/form/components/date-field.es.js +1 -1
- package/dist/lib/form/components/error-message.cjs.js +1 -1
- package/dist/lib/form/components/error-message.es.js +1 -1
- package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
- package/dist/lib/form/components/form-submit-row.es.js +1 -1
- package/dist/lib/form/components/record-field.cjs.js +1 -1
- package/dist/lib/form/components/record-field.es.js +1 -1
- package/dist/lib/form/components/select-field.cjs.js +1 -1
- package/dist/lib/form/components/select-field.es.js +1 -1
- package/dist/lib/form/components/submit-button.cjs.js +1 -1
- package/dist/lib/form/components/submit-button.es.js +1 -1
- package/dist/lib/form/dynamic-form.cjs.js +2 -2
- package/dist/lib/form/dynamic-form.cjs.js.map +1 -1
- package/dist/lib/form/dynamic-form.es.js +2 -2
- package/dist/lib/form/dynamic-form.es.js.map +1 -1
- package/dist/lib/form/json-draft.cjs.js +1 -1
- package/dist/lib/form/json-draft.es.js +1 -1
- package/dist/lib/form/zod-provider/compat.cjs.js +8 -0
- package/dist/lib/form/zod-provider/compat.cjs.js.map +1 -1
- package/dist/lib/form/zod-provider/compat.es.js +8 -1
- package/dist/lib/form/zod-provider/compat.es.js.map +1 -1
- package/dist/lib/form/zod-provider.cjs.js +1 -1
- package/dist/lib/form/zod-provider.es.js +1 -1
- package/dist/{list-search-BEJmYa9a.cjs → list-search-BtRno5As.cjs} +2 -2
- package/dist/list-search-BtRno5As.cjs.map +1 -0
- package/dist/{list-search-bg7WzULj.js → list-search-CkhsTFdG.js} +2 -2
- package/dist/list-search-CkhsTFdG.js.map +1 -0
- package/dist/{observability-saved-views-CwCii7hh.cjs → observability-saved-views-BAzxxoAr.cjs} +10 -8
- package/dist/observability-saved-views-BAzxxoAr.cjs.map +1 -0
- package/dist/{observability-saved-views-Bo5kLN20.js → observability-saved-views-BBam8Fr5.js} +10 -8
- package/dist/observability-saved-views-BBam8Fr5.js.map +1 -0
- package/dist/primitives/control-icon.cjs.js +9 -0
- package/dist/primitives/control-icon.cjs.js.map +1 -0
- package/dist/primitives/control-icon.d.ts +1 -0
- package/dist/primitives/control-icon.es.js +8 -0
- package/dist/primitives/control-icon.es.js.map +1 -0
- package/dist/primitives/control-size.cjs.js +6 -0
- package/dist/primitives/control-size.cjs.js.map +1 -1
- package/dist/primitives/control-size.es.js +6 -1
- package/dist/primitives/control-size.es.js.map +1 -1
- package/dist/primitives/menu-item.cjs.js +3 -3
- package/dist/primitives/menu-item.cjs.js.map +1 -1
- package/dist/primitives/menu-item.es.js +3 -3
- package/dist/primitives/menu-item.es.js.map +1 -1
- package/dist/primitives/trigger-button.cjs.js +1 -1
- package/dist/primitives/trigger-button.es.js +1 -1
- package/dist/{property-filter-applied-DqsPFbYM.cjs → property-filter-applied-BCeRLcXb.cjs} +18 -18
- package/dist/{property-filter-applied-DqsPFbYM.cjs.map → property-filter-applied-BCeRLcXb.cjs.map} +1 -1
- package/dist/{property-filter-applied-DRglaEj-.js → property-filter-applied-p3dTTDdb.js} +3 -3
- package/dist/{property-filter-applied-DRglaEj-.js.map → property-filter-applied-p3dTTDdb.js.map} +1 -1
- package/dist/{select-BbFpEBAY.js → select-BdIZEdcy.js} +4 -8
- package/dist/select-BdIZEdcy.js.map +1 -0
- package/dist/{select-NySY9Men.cjs → select-Dg8L5ROX.cjs} +3 -7
- package/dist/select-Dg8L5ROX.cjs.map +1 -0
- package/dist/{span-payload-primitives-Dyhbqaa7.js → span-payload-primitives-B3RdahsC.js} +4 -4
- package/dist/{span-payload-primitives-Dyhbqaa7.js.map → span-payload-primitives-B3RdahsC.js.map} +1 -1
- package/dist/{span-payload-primitives-B10Xxmx7.cjs → span-payload-primitives-_2d-pAOD.cjs} +4 -4
- package/dist/{span-payload-primitives-B10Xxmx7.cjs.map → span-payload-primitives-_2d-pAOD.cjs.map} +1 -1
- package/dist/src/domains/chat/index.d.ts +1 -0
- package/dist/src/domains/chat/knowledge/index.d.ts +5 -0
- package/dist/src/domains/chat/knowledge/knowledge-links.d.ts +21 -0
- package/dist/src/domains/chat/knowledge/pinned-knowledge-data.d.ts +22 -0
- package/dist/src/domains/chat/knowledge/pinned-knowledge.d.ts +9 -0
- package/dist/src/domains/chat/tools/badges/knowledge-tool-badge.d.ts +19 -0
- package/dist/src/domains/chat/tools/tool-card-kind.d.ts +2 -2
- package/dist/src/domains/knowledge/components/KnowledgePageDetail.d.ts +42 -0
- package/dist/src/domains/knowledge/components/KnowledgePageExplorer.d.ts +80 -0
- package/dist/src/domains/knowledge/components/KnowledgePageGraph.d.ts +35 -0
- package/dist/src/domains/knowledge/components/KnowledgePageTree.d.ts +27 -0
- package/dist/src/domains/knowledge/hooks/useInteractionIdle.d.ts +12 -0
- package/dist/src/domains/knowledge/lib/layout.d.ts +35 -0
- package/dist/src/domains/knowledge/lib/pageGraph.d.ts +45 -0
- package/dist/src/domains/knowledge/lib/pageLayout.d.ts +24 -0
- package/dist/src/domains/knowledge/lib/pageTree.d.ts +28 -0
- package/dist/src/domains/knowledge/lib/popupPlacement.d.ts +12 -0
- package/dist/src/domains/knowledge/lib/recordText.d.ts +9 -0
- package/dist/src/domains/knowledge/pageTypes.d.ts +96 -0
- package/dist/src/domains/metrics/components/metrics-time-range-chip.d.ts +2 -2
- package/dist/src/domains/observability/saved-views/saved-views-provider.d.ts +6 -1
- package/dist/src/domains/observability/saved-views/saved-views-source.d.ts +1 -0
- package/dist/src/domains/observability/saved-views/use-hosted-saved-views.d.ts +1 -1
- package/dist/src/domains/skills/skill-simple-form.d.ts +3 -1
- package/dist/src/domains/spans/components/spans-filter-bar.d.ts +1 -1
- package/dist/src/domains/spans/hooks/use-spans-filter-bar.d.ts +1 -1
- package/dist/src/domains/spans/span-filters.d.ts +1 -1
- package/dist/src/domains/threads/components/threads-filter-bar.d.ts +1 -1
- package/dist/src/domains/threads/hooks/use-threads-filter-bar.d.ts +1 -1
- package/dist/src/domains/threads/thread-filters.d.ts +1 -1
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-filter-bar.d.ts +3 -3
- package/dist/src/domains/traces/components/traces-page-skeleton.d.ts +1 -1
- package/dist/src/ds/components/Button/Button.d.ts +15 -0
- package/dist/src/ds/components/ClearFiltersButton/clear-filters-button.d.ts +12 -0
- package/dist/src/ds/components/ClearFiltersButton/index.d.ts +1 -0
- package/dist/src/ds/components/Combobox/combobox-styles.d.ts +0 -1
- package/dist/src/ds/components/DateTimeRangePicker/date-time-range-picker.d.ts +12 -11
- package/dist/src/ds/components/FilterBar/filter-bar-chip.d.ts +10 -7
- package/dist/src/ds/components/FilterBar/filter-bar-time-range.d.ts +19 -0
- package/dist/src/ds/components/FilterBar/filter-bar.d.ts +2 -0
- package/dist/src/ds/components/FilterBar/index.d.ts +2 -0
- package/dist/src/ds/components/FilterBar/use-filter-bar-item-keys.d.ts +23 -0
- package/dist/src/ds/components/ListSearch/list-search.d.ts +1 -0
- package/dist/src/ds/components/SavedViews/saved-view-picker.d.ts +3 -1
- package/dist/src/ds/components/ai/tool-call/tool-phrases.d.ts +30 -0
- package/dist/src/ds/primitives/control-icon.d.ts +3 -0
- package/dist/src/ds/primitives/control-size.d.ts +1 -0
- package/dist/src/lib/form/zod-provider/compat.d.ts +5 -0
- package/dist/style.css +181 -66
- package/dist/{tabbed-container-BKUqfEKy.js → tabbed-container-5j6dhoRX.js} +6 -6
- package/dist/{tabbed-container-BKUqfEKy.js.map → tabbed-container-5j6dhoRX.js.map} +1 -1
- package/dist/{tabbed-container-CFEImJOK.cjs → tabbed-container-DQU7pVio.cjs} +6 -6
- package/dist/{tabbed-container-CFEImJOK.cjs.map → tabbed-container-DQU7pVio.cjs.map} +1 -1
- package/dist/{tabs-content-DgR3Hik1.cjs → tabs-content-CmXe5ML0.cjs} +2 -2
- package/dist/{tabs-content-DgR3Hik1.cjs.map → tabs-content-CmXe5ML0.cjs.map} +1 -1
- package/dist/{tabs-content-cpV6A9c3.js → tabs-content-D__B9hd-.js} +2 -2
- package/dist/{tabs-content-cpV6A9c3.js.map → tabs-content-D__B9hd-.js.map} +1 -1
- package/dist/{tabs-tab-UT1JliwK.js → tabs-tab-CYTZevdV.js} +2 -2
- package/dist/{tabs-tab-UT1JliwK.js.map → tabs-tab-CYTZevdV.js.map} +1 -1
- package/dist/{tabs-tab-Qp3RJ17z.cjs → tabs-tab-DGwfHVDr.cjs} +2 -2
- package/dist/{tabs-tab-Qp3RJ17z.cjs.map → tabs-tab-DGwfHVDr.cjs.map} +1 -1
- package/dist/{toast-api-WhxnAT9F.js → toast-api-D_rrRhNG.js} +2 -2
- package/dist/{toast-api-WhxnAT9F.js.map → toast-api-D_rrRhNG.js.map} +1 -1
- package/dist/{toast-api-Bv87KHu_.cjs → toast-api-qtkOucy2.cjs} +2 -2
- package/dist/{toast-api-Bv87KHu_.cjs.map → toast-api-qtkOucy2.cjs.map} +1 -1
- package/dist/{tool-approval-BfjoSNOC.cjs → tool-approval-1qiB4hhG.cjs} +5 -5
- package/dist/{tool-approval-BfjoSNOC.cjs.map → tool-approval-1qiB4hhG.cjs.map} +1 -1
- package/dist/{tool-approval-FeuyUUcL.js → tool-approval-B6MFcaKV.js} +5 -5
- package/dist/{tool-approval-FeuyUUcL.js.map → tool-approval-B6MFcaKV.js.map} +1 -1
- package/dist/{tool-call-CvilN9ti.cjs → tool-call-Bu66PkD-.cjs} +34 -4
- package/dist/{tool-call-CvilN9ti.cjs.map → tool-call-Bu66PkD-.cjs.map} +1 -1
- package/dist/{tool-call-BxYXs9w0.js → tool-call-Ch9-jjXU.js} +34 -4
- package/dist/{tool-call-BxYXs9w0.js.map → tool-call-Ch9-jjXU.js.map} +1 -1
- package/dist/{tool-card-B7O8AsRl.cjs → tool-card-DrqPZfPQ.cjs} +20 -6
- package/dist/tool-card-DrqPZfPQ.cjs.map +1 -0
- package/dist/{tool-card-ELW898uw.js → tool-card-sO6P2Qj4.js} +20 -6
- package/dist/tool-card-sO6P2Qj4.js.map +1 -0
- package/dist/{tool-presentation-BLErsb7c.cjs → tool-presentation-CQlDEwgS.cjs} +26 -1
- package/dist/tool-presentation-CQlDEwgS.cjs.map +1 -0
- package/dist/{tool-presentation-BSZYIWx2.js → tool-presentation-DvCsb_kz.js} +26 -1
- package/dist/tool-presentation-DvCsb_kz.js.map +1 -0
- package/dist/{trace-filters-BJaebsxJ.js → trace-filters-CaWkw779.js} +2 -3
- package/dist/trace-filters-CaWkw779.js.map +1 -0
- package/dist/{trace-filters-BNEZ31HX.cjs → trace-filters-a0N9bf52.cjs} +1 -2
- package/dist/trace-filters-a0N9bf52.cjs.map +1 -0
- package/dist/{use-workflow-graph-runtime-deTN_q_G.js → use-workflow-graph-runtime-BKNhOKsH.js} +3 -3
- package/dist/{use-workflow-graph-runtime-deTN_q_G.js.map → use-workflow-graph-runtime-BKNhOKsH.js.map} +1 -1
- package/dist/{use-workflow-graph-runtime-DkwQjMEV.cjs → use-workflow-graph-runtime-DYao-08R.cjs} +3 -3
- package/dist/{use-workflow-graph-runtime-DkwQjMEV.cjs.map → use-workflow-graph-runtime-DYao-08R.cjs.map} +1 -1
- package/dist/utils/toast.cjs.js +1 -1
- package/dist/utils/toast.es.js +1 -1
- package/package.json +12 -10
- package/theme.css +4 -0
- package/dist/ActionRow-BfK77pCT.cjs.map +0 -1
- package/dist/ActionRow-Cd6tOC2K.js.map +0 -1
- package/dist/Button-Bw1e3ONi.js.map +0 -1
- package/dist/Button-YQRflC47.cjs.map +0 -1
- package/dist/DateTimeRangePicker-C_Lie_2P.js.map +0 -1
- package/dist/DateTimeRangePicker-HmPOHwAQ.cjs.map +0 -1
- package/dist/FilterBar--4oguuVe.js.map +0 -1
- package/dist/FilterBar-BUd4f7oi.cjs.map +0 -1
- package/dist/combobox-parts-BZVXwbG7.cjs.map +0 -1
- package/dist/combobox-parts-W7KRQUsV.js.map +0 -1
- package/dist/components/ButtonsGroup.cjs.js.map +0 -1
- package/dist/components/ButtonsGroup.es.js.map +0 -1
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js +0 -90
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +0 -1
- package/dist/domains/traces/components/trace-time-range-chip.d.ts +0 -1
- package/dist/domains/traces/components/trace-time-range-chip.es.js +0 -86
- package/dist/domains/traces/components/trace-time-range-chip.es.js.map +0 -1
- package/dist/filter-bar-chip-7O02P9Vk.js.map +0 -1
- package/dist/filter-bar-chip-BUyMf8XQ.cjs.map +0 -1
- package/dist/input-group-g85FYfze.js.map +0 -1
- package/dist/input-group-uDpFNnSW.cjs.map +0 -1
- package/dist/list-search-BEJmYa9a.cjs.map +0 -1
- package/dist/list-search-bg7WzULj.js.map +0 -1
- package/dist/observability-saved-views-Bo5kLN20.js.map +0 -1
- package/dist/observability-saved-views-CwCii7hh.cjs.map +0 -1
- package/dist/select-BbFpEBAY.js.map +0 -1
- package/dist/select-NySY9Men.cjs.map +0 -1
- package/dist/src/domains/traces/components/trace-time-range-chip.d.ts +0 -22
- package/dist/tool-card-B7O8AsRl.cjs.map +0 -1
- package/dist/tool-card-ELW898uw.js.map +0 -1
- package/dist/tool-presentation-BLErsb7c.cjs.map +0 -1
- package/dist/tool-presentation-BSZYIWx2.js.map +0 -1
- package/dist/trace-filters-BJaebsxJ.js.map +0 -1
- package/dist/trace-filters-BNEZ31HX.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-group-QKKV_ouF.js","names":["React","InputPrimitive"],"sources":["../src/ds/components/InputGroup/input-group.tsx"],"sourcesContent":["import { Input as InputPrimitive } from '@base-ui/react/input';\nimport { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { Button } from '@/ds/components/Button';\nimport type { ButtonProps } from '@/ds/components/Button/Button';\nimport { keepOwnAccessibleName } from '@/ds/components/Field/field-control-aria';\nimport { controlIconState } from '@/ds/primitives/control-icon';\nimport { ControlSizeContext, controlHeight, controlSpacing } from '@/ds/primitives/control-size';\nimport type { ControlSize } from '@/ds/primitives/control-size';\nimport {\n deprecatedErrorAria,\n fieldErrorRimWithin,\n inputSurfaceAndFocusWithinStyle,\n} from '@/ds/primitives/form-element';\nimport { textFieldAutofillProps } from '@/ds/primitives/password-manager-autofill';\nimport { TextareaControl } from '@/ds/primitives/textarea-control';\nimport { cn } from '@/lib/utils';\n\n// Size flows down as `data-size` on the named group root (`group/input-group`), read by the\n// control through `group-data-[size=…]` variants — no prop drilling. The one context read is\n// upward: a wrapper that owns the rung (ButtonsGroup) hands it to the field.\n\nconst inputGroupBaseClassName = cn(\n // `flex-1` (not `min-w-0`) lets the root fill a flex row while keeping its content-floor\n // so it never collapses to 0. `items-center` centres the control: it carries its own\n // h-form-* (2px taller than the root's content box), so stretch would push its text low\n // / overflow the bottom border, while centring overlaps the (transparent) borders cleanly.\n 'group/input-group relative flex w-full flex-1 items-center',\n // The wrapper owns its control's width — a bare control has no width of its own,\n // so the group is the one that decides the input fills the remaining space.\n '[&>[data-slot=input-group-control]]:min-w-0 [&>[data-slot=input-group-control]]:flex-1',\n 'text-foreground',\n 'has-[:disabled]:cursor-not-allowed has-[:disabled]:text-muted-foreground',\n // Height is on the root (border-box) so the group matches a same-size sibling control.\n // Auto height when vertical (block-* addon) or wrapping a textarea.\n 'has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col',\n 'has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col',\n 'has-[textarea]:h-auto',\n 'has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:pl-0',\n 'has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:pr-0',\n // In flex-col, flex-1 zeroes the control's height; force flex-none + w-full instead.\n 'has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:w-full has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:flex-none',\n 'has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:w-full has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:flex-none',\n);\n\nconst inputGroupRoundedTextareaClassName = cn(\n // Pill (rounded-full) only fits single-line inline shapes. Fall back to rounded-xl\n // whenever the group goes vertical (block-* addon) or wraps a textarea.\n 'has-[>[data-align=block-start]]:rounded-xl',\n 'has-[>[data-align=block-end]]:rounded-xl',\n 'has-[textarea]:rounded-xl',\n);\n\n// A group wears the field material — the same `bg-card` plus rim an Input wears — so a\n// group and a bare field beside it are one surface. Its states move the rim, and they\n// read the nested control's focus (`focus-within`) because the wrapper never takes focus\n// itself. There is no second look: a transparent `outline` group existed alongside this\n// one and only ever produced two boundary languages for the same control, which is why\n// four of its call sites had wrapped it in a hand-made `bg-card rounded-full` div to get\n// the material back.\n// eslint-disable-next-line react-refresh/only-export-components -- shared with InputNumber\nexport const inputGroupClassName = cn(\n inputGroupBaseClassName,\n 'rounded-full',\n inputSurfaceAndFocusWithinStyle,\n fieldErrorRimWithin,\n inputGroupRoundedTextareaClassName,\n);\n\nexport type InputGroupProps = React.ComponentProps<'div'> & {\n size?: ControlSize;\n};\n\nfunction InputGroup({ className, size, ...props }: InputGroupProps) {\n // A wrapper's rung wins over the field's own: inside a ButtonsGroup the group owns the\n // height of every segment, so a field that kept its own type scale would sit at one rung\n // and read at another.\n const groupSize = React.useContext(ControlSizeContext);\n const resolved = groupSize ?? size ?? 'md';\n return (\n <div\n role=\"group\"\n data-slot=\"input-group\"\n data-size={resolved}\n className={cn(\n inputGroupClassName,\n controlHeight[resolved],\n controlSpacing[resolved],\n controlIconState,\n 'has-[:disabled]:[--control-icon:var(--control-icon-rest)]',\n className,\n )}\n {...props}\n />\n );\n}\n\nconst inputGroupControlTextBySize = cn(\n 'group-data-[size=sm]/input-group:text-caption',\n 'group-data-[size=md]/input-group:text-body-sm',\n 'group-data-[size=lg]/input-group:text-body',\n);\n\n// An addon's icon takes the group's rung, as a Button's does (`iconSizeClasses`), unless it\n// sizes itself.\nconst inputGroupIconBySize = cn(\n \"group-data-[size=sm]/input-group:[&>svg:not([class*='size-'])]:size-icon-sm\",\n \"group-data-[size=md]/input-group:[&>svg:not([class*='size-'])]:size-icon-md\",\n \"group-data-[size=lg]/input-group:[&>svg:not([class*='size-'])]:size-icon-lg\",\n);\n\nconst inputGroupAddonVariants = cva(\n cn(\n 'flex items-center justify-center gap-2 text-muted-foreground select-none',\n inputGroupControlTextBySize,\n 'group-has-[:disabled]/input-group:text-muted-foreground',\n inputGroupIconBySize,\n ),\n {\n variants: {\n variant: {\n default: '',\n flush: '',\n },\n align: {\n 'inline-start': 'order-first pr-1 pl-3 has-[>button]:pl-1',\n 'inline-end': 'order-last pr-3 pl-1 has-[>button]:pr-1',\n 'block-start': 'order-first w-full justify-start border-b border-border px-3 pt-2 pb-1',\n 'block-end': 'order-last w-full justify-start border-t border-border px-3 pt-1 pb-2',\n },\n },\n compoundVariants: [\n { variant: 'flush', align: ['inline-start', 'inline-end'], className: 'gap-0 [&>button]:mx-0' },\n { variant: 'flush', align: 'inline-start', className: 'pl-0 has-[>button]:pl-0' },\n { variant: 'flush', align: 'inline-end', className: 'pr-0 has-[>button]:pr-0' },\n ],\n defaultVariants: {\n variant: 'default',\n align: 'inline-start',\n },\n },\n);\n\nexport type InputGroupAddonProps = React.ComponentProps<'div'> &\n Omit<VariantProps<typeof inputGroupAddonVariants>, 'variant'> & {\n /** `flush` joins inline buttons without a gap or an inset from the field's outside edge. */\n variant?: VariantProps<typeof inputGroupAddonVariants>['variant'];\n };\n\nfunction InputGroupAddon({\n className,\n align = 'inline-start',\n variant = 'default',\n onClick,\n ...props\n}: InputGroupAddonProps) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n data-variant={variant}\n className={cn(inputGroupAddonVariants({ align, variant }), className)}\n onClick={event => {\n // Click on non-interactive addon area focuses the control inside the group.\n // Skip when a button/input handled the click itself.\n const target = event.target as HTMLElement;\n if (!target.closest('button, input, textarea, [role=\"button\"]')) {\n event.currentTarget.parentElement\n ?.querySelector<HTMLInputElement | HTMLTextAreaElement>('[data-slot=input-group-control]')\n ?.focus();\n }\n onClick?.(event);\n }}\n {...props}\n />\n );\n}\n\n// Size flows from the parent group's `data-size` (no React context). All four sizes are\n// written out so Tailwind's scanner emits them. The control is sized to the root's\n// content box (token height minus the 1px border on each side) so it never overflows the\n// root — otherwise, in a flex-column parent, the root's content-based minimum would win\n// over its explicit height and the group would render 2px taller than a sibling control.\n// The explicit height also keeps the control from collapsing to the line-height in block\n// mode (flex-col + flex-none).\nconst inputGroupControlHeightBySize = cn(\n 'group-data-[size=sm]/input-group:h-[calc(var(--spacing-control-sm)-2px)]',\n 'group-data-[size=md]/input-group:h-[calc(var(--spacing-control-md)-2px)]',\n 'group-data-[size=lg]/input-group:h-[calc(var(--spacing-control-lg)-2px)]',\n);\n\n// eslint-disable-next-line react-refresh/only-export-components -- shared with InputNumber\nexport const inputGroupControlClassName = cn(\n 'min-w-0 flex-1 bg-transparent px-3 text-label text-foreground outline-hidden',\n inputGroupControlHeightBySize,\n 'placeholder:text-muted-foreground placeholder:transition-opacity placeholder:duration-normal',\n 'focus:placeholder:opacity-70',\n 'disabled:cursor-not-allowed',\n);\n\nexport type InputGroupInputProps = Omit<React.ComponentProps<'input'>, 'size'> & {\n testId?: string;\n /** @deprecated Wrap the group in `<Field invalid>`, or set `aria-invalid` on a control outside a `Field`. */\n error?: boolean;\n};\n\nfunction InputGroupInput({ className, testId, error, type = 'text', autoComplete, ...props }: InputGroupInputProps) {\n return (\n <InputPrimitive\n type={type}\n data-slot=\"input-group-control\"\n data-testid={testId}\n className={cn(\n inputGroupControlClassName,\n // WebKit and Firefox use different selectors for native number spinners.\n '[&::-webkit-outer-spin-button]:m-0 [&::-webkit-outer-spin-button]:appearance-none',\n '[&::-webkit-inner-spin-button]:m-0 [&::-webkit-inner-spin-button]:appearance-none',\n '[&[type=number]]:[appearance:textfield]',\n // type=\"search\": drop WebKit's native clear button so it doesn't double up with a\n // custom clear control (e.g. the scorers toolbar's InputGroupButton).\n '[&::-webkit-search-cancel-button]:appearance-none',\n className,\n )}\n {...deprecatedErrorAria(error)}\n {...props}\n {...textFieldAutofillProps(autoComplete)}\n {...keepOwnAccessibleName(props)}\n />\n );\n}\n\nexport type InputGroupTextareaProps = React.ComponentProps<'textarea'> & {\n testId?: string;\n /** @deprecated Wrap the group in `<Field invalid>`, or set `aria-invalid` on a control outside a `Field`. */\n error?: boolean;\n};\n\nfunction InputGroupTextarea({ className, testId, error, ...props }: InputGroupTextareaProps) {\n return (\n <TextareaControl\n data-slot=\"input-group-control\"\n data-testid={testId}\n className={cn(\n 'min-h-15 min-w-0 flex-1 resize-y bg-transparent px-3 py-2 text-foreground outline-hidden',\n inputGroupControlTextBySize,\n 'placeholder:text-muted-foreground placeholder:transition-opacity placeholder:duration-normal',\n 'focus:placeholder:opacity-70',\n 'disabled:cursor-not-allowed',\n className,\n )}\n {...deprecatedErrorAria(error)}\n {...props}\n />\n );\n}\n\nexport type InputGroupTextProps = React.ComponentProps<'span'>;\n\nfunction InputGroupText({ className, ...props }: InputGroupTextProps) {\n return (\n <span\n className={cn(\n 'flex items-center gap-2 text-caption text-muted-foreground [&_svg]:pointer-events-none',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport type InputGroupButtonProps = Omit<React.ComponentProps<typeof Button>, 'size' | 'variant'> & {\n size?: ButtonProps['size'];\n variant?: ButtonProps['variant'];\n};\n\nfunction InputGroupButton({ size = 'icon-sm', variant = 'ghost', type = 'button', ...props }: InputGroupButtonProps) {\n return <Button type={type} size={size} variant={variant} {...props} />;\n}\n\nexport { InputGroup, InputGroupAddon, InputGroupInput, InputGroupTextarea, InputGroupText, InputGroupButton };\n"],"mappings":";;;;;;;;;;;;;AAwBA,IAAM,0BAA0B,GAK9B,8DAGA,0FACA,mBACA,4EAGA,mFACA,+EACA,yBACA,6EACA,2EAEA,4JACA,sJACF;AAEA,IAAM,qCAAqC,GAGzC,8CACA,4CACA,2BACF;AAUA,IAAa,sBAAsB,GACjC,yBACA,gBACA,iCACA,qBACA,kCACF;AAMA,SAAS,WAAW,EAAE,WAAW,MAAM,GAAG,SAA0B;CAKlE,MAAM,WADYA,QAAM,WAAW,kBAClB,KAAa,QAAQ;CACtC,OACE,oBAAC,OAAD;EACE,MAAK;EACL,aAAU;EACV,aAAW;EACX,WAAW,GACT,qBACA,cAAc,WACd,eAAe,WACf,kBACA,6DACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,IAAM,8BAA8B,GAClC,iDACA,iDACA,4CACF;AAIA,IAAM,uBAAuB,GAC3B,+EACA,+EACA,6EACF;AAEA,IAAM,0BAA0B,IAC9B,GACE,4EACA,6BACA,2DACA,oBACF,GACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,OAAO;EACT;EACA,OAAO;GACL,gBAAgB;GAChB,cAAc;GACd,eAAe;GACf,aAAa;EACf;CACF;CACA,kBAAkB;EAChB;GAAE,SAAS;GAAS,OAAO,CAAC,gBAAgB,YAAY;GAAG,WAAW;EAAwB;EAC9F;GAAE,SAAS;GAAS,OAAO;GAAgB,WAAW;EAA0B;EAChF;GAAE,SAAS;GAAS,OAAO;GAAc,WAAW;EAA0B;CAChF;CACA,iBAAiB;EACf,SAAS;EACT,OAAO;CACT;AACF,CACF;AAQA,SAAS,gBAAgB,EACvB,WACA,QAAQ,gBACR,UAAU,WACV,SACA,GAAG,SACoB;CACvB,OACE,oBAAC,OAAD;EACE,MAAK;EACL,aAAU;EACV,cAAY;EACZ,gBAAc;EACd,WAAW,GAAG,wBAAwB;GAAE;GAAO;EAAQ,CAAC,GAAG,SAAS;EACpE,UAAS,UAAS;GAIhB,IAAI,CADW,MAAM,OACT,QAAQ,4CAA0C,GAC5D,MAAM,cAAc,eAChB,cAAsD,iCAAiC,CAAC,EACxF,MAAM;GAEZ,UAAU,KAAK;EACjB;EACA,GAAI;CACL,CAAA;AAEL;AASA,IAAM,gCAAgC,GACpC,4EACA,4EACA,0EACF;AAGA,IAAa,6BAA6B,GACxC,gFACA,+BACA,gGACA,gCACA,6BACF;AAQA,SAAS,gBAAgB,EAAE,WAAW,QAAQ,OAAO,OAAO,QAAQ,cAAc,GAAG,SAA+B;CAClH,OACE,oBAACC,OAAD;EACQ;EACN,aAAU;EACV,eAAa;EACb,WAAW,GACT,4BAEA,qFACA,qFACA,2CAGA,qDACA,SACF;EACA,GAAI,oBAAoB,KAAK;EAC7B,GAAI;EACJ,GAAI,uBAAuB,YAAY;EACvC,GAAI,sBAAsB,KAAK;CAChC,CAAA;AAEL;AAQA,SAAS,mBAAmB,EAAE,WAAW,QAAQ,OAAO,GAAG,SAAkC;CAC3F,OACE,oBAAC,iBAAD;EACE,aAAU;EACV,eAAa;EACb,WAAW,GACT,4FACA,6BACA,gGACA,gCACA,+BACA,SACF;EACA,GAAI,oBAAoB,KAAK;EAC7B,GAAI;CACL,CAAA;AAEL;AAIA,SAAS,eAAe,EAAE,WAAW,GAAG,SAA8B;CACpE,OACE,oBAAC,QAAD;EACE,WAAW,GACT,0FACA,wCACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAOA,SAAS,iBAAiB,EAAE,OAAO,WAAW,UAAU,SAAS,OAAO,UAAU,GAAG,SAAgC;CACnH,OAAO,oBAAC,QAAD;EAAc;EAAY;EAAe;EAAS,GAAI;CAAQ,CAAA;AACvE"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_tabbed_container = require("../tabbed-container-
|
|
2
|
+
const require_tabbed_container = require("../tabbed-container-DQU7pVio.cjs");
|
|
3
3
|
exports.TabbedContainer = require_tabbed_container.TabbedContainer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as TabbedContainer } from "../tabbed-container-
|
|
1
|
+
export { t as TabbedContainer } from "../tabbed-container-5j6dhoRX.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_Button = require("../../../Button-
|
|
2
|
+
const require_Button = require("../../../Button-DLcMcuUL.cjs");
|
|
3
3
|
const require_Txt = require("../../../Txt-BnoSqxKE.cjs");
|
|
4
4
|
const require_components_Collapsible = require("../../../components/Collapsible.cjs.js");
|
|
5
5
|
const require_components_DisclosureChevron = require("../../../components/DisclosureChevron.cjs.js");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as Button } from "../../../Button-
|
|
1
|
+
import { t as Button } from "../../../Button-CLXTbAY8.js";
|
|
2
2
|
import { t as Txt } from "../../../Txt-BM6TVV_c.js";
|
|
3
3
|
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "../../../components/Collapsible.es.js";
|
|
4
4
|
import { DisclosureChevron } from "../../../components/DisclosureChevron.es.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_Button = require("../../../Button-
|
|
2
|
+
const require_Button = require("../../../Button-DLcMcuUL.cjs");
|
|
3
3
|
const require_Txt = require("../../../Txt-BnoSqxKE.cjs");
|
|
4
4
|
const require_lib_form_field_context = require("../field-context.cjs.js");
|
|
5
5
|
let react = require("react");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as Button } from "../../../Button-
|
|
1
|
+
import { t as Button } from "../../../Button-CLXTbAY8.js";
|
|
2
2
|
import { t as Txt } from "../../../Txt-BM6TVV_c.js";
|
|
3
3
|
import { ArrayAddButtonContext, FormReadOnlyContext } from "../field-context.es.js";
|
|
4
4
|
import { Children, useContext, useRef } from "react";
|
|
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
2
2
|
const require_rolldown_runtime = require("../../../rolldown-runtime-CmQyd0Gu.cjs");
|
|
3
3
|
const require_utils = require("../../../utils-uDc1ofX1.cjs");
|
|
4
4
|
const require_primitives_form_element = require("../../../primitives/form-element.cjs.js");
|
|
5
|
-
const require_Button = require("../../../Button-
|
|
5
|
+
const require_Button = require("../../../Button-DLcMcuUL.cjs");
|
|
6
6
|
const require_field_control_aria = require("../../../field-control-aria-Dw0_ObOU.cjs");
|
|
7
7
|
const require_popover = require("../../../popover-BJqa6Hz6.cjs");
|
|
8
8
|
const require_components_DateTimePicker = require("../../../components/DateTimePicker.cjs.js");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as cn } from "../../../utils-DQx8TpNT.js";
|
|
2
2
|
import { fieldTriggerErrorBorder } from "../../../primitives/form-element.es.js";
|
|
3
|
-
import { t as Button } from "../../../Button-
|
|
3
|
+
import { t as Button } from "../../../Button-CLXTbAY8.js";
|
|
4
4
|
import { i as useFieldControlAria } from "../../../field-control-aria-BaRSUUMR.js";
|
|
5
5
|
import { i as PopoverTrigger, n as Popover, r as PopoverContent } from "../../../popover-CzHvTPk2.js";
|
|
6
6
|
import { DatePicker } from "../../../components/DateTimePicker.es.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_rolldown_runtime = require("../../../rolldown-runtime-CmQyd0Gu.cjs");
|
|
3
|
-
const require_Notice = require("../../../Notice-
|
|
3
|
+
const require_Notice = require("../../../Notice-JZ7SW7q6.cjs");
|
|
4
4
|
let react = require("react");
|
|
5
5
|
react = require_rolldown_runtime.__toESM(react, 1);
|
|
6
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_utils = require("../../../utils-uDc1ofX1.cjs");
|
|
3
3
|
const require_icons_Icon = require("../../../icons/Icon.cjs.js");
|
|
4
|
-
const require_Button = require("../../../Button-
|
|
4
|
+
const require_Button = require("../../../Button-DLcMcuUL.cjs");
|
|
5
5
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
6
|
let lucide_react = require("lucide-react");
|
|
7
7
|
// src/lib/form/components/form-submit-row.tsx
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as cn } from "../../../utils-DQx8TpNT.js";
|
|
2
2
|
import { Icon } from "../../../icons/Icon.es.js";
|
|
3
|
-
import { t as Button } from "../../../Button-
|
|
3
|
+
import { t as Button } from "../../../Button-CLXTbAY8.js";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { Loader2 } from "lucide-react";
|
|
6
6
|
// src/lib/form/components/form-submit-row.tsx
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_rolldown_runtime = require("../../../rolldown-runtime-CmQyd0Gu.cjs");
|
|
3
|
-
const require_Button = require("../../../Button-
|
|
3
|
+
const require_Button = require("../../../Button-DLcMcuUL.cjs");
|
|
4
4
|
const require_input = require("../../../input-2hRXcZIu.cjs");
|
|
5
5
|
let react = require("react");
|
|
6
6
|
react = require_rolldown_runtime.__toESM(react, 1);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_rolldown_runtime = require("../../../rolldown-runtime-CmQyd0Gu.cjs");
|
|
3
|
-
const require_select = require("../../../select-
|
|
3
|
+
const require_select = require("../../../select-Dg8L5ROX.cjs");
|
|
4
4
|
let react = require("react");
|
|
5
5
|
react = require_rolldown_runtime.__toESM(react, 1);
|
|
6
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as SelectItem, n as SelectContent, o as SelectTrigger, s as SelectValue, t as Select } from "../../../select-
|
|
1
|
+
import { i as SelectItem, n as SelectContent, o as SelectTrigger, s as SelectValue, t as Select } from "../../../select-BdIZEdcy.js";
|
|
2
2
|
import "react";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
// src/lib/form/components/select-field.tsx
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_rolldown_runtime = require("../../../rolldown-runtime-CmQyd0Gu.cjs");
|
|
3
|
-
const require_Button = require("../../../Button-
|
|
3
|
+
const require_Button = require("../../../Button-DLcMcuUL.cjs");
|
|
4
4
|
let react = require("react");
|
|
5
5
|
react = require_rolldown_runtime.__toESM(react, 1);
|
|
6
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_lib_form_zod_provider_compat = require("./zod-provider/compat.cjs.js");
|
|
2
3
|
const require_lib_form_components_form_submit_row = require("./components/form-submit-row.cjs.js");
|
|
3
4
|
require("./field-context.cjs.js");
|
|
4
5
|
const require_lib_form_auto_form = require("./auto-form.cjs.js");
|
|
5
|
-
const require_lib_form_zod_provider_compat = require("./zod-provider/compat.cjs.js");
|
|
6
6
|
const require_lib_form_is_empty_zod_object = require("./is-empty-zod-object.cjs.js");
|
|
7
7
|
const require_lib_form_zod_provider = require("./zod-provider.cjs.js");
|
|
8
8
|
let react = require("react");
|
|
@@ -15,7 +15,7 @@ function getFormInput(values, isWrapped) {
|
|
|
15
15
|
function normalizeSchema(schema, isWrapped) {
|
|
16
16
|
if (require_lib_form_is_empty_zod_object.isEmptyZodObject(schema)) return zod.z.object({});
|
|
17
17
|
if (!isWrapped) return schema;
|
|
18
|
-
return zod.z.object({ [""]: schema.description ? schema : schema.describe("Input") });
|
|
18
|
+
return zod.z.object({ [""]: require_lib_form_zod_provider_compat.asObjectProperty(schema.description ? schema : schema.describe("Input")) });
|
|
19
19
|
}
|
|
20
20
|
var SubmitRowContext = (0, react.createContext)(null);
|
|
21
21
|
var SubmitButton = ({ children }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-form.cjs.js","names":["isEmptyZodObject","z","createContext","useContext","FormSubmitRow","getShape","useRef","useCallback","useMemo","CustomZodProvider","AutoForm"],"sources":["../../../src/lib/form/dynamic-form.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { createContext, useContext, useEffect, useLayoutEffect, useRef, useCallback, useMemo } from 'react';\nimport type { UseFormReturn } from 'react-hook-form';\nimport { z } from 'zod';\nimport { AutoForm } from './auto-form';\nimport { FormSubmitRow } from './components/form-submit-row';\nimport type { FormSubmitRowProps } from './components/form-submit-row';\nimport { ROOT_FIELD_KEY } from './field-context';\nimport { isEmptyZodObject } from './is-empty-zod-object';\nimport { CustomZodProvider } from './zod-provider';\nimport { getShape } from './zod-provider/compat';\nimport type { ButtonProps } from '@/ds/components/Button';\n\ninterface DynamicFormProps {\n schema: any;\n onSubmit?: (values: any) => void | Promise<void>;\n onValuesChange?: (values: any) => void;\n defaultValues?: any;\n isSubmitLoading?: boolean;\n submitButtonLabel?: string;\n submitButtonIcon?: ReactNode;\n submitButtonVariant?: ButtonProps['variant'];\n submitButtonFullWidth?: boolean;\n className?: string;\n readOnly?: boolean;\n children?: React.ReactNode;\n submitActions?: React.ReactNode;\n leftActions?: React.ReactNode;\n}\n\nfunction getFormInput(values: Record<string, unknown>, isWrapped: boolean) {\n return isWrapped ? values[ROOT_FIELD_KEY] : values;\n}\n\nfunction normalizeSchema(schema: z.ZodType, isWrapped: boolean) {\n if (isEmptyZodObject(schema)) return z.object({});\n if (!isWrapped) return schema;\n return z.object({ [ROOT_FIELD_KEY]: schema.description ? schema : schema.describe('Input') });\n}\n\nconst SubmitRowContext = createContext<FormSubmitRowProps | null>(null);\n\n// Defined once, outside any hook: AutoForm renders `uiComponents.SubmitButton` as a component\n// type, so recreating it per render would unmount and remount everything in `submitActions`.\nconst SubmitButton = ({ children }: { children: ReactNode }) => {\n const rowProps = useContext(SubmitRowContext);\n return rowProps ? <FormSubmitRow {...rowProps}>{children}</FormSubmitRow> : null;\n};\n\nconst uiComponents = { SubmitButton };\n\nexport function DynamicForm({\n schema,\n onSubmit,\n onValuesChange,\n defaultValues,\n isSubmitLoading,\n submitButtonLabel,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n className,\n readOnly,\n children,\n submitActions,\n leftActions,\n}: DynamicFormProps) {\n const isWrapped = getShape(schema) === undefined;\n const subscriptionRef = useRef<{ unsubscribe: () => void } | null>(null);\n const onValuesChangeRef = useRef(onValuesChange);\n useLayoutEffect(() => {\n onValuesChangeRef.current = onValuesChange;\n }, [onValuesChange]);\n\n useEffect(() => () => subscriptionRef.current?.unsubscribe(), []);\n\n const hasValuesListener = Boolean(onValuesChange);\n\n const handleFormInit = useCallback(\n (form: UseFormReturn<any>) => {\n subscriptionRef.current?.unsubscribe();\n subscriptionRef.current = null;\n\n if (!hasValuesListener) return;\n\n subscriptionRef.current = form.watch(values => onValuesChangeRef.current?.(getFormInput(values, isWrapped)));\n onValuesChangeRef.current?.(getFormInput(form.getValues(), isWrapped));\n },\n [hasValuesListener, isWrapped],\n );\n\n const schemaProvider = useMemo(\n () => (schema ? new CustomZodProvider(normalizeSchema(schema, isWrapped)) : null),\n [schema, isWrapped],\n );\n\n const submitRow = useMemo<FormSubmitRowProps | null>(\n () =>\n onSubmit\n ? {\n isSubmitLoading,\n submitButtonLabel,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n submitActions,\n leftActions,\n }\n : null,\n [\n onSubmit,\n isSubmitLoading,\n submitButtonLabel,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n submitActions,\n leftActions,\n ],\n );\n\n const normalizedDefaultValues = useMemo(\n () => (isWrapped ? (defaultValues === undefined ? undefined : { [ROOT_FIELD_KEY]: defaultValues }) : defaultValues),\n [isWrapped, defaultValues],\n );\n\n const handleSubmit = useCallback(\n async (values: any) => {\n await onSubmit?.(getFormInput(values, isWrapped));\n },\n [onSubmit, isWrapped],\n );\n\n if (!schemaProvider) {\n console.error('no form schema found');\n return null;\n }\n\n return (\n <SubmitRowContext.Provider value={submitRow}>\n <AutoForm\n schema={schemaProvider}\n onSubmit={handleSubmit}\n onFormInit={handleFormInit}\n defaultValues={normalizedDefaultValues}\n formProps={{ className, noValidate: true }}\n uiComponents={uiComponents}\n withSubmit\n readOnly={readOnly}\n >\n {children}\n </AutoForm>\n </SubmitRowContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;AA8BA,SAAS,aAAa,QAAiC,WAAoB;CACzE,OAAO,YAAY,OAAA,OAAyB;AAC9C;AAEA,SAAS,gBAAgB,QAAmB,WAAoB;CAC9D,IAAIA,qCAAAA,iBAAiB,MAAM,GAAG,OAAOC,IAAAA,EAAE,OAAO,CAAC,CAAC;CAChD,IAAI,CAAC,WAAW,OAAO;CACvB,OAAOA,IAAAA,EAAE,OAAO,GAAA,
|
|
1
|
+
{"version":3,"file":"dynamic-form.cjs.js","names":["isEmptyZodObject","z","asObjectProperty","createContext","useContext","FormSubmitRow","getShape","useRef","useCallback","useMemo","CustomZodProvider","AutoForm"],"sources":["../../../src/lib/form/dynamic-form.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { createContext, useContext, useEffect, useLayoutEffect, useRef, useCallback, useMemo } from 'react';\nimport type { UseFormReturn } from 'react-hook-form';\nimport { z } from 'zod';\nimport { AutoForm } from './auto-form';\nimport { FormSubmitRow } from './components/form-submit-row';\nimport type { FormSubmitRowProps } from './components/form-submit-row';\nimport { ROOT_FIELD_KEY } from './field-context';\nimport { isEmptyZodObject } from './is-empty-zod-object';\nimport { CustomZodProvider } from './zod-provider';\nimport { asObjectProperty, getShape } from './zod-provider/compat';\nimport type { ButtonProps } from '@/ds/components/Button';\n\ninterface DynamicFormProps {\n schema: any;\n onSubmit?: (values: any) => void | Promise<void>;\n onValuesChange?: (values: any) => void;\n defaultValues?: any;\n isSubmitLoading?: boolean;\n submitButtonLabel?: string;\n submitButtonIcon?: ReactNode;\n submitButtonVariant?: ButtonProps['variant'];\n submitButtonFullWidth?: boolean;\n className?: string;\n readOnly?: boolean;\n children?: React.ReactNode;\n submitActions?: React.ReactNode;\n leftActions?: React.ReactNode;\n}\n\nfunction getFormInput(values: Record<string, unknown>, isWrapped: boolean) {\n return isWrapped ? values[ROOT_FIELD_KEY] : values;\n}\n\nfunction normalizeSchema(schema: z.ZodType, isWrapped: boolean) {\n if (isEmptyZodObject(schema)) return z.object({});\n if (!isWrapped) return schema;\n return z.object({ [ROOT_FIELD_KEY]: asObjectProperty(schema.description ? schema : schema.describe('Input')) });\n}\n\nconst SubmitRowContext = createContext<FormSubmitRowProps | null>(null);\n\n// Defined once, outside any hook: AutoForm renders `uiComponents.SubmitButton` as a component\n// type, so recreating it per render would unmount and remount everything in `submitActions`.\nconst SubmitButton = ({ children }: { children: ReactNode }) => {\n const rowProps = useContext(SubmitRowContext);\n return rowProps ? <FormSubmitRow {...rowProps}>{children}</FormSubmitRow> : null;\n};\n\nconst uiComponents = { SubmitButton };\n\nexport function DynamicForm({\n schema,\n onSubmit,\n onValuesChange,\n defaultValues,\n isSubmitLoading,\n submitButtonLabel,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n className,\n readOnly,\n children,\n submitActions,\n leftActions,\n}: DynamicFormProps) {\n const isWrapped = getShape(schema) === undefined;\n const subscriptionRef = useRef<{ unsubscribe: () => void } | null>(null);\n const onValuesChangeRef = useRef(onValuesChange);\n useLayoutEffect(() => {\n onValuesChangeRef.current = onValuesChange;\n }, [onValuesChange]);\n\n useEffect(() => () => subscriptionRef.current?.unsubscribe(), []);\n\n const hasValuesListener = Boolean(onValuesChange);\n\n const handleFormInit = useCallback(\n (form: UseFormReturn<any>) => {\n subscriptionRef.current?.unsubscribe();\n subscriptionRef.current = null;\n\n if (!hasValuesListener) return;\n\n subscriptionRef.current = form.watch(values => onValuesChangeRef.current?.(getFormInput(values, isWrapped)));\n onValuesChangeRef.current?.(getFormInput(form.getValues(), isWrapped));\n },\n [hasValuesListener, isWrapped],\n );\n\n const schemaProvider = useMemo(\n () => (schema ? new CustomZodProvider(normalizeSchema(schema, isWrapped)) : null),\n [schema, isWrapped],\n );\n\n const submitRow = useMemo<FormSubmitRowProps | null>(\n () =>\n onSubmit\n ? {\n isSubmitLoading,\n submitButtonLabel,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n submitActions,\n leftActions,\n }\n : null,\n [\n onSubmit,\n isSubmitLoading,\n submitButtonLabel,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n submitActions,\n leftActions,\n ],\n );\n\n const normalizedDefaultValues = useMemo(\n () => (isWrapped ? (defaultValues === undefined ? undefined : { [ROOT_FIELD_KEY]: defaultValues }) : defaultValues),\n [isWrapped, defaultValues],\n );\n\n const handleSubmit = useCallback(\n async (values: any) => {\n await onSubmit?.(getFormInput(values, isWrapped));\n },\n [onSubmit, isWrapped],\n );\n\n if (!schemaProvider) {\n console.error('no form schema found');\n return null;\n }\n\n return (\n <SubmitRowContext.Provider value={submitRow}>\n <AutoForm\n schema={schemaProvider}\n onSubmit={handleSubmit}\n onFormInit={handleFormInit}\n defaultValues={normalizedDefaultValues}\n formProps={{ className, noValidate: true }}\n uiComponents={uiComponents}\n withSubmit\n readOnly={readOnly}\n >\n {children}\n </AutoForm>\n </SubmitRowContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;AA8BA,SAAS,aAAa,QAAiC,WAAoB;CACzE,OAAO,YAAY,OAAA,OAAyB;AAC9C;AAEA,SAAS,gBAAgB,QAAmB,WAAoB;CAC9D,IAAIA,qCAAAA,iBAAiB,MAAM,GAAG,OAAOC,IAAAA,EAAE,OAAO,CAAC,CAAC;CAChD,IAAI,CAAC,WAAW,OAAO;CACvB,OAAOA,IAAAA,EAAE,OAAO,GAAA,MAAoBC,qCAAAA,iBAAiB,OAAO,cAAc,SAAS,OAAO,SAAS,OAAO,CAAC,EAAE,CAAC;AAChH;AAEA,IAAM,oBAAA,GAAmBC,MAAAA,cAAAA,CAAyC,IAAI;AAItE,IAAM,gBAAgB,EAAE,eAAwC;CAC9D,MAAM,YAAA,GAAWC,MAAAA,WAAAA,CAAW,gBAAgB;CAC5C,OAAO,WAAW,iBAAA,GAAA,kBAAA,IAAA,CAACC,4CAAAA,eAAD;EAAe,GAAI;EAAW;CAAwB,CAAA,IAAI;AAC9E;AAEA,IAAM,eAAe,EAAE,aAAa;AAEpC,SAAgB,YAAY,EAC1B,QACA,UACA,gBACA,eACA,iBACA,mBACA,kBACA,qBACA,uBACA,WACA,UACA,UACA,eACA,eACmB;CACnB,MAAM,YAAYC,qCAAAA,SAAS,MAAM,MAAM,KAAA;CACvC,MAAM,mBAAA,GAAkBC,MAAAA,OAAAA,CAA2C,IAAI;CACvE,MAAM,qBAAA,GAAoBA,MAAAA,OAAAA,CAAO,cAAc;CAC/C,CAAA,GAAA,MAAA,gBAAA,OAAsB;EACpB,kBAAkB,UAAU;CAC9B,GAAG,CAAC,cAAc,CAAC;CAEnB,CAAA,GAAA,MAAA,UAAA,aAAsB,gBAAgB,SAAS,YAAY,GAAG,CAAC,CAAC;CAEhE,MAAM,oBAAoB,QAAQ,cAAc;CAEhD,MAAM,kBAAA,GAAiBC,MAAAA,YAAAA,EACpB,SAA6B;EAC5B,gBAAgB,SAAS,YAAY;EACrC,gBAAgB,UAAU;EAE1B,IAAI,CAAC,mBAAmB;EAExB,gBAAgB,UAAU,KAAK,OAAM,WAAU,kBAAkB,UAAU,aAAa,QAAQ,SAAS,CAAC,CAAC;EAC3G,kBAAkB,UAAU,aAAa,KAAK,UAAU,GAAG,SAAS,CAAC;CACvE,GACA,CAAC,mBAAmB,SAAS,CAC/B;CAEA,MAAM,kBAAA,GAAiBC,MAAAA,QAAAA,OACd,SAAS,IAAIC,8BAAAA,kBAAkB,gBAAgB,QAAQ,SAAS,CAAC,IAAI,MAC5E,CAAC,QAAQ,SAAS,CACpB;CAEA,MAAM,aAAA,GAAYD,MAAAA,QAAAA,OAEd,WACI;EACE;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA,MACN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CAEA,MAAM,2BAAA,GAA0BA,MAAAA,QAAAA,OACvB,YAAa,kBAAkB,KAAA,IAAY,KAAA,IAAY,GAAA,MAAoB,cAAc,IAAK,eACrG,CAAC,WAAW,aAAa,CAC3B;CAEA,MAAM,gBAAA,GAAeD,MAAAA,YAAAA,CACnB,OAAO,WAAgB;EACrB,MAAM,WAAW,aAAa,QAAQ,SAAS,CAAC;CAClD,GACA,CAAC,UAAU,SAAS,CACtB;CAEA,IAAI,CAAC,gBAAgB;EACnB,QAAQ,MAAM,sBAAsB;EACpC,OAAO;CACT;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,iBAAiB,UAAlB;EAA2B,OAAO;EAChC,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACG,2BAAAA,UAAD;GACE,QAAQ;GACR,UAAU;GACV,YAAY;GACZ,eAAe;GACf,WAAW;IAAE;IAAW,YAAY;GAAK;GAC3B;GACd,YAAA;GACU;GAET;EACO,CAAA;CACe,CAAA;AAE/B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { asObjectProperty, getShape } from "./zod-provider/compat.es.js";
|
|
1
2
|
import { FormSubmitRow } from "./components/form-submit-row.es.js";
|
|
2
3
|
import "./field-context.es.js";
|
|
3
4
|
import { AutoForm } from "./auto-form.es.js";
|
|
4
|
-
import { getShape } from "./zod-provider/compat.es.js";
|
|
5
5
|
import { isEmptyZodObject } from "./is-empty-zod-object.es.js";
|
|
6
6
|
import { CustomZodProvider } from "./zod-provider.es.js";
|
|
7
7
|
import { createContext, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef } from "react";
|
|
@@ -14,7 +14,7 @@ function getFormInput(values, isWrapped) {
|
|
|
14
14
|
function normalizeSchema(schema, isWrapped) {
|
|
15
15
|
if (isEmptyZodObject(schema)) return z.object({});
|
|
16
16
|
if (!isWrapped) return schema;
|
|
17
|
-
return z.object({ [""]: schema.description ? schema : schema.describe("Input") });
|
|
17
|
+
return z.object({ [""]: asObjectProperty(schema.description ? schema : schema.describe("Input")) });
|
|
18
18
|
}
|
|
19
19
|
var SubmitRowContext = createContext(null);
|
|
20
20
|
var SubmitButton = ({ children }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-form.es.js","names":[],"sources":["../../../src/lib/form/dynamic-form.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { createContext, useContext, useEffect, useLayoutEffect, useRef, useCallback, useMemo } from 'react';\nimport type { UseFormReturn } from 'react-hook-form';\nimport { z } from 'zod';\nimport { AutoForm } from './auto-form';\nimport { FormSubmitRow } from './components/form-submit-row';\nimport type { FormSubmitRowProps } from './components/form-submit-row';\nimport { ROOT_FIELD_KEY } from './field-context';\nimport { isEmptyZodObject } from './is-empty-zod-object';\nimport { CustomZodProvider } from './zod-provider';\nimport { getShape } from './zod-provider/compat';\nimport type { ButtonProps } from '@/ds/components/Button';\n\ninterface DynamicFormProps {\n schema: any;\n onSubmit?: (values: any) => void | Promise<void>;\n onValuesChange?: (values: any) => void;\n defaultValues?: any;\n isSubmitLoading?: boolean;\n submitButtonLabel?: string;\n submitButtonIcon?: ReactNode;\n submitButtonVariant?: ButtonProps['variant'];\n submitButtonFullWidth?: boolean;\n className?: string;\n readOnly?: boolean;\n children?: React.ReactNode;\n submitActions?: React.ReactNode;\n leftActions?: React.ReactNode;\n}\n\nfunction getFormInput(values: Record<string, unknown>, isWrapped: boolean) {\n return isWrapped ? values[ROOT_FIELD_KEY] : values;\n}\n\nfunction normalizeSchema(schema: z.ZodType, isWrapped: boolean) {\n if (isEmptyZodObject(schema)) return z.object({});\n if (!isWrapped) return schema;\n return z.object({ [ROOT_FIELD_KEY]: schema.description ? schema : schema.describe('Input') });\n}\n\nconst SubmitRowContext = createContext<FormSubmitRowProps | null>(null);\n\n// Defined once, outside any hook: AutoForm renders `uiComponents.SubmitButton` as a component\n// type, so recreating it per render would unmount and remount everything in `submitActions`.\nconst SubmitButton = ({ children }: { children: ReactNode }) => {\n const rowProps = useContext(SubmitRowContext);\n return rowProps ? <FormSubmitRow {...rowProps}>{children}</FormSubmitRow> : null;\n};\n\nconst uiComponents = { SubmitButton };\n\nexport function DynamicForm({\n schema,\n onSubmit,\n onValuesChange,\n defaultValues,\n isSubmitLoading,\n submitButtonLabel,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n className,\n readOnly,\n children,\n submitActions,\n leftActions,\n}: DynamicFormProps) {\n const isWrapped = getShape(schema) === undefined;\n const subscriptionRef = useRef<{ unsubscribe: () => void } | null>(null);\n const onValuesChangeRef = useRef(onValuesChange);\n useLayoutEffect(() => {\n onValuesChangeRef.current = onValuesChange;\n }, [onValuesChange]);\n\n useEffect(() => () => subscriptionRef.current?.unsubscribe(), []);\n\n const hasValuesListener = Boolean(onValuesChange);\n\n const handleFormInit = useCallback(\n (form: UseFormReturn<any>) => {\n subscriptionRef.current?.unsubscribe();\n subscriptionRef.current = null;\n\n if (!hasValuesListener) return;\n\n subscriptionRef.current = form.watch(values => onValuesChangeRef.current?.(getFormInput(values, isWrapped)));\n onValuesChangeRef.current?.(getFormInput(form.getValues(), isWrapped));\n },\n [hasValuesListener, isWrapped],\n );\n\n const schemaProvider = useMemo(\n () => (schema ? new CustomZodProvider(normalizeSchema(schema, isWrapped)) : null),\n [schema, isWrapped],\n );\n\n const submitRow = useMemo<FormSubmitRowProps | null>(\n () =>\n onSubmit\n ? {\n isSubmitLoading,\n submitButtonLabel,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n submitActions,\n leftActions,\n }\n : null,\n [\n onSubmit,\n isSubmitLoading,\n submitButtonLabel,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n submitActions,\n leftActions,\n ],\n );\n\n const normalizedDefaultValues = useMemo(\n () => (isWrapped ? (defaultValues === undefined ? undefined : { [ROOT_FIELD_KEY]: defaultValues }) : defaultValues),\n [isWrapped, defaultValues],\n );\n\n const handleSubmit = useCallback(\n async (values: any) => {\n await onSubmit?.(getFormInput(values, isWrapped));\n },\n [onSubmit, isWrapped],\n );\n\n if (!schemaProvider) {\n console.error('no form schema found');\n return null;\n }\n\n return (\n <SubmitRowContext.Provider value={submitRow}>\n <AutoForm\n schema={schemaProvider}\n onSubmit={handleSubmit}\n onFormInit={handleFormInit}\n defaultValues={normalizedDefaultValues}\n formProps={{ className, noValidate: true }}\n uiComponents={uiComponents}\n withSubmit\n readOnly={readOnly}\n >\n {children}\n </AutoForm>\n </SubmitRowContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;AA8BA,SAAS,aAAa,QAAiC,WAAoB;CACzE,OAAO,YAAY,OAAA,OAAyB;AAC9C;AAEA,SAAS,gBAAgB,QAAmB,WAAoB;CAC9D,IAAI,iBAAiB,MAAM,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC;CAChD,IAAI,CAAC,WAAW,OAAO;CACvB,OAAO,EAAE,OAAO,GAAA,MAAoB,OAAO,cAAc,SAAS,OAAO,SAAS,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"dynamic-form.es.js","names":[],"sources":["../../../src/lib/form/dynamic-form.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { createContext, useContext, useEffect, useLayoutEffect, useRef, useCallback, useMemo } from 'react';\nimport type { UseFormReturn } from 'react-hook-form';\nimport { z } from 'zod';\nimport { AutoForm } from './auto-form';\nimport { FormSubmitRow } from './components/form-submit-row';\nimport type { FormSubmitRowProps } from './components/form-submit-row';\nimport { ROOT_FIELD_KEY } from './field-context';\nimport { isEmptyZodObject } from './is-empty-zod-object';\nimport { CustomZodProvider } from './zod-provider';\nimport { asObjectProperty, getShape } from './zod-provider/compat';\nimport type { ButtonProps } from '@/ds/components/Button';\n\ninterface DynamicFormProps {\n schema: any;\n onSubmit?: (values: any) => void | Promise<void>;\n onValuesChange?: (values: any) => void;\n defaultValues?: any;\n isSubmitLoading?: boolean;\n submitButtonLabel?: string;\n submitButtonIcon?: ReactNode;\n submitButtonVariant?: ButtonProps['variant'];\n submitButtonFullWidth?: boolean;\n className?: string;\n readOnly?: boolean;\n children?: React.ReactNode;\n submitActions?: React.ReactNode;\n leftActions?: React.ReactNode;\n}\n\nfunction getFormInput(values: Record<string, unknown>, isWrapped: boolean) {\n return isWrapped ? values[ROOT_FIELD_KEY] : values;\n}\n\nfunction normalizeSchema(schema: z.ZodType, isWrapped: boolean) {\n if (isEmptyZodObject(schema)) return z.object({});\n if (!isWrapped) return schema;\n return z.object({ [ROOT_FIELD_KEY]: asObjectProperty(schema.description ? schema : schema.describe('Input')) });\n}\n\nconst SubmitRowContext = createContext<FormSubmitRowProps | null>(null);\n\n// Defined once, outside any hook: AutoForm renders `uiComponents.SubmitButton` as a component\n// type, so recreating it per render would unmount and remount everything in `submitActions`.\nconst SubmitButton = ({ children }: { children: ReactNode }) => {\n const rowProps = useContext(SubmitRowContext);\n return rowProps ? <FormSubmitRow {...rowProps}>{children}</FormSubmitRow> : null;\n};\n\nconst uiComponents = { SubmitButton };\n\nexport function DynamicForm({\n schema,\n onSubmit,\n onValuesChange,\n defaultValues,\n isSubmitLoading,\n submitButtonLabel,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n className,\n readOnly,\n children,\n submitActions,\n leftActions,\n}: DynamicFormProps) {\n const isWrapped = getShape(schema) === undefined;\n const subscriptionRef = useRef<{ unsubscribe: () => void } | null>(null);\n const onValuesChangeRef = useRef(onValuesChange);\n useLayoutEffect(() => {\n onValuesChangeRef.current = onValuesChange;\n }, [onValuesChange]);\n\n useEffect(() => () => subscriptionRef.current?.unsubscribe(), []);\n\n const hasValuesListener = Boolean(onValuesChange);\n\n const handleFormInit = useCallback(\n (form: UseFormReturn<any>) => {\n subscriptionRef.current?.unsubscribe();\n subscriptionRef.current = null;\n\n if (!hasValuesListener) return;\n\n subscriptionRef.current = form.watch(values => onValuesChangeRef.current?.(getFormInput(values, isWrapped)));\n onValuesChangeRef.current?.(getFormInput(form.getValues(), isWrapped));\n },\n [hasValuesListener, isWrapped],\n );\n\n const schemaProvider = useMemo(\n () => (schema ? new CustomZodProvider(normalizeSchema(schema, isWrapped)) : null),\n [schema, isWrapped],\n );\n\n const submitRow = useMemo<FormSubmitRowProps | null>(\n () =>\n onSubmit\n ? {\n isSubmitLoading,\n submitButtonLabel,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n submitActions,\n leftActions,\n }\n : null,\n [\n onSubmit,\n isSubmitLoading,\n submitButtonLabel,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n submitActions,\n leftActions,\n ],\n );\n\n const normalizedDefaultValues = useMemo(\n () => (isWrapped ? (defaultValues === undefined ? undefined : { [ROOT_FIELD_KEY]: defaultValues }) : defaultValues),\n [isWrapped, defaultValues],\n );\n\n const handleSubmit = useCallback(\n async (values: any) => {\n await onSubmit?.(getFormInput(values, isWrapped));\n },\n [onSubmit, isWrapped],\n );\n\n if (!schemaProvider) {\n console.error('no form schema found');\n return null;\n }\n\n return (\n <SubmitRowContext.Provider value={submitRow}>\n <AutoForm\n schema={schemaProvider}\n onSubmit={handleSubmit}\n onFormInit={handleFormInit}\n defaultValues={normalizedDefaultValues}\n formProps={{ className, noValidate: true }}\n uiComponents={uiComponents}\n withSubmit\n readOnly={readOnly}\n >\n {children}\n </AutoForm>\n </SubmitRowContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;AA8BA,SAAS,aAAa,QAAiC,WAAoB;CACzE,OAAO,YAAY,OAAA,OAAyB;AAC9C;AAEA,SAAS,gBAAgB,QAAmB,WAAoB;CAC9D,IAAI,iBAAiB,MAAM,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC;CAChD,IAAI,CAAC,WAAW,OAAO;CACvB,OAAO,EAAE,OAAO,GAAA,MAAoB,iBAAiB,OAAO,cAAc,SAAS,OAAO,SAAS,OAAO,CAAC,EAAE,CAAC;AAChH;AAEA,IAAM,mBAAmB,cAAyC,IAAI;AAItE,IAAM,gBAAgB,EAAE,eAAwC;CAC9D,MAAM,WAAW,WAAW,gBAAgB;CAC5C,OAAO,WAAW,oBAAC,eAAD;EAAe,GAAI;EAAW;CAAwB,CAAA,IAAI;AAC9E;AAEA,IAAM,eAAe,EAAE,aAAa;AAEpC,SAAgB,YAAY,EAC1B,QACA,UACA,gBACA,eACA,iBACA,mBACA,kBACA,qBACA,uBACA,WACA,UACA,UACA,eACA,eACmB;CACnB,MAAM,YAAY,SAAS,MAAM,MAAM,KAAA;CACvC,MAAM,kBAAkB,OAA2C,IAAI;CACvE,MAAM,oBAAoB,OAAO,cAAc;CAC/C,sBAAsB;EACpB,kBAAkB,UAAU;CAC9B,GAAG,CAAC,cAAc,CAAC;CAEnB,sBAAsB,gBAAgB,SAAS,YAAY,GAAG,CAAC,CAAC;CAEhE,MAAM,oBAAoB,QAAQ,cAAc;CAEhD,MAAM,iBAAiB,aACpB,SAA6B;EAC5B,gBAAgB,SAAS,YAAY;EACrC,gBAAgB,UAAU;EAE1B,IAAI,CAAC,mBAAmB;EAExB,gBAAgB,UAAU,KAAK,OAAM,WAAU,kBAAkB,UAAU,aAAa,QAAQ,SAAS,CAAC,CAAC;EAC3G,kBAAkB,UAAU,aAAa,KAAK,UAAU,GAAG,SAAS,CAAC;CACvE,GACA,CAAC,mBAAmB,SAAS,CAC/B;CAEA,MAAM,iBAAiB,cACd,SAAS,IAAI,kBAAkB,gBAAgB,QAAQ,SAAS,CAAC,IAAI,MAC5E,CAAC,QAAQ,SAAS,CACpB;CAEA,MAAM,YAAY,cAEd,WACI;EACE;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA,MACN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CAEA,MAAM,0BAA0B,cACvB,YAAa,kBAAkB,KAAA,IAAY,KAAA,IAAY,GAAA,MAAoB,cAAc,IAAK,eACrG,CAAC,WAAW,aAAa,CAC3B;CAEA,MAAM,eAAe,YACnB,OAAO,WAAgB;EACrB,MAAM,WAAW,aAAa,QAAQ,SAAS,CAAC;CAClD,GACA,CAAC,UAAU,SAAS,CACtB;CAEA,IAAI,CAAC,gBAAgB;EACnB,QAAQ,MAAM,sBAAsB;EACpC,OAAO;CACT;CAEA,OACE,oBAAC,iBAAiB,UAAlB;EAA2B,OAAO;EAChC,UAAA,oBAAC,UAAD;GACE,QAAQ;GACR,UAAU;GACV,YAAY;GACZ,eAAe;GACf,WAAW;IAAE;IAAW,YAAY;GAAK;GAC3B;GACd,YAAA;GACU;GAET;EACO,CAAA;CACe,CAAA;AAE/B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_lib_form_utils = require("./utils.cjs.js");
|
|
3
2
|
const require_lib_form_zod_provider_compat = require("./zod-provider/compat.cjs.js");
|
|
3
|
+
const require_lib_form_utils = require("./utils.cjs.js");
|
|
4
4
|
const require_lib_form_zod_provider_field_type_inference = require("./zod-provider/field-type-inference.cjs.js");
|
|
5
5
|
// src/lib/form/json-draft.ts
|
|
6
6
|
/** Parses the text of a JSON view, with an error ready to show under the editor. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { isPlainObject } from "./utils.es.js";
|
|
2
1
|
import { getBaseSchema } from "./zod-provider/compat.es.js";
|
|
2
|
+
import { isPlainObject } from "./utils.es.js";
|
|
3
3
|
import { inferFieldType } from "./zod-provider/field-type-inference.es.js";
|
|
4
4
|
// src/lib/form/json-draft.ts
|
|
5
5
|
/** Parses the text of a JSON view, with an error ready to show under the editor. */
|
|
@@ -22,6 +22,13 @@ function isOptional(schema) {
|
|
|
22
22
|
return false;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
|
+
* Use `schema` as an object property that may be left out whenever the schema accepts `undefined`.
|
|
26
|
+
* zod v3 did this implicitly; zod v4 still requires the key for schemas like `z.any()`.
|
|
27
|
+
*/
|
|
28
|
+
function asObjectProperty(schema) {
|
|
29
|
+
return isOptional(schema) ? schema.optional() : schema;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
25
32
|
* Get the shape of an object schema (works for both v3 and v4).
|
|
26
33
|
* v3: schema.shape (getter) or schema._def.shape()
|
|
27
34
|
* v4: schema.shape (getter) or schema._zod.def.shape
|
|
@@ -172,6 +179,7 @@ function isIntersectionSchema(schema) {
|
|
|
172
179
|
const def = getDef(schema);
|
|
173
180
|
return def?.typeName === "ZodIntersection" || def?.type === "intersection" || schema?.constructor?.name?.slice(1) === "ZodIntersection";
|
|
174
181
|
}
|
|
182
|
+
exports.asObjectProperty = asObjectProperty;
|
|
175
183
|
exports.getArrayElement = getArrayElement;
|
|
176
184
|
exports.getBaseSchema = getBaseSchema;
|
|
177
185
|
exports.getDef = getDef;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compat.cjs.js","names":[],"sources":["../../../../src/lib/form/zod-provider/compat.ts"],"sourcesContent":["/**\n * Zod v3/v4 compatibility layer.\n *\n * Zod v3 stores schema internals in `schema._def`.\n * Zod v4 stores schema internals in `schema._zod.def`.\n *\n * This module provides helpers that work with both versions.\n */\n\ntype AnySchema = any;\n\nexport function isV4(schema: AnySchema): boolean {\n return schema != null && typeof schema === 'object' && '_zod' in schema;\n}\n\n/**\n * Get the internal definition object for a schema, regardless of Zod version.\n * v3: schema._def\n * v4: schema._zod.def\n */\nexport function getDef(schema: AnySchema): any {\n if (schema == null || typeof schema !== 'object') {\n return undefined;\n }\n if (isV4(schema)) {\n return schema._zod.def;\n }\n return schema._def;\n}\n\n/**\n * Check if a schema is optional (works for both v3 and v4).\n */\nexport function isOptional(schema: AnySchema): boolean {\n if (typeof schema.isOptional === 'function') {\n return schema.isOptional();\n }\n if (typeof schema.safeParse === 'function') {\n return schema.safeParse(undefined).success;\n }\n return false;\n}\n\n/**\n * Get the shape of an object schema (works for both v3 and v4).\n * v3: schema.shape (getter) or schema._def.shape()\n * v4: schema.shape (getter) or schema._zod.def.shape\n */\nexport function getShape(schema: AnySchema): Record<string, AnySchema> | undefined {\n if (schema.shape && typeof schema.shape === 'object') {\n return schema.shape;\n }\n const def = getDef(schema);\n if (def?.shape) {\n return typeof def.shape === 'function' ? def.shape() : def.shape;\n }\n return undefined;\n}\n\n/**\n * Unwrap to the base schema, stripping wrappers like ZodOptional, ZodDefault, ZodEffects, etc.\n * Works for both v3 (_def.innerType, _def.schema) and v4 (_zod.def.innerType, _zod.def.schema).\n */\nexport function getBaseSchema(schema: AnySchema): AnySchema {\n const def = getDef(schema);\n if (!def) return schema;\n if ('innerType' in def) {\n return getBaseSchema(def.innerType);\n }\n if ('schema' in def) {\n return getBaseSchema(def.schema);\n }\n return schema;\n}\n\n/**\n * Get enum entries/values from a schema.\n * v3: schema._def.values (array or object)\n * v4: schema._zod.def.entries (array or object)\n */\nexport function getEnumValues(schema: AnySchema): any[] | Record<string, any> | undefined {\n const def = getDef(schema);\n // v4 uses \"entries\" for enums\n if (def?.entries) return def.entries;\n // v3 uses \"values\" for enums\n if (def?.values) return def.values;\n return undefined;\n}\n\n/**\n * Get array element schema.\n * v3: schema._def.type\n * v4: schema._zod.def.element\n */\nexport function getArrayElement(schema: AnySchema): AnySchema | undefined {\n const def = getDef(schema);\n return def?.element ?? def?.type;\n}\n\n/**\n * Get the value schema of a ZodRecord.\n * v3: schema._def.valueType\n * v4: schema._zod.def.valueType\n */\nexport function getRecordValueSchema(schema: AnySchema): AnySchema | undefined {\n return getDef(schema)?.valueType;\n}\n\n/**\n * Get literal value(s) from a ZodLiteral schema.\n * v3: schema._def.value (single value)\n * v4: schema._zod.def.values (array or single value)\n */\nexport function getLiteralValue(schema: AnySchema): any {\n const def = getDef(schema);\n // v4: values (may be array)\n if (def?.values !== undefined) {\n return Array.isArray(def.values) ? def.values[0] : def.values;\n }\n // v3: value (single)\n if (def?.value !== undefined) {\n return def.value;\n }\n return undefined;\n}\n\n/**\n * Get literal values array from a ZodLiteral schema (for fieldConfig customData).\n * v4: schema._zod.def.values\n * v3: schema._def.value (wrapped in array)\n */\nexport function getLiteralValues(schema: AnySchema): any {\n const def = getDef(schema);\n if (def?.values !== undefined) return def.values;\n if (def?.value !== undefined) return [def.value];\n return undefined;\n}\n\n/**\n * Get default value from a ZodDefault schema.\n * v3: schema._def.defaultValue() — it's a function\n * v4: schema._zod.def.defaultValue — it's a direct value\n */\nexport function getDefaultValue(schema: AnySchema): any {\n const def = getDef(schema);\n if (def?.defaultValue !== undefined) {\n return typeof def.defaultValue === 'function' ? def.defaultValue() : def.defaultValue;\n }\n return undefined;\n}\n\n/**\n * Get union options from a ZodUnion or ZodDiscriminatedUnion schema.\n * v3: schema._def.options\n * v4: schema._zod.def.options\n */\nexport function getUnionOptions(schema: AnySchema): AnySchema[] | undefined {\n const def = getDef(schema);\n return def?.options;\n}\n\n/**\n * Get intersection left/right from a ZodIntersection schema.\n * v3: schema._def.left, schema._def.right\n * v4: schema._zod.def.left, schema._zod.def.right\n */\nexport function getIntersection(schema: AnySchema): { left: AnySchema; right: AnySchema } | undefined {\n const def = getDef(schema);\n if (def?.left && def?.right) {\n return { left: def.left, right: def.right };\n }\n // v4 also exposes schema.def directly\n if (schema.def?.left && schema.def?.right) {\n return { left: schema.def.left, right: schema.def.right };\n }\n return undefined;\n}\n\n/**\n * Get string checks from a ZodString schema.\n * v3: schema._def.checks (array of { kind, ... })\n * v4: schema._zod.def.checks (array of check schemas with _zod.def.check and _zod.def.format)\n */\nexport function getStringChecks(schema: AnySchema): any[] {\n const def = getDef(schema);\n return def?.checks ?? [];\n}\n\n/**\n * Check if a string schema has a datetime check.\n * v3: check.kind === 'datetime'\n * v4: check._zod.def.check === 'string_format' && check._zod.def.format === 'datetime'\n */\nexport function hasDateTimeCheck(checks: any[]): boolean {\n return checks.some(check => {\n // v4 format\n if (isV4(check)) {\n const checkDef = getDef(check);\n return checkDef?.check === 'string_format' && checkDef?.format === 'datetime';\n }\n // v3 format\n return check.kind === 'datetime';\n });\n}\n\n/**\n * Detect if a schema is a ZodObject-like (either v3 or v4).\n */\nexport function isObjectSchema(schema: AnySchema): boolean {\n return getShape(schema) !== undefined && !isIntersectionSchema(schema);\n}\n\n/**\n * Detect if a schema is a ZodDefault (either v3 or v4).\n */\nexport function isDefaultSchema(schema: AnySchema): boolean {\n const def = getDef(schema);\n return def?.typeName === 'ZodDefault' || def?.type === 'default' || getDefaultValue(schema) !== undefined;\n}\n\n/**\n * Detect if a schema is a ZodLiteral (either v3 or v4).\n */\nexport function isLiteralSchema(schema: AnySchema): boolean {\n const def = getDef(schema);\n return (\n def?.typeName === 'ZodLiteral' || def?.type === 'literal' || schema?.constructor?.name?.slice(1) === 'ZodLiteral'\n );\n}\n\n/**\n * Detect if a schema is a ZodIntersection (either v3 or v4).\n */\nexport function isIntersectionSchema(schema: AnySchema): boolean {\n const intersection = getIntersection(schema);\n if (!intersection) return false;\n const def = getDef(schema);\n return (\n def?.typeName === 'ZodIntersection' ||\n def?.type === 'intersection' ||\n schema?.constructor?.name?.slice(1) === 'ZodIntersection'\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compat.cjs.js","names":[],"sources":["../../../../src/lib/form/zod-provider/compat.ts"],"sourcesContent":["/**\n * Zod v3/v4 compatibility layer.\n *\n * Zod v3 stores schema internals in `schema._def`.\n * Zod v4 stores schema internals in `schema._zod.def`.\n *\n * This module provides helpers that work with both versions.\n */\n\ntype AnySchema = any;\n\nexport function isV4(schema: AnySchema): boolean {\n return schema != null && typeof schema === 'object' && '_zod' in schema;\n}\n\n/**\n * Get the internal definition object for a schema, regardless of Zod version.\n * v3: schema._def\n * v4: schema._zod.def\n */\nexport function getDef(schema: AnySchema): any {\n if (schema == null || typeof schema !== 'object') {\n return undefined;\n }\n if (isV4(schema)) {\n return schema._zod.def;\n }\n return schema._def;\n}\n\n/**\n * Check if a schema is optional (works for both v3 and v4).\n */\nexport function isOptional(schema: AnySchema): boolean {\n if (typeof schema.isOptional === 'function') {\n return schema.isOptional();\n }\n if (typeof schema.safeParse === 'function') {\n return schema.safeParse(undefined).success;\n }\n return false;\n}\n\n/**\n * Use `schema` as an object property that may be left out whenever the schema accepts `undefined`.\n * zod v3 did this implicitly; zod v4 still requires the key for schemas like `z.any()`.\n */\nexport function asObjectProperty(schema: AnySchema): AnySchema {\n return isOptional(schema) ? schema.optional() : schema;\n}\n\n/**\n * Get the shape of an object schema (works for both v3 and v4).\n * v3: schema.shape (getter) or schema._def.shape()\n * v4: schema.shape (getter) or schema._zod.def.shape\n */\nexport function getShape(schema: AnySchema): Record<string, AnySchema> | undefined {\n if (schema.shape && typeof schema.shape === 'object') {\n return schema.shape;\n }\n const def = getDef(schema);\n if (def?.shape) {\n return typeof def.shape === 'function' ? def.shape() : def.shape;\n }\n return undefined;\n}\n\n/**\n * Unwrap to the base schema, stripping wrappers like ZodOptional, ZodDefault, ZodEffects, etc.\n * Works for both v3 (_def.innerType, _def.schema) and v4 (_zod.def.innerType, _zod.def.schema).\n */\nexport function getBaseSchema(schema: AnySchema): AnySchema {\n const def = getDef(schema);\n if (!def) return schema;\n if ('innerType' in def) {\n return getBaseSchema(def.innerType);\n }\n if ('schema' in def) {\n return getBaseSchema(def.schema);\n }\n return schema;\n}\n\n/**\n * Get enum entries/values from a schema.\n * v3: schema._def.values (array or object)\n * v4: schema._zod.def.entries (array or object)\n */\nexport function getEnumValues(schema: AnySchema): any[] | Record<string, any> | undefined {\n const def = getDef(schema);\n // v4 uses \"entries\" for enums\n if (def?.entries) return def.entries;\n // v3 uses \"values\" for enums\n if (def?.values) return def.values;\n return undefined;\n}\n\n/**\n * Get array element schema.\n * v3: schema._def.type\n * v4: schema._zod.def.element\n */\nexport function getArrayElement(schema: AnySchema): AnySchema | undefined {\n const def = getDef(schema);\n return def?.element ?? def?.type;\n}\n\n/**\n * Get the value schema of a ZodRecord.\n * v3: schema._def.valueType\n * v4: schema._zod.def.valueType\n */\nexport function getRecordValueSchema(schema: AnySchema): AnySchema | undefined {\n return getDef(schema)?.valueType;\n}\n\n/**\n * Get literal value(s) from a ZodLiteral schema.\n * v3: schema._def.value (single value)\n * v4: schema._zod.def.values (array or single value)\n */\nexport function getLiteralValue(schema: AnySchema): any {\n const def = getDef(schema);\n // v4: values (may be array)\n if (def?.values !== undefined) {\n return Array.isArray(def.values) ? def.values[0] : def.values;\n }\n // v3: value (single)\n if (def?.value !== undefined) {\n return def.value;\n }\n return undefined;\n}\n\n/**\n * Get literal values array from a ZodLiteral schema (for fieldConfig customData).\n * v4: schema._zod.def.values\n * v3: schema._def.value (wrapped in array)\n */\nexport function getLiteralValues(schema: AnySchema): any {\n const def = getDef(schema);\n if (def?.values !== undefined) return def.values;\n if (def?.value !== undefined) return [def.value];\n return undefined;\n}\n\n/**\n * Get default value from a ZodDefault schema.\n * v3: schema._def.defaultValue() — it's a function\n * v4: schema._zod.def.defaultValue — it's a direct value\n */\nexport function getDefaultValue(schema: AnySchema): any {\n const def = getDef(schema);\n if (def?.defaultValue !== undefined) {\n return typeof def.defaultValue === 'function' ? def.defaultValue() : def.defaultValue;\n }\n return undefined;\n}\n\n/**\n * Get union options from a ZodUnion or ZodDiscriminatedUnion schema.\n * v3: schema._def.options\n * v4: schema._zod.def.options\n */\nexport function getUnionOptions(schema: AnySchema): AnySchema[] | undefined {\n const def = getDef(schema);\n return def?.options;\n}\n\n/**\n * Get intersection left/right from a ZodIntersection schema.\n * v3: schema._def.left, schema._def.right\n * v4: schema._zod.def.left, schema._zod.def.right\n */\nexport function getIntersection(schema: AnySchema): { left: AnySchema; right: AnySchema } | undefined {\n const def = getDef(schema);\n if (def?.left && def?.right) {\n return { left: def.left, right: def.right };\n }\n // v4 also exposes schema.def directly\n if (schema.def?.left && schema.def?.right) {\n return { left: schema.def.left, right: schema.def.right };\n }\n return undefined;\n}\n\n/**\n * Get string checks from a ZodString schema.\n * v3: schema._def.checks (array of { kind, ... })\n * v4: schema._zod.def.checks (array of check schemas with _zod.def.check and _zod.def.format)\n */\nexport function getStringChecks(schema: AnySchema): any[] {\n const def = getDef(schema);\n return def?.checks ?? [];\n}\n\n/**\n * Check if a string schema has a datetime check.\n * v3: check.kind === 'datetime'\n * v4: check._zod.def.check === 'string_format' && check._zod.def.format === 'datetime'\n */\nexport function hasDateTimeCheck(checks: any[]): boolean {\n return checks.some(check => {\n // v4 format\n if (isV4(check)) {\n const checkDef = getDef(check);\n return checkDef?.check === 'string_format' && checkDef?.format === 'datetime';\n }\n // v3 format\n return check.kind === 'datetime';\n });\n}\n\n/**\n * Detect if a schema is a ZodObject-like (either v3 or v4).\n */\nexport function isObjectSchema(schema: AnySchema): boolean {\n return getShape(schema) !== undefined && !isIntersectionSchema(schema);\n}\n\n/**\n * Detect if a schema is a ZodDefault (either v3 or v4).\n */\nexport function isDefaultSchema(schema: AnySchema): boolean {\n const def = getDef(schema);\n return def?.typeName === 'ZodDefault' || def?.type === 'default' || getDefaultValue(schema) !== undefined;\n}\n\n/**\n * Detect if a schema is a ZodLiteral (either v3 or v4).\n */\nexport function isLiteralSchema(schema: AnySchema): boolean {\n const def = getDef(schema);\n return (\n def?.typeName === 'ZodLiteral' || def?.type === 'literal' || schema?.constructor?.name?.slice(1) === 'ZodLiteral'\n );\n}\n\n/**\n * Detect if a schema is a ZodIntersection (either v3 or v4).\n */\nexport function isIntersectionSchema(schema: AnySchema): boolean {\n const intersection = getIntersection(schema);\n if (!intersection) return false;\n const def = getDef(schema);\n return (\n def?.typeName === 'ZodIntersection' ||\n def?.type === 'intersection' ||\n schema?.constructor?.name?.slice(1) === 'ZodIntersection'\n );\n}\n"],"mappings":"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"}
|
|
@@ -21,6 +21,13 @@ function isOptional(schema) {
|
|
|
21
21
|
return false;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
|
+
* Use `schema` as an object property that may be left out whenever the schema accepts `undefined`.
|
|
25
|
+
* zod v3 did this implicitly; zod v4 still requires the key for schemas like `z.any()`.
|
|
26
|
+
*/
|
|
27
|
+
function asObjectProperty(schema) {
|
|
28
|
+
return isOptional(schema) ? schema.optional() : schema;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
24
31
|
* Get the shape of an object schema (works for both v3 and v4).
|
|
25
32
|
* v3: schema.shape (getter) or schema._def.shape()
|
|
26
33
|
* v4: schema.shape (getter) or schema._zod.def.shape
|
|
@@ -171,6 +178,6 @@ function isIntersectionSchema(schema) {
|
|
|
171
178
|
const def = getDef(schema);
|
|
172
179
|
return def?.typeName === "ZodIntersection" || def?.type === "intersection" || schema?.constructor?.name?.slice(1) === "ZodIntersection";
|
|
173
180
|
}
|
|
174
|
-
export { getArrayElement, getBaseSchema, getDef, getDefaultValue, getEnumValues, getIntersection, getLiteralValue, getLiteralValues, getRecordValueSchema, getShape, getStringChecks, getUnionOptions, hasDateTimeCheck, isDefaultSchema, isIntersectionSchema, isLiteralSchema, isObjectSchema, isOptional, isV4 };
|
|
181
|
+
export { asObjectProperty, getArrayElement, getBaseSchema, getDef, getDefaultValue, getEnumValues, getIntersection, getLiteralValue, getLiteralValues, getRecordValueSchema, getShape, getStringChecks, getUnionOptions, hasDateTimeCheck, isDefaultSchema, isIntersectionSchema, isLiteralSchema, isObjectSchema, isOptional, isV4 };
|
|
175
182
|
|
|
176
183
|
//# sourceMappingURL=compat.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compat.es.js","names":[],"sources":["../../../../src/lib/form/zod-provider/compat.ts"],"sourcesContent":["/**\n * Zod v3/v4 compatibility layer.\n *\n * Zod v3 stores schema internals in `schema._def`.\n * Zod v4 stores schema internals in `schema._zod.def`.\n *\n * This module provides helpers that work with both versions.\n */\n\ntype AnySchema = any;\n\nexport function isV4(schema: AnySchema): boolean {\n return schema != null && typeof schema === 'object' && '_zod' in schema;\n}\n\n/**\n * Get the internal definition object for a schema, regardless of Zod version.\n * v3: schema._def\n * v4: schema._zod.def\n */\nexport function getDef(schema: AnySchema): any {\n if (schema == null || typeof schema !== 'object') {\n return undefined;\n }\n if (isV4(schema)) {\n return schema._zod.def;\n }\n return schema._def;\n}\n\n/**\n * Check if a schema is optional (works for both v3 and v4).\n */\nexport function isOptional(schema: AnySchema): boolean {\n if (typeof schema.isOptional === 'function') {\n return schema.isOptional();\n }\n if (typeof schema.safeParse === 'function') {\n return schema.safeParse(undefined).success;\n }\n return false;\n}\n\n/**\n * Get the shape of an object schema (works for both v3 and v4).\n * v3: schema.shape (getter) or schema._def.shape()\n * v4: schema.shape (getter) or schema._zod.def.shape\n */\nexport function getShape(schema: AnySchema): Record<string, AnySchema> | undefined {\n if (schema.shape && typeof schema.shape === 'object') {\n return schema.shape;\n }\n const def = getDef(schema);\n if (def?.shape) {\n return typeof def.shape === 'function' ? def.shape() : def.shape;\n }\n return undefined;\n}\n\n/**\n * Unwrap to the base schema, stripping wrappers like ZodOptional, ZodDefault, ZodEffects, etc.\n * Works for both v3 (_def.innerType, _def.schema) and v4 (_zod.def.innerType, _zod.def.schema).\n */\nexport function getBaseSchema(schema: AnySchema): AnySchema {\n const def = getDef(schema);\n if (!def) return schema;\n if ('innerType' in def) {\n return getBaseSchema(def.innerType);\n }\n if ('schema' in def) {\n return getBaseSchema(def.schema);\n }\n return schema;\n}\n\n/**\n * Get enum entries/values from a schema.\n * v3: schema._def.values (array or object)\n * v4: schema._zod.def.entries (array or object)\n */\nexport function getEnumValues(schema: AnySchema): any[] | Record<string, any> | undefined {\n const def = getDef(schema);\n // v4 uses \"entries\" for enums\n if (def?.entries) return def.entries;\n // v3 uses \"values\" for enums\n if (def?.values) return def.values;\n return undefined;\n}\n\n/**\n * Get array element schema.\n * v3: schema._def.type\n * v4: schema._zod.def.element\n */\nexport function getArrayElement(schema: AnySchema): AnySchema | undefined {\n const def = getDef(schema);\n return def?.element ?? def?.type;\n}\n\n/**\n * Get the value schema of a ZodRecord.\n * v3: schema._def.valueType\n * v4: schema._zod.def.valueType\n */\nexport function getRecordValueSchema(schema: AnySchema): AnySchema | undefined {\n return getDef(schema)?.valueType;\n}\n\n/**\n * Get literal value(s) from a ZodLiteral schema.\n * v3: schema._def.value (single value)\n * v4: schema._zod.def.values (array or single value)\n */\nexport function getLiteralValue(schema: AnySchema): any {\n const def = getDef(schema);\n // v4: values (may be array)\n if (def?.values !== undefined) {\n return Array.isArray(def.values) ? def.values[0] : def.values;\n }\n // v3: value (single)\n if (def?.value !== undefined) {\n return def.value;\n }\n return undefined;\n}\n\n/**\n * Get literal values array from a ZodLiteral schema (for fieldConfig customData).\n * v4: schema._zod.def.values\n * v3: schema._def.value (wrapped in array)\n */\nexport function getLiteralValues(schema: AnySchema): any {\n const def = getDef(schema);\n if (def?.values !== undefined) return def.values;\n if (def?.value !== undefined) return [def.value];\n return undefined;\n}\n\n/**\n * Get default value from a ZodDefault schema.\n * v3: schema._def.defaultValue() — it's a function\n * v4: schema._zod.def.defaultValue — it's a direct value\n */\nexport function getDefaultValue(schema: AnySchema): any {\n const def = getDef(schema);\n if (def?.defaultValue !== undefined) {\n return typeof def.defaultValue === 'function' ? def.defaultValue() : def.defaultValue;\n }\n return undefined;\n}\n\n/**\n * Get union options from a ZodUnion or ZodDiscriminatedUnion schema.\n * v3: schema._def.options\n * v4: schema._zod.def.options\n */\nexport function getUnionOptions(schema: AnySchema): AnySchema[] | undefined {\n const def = getDef(schema);\n return def?.options;\n}\n\n/**\n * Get intersection left/right from a ZodIntersection schema.\n * v3: schema._def.left, schema._def.right\n * v4: schema._zod.def.left, schema._zod.def.right\n */\nexport function getIntersection(schema: AnySchema): { left: AnySchema; right: AnySchema } | undefined {\n const def = getDef(schema);\n if (def?.left && def?.right) {\n return { left: def.left, right: def.right };\n }\n // v4 also exposes schema.def directly\n if (schema.def?.left && schema.def?.right) {\n return { left: schema.def.left, right: schema.def.right };\n }\n return undefined;\n}\n\n/**\n * Get string checks from a ZodString schema.\n * v3: schema._def.checks (array of { kind, ... })\n * v4: schema._zod.def.checks (array of check schemas with _zod.def.check and _zod.def.format)\n */\nexport function getStringChecks(schema: AnySchema): any[] {\n const def = getDef(schema);\n return def?.checks ?? [];\n}\n\n/**\n * Check if a string schema has a datetime check.\n * v3: check.kind === 'datetime'\n * v4: check._zod.def.check === 'string_format' && check._zod.def.format === 'datetime'\n */\nexport function hasDateTimeCheck(checks: any[]): boolean {\n return checks.some(check => {\n // v4 format\n if (isV4(check)) {\n const checkDef = getDef(check);\n return checkDef?.check === 'string_format' && checkDef?.format === 'datetime';\n }\n // v3 format\n return check.kind === 'datetime';\n });\n}\n\n/**\n * Detect if a schema is a ZodObject-like (either v3 or v4).\n */\nexport function isObjectSchema(schema: AnySchema): boolean {\n return getShape(schema) !== undefined && !isIntersectionSchema(schema);\n}\n\n/**\n * Detect if a schema is a ZodDefault (either v3 or v4).\n */\nexport function isDefaultSchema(schema: AnySchema): boolean {\n const def = getDef(schema);\n return def?.typeName === 'ZodDefault' || def?.type === 'default' || getDefaultValue(schema) !== undefined;\n}\n\n/**\n * Detect if a schema is a ZodLiteral (either v3 or v4).\n */\nexport function isLiteralSchema(schema: AnySchema): boolean {\n const def = getDef(schema);\n return (\n def?.typeName === 'ZodLiteral' || def?.type === 'literal' || schema?.constructor?.name?.slice(1) === 'ZodLiteral'\n );\n}\n\n/**\n * Detect if a schema is a ZodIntersection (either v3 or v4).\n */\nexport function isIntersectionSchema(schema: AnySchema): boolean {\n const intersection = getIntersection(schema);\n if (!intersection) return false;\n const def = getDef(schema);\n return (\n def?.typeName === 'ZodIntersection' ||\n def?.type === 'intersection' ||\n schema?.constructor?.name?.slice(1) === 'ZodIntersection'\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compat.es.js","names":[],"sources":["../../../../src/lib/form/zod-provider/compat.ts"],"sourcesContent":["/**\n * Zod v3/v4 compatibility layer.\n *\n * Zod v3 stores schema internals in `schema._def`.\n * Zod v4 stores schema internals in `schema._zod.def`.\n *\n * This module provides helpers that work with both versions.\n */\n\ntype AnySchema = any;\n\nexport function isV4(schema: AnySchema): boolean {\n return schema != null && typeof schema === 'object' && '_zod' in schema;\n}\n\n/**\n * Get the internal definition object for a schema, regardless of Zod version.\n * v3: schema._def\n * v4: schema._zod.def\n */\nexport function getDef(schema: AnySchema): any {\n if (schema == null || typeof schema !== 'object') {\n return undefined;\n }\n if (isV4(schema)) {\n return schema._zod.def;\n }\n return schema._def;\n}\n\n/**\n * Check if a schema is optional (works for both v3 and v4).\n */\nexport function isOptional(schema: AnySchema): boolean {\n if (typeof schema.isOptional === 'function') {\n return schema.isOptional();\n }\n if (typeof schema.safeParse === 'function') {\n return schema.safeParse(undefined).success;\n }\n return false;\n}\n\n/**\n * Use `schema` as an object property that may be left out whenever the schema accepts `undefined`.\n * zod v3 did this implicitly; zod v4 still requires the key for schemas like `z.any()`.\n */\nexport function asObjectProperty(schema: AnySchema): AnySchema {\n return isOptional(schema) ? schema.optional() : schema;\n}\n\n/**\n * Get the shape of an object schema (works for both v3 and v4).\n * v3: schema.shape (getter) or schema._def.shape()\n * v4: schema.shape (getter) or schema._zod.def.shape\n */\nexport function getShape(schema: AnySchema): Record<string, AnySchema> | undefined {\n if (schema.shape && typeof schema.shape === 'object') {\n return schema.shape;\n }\n const def = getDef(schema);\n if (def?.shape) {\n return typeof def.shape === 'function' ? def.shape() : def.shape;\n }\n return undefined;\n}\n\n/**\n * Unwrap to the base schema, stripping wrappers like ZodOptional, ZodDefault, ZodEffects, etc.\n * Works for both v3 (_def.innerType, _def.schema) and v4 (_zod.def.innerType, _zod.def.schema).\n */\nexport function getBaseSchema(schema: AnySchema): AnySchema {\n const def = getDef(schema);\n if (!def) return schema;\n if ('innerType' in def) {\n return getBaseSchema(def.innerType);\n }\n if ('schema' in def) {\n return getBaseSchema(def.schema);\n }\n return schema;\n}\n\n/**\n * Get enum entries/values from a schema.\n * v3: schema._def.values (array or object)\n * v4: schema._zod.def.entries (array or object)\n */\nexport function getEnumValues(schema: AnySchema): any[] | Record<string, any> | undefined {\n const def = getDef(schema);\n // v4 uses \"entries\" for enums\n if (def?.entries) return def.entries;\n // v3 uses \"values\" for enums\n if (def?.values) return def.values;\n return undefined;\n}\n\n/**\n * Get array element schema.\n * v3: schema._def.type\n * v4: schema._zod.def.element\n */\nexport function getArrayElement(schema: AnySchema): AnySchema | undefined {\n const def = getDef(schema);\n return def?.element ?? def?.type;\n}\n\n/**\n * Get the value schema of a ZodRecord.\n * v3: schema._def.valueType\n * v4: schema._zod.def.valueType\n */\nexport function getRecordValueSchema(schema: AnySchema): AnySchema | undefined {\n return getDef(schema)?.valueType;\n}\n\n/**\n * Get literal value(s) from a ZodLiteral schema.\n * v3: schema._def.value (single value)\n * v4: schema._zod.def.values (array or single value)\n */\nexport function getLiteralValue(schema: AnySchema): any {\n const def = getDef(schema);\n // v4: values (may be array)\n if (def?.values !== undefined) {\n return Array.isArray(def.values) ? def.values[0] : def.values;\n }\n // v3: value (single)\n if (def?.value !== undefined) {\n return def.value;\n }\n return undefined;\n}\n\n/**\n * Get literal values array from a ZodLiteral schema (for fieldConfig customData).\n * v4: schema._zod.def.values\n * v3: schema._def.value (wrapped in array)\n */\nexport function getLiteralValues(schema: AnySchema): any {\n const def = getDef(schema);\n if (def?.values !== undefined) return def.values;\n if (def?.value !== undefined) return [def.value];\n return undefined;\n}\n\n/**\n * Get default value from a ZodDefault schema.\n * v3: schema._def.defaultValue() — it's a function\n * v4: schema._zod.def.defaultValue — it's a direct value\n */\nexport function getDefaultValue(schema: AnySchema): any {\n const def = getDef(schema);\n if (def?.defaultValue !== undefined) {\n return typeof def.defaultValue === 'function' ? def.defaultValue() : def.defaultValue;\n }\n return undefined;\n}\n\n/**\n * Get union options from a ZodUnion or ZodDiscriminatedUnion schema.\n * v3: schema._def.options\n * v4: schema._zod.def.options\n */\nexport function getUnionOptions(schema: AnySchema): AnySchema[] | undefined {\n const def = getDef(schema);\n return def?.options;\n}\n\n/**\n * Get intersection left/right from a ZodIntersection schema.\n * v3: schema._def.left, schema._def.right\n * v4: schema._zod.def.left, schema._zod.def.right\n */\nexport function getIntersection(schema: AnySchema): { left: AnySchema; right: AnySchema } | undefined {\n const def = getDef(schema);\n if (def?.left && def?.right) {\n return { left: def.left, right: def.right };\n }\n // v4 also exposes schema.def directly\n if (schema.def?.left && schema.def?.right) {\n return { left: schema.def.left, right: schema.def.right };\n }\n return undefined;\n}\n\n/**\n * Get string checks from a ZodString schema.\n * v3: schema._def.checks (array of { kind, ... })\n * v4: schema._zod.def.checks (array of check schemas with _zod.def.check and _zod.def.format)\n */\nexport function getStringChecks(schema: AnySchema): any[] {\n const def = getDef(schema);\n return def?.checks ?? [];\n}\n\n/**\n * Check if a string schema has a datetime check.\n * v3: check.kind === 'datetime'\n * v4: check._zod.def.check === 'string_format' && check._zod.def.format === 'datetime'\n */\nexport function hasDateTimeCheck(checks: any[]): boolean {\n return checks.some(check => {\n // v4 format\n if (isV4(check)) {\n const checkDef = getDef(check);\n return checkDef?.check === 'string_format' && checkDef?.format === 'datetime';\n }\n // v3 format\n return check.kind === 'datetime';\n });\n}\n\n/**\n * Detect if a schema is a ZodObject-like (either v3 or v4).\n */\nexport function isObjectSchema(schema: AnySchema): boolean {\n return getShape(schema) !== undefined && !isIntersectionSchema(schema);\n}\n\n/**\n * Detect if a schema is a ZodDefault (either v3 or v4).\n */\nexport function isDefaultSchema(schema: AnySchema): boolean {\n const def = getDef(schema);\n return def?.typeName === 'ZodDefault' || def?.type === 'default' || getDefaultValue(schema) !== undefined;\n}\n\n/**\n * Detect if a schema is a ZodLiteral (either v3 or v4).\n */\nexport function isLiteralSchema(schema: AnySchema): boolean {\n const def = getDef(schema);\n return (\n def?.typeName === 'ZodLiteral' || def?.type === 'literal' || schema?.constructor?.name?.slice(1) === 'ZodLiteral'\n );\n}\n\n/**\n * Detect if a schema is a ZodIntersection (either v3 or v4).\n */\nexport function isIntersectionSchema(schema: AnySchema): boolean {\n const intersection = getIntersection(schema);\n if (!intersection) return false;\n const def = getDef(schema);\n return (\n def?.typeName === 'ZodIntersection' ||\n def?.type === 'intersection' ||\n schema?.constructor?.name?.slice(1) === 'ZodIntersection'\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_lib_form_utils = require("./utils.cjs.js");
|
|
3
2
|
const require_lib_form_zod_provider_compat = require("./zod-provider/compat.cjs.js");
|
|
3
|
+
const require_lib_form_utils = require("./utils.cjs.js");
|
|
4
4
|
const require_lib_form_zod_provider_default_values = require("./zod-provider/default-values.cjs.js");
|
|
5
5
|
const require_lib_form_zod_provider_field_type_inference = require("./zod-provider/field-type-inference.cjs.js");
|
|
6
6
|
// src/lib/form/zod-provider/index.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { isPlainObject } from "./utils.es.js";
|
|
2
1
|
import { getArrayElement, getBaseSchema, getDef, getEnumValues, getIntersection, getLiteralValues, getRecordValueSchema, getShape, getUnionOptions, isOptional } from "./zod-provider/compat.es.js";
|
|
2
|
+
import { isPlainObject } from "./utils.es.js";
|
|
3
3
|
import { getDefaultValueInZodStack, getDefaultValues } from "./zod-provider/default-values.es.js";
|
|
4
4
|
import { inferFieldType } from "./zod-provider/field-type-inference.es.js";
|
|
5
5
|
// src/lib/form/zod-provider/index.ts
|
|
@@ -4,7 +4,7 @@ let react = require("react");
|
|
|
4
4
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
5
|
let use_debounce = require("use-debounce");
|
|
6
6
|
// src/ds/components/ListSearch/list-search.tsx
|
|
7
|
-
var ListSearch = ({ onSearch, label, placeholder, debounceMs = 300, size, value: controlledValue, shortcutDisabled = false }) => {
|
|
7
|
+
var ListSearch = ({ onSearch, label, placeholder, debounceMs = 300, size = "sm", value: controlledValue, shortcutDisabled = false }) => {
|
|
8
8
|
const [internalValue, setInternalValue] = (0, react.useState)(controlledValue ?? "");
|
|
9
9
|
const inputRef = (0, react.useRef)(null);
|
|
10
10
|
require_keyboard_use_keydown.useKeydown({ "mod+shift+f": () => {
|
|
@@ -47,4 +47,4 @@ Object.defineProperty(exports, "ListSearch", {
|
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
|
|
50
|
-
//# sourceMappingURL=list-search-
|
|
50
|
+
//# sourceMappingURL=list-search-BtRno5As.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-search-BtRno5As.cjs","names":["useState","useRef","useDebouncedCallback","SearchInput"],"sources":["../src/ds/components/ListSearch/list-search.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { useDebouncedCallback } from 'use-debounce';\nimport { SearchInput } from '@/ds/components/SearchInput';\nimport type { SearchInputProps } from '@/ds/components/SearchInput';\nimport { useKeydown } from '@/lib/keyboard';\n\nexport type ListSearchProps = {\n onSearch: (search: string) => void;\n label: string;\n placeholder: string;\n debounceMs?: number;\n /** Defaults to 'sm', the toolbar rung. */\n size?: SearchInputProps['size'];\n /**\n * Optional controlled value. When provided, ListSearch stays in sync with this\n * prop — useful when the parent needs to clear the input programmatically\n * (e.g. from a Reset button). If omitted, ListSearch manages its own state.\n */\n value?: string;\n /**\n * Opts out of the Cmd/Ctrl+Shift+F focus shortcut. Pass this on secondary\n * instances so two search fields on the same page don't fight over focus.\n */\n shortcutDisabled?: boolean;\n};\n\nexport const ListSearch = ({\n onSearch,\n label,\n placeholder,\n debounceMs = 300,\n size = 'sm',\n value: controlledValue,\n shortcutDisabled = false,\n}: ListSearchProps) => {\n const [internalValue, setInternalValue] = useState(controlledValue ?? '');\n const inputRef = useRef<HTMLInputElement>(null);\n\n useKeydown(\n {\n 'mod+shift+f': () => {\n inputRef.current?.focus();\n inputRef.current?.select();\n },\n },\n { enabled: !shortcutDisabled },\n );\n\n const debouncedSearch = useDebouncedCallback((val: string) => {\n onSearch(val);\n }, debounceMs);\n\n // Sync internal state with controlled value (e.g. parent Reset clears it to '').\n // Also cancel any pending debounced callback so a stale handleChange call\n // can't overwrite the newly-applied controlled value.\n useEffect(() => {\n if (controlledValue !== undefined) {\n debouncedSearch.cancel();\n setInternalValue(controlledValue);\n }\n }, [controlledValue, debouncedSearch]);\n\n useEffect(() => () => debouncedSearch.cancel(), [debouncedSearch]);\n\n const searchNowOrDebounced = (next: string) => {\n setInternalValue(next);\n if (next) {\n debouncedSearch(next);\n return;\n }\n debouncedSearch.cancel();\n onSearch('');\n };\n\n return (\n <SearchInput\n ref={inputRef}\n label={label}\n placeholder={placeholder}\n size={size}\n value={internalValue}\n onValueChange={searchNowOrDebounced}\n className=\"w-full max-w-120\"\n />\n );\n};\n"],"mappings":";;;;;;AA0BA,IAAa,cAAc,EACzB,UACA,OACA,aACA,aAAa,KACb,OAAO,MACP,OAAO,iBACP,mBAAmB,YACE;CACrB,MAAM,CAAC,eAAe,qBAAA,GAAoBA,MAAAA,SAAAA,CAAS,mBAAmB,EAAE;CACxE,MAAM,YAAA,GAAWC,MAAAA,OAAAA,CAAyB,IAAI;CAE9C,6BAAA,WACE,EACE,qBAAqB;EACnB,SAAS,SAAS,MAAM;EACxB,SAAS,SAAS,OAAO;CAC3B,EACF,GACA,EAAE,SAAS,CAAC,iBAAiB,CAC/B;CAEA,MAAM,mBAAA,GAAkBC,aAAAA,qBAAAA,EAAsB,QAAgB;EAC5D,SAAS,GAAG;CACd,GAAG,UAAU;CAKb,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,IAAI,oBAAoB,KAAA,GAAW;GACjC,gBAAgB,OAAO;GACvB,iBAAiB,eAAe;EAClC;CACF,GAAG,CAAC,iBAAiB,eAAe,CAAC;CAErC,CAAA,GAAA,MAAA,UAAA,aAAsB,gBAAgB,OAAO,GAAG,CAAC,eAAe,CAAC;CAEjE,MAAM,wBAAwB,SAAiB;EAC7C,iBAAiB,IAAI;EACrB,IAAI,MAAM;GACR,gBAAgB,IAAI;GACpB;EACF;EACA,gBAAgB,OAAO;EACvB,SAAS,EAAE;CACb;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,+BAAAA,aAAD;EACE,KAAK;EACE;EACM;EACP;EACN,OAAO;EACP,eAAe;EACf,WAAU;CACX,CAAA;AAEL"}
|
|
@@ -4,7 +4,7 @@ import { useEffect, useRef, useState } from "react";
|
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
import { useDebouncedCallback } from "use-debounce";
|
|
6
6
|
// src/ds/components/ListSearch/list-search.tsx
|
|
7
|
-
var ListSearch = ({ onSearch, label, placeholder, debounceMs = 300, size, value: controlledValue, shortcutDisabled = false }) => {
|
|
7
|
+
var ListSearch = ({ onSearch, label, placeholder, debounceMs = 300, size = "sm", value: controlledValue, shortcutDisabled = false }) => {
|
|
8
8
|
const [internalValue, setInternalValue] = useState(controlledValue ?? "");
|
|
9
9
|
const inputRef = useRef(null);
|
|
10
10
|
useKeydown({ "mod+shift+f": () => {
|
|
@@ -42,4 +42,4 @@ var ListSearch = ({ onSearch, label, placeholder, debounceMs = 300, size, value:
|
|
|
42
42
|
};
|
|
43
43
|
export { ListSearch as t };
|
|
44
44
|
|
|
45
|
-
//# sourceMappingURL=list-search-
|
|
45
|
+
//# sourceMappingURL=list-search-CkhsTFdG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-search-CkhsTFdG.js","names":[],"sources":["../src/ds/components/ListSearch/list-search.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { useDebouncedCallback } from 'use-debounce';\nimport { SearchInput } from '@/ds/components/SearchInput';\nimport type { SearchInputProps } from '@/ds/components/SearchInput';\nimport { useKeydown } from '@/lib/keyboard';\n\nexport type ListSearchProps = {\n onSearch: (search: string) => void;\n label: string;\n placeholder: string;\n debounceMs?: number;\n /** Defaults to 'sm', the toolbar rung. */\n size?: SearchInputProps['size'];\n /**\n * Optional controlled value. When provided, ListSearch stays in sync with this\n * prop — useful when the parent needs to clear the input programmatically\n * (e.g. from a Reset button). If omitted, ListSearch manages its own state.\n */\n value?: string;\n /**\n * Opts out of the Cmd/Ctrl+Shift+F focus shortcut. Pass this on secondary\n * instances so two search fields on the same page don't fight over focus.\n */\n shortcutDisabled?: boolean;\n};\n\nexport const ListSearch = ({\n onSearch,\n label,\n placeholder,\n debounceMs = 300,\n size = 'sm',\n value: controlledValue,\n shortcutDisabled = false,\n}: ListSearchProps) => {\n const [internalValue, setInternalValue] = useState(controlledValue ?? '');\n const inputRef = useRef<HTMLInputElement>(null);\n\n useKeydown(\n {\n 'mod+shift+f': () => {\n inputRef.current?.focus();\n inputRef.current?.select();\n },\n },\n { enabled: !shortcutDisabled },\n );\n\n const debouncedSearch = useDebouncedCallback((val: string) => {\n onSearch(val);\n }, debounceMs);\n\n // Sync internal state with controlled value (e.g. parent Reset clears it to '').\n // Also cancel any pending debounced callback so a stale handleChange call\n // can't overwrite the newly-applied controlled value.\n useEffect(() => {\n if (controlledValue !== undefined) {\n debouncedSearch.cancel();\n setInternalValue(controlledValue);\n }\n }, [controlledValue, debouncedSearch]);\n\n useEffect(() => () => debouncedSearch.cancel(), [debouncedSearch]);\n\n const searchNowOrDebounced = (next: string) => {\n setInternalValue(next);\n if (next) {\n debouncedSearch(next);\n return;\n }\n debouncedSearch.cancel();\n onSearch('');\n };\n\n return (\n <SearchInput\n ref={inputRef}\n label={label}\n placeholder={placeholder}\n size={size}\n value={internalValue}\n onValueChange={searchNowOrDebounced}\n className=\"w-full max-w-120\"\n />\n );\n};\n"],"mappings":";;;;;;AA0BA,IAAa,cAAc,EACzB,UACA,OACA,aACA,aAAa,KACb,OAAO,MACP,OAAO,iBACP,mBAAmB,YACE;CACrB,MAAM,CAAC,eAAe,oBAAoB,SAAS,mBAAmB,EAAE;CACxE,MAAM,WAAW,OAAyB,IAAI;CAE9C,WACE,EACE,qBAAqB;EACnB,SAAS,SAAS,MAAM;EACxB,SAAS,SAAS,OAAO;CAC3B,EACF,GACA,EAAE,SAAS,CAAC,iBAAiB,CAC/B;CAEA,MAAM,kBAAkB,sBAAsB,QAAgB;EAC5D,SAAS,GAAG;CACd,GAAG,UAAU;CAKb,gBAAgB;EACd,IAAI,oBAAoB,KAAA,GAAW;GACjC,gBAAgB,OAAO;GACvB,iBAAiB,eAAe;EAClC;CACF,GAAG,CAAC,iBAAiB,eAAe,CAAC;CAErC,sBAAsB,gBAAgB,OAAO,GAAG,CAAC,eAAe,CAAC;CAEjE,MAAM,wBAAwB,SAAiB;EAC7C,iBAAiB,IAAI;EACrB,IAAI,MAAM;GACR,gBAAgB,IAAI;GACpB;EACF;EACA,gBAAgB,OAAO;EACvB,SAAS,EAAE;CACb;CAEA,OACE,oBAAC,aAAD;EACE,KAAK;EACE;EACM;EACP;EACN,OAAO;EACP,eAAe;EACf,WAAU;CACX,CAAA;AAEL"}
|