@mastra/playground-ui 65.0.0-alpha.11 → 65.0.0-alpha.13
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/{ask-user-card-DnvW7jXS.js → ask-user-card-B9q_GFTt.js} +2 -2
- package/dist/{ask-user-card-DnvW7jXS.js.map → ask-user-card-B9q_GFTt.js.map} +1 -1
- package/dist/{ask-user-card-DiFQcUzM.cjs → ask-user-card-C-N5rpYG.cjs} +2 -2
- package/dist/{ask-user-card-DiFQcUzM.cjs.map → ask-user-card-C-N5rpYG.cjs.map} +1 -1
- package/dist/components/Button.cjs.js +1 -1
- package/dist/components/Button.es.js +1 -1
- package/dist/components/CommandPalette.cjs.js +1 -1
- package/dist/components/CommandPalette.es.js +1 -1
- package/dist/components/Comment.cjs.js +1 -1
- package/dist/components/Comment.es.js +1 -1
- package/dist/components/DataCodeSection.cjs.js +1 -1
- package/dist/components/DataCodeSection.es.js +1 -1
- package/dist/components/DataList.cjs.js +17 -15
- package/dist/components/DataList.cjs.js.map +1 -1
- package/dist/components/DataList.es.js +5 -4
- package/dist/components/DataList.es.js.map +1 -1
- package/dist/components/DataPanel.cjs.js +1 -1
- package/dist/components/DataPanel.es.js +1 -1
- package/dist/components/DateTimePicker.cjs.js +1 -1
- package/dist/components/DateTimePicker.es.js +1 -1
- package/dist/components/DateTimeRangePicker.cjs.js +1 -1
- package/dist/components/DateTimeRangePicker.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +2 -2
- package/dist/components/EnvironmentVariablesEditor.es.js +2 -2
- package/dist/components/Field.cjs.js +1 -1
- package/dist/components/Field.es.js +1 -1
- package/dist/components/FilterBar.cjs.js +2 -2
- package/dist/components/FilterBar.es.js +2 -2
- package/dist/components/JSONSchemaForm.cjs.js +1 -1
- package/dist/components/JSONSchemaForm.es.js +1 -1
- package/dist/components/Kbd.cjs.js +1 -1
- package/dist/components/Kbd.es.js +1 -1
- package/dist/components/ListSearch.cjs.js +1 -1
- package/dist/components/ListSearch.es.js +1 -1
- package/dist/components/LogsDataList.cjs.js +2 -5
- package/dist/components/LogsDataList.cjs.js.map +1 -1
- package/dist/components/LogsDataList.es.js +2 -5
- package/dist/components/LogsDataList.es.js.map +1 -1
- package/dist/components/PropertyFilter.cjs.js +1 -1
- package/dist/components/PropertyFilter.es.js +1 -1
- package/dist/components/SavedViews.cjs.js +1 -1
- package/dist/components/SavedViews.es.js +1 -1
- package/dist/components/SearchInput.cjs.js +1 -1
- package/dist/components/SearchInput.es.js +1 -1
- package/dist/components/Section.cjs.js +1 -1
- package/dist/components/Section.es.js +1 -1
- package/dist/components/SideDialog.cjs.js +1 -1
- package/dist/components/SideDialog.es.js +1 -1
- package/dist/components/Sidebar.cjs.js +63 -59
- package/dist/components/Sidebar.cjs.js.map +1 -1
- package/dist/components/Sidebar.es.js +64 -61
- package/dist/components/Sidebar.es.js.map +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/{data-code-section-BjyHoHEB.cjs → data-code-section-BsvdKW08.cjs} +2 -2
- package/dist/{data-code-section-BjyHoHEB.cjs.map → data-code-section-BsvdKW08.cjs.map} +1 -1
- package/dist/{data-code-section-BWzfg-1n.js → data-code-section-y1BMLr3c.js} +2 -2
- package/dist/{data-code-section-BWzfg-1n.js.map → data-code-section-y1BMLr3c.js.map} +1 -1
- package/dist/data-list-CNE43dvA.js +138 -0
- package/dist/data-list-CNE43dvA.js.map +1 -0
- package/dist/data-list-GysSTouz.cjs +142 -0
- package/dist/data-list-GysSTouz.cjs.map +1 -0
- package/dist/{data-list-skeleton-DY0F40WQ.cjs → data-list-skeleton-B4fWheXy.cjs} +6 -6
- package/dist/{data-list-skeleton-DY0F40WQ.cjs.map → data-list-skeleton-B4fWheXy.cjs.map} +1 -1
- package/dist/{data-list-skeleton-Drzrws2O.js → data-list-skeleton-DEsAkWzg.js} +2 -2
- package/dist/{data-list-skeleton-Drzrws2O.js.map → data-list-skeleton-DEsAkWzg.js.map} +1 -1
- package/dist/data-list-spacer-D8nS9lSi.cjs +218 -0
- package/dist/data-list-spacer-D8nS9lSi.cjs.map +1 -0
- package/dist/data-list-spacer-DyJPUaKa.js +209 -0
- package/dist/data-list-spacer-DyJPUaKa.js.map +1 -0
- package/dist/{data-list-DlXU1PLQ.cjs → data-list-top-Bh9IIrxB.cjs} +39 -342
- package/dist/data-list-top-Bh9IIrxB.cjs.map +1 -0
- package/dist/{data-list-DATsbxcn.js → data-list-top-Bx8mU5aQ.js} +30 -334
- package/dist/data-list-top-Bx8mU5aQ.js.map +1 -0
- package/dist/{data-panel-CUqcB4Vn.js → data-panel-DSgidnnv.js} +2 -2
- package/dist/{data-panel-CUqcB4Vn.js.map → data-panel-DSgidnnv.js.map} +1 -1
- package/dist/{data-panel-CGRPVnEe.cjs → data-panel-xqrai98b.cjs} +2 -2
- package/dist/{data-panel-CGRPVnEe.cjs.map → data-panel-xqrai98b.cjs.map} +1 -1
- package/dist/{date-time-range-picker-BB6ivHR-.js → date-time-range-picker-BnYWCqei.js} +2 -2
- package/dist/{date-time-range-picker-BB6ivHR-.js.map → date-time-range-picker-BnYWCqei.js.map} +1 -1
- package/dist/{date-time-range-picker-ExPgeHV_.cjs → date-time-range-picker-_2RJBOUn.cjs} +2 -2
- package/dist/{date-time-range-picker-ExPgeHV_.cjs.map → date-time-range-picker-_2RJBOUn.cjs.map} +1 -1
- package/dist/domains/chat/messages/dataset-save-action.cjs.js +1 -1
- package/dist/domains/chat/messages/dataset-save-action.es.js +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js +23 -3
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js.map +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.es.js +24 -6
- package/dist/domains/chat/messages/notification-signal-notice.es.js.map +1 -1
- package/dist/domains/chat/messages/signal-data.cjs.js +12 -0
- package/dist/domains/chat/messages/signal-data.cjs.js.map +1 -1
- package/dist/domains/chat/messages/signal-data.es.js +12 -1
- package/dist/domains/chat/messages/signal-data.es.js.map +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/workflow-badge.cjs.js +1 -2
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +1 -2
- package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
- package/dist/domains/chat.cjs.js +1 -0
- package/dist/domains/chat.cjs.js.map +1 -1
- package/dist/domains/chat.es.js +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js +20 -12
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js.map +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js +20 -12
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js.map +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.cjs.js +7 -8
- package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.cjs.js.map +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.es.js +7 -8
- package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.es.js.map +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.cjs.js +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.es.js +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.cjs.js +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.es.js +1 -1
- 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/save-as-dataset-item-dialog.cjs.js +2 -2
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +2 -2
- package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
- package/dist/domains/logs/components/log-data-panel.es.js +1 -1
- package/dist/domains/logs/components/logs-list-view.cjs.js +2 -3
- package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
- package/dist/domains/logs/components/logs-list-view.es.js +2 -3
- package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
- package/dist/domains/memory/components/observation-detail-view.cjs.js +1 -1
- package/dist/domains/memory/components/observation-detail-view.es.js +1 -1
- package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
- package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
- package/dist/domains/observability/components/trace-as-item-dialog.cjs.js +14 -2
- package/dist/domains/observability/components/trace-as-item-dialog.cjs.js.map +1 -1
- package/dist/domains/observability/components/trace-as-item-dialog.es.js +14 -2
- package/dist/domains/observability/components/trace-as-item-dialog.es.js.map +1 -1
- package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
- package/dist/domains/scores/components/score-data-panel.es.js +1 -1
- package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -2
- package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js +1 -2
- package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +1 -1
- package/dist/domains/traces/components/span-data-panel-view.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/trace-columns-menu.cjs.js +1 -1
- package/dist/domains/traces/components/trace-columns-menu.es.js +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +2 -2
- package/dist/domains/traces/components/trace-data-panel-view.es.js +2 -2
- package/dist/domains/traces/components/trace-data-panel.cjs.js +0 -2
- package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel.es.js +0 -2
- package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
- package/dist/domains/traces/components/trace-error-cell.cjs.js +1 -3
- package/dist/domains/traces/components/trace-error-cell.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-error-cell.es.js +1 -3
- package/dist/domains/traces/components/trace-error-cell.es.js.map +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-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-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
- package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +1 -1
- package/dist/domains/traces/components/traces-list-view.cjs.js +5 -4
- package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view.es.js +4 -3
- package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -4
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -4
- package/dist/domains/traces/components/traces-page-skeleton.es.js.map +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/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/workflow-debug-mode-switch.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +2 -2
- package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +2 -2
- package/dist/ee/signals/components/entity-index-list.cjs.js +1 -3
- package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
- package/dist/ee/signals/components/entity-index-list.es.js +1 -3
- package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +2 -4
- 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 +2 -4
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js +1 -0
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js.map +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.es.js +1 -0
- package/dist/ee/signals/trace-intelligence-explainer.es.js.map +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/{field-BCU5ZtWV.cjs → field-CZ5fldpM.cjs} +2 -1
- package/dist/{field-BCU5ZtWV.cjs.map → field-CZ5fldpM.cjs.map} +1 -1
- package/dist/{field-Dl1zeXTv.js → field-CfA5-ixH.js} +2 -1
- package/dist/{field-Dl1zeXTv.js.map → field-CfA5-ixH.js.map} +1 -1
- package/dist/{filter-bar-C6NdZctn.cjs → filter-bar-CjBb01b6.cjs} +3 -3
- package/dist/{filter-bar-C6NdZctn.cjs.map → filter-bar-CjBb01b6.cjs.map} +1 -1
- package/dist/{filter-bar-chip-DgvuQv6c.cjs → filter-bar-chip-C_64m7nX.cjs} +2 -2
- package/dist/{filter-bar-chip-DgvuQv6c.cjs.map → filter-bar-chip-C_64m7nX.cjs.map} +1 -1
- package/dist/{filter-bar-chip-DM73lTpx.js → filter-bar-chip-D2kKMSRA.js} +2 -2
- package/dist/{filter-bar-chip-DM73lTpx.js.map → filter-bar-chip-D2kKMSRA.js.map} +1 -1
- package/dist/{filter-bar-DW0fD4bu.js → filter-bar-pXSJt2ye.js} +3 -3
- package/dist/{filter-bar-DW0fD4bu.js.map → filter-bar-pXSJt2ye.js.map} +1 -1
- package/dist/{kbd-Xgv5HKEi.cjs → kbd-B2zbS_A6.cjs} +2 -2
- package/dist/{kbd-Xgv5HKEi.cjs.map → kbd-B2zbS_A6.cjs.map} +1 -1
- package/dist/{kbd-7Xx2pm9f.js → kbd-CYtMrOov.js} +2 -2
- package/dist/{kbd-7Xx2pm9f.js.map → kbd-CYtMrOov.js.map} +1 -1
- package/dist/layout/tabbed-container.cjs.js +2 -2
- package/dist/layout/tabbed-container.es.js +2 -2
- package/dist/lib/form/components/boolean-field.cjs.js +1 -1
- package/dist/lib/form/components/boolean-field.es.js +1 -1
- package/dist/lib/form/components/field-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/field-wrapper.es.js +1 -1
- package/dist/{list-search-ByJdIxIh.js → list-search-8jVOq9LK.js} +2 -2
- package/dist/{list-search-ByJdIxIh.js.map → list-search-8jVOq9LK.js.map} +1 -1
- package/dist/{list-search-DNJVeHmK.cjs → list-search-C7ckmZHa.cjs} +2 -2
- package/dist/{list-search-DNJVeHmK.cjs.map → list-search-C7ckmZHa.cjs.map} +1 -1
- package/dist/{logs-data-list-eoGKicgL.js → logs-data-list-C0MU5rID.js} +3 -2
- package/dist/{logs-data-list-eoGKicgL.js.map → logs-data-list-C0MU5rID.js.map} +1 -1
- package/dist/{logs-data-list-DEZuSjqt.cjs → logs-data-list-D3bYEiD_.cjs} +22 -21
- package/dist/{logs-data-list-DEZuSjqt.cjs.map → logs-data-list-D3bYEiD_.cjs.map} +1 -1
- package/dist/new/settings.cjs.js +1 -1
- package/dist/new/settings.es.js +1 -1
- package/dist/{notification-activity-BWXHmlTn.js → notification-activity-BRW1Xlj1.js} +9 -5
- package/dist/notification-activity-BRW1Xlj1.js.map +1 -0
- package/dist/{notification-activity-BSNuqJDd.cjs → notification-activity-DAZOALWI.cjs} +9 -5
- package/dist/notification-activity-DAZOALWI.cjs.map +1 -0
- package/dist/resize/collapsible-panel.cjs.js +1 -1
- package/dist/resize/collapsible-panel.es.js +1 -1
- package/dist/{search-input-CMNy0JWd.cjs → search-input-CGNENJDh.cjs} +2 -2
- package/dist/{search-input-CMNy0JWd.cjs.map → search-input-CGNENJDh.cjs.map} +1 -1
- package/dist/{search-input-C9qFBzn6.js → search-input-cIYk0pl3.js} +2 -2
- package/dist/{search-input-C9qFBzn6.js.map → search-input-cIYk0pl3.js.map} +1 -1
- package/dist/{section-skBYREaR.cjs → section-BikCyHdf.cjs} +2 -2
- package/dist/{section-skBYREaR.cjs.map → section-BikCyHdf.cjs.map} +1 -1
- package/dist/{section-eRs4NnCC.js → section-C71zDLKM.js} +2 -2
- package/dist/{section-eRs4NnCC.js.map → section-C71zDLKM.js.map} +1 -1
- package/dist/{settings-row-Ds-PVocx.cjs → settings-row-C9lT2BJS.cjs} +2 -2
- package/dist/{settings-row-Ds-PVocx.cjs.map → settings-row-C9lT2BJS.cjs.map} +1 -1
- package/dist/{settings-row-BHtjEfPr.js → settings-row-CRpU1an-.js} +2 -2
- package/dist/{settings-row-BHtjEfPr.js.map → settings-row-CRpU1an-.js.map} +1 -1
- package/dist/src/domains/chat/messages/notification-signal-notice.d.ts +2 -0
- package/dist/src/domains/chat/messages/signal-data.d.ts +9 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.d.ts +2 -2
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.d.ts +2 -0
- package/dist/src/ds/components/DataList/data-list-root.d.ts +2 -0
- package/dist/src/ds/components/Sidebar/header/sidebar-badge.d.ts +7 -0
- package/dist/src/ds/components/Sidebar/header/sidebar-button-hint.d.ts +7 -0
- package/dist/src/ds/components/Sidebar/header/sidebar-search-trigger.d.ts +14 -3
- package/dist/src/ds/components/Sidebar/index.d.ts +1 -0
- package/dist/src/ds/components/Sidebar/root/sidebar-trigger.d.ts +2 -2
- package/dist/src/ds/components/Sidebar/sidebar.d.ts +5 -1
- package/dist/src/ds/components/ai/activity/presets/notification-activity.d.ts +5 -1
- package/dist/style.css +25 -9
- package/dist/{traces-data-list-CcxqCHkj.js → traces-data-list-CZSWoHpd.js} +4 -2
- package/dist/{traces-data-list-CcxqCHkj.js.map → traces-data-list-CZSWoHpd.js.map} +1 -1
- package/dist/{traces-data-list-mCKFilYu.cjs → traces-data-list-CqQ5d-M1.cjs} +20 -18
- package/dist/{traces-data-list-mCKFilYu.cjs.map → traces-data-list-CqQ5d-M1.cjs.map} +1 -1
- package/package.json +6 -6
- package/dist/data-list-DATsbxcn.js.map +0 -1
- package/dist/data-list-DlXU1PLQ.cjs.map +0 -1
- package/dist/notification-activity-BSNuqJDd.cjs.map +0 -1
- package/dist/notification-activity-BWXHmlTn.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-intelligence-entity-index.es.js","sources":["../../../../src/ee/signals/components/trace-intelligence-entity-index.tsx"],"sourcesContent":["import type { SignalCatalogEntry, ThemeLearningEntity } from '@mastra/client-js';\nimport { Columns2, List } from 'lucide-react';\nimport { useState } from 'react';\nimport type { ReactNode } from 'react';\n\nimport { useThemeEntities } from '../hooks';\nimport { TraceSignalSettingsButton, TraceSignalSettingsPanel } from '../settings/trace-signal-settings';\nimport { TraceIntelligenceExplainer } from '../trace-intelligence-explainer';\nimport { useTraceIntelligence } from '../use-trace-intelligence';\nimport { EntityIndexCompactGrid } from './entity-index-compact-grid';\nimport { EntityIndexList } from './entity-index-list';\nimport { filterAndSortEntities } from './entity-index-model';\nimport type { TraceIntelligenceEntitySort, TraceIntelligenceEntityView } from './entity-index-model';\nimport { PermissionDenied } from '@/domains/auth/components/permission-denied';\nimport { SessionExpired } from '@/domains/auth/components/session-expired';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { DataListSkeleton } from '@/ds/components/DataList';\nimport { EmptyState } from '@/ds/components/EmptyState';\nimport { ListSearch } from '@/ds/components/ListSearch';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select';\nimport { is401UnauthorizedError, is403ForbiddenError } from '@/utils/errors';\n\nexport type { TraceIntelligenceEntitySort, TraceIntelligenceEntityView } from './entity-index-model';\n\nconst listColumns = 'minmax(12rem,1.5fr) minmax(7rem,0.6fr) minmax(8rem,0.7fr) minmax(8rem,0.7fr) minmax(12rem,1fr)';\n\nexport interface TraceIntelligenceEntityIndexProps {\n entityType: string;\n search: string;\n sort: TraceIntelligenceEntitySort;\n view: TraceIntelligenceEntityView;\n onSearchChange: (search: string) => void;\n onSortChange: (sort: TraceIntelligenceEntitySort) => void;\n onViewChange: (view: TraceIntelligenceEntityView) => void;\n getEntityHref: (entity: ThemeLearningEntity) => string;\n headerAction?: ReactNode;\n}\n\nfunction EntityIndexError({ error }: { error: Error }) {\n if (is401UnauthorizedError(error)) {\n return (\n <div className=\"flex h-full items-center justify-center\">\n <SessionExpired />\n </div>\n );\n }\n if (is403ForbiddenError(error)) {\n return (\n <div className=\"flex h-full items-center justify-center\">\n <PermissionDenied resource=\"Trace Intelligence\" />\n </div>\n );\n }\n return (\n <div className=\"flex h-full items-center justify-center\">\n <EmptyState tone=\"error\" titleSlot=\"Failed to load Trace Intelligence\" descriptionSlot={error.message} />\n </div>\n );\n}\n\nfunction EntityIndexControls({\n search,\n sort,\n view,\n onSearchChange,\n onSortChange,\n onViewChange,\n headerAction,\n signalCatalog,\n}: Pick<\n TraceIntelligenceEntityIndexProps,\n 'search' | 'sort' | 'view' | 'onSearchChange' | 'onSortChange' | 'onViewChange' | 'headerAction'\n> & { signalCatalog: readonly SignalCatalogEntry[] }) {\n return (\n <div className=\"flex flex-col gap-3 sm:flex-row sm:items-center\">\n <div className=\"max-w-120 flex-1\">\n <ListSearch\n value={search}\n onSearch={onSearchChange}\n label=\"Filter agents\"\n placeholder=\"Filter by agent identifier\"\n />\n </div>\n <div className=\"flex items-center justify-between gap-2 sm:ml-auto sm:justify-end\">\n <TraceIntelligenceExplainer signalCatalog={signalCatalog} />\n <Select<TraceIntelligenceEntitySort> value={sort} onValueChange={onSortChange}>\n <SelectTrigger aria-label=\"Sort agents\" size=\"md\" variant=\"ghost\" className=\"w-auto\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent align=\"end\">\n <SelectItem value=\"default\">Default order</SelectItem>\n <SelectItem value=\"entity-asc\">Agent: A–Z</SelectItem>\n <SelectItem value=\"entity-desc\">Agent: Z–A</SelectItem>\n </SelectContent>\n </Select>\n {headerAction}\n <ButtonsGroup aria-label=\"Agents view\">\n <Button\n type=\"button\"\n variant={view === 'list' ? 'primary' : 'default'}\n size=\"icon-md\"\n tooltip=\"List view\"\n aria-pressed={view === 'list'}\n onClick={() => onViewChange('list')}\n >\n <List />\n </Button>\n <Button\n type=\"button\"\n variant={view === 'compact' ? 'primary' : 'default'}\n size=\"icon-md\"\n tooltip=\"Compact view\"\n aria-pressed={view === 'compact'}\n onClick={() => onViewChange('compact')}\n >\n <Columns2 />\n </Button>\n </ButtonsGroup>\n </div>\n </div>\n );\n}\n\nexport function TraceIntelligenceEntityIndex({\n entityType,\n search,\n sort,\n view,\n onSearchChange,\n onSortChange,\n onViewChange,\n getEntityHref,\n headerAction,\n}: TraceIntelligenceEntityIndexProps) {\n const entitiesQuery = useThemeEntities(entityType);\n const { LinkComponent, signalCatalog: contextSignalCatalog, signalManagement } = useTraceIntelligence();\n const [settingsOpen, setSettingsOpen] = useState(false);\n\n if (entitiesQuery.error) return <EntityIndexError error={entitiesQuery.error} />;\n\n const sourceEntities = entitiesQuery.data?.entities ?? [];\n const signalCatalog =\n sourceEntities.find(entity => entity.signalCatalog?.length)?.signalCatalog ?? contextSignalCatalog;\n const entities = filterAndSortEntities(sourceEntities, search, sort);\n const hasSearch = search.trim().length > 0;\n let body = (\n <EntityIndexList\n entities={entities}\n hasSearch={hasSearch}\n getEntityHref={getEntityHref}\n LinkComponent={LinkComponent}\n />\n );\n if (entitiesQuery.isPending) {\n body = (\n <div role=\"status\" aria-label=\"Loading Trace Intelligence agents\">\n <DataListSkeleton columns={listColumns} />\n </div>\n );\n } else if (entitiesQuery.data.entities.length === 0 && !hasSearch) {\n body = (\n <EmptyState\n titleSlot=\"No Trace Intelligence agents yet\"\n descriptionSlot=\"Agents appear after Trace Intelligence begins collecting generated signal data.\"\n />\n );\n } else if (view === 'compact') {\n body = (\n <EntityIndexCompactGrid\n entities={entities}\n hasSearch={hasSearch}\n getEntityHref={getEntityHref}\n LinkComponent={LinkComponent}\n />\n );\n }\n\n return (\n <div className=\"mx-auto grid size-full min-h-0 max-w-7xl grid-rows-[auto_minmax(0,1fr)]\">\n <div className=\"pb-3\">\n <EntityIndexControls\n search={search}\n sort={sort}\n view={view}\n onSearchChange={onSearchChange}\n onSortChange={onSortChange}\n onViewChange={onViewChange}\n signalCatalog={signalCatalog}\n headerAction={\n headerAction || signalManagement ? (\n <>\n {headerAction}\n {signalManagement ? (\n <TraceSignalSettingsButton open={settingsOpen} onClick={() => setSettingsOpen(open => !open)} />\n ) : null}\n </>\n ) : undefined\n }\n />\n </div>\n <div\n className={\n settingsOpen\n ? 'grid max-h-full min-h-0 grid-cols-1 items-start gap-4 lg:grid-cols-[1fr_1fr]'\n : 'grid min-h-0 grid-cols-1'\n }\n >\n <div className=\"min-h-0 min-w-0\">{body}</div>\n {settingsOpen ? <TraceSignalSettingsPanel onClose={() => setSettingsOpen(false)} /> : null}\n </div>\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trace-intelligence-entity-index.es.js","sources":["../../../../src/ee/signals/components/trace-intelligence-entity-index.tsx"],"sourcesContent":["import type { SignalCatalogEntry, ThemeLearningEntity } from '@mastra/client-js';\nimport { Columns2, List } from 'lucide-react';\nimport { useState } from 'react';\nimport type { ReactNode } from 'react';\n\nimport { useThemeEntities } from '../hooks';\nimport { TraceSignalSettingsButton, TraceSignalSettingsPanel } from '../settings/trace-signal-settings';\nimport { TraceIntelligenceExplainer } from '../trace-intelligence-explainer';\nimport { useTraceIntelligence } from '../use-trace-intelligence';\nimport { EntityIndexCompactGrid } from './entity-index-compact-grid';\nimport { EntityIndexList } from './entity-index-list';\nimport { filterAndSortEntities } from './entity-index-model';\nimport type { TraceIntelligenceEntitySort, TraceIntelligenceEntityView } from './entity-index-model';\nimport { PermissionDenied } from '@/domains/auth/components/permission-denied';\nimport { SessionExpired } from '@/domains/auth/components/session-expired';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { DataListSkeleton } from '@/ds/components/DataList';\nimport { EmptyState } from '@/ds/components/EmptyState';\nimport { ListSearch } from '@/ds/components/ListSearch';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select';\nimport { is401UnauthorizedError, is403ForbiddenError } from '@/utils/errors';\n\nexport type { TraceIntelligenceEntitySort, TraceIntelligenceEntityView } from './entity-index-model';\n\nconst listColumns = 'minmax(12rem,1.5fr) minmax(7rem,0.6fr) minmax(8rem,0.7fr) minmax(8rem,0.7fr) minmax(12rem,1fr)';\n\nexport interface TraceIntelligenceEntityIndexProps {\n entityType: string;\n search: string;\n sort: TraceIntelligenceEntitySort;\n view: TraceIntelligenceEntityView;\n onSearchChange: (search: string) => void;\n onSortChange: (sort: TraceIntelligenceEntitySort) => void;\n onViewChange: (view: TraceIntelligenceEntityView) => void;\n getEntityHref: (entity: ThemeLearningEntity) => string;\n headerAction?: ReactNode;\n}\n\nfunction EntityIndexError({ error }: { error: Error }) {\n if (is401UnauthorizedError(error)) {\n return (\n <div className=\"flex h-full items-center justify-center\">\n <SessionExpired />\n </div>\n );\n }\n if (is403ForbiddenError(error)) {\n return (\n <div className=\"flex h-full items-center justify-center\">\n <PermissionDenied resource=\"Trace Intelligence\" />\n </div>\n );\n }\n return (\n <div className=\"flex h-full items-center justify-center\">\n <EmptyState tone=\"error\" titleSlot=\"Failed to load Trace Intelligence\" descriptionSlot={error.message} />\n </div>\n );\n}\n\nfunction EntityIndexControls({\n search,\n sort,\n view,\n onSearchChange,\n onSortChange,\n onViewChange,\n headerAction,\n signalCatalog,\n}: Pick<\n TraceIntelligenceEntityIndexProps,\n 'search' | 'sort' | 'view' | 'onSearchChange' | 'onSortChange' | 'onViewChange' | 'headerAction'\n> & { signalCatalog: readonly SignalCatalogEntry[] }) {\n return (\n <div className=\"flex flex-col gap-3 sm:flex-row sm:items-center\">\n <div className=\"max-w-120 flex-1\">\n <ListSearch\n value={search}\n onSearch={onSearchChange}\n label=\"Filter agents\"\n placeholder=\"Filter by agent identifier\"\n />\n </div>\n <div className=\"flex items-center justify-between gap-2 sm:ml-auto sm:justify-end\">\n <TraceIntelligenceExplainer signalCatalog={signalCatalog} />\n <Select<TraceIntelligenceEntitySort> value={sort} onValueChange={onSortChange}>\n <SelectTrigger aria-label=\"Sort agents\" size=\"md\" variant=\"ghost\" className=\"w-auto\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent align=\"end\">\n <SelectItem value=\"default\">Default order</SelectItem>\n <SelectItem value=\"entity-asc\">Agent: A–Z</SelectItem>\n <SelectItem value=\"entity-desc\">Agent: Z–A</SelectItem>\n </SelectContent>\n </Select>\n {headerAction}\n <ButtonsGroup aria-label=\"Agents view\">\n <Button\n type=\"button\"\n variant={view === 'list' ? 'primary' : 'default'}\n size=\"icon-md\"\n tooltip=\"List view\"\n aria-pressed={view === 'list'}\n onClick={() => onViewChange('list')}\n >\n <List />\n </Button>\n <Button\n type=\"button\"\n variant={view === 'compact' ? 'primary' : 'default'}\n size=\"icon-md\"\n tooltip=\"Compact view\"\n aria-pressed={view === 'compact'}\n onClick={() => onViewChange('compact')}\n >\n <Columns2 />\n </Button>\n </ButtonsGroup>\n </div>\n </div>\n );\n}\n\nexport function TraceIntelligenceEntityIndex({\n entityType,\n search,\n sort,\n view,\n onSearchChange,\n onSortChange,\n onViewChange,\n getEntityHref,\n headerAction,\n}: TraceIntelligenceEntityIndexProps) {\n const entitiesQuery = useThemeEntities(entityType);\n const { LinkComponent, signalCatalog: contextSignalCatalog, signalManagement } = useTraceIntelligence();\n const [settingsOpen, setSettingsOpen] = useState(false);\n\n if (entitiesQuery.error) return <EntityIndexError error={entitiesQuery.error} />;\n\n const sourceEntities = entitiesQuery.data?.entities ?? [];\n const signalCatalog =\n sourceEntities.find(entity => entity.signalCatalog?.length)?.signalCatalog ?? contextSignalCatalog;\n const entities = filterAndSortEntities(sourceEntities, search, sort);\n const hasSearch = search.trim().length > 0;\n let body = (\n <EntityIndexList\n entities={entities}\n hasSearch={hasSearch}\n getEntityHref={getEntityHref}\n LinkComponent={LinkComponent}\n />\n );\n if (entitiesQuery.isPending) {\n body = (\n <div role=\"status\" aria-label=\"Loading Trace Intelligence agents\">\n <DataListSkeleton columns={listColumns} />\n </div>\n );\n } else if (entitiesQuery.data.entities.length === 0 && !hasSearch) {\n body = (\n <EmptyState\n titleSlot=\"No Trace Intelligence agents yet\"\n descriptionSlot=\"Agents appear after Trace Intelligence begins collecting generated signal data.\"\n />\n );\n } else if (view === 'compact') {\n body = (\n <EntityIndexCompactGrid\n entities={entities}\n hasSearch={hasSearch}\n getEntityHref={getEntityHref}\n LinkComponent={LinkComponent}\n />\n );\n }\n\n return (\n <div className=\"mx-auto grid size-full min-h-0 max-w-7xl grid-rows-[auto_minmax(0,1fr)]\">\n <div className=\"pb-3\">\n <EntityIndexControls\n search={search}\n sort={sort}\n view={view}\n onSearchChange={onSearchChange}\n onSortChange={onSortChange}\n onViewChange={onViewChange}\n signalCatalog={signalCatalog}\n headerAction={\n headerAction || signalManagement ? (\n <>\n {headerAction}\n {signalManagement ? (\n <TraceSignalSettingsButton open={settingsOpen} onClick={() => setSettingsOpen(open => !open)} />\n ) : null}\n </>\n ) : undefined\n }\n />\n </div>\n <div\n className={\n settingsOpen\n ? 'grid max-h-full min-h-0 grid-cols-1 items-start gap-4 lg:grid-cols-[1fr_1fr]'\n : 'grid min-h-0 grid-cols-1'\n }\n >\n <div className=\"min-h-0 min-w-0\">{body}</div>\n {settingsOpen ? <TraceSignalSettingsPanel onClose={() => setSettingsOpen(false)} /> : null}\n </div>\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
const React = require('react');
|
|
7
7
|
const dialog = require('../../../dialog-SSeOqRnH.cjs');
|
|
8
|
-
const field = require('../../../field-
|
|
8
|
+
const field = require('../../../field-CZ5fldpM.cjs');
|
|
9
9
|
require('../../../field-control-aria-WzMGs0A4.cjs');
|
|
10
10
|
const form = require('../../../form-Cw-n1rd9.cjs');
|
|
11
11
|
const input = require('../../../input-4_GFK4ik.cjs');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { useId, useState } from 'react';
|
|
3
3
|
import { D as Dialog, d as DialogContent, g as DialogHeader, j as DialogTitle, e as DialogDescription, a as DialogBody, f as DialogFooter, b as DialogCancel } from '../../../dialog-AzCRnEo3.js';
|
|
4
|
-
import { F as Field, e as FieldLabel, b as FieldDescription, c as FieldError } from '../../../field-
|
|
4
|
+
import { F as Field, e as FieldLabel, b as FieldDescription, c as FieldError } from '../../../field-CfA5-ixH.js';
|
|
5
5
|
import '../../../field-control-aria-DB6y41tQ.js';
|
|
6
6
|
import { F as Form } from '../../../form-CMfC7JKB.js';
|
|
7
7
|
import { I as Input } from '../../../input-_gvb6P8T.js';
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
const ee_signals_signalColors = require('./signal-colors.cjs.js');
|
|
7
7
|
const ee_signals_signalFormatting = require('./signal-formatting.cjs.js');
|
|
8
|
+
require('../../tooltip-BppwIf6Y.cjs');
|
|
8
9
|
const infoTooltip = require('../../info-tooltip-BccK1FsN.cjs');
|
|
9
10
|
const Txt = require('../../Txt-CIS2G5Jx.cjs');
|
|
10
11
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-intelligence-explainer.cjs.js","sources":["../../../src/ee/signals/trace-intelligence-explainer.tsx"],"sourcesContent":["import type { SignalCatalogEntry } from '@mastra/client-js';\nimport { getSignalColor } from './signal-colors';\nimport { orderedSignals, signalDescription, signalLabel } from './signal-formatting';\nimport { InfoTooltip } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\n\n/** Info tooltip for first-time viewers: signals → themes → snapshots. */\nexport function TraceIntelligenceExplainer({ signalCatalog }: { signalCatalog: readonly SignalCatalogEntry[] }) {\n const enabledSignals = orderedSignals(\n signalCatalog,\n signalCatalog.filter(signal => signal.enabled).map(signal => signal.name),\n );\n return (\n <InfoTooltip aria-label=\"What is trace intelligence?\" contentClassName=\"max-w-sm space-y-3 p-4\">\n <p className=\"text-foreground\">\n Every trace is analyzed for {enabledSignals.length === 4 ? 'four' : enabledSignals.length}{' '}\n {enabledSignals.length === 1 ? 'signal' : 'signals'}, and traces with similar signals are clustered into named\n themes.\n </p>\n <ul className=\"space-y-1.5\">\n {enabledSignals.map(signalName => (\n <li key={signalName} className=\"text-muted-foreground\">\n <Txt\n as=\"span\"\n variant=\"meta\"\n\n className=\"uppercase\"\n style={{ color: getSignalColor(signalName) }}\n >\n {signalLabel(signalCatalog, signalName)}\n </Txt>{' '}\n — {signalDescription(signalCatalog, signalName)}\n </li>\n ))}\n </ul>\n <p className=\"text-muted-foreground\">\n Snapshots capture the themes at points in time, so the views show how they appear, grow, and fade.\n </p>\n </InfoTooltip>\n );\n}\n"],"names":["orderedSignals","jsxs","InfoTooltip","jsx","Txt","getSignalColor","signalLabel","signalDescription"],"mappings":"
|
|
1
|
+
{"version":3,"file":"trace-intelligence-explainer.cjs.js","sources":["../../../src/ee/signals/trace-intelligence-explainer.tsx"],"sourcesContent":["import type { SignalCatalogEntry } from '@mastra/client-js';\nimport { getSignalColor } from './signal-colors';\nimport { orderedSignals, signalDescription, signalLabel } from './signal-formatting';\nimport { InfoTooltip } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\n\n/** Info tooltip for first-time viewers: signals → themes → snapshots. */\nexport function TraceIntelligenceExplainer({ signalCatalog }: { signalCatalog: readonly SignalCatalogEntry[] }) {\n const enabledSignals = orderedSignals(\n signalCatalog,\n signalCatalog.filter(signal => signal.enabled).map(signal => signal.name),\n );\n return (\n <InfoTooltip aria-label=\"What is trace intelligence?\" contentClassName=\"max-w-sm space-y-3 p-4\">\n <p className=\"text-foreground\">\n Every trace is analyzed for {enabledSignals.length === 4 ? 'four' : enabledSignals.length}{' '}\n {enabledSignals.length === 1 ? 'signal' : 'signals'}, and traces with similar signals are clustered into named\n themes.\n </p>\n <ul className=\"space-y-1.5\">\n {enabledSignals.map(signalName => (\n <li key={signalName} className=\"text-muted-foreground\">\n <Txt\n as=\"span\"\n variant=\"meta\"\n\n className=\"uppercase\"\n style={{ color: getSignalColor(signalName) }}\n >\n {signalLabel(signalCatalog, signalName)}\n </Txt>{' '}\n — {signalDescription(signalCatalog, signalName)}\n </li>\n ))}\n </ul>\n <p className=\"text-muted-foreground\">\n Snapshots capture the themes at points in time, so the views show how they appear, grow, and fade.\n </p>\n </InfoTooltip>\n );\n}\n"],"names":["orderedSignals","jsxs","InfoTooltip","jsx","Txt","getSignalColor","signalLabel","signalDescription"],"mappings":";;;;;;;;;;;AAOO,SAAS,0BAAA,CAA2B,EAAE,aAAA,EAAc,EAAqD;AAC9G,EAAA,MAAM,cAAA,GAAiBA,0CAAA;AAAA,IACrB,aAAA;AAAA,IACA,aAAA,CAAc,OAAO,CAAA,MAAA,KAAU,MAAA,CAAO,OAAO,CAAA,CAAE,GAAA,CAAI,CAAA,MAAA,KAAU,MAAA,CAAO,IAAI;AAAA,GAC1E;AACA,EAAA,uBACEC,eAAA,CAACC,uBAAA,EAAA,EAAY,YAAA,EAAW,6BAAA,EAA8B,kBAAiB,wBAAA,EACrE,QAAA,EAAA;AAAA,oBAAAD,eAAA,CAAC,GAAA,EAAA,EAAE,WAAU,iBAAA,EAAkB,QAAA,EAAA;AAAA,MAAA,8BAAA;AAAA,MACA,cAAA,CAAe,MAAA,KAAW,CAAA,GAAI,MAAA,GAAS,cAAA,CAAe,MAAA;AAAA,MAAQ,GAAA;AAAA,MAC1F,cAAA,CAAe,MAAA,KAAW,CAAA,GAAI,QAAA,GAAW,SAAA;AAAA,MAAU;AAAA,KAAA,EAEtD,CAAA;AAAA,oBACAE,cAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,aAAA,EACX,QAAA,EAAA,cAAA,CAAe,IAAI,CAAA,UAAA,qBAClBF,eAAA,CAAC,IAAA,EAAA,EAAoB,SAAA,EAAU,uBAAA,EAC7B,QAAA,EAAA;AAAA,sBAAAE,cAAA;AAAA,QAACC,OAAA;AAAA,QAAA;AAAA,UACC,EAAA,EAAG,MAAA;AAAA,UACH,OAAA,EAAQ,MAAA;AAAA,UAER,SAAA,EAAU,WAAA;AAAA,UACV,KAAA,EAAO,EAAE,KAAA,EAAOC,sCAAA,CAAe,UAAU,CAAA,EAAE;AAAA,UAE1C,QAAA,EAAAC,uCAAA,CAAY,eAAe,UAAU;AAAA;AAAA,OACxC;AAAA,MAAO,GAAA;AAAA,MAAI,IAAA;AAAA,MACRC,6CAAA,CAAkB,eAAe,UAAU;AAAA,KAAA,EAAA,EAVvC,UAWT,CACD,CAAA,EACH,CAAA;AAAA,oBACAJ,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,uBAAA,EAAwB,QAAA,EAAA,oGAAA,EAErC;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { getSignalColor } from './signal-colors.es.js';
|
|
3
3
|
import { orderedSignals, signalLabel, signalDescription } from './signal-formatting.es.js';
|
|
4
|
+
import '../../tooltip-DrsXZDAj.js';
|
|
4
5
|
import { I as InfoTooltip } from '../../info-tooltip-h5EdHQBW.js';
|
|
5
6
|
import { T as Txt } from '../../Txt-BtIGLRk1.js';
|
|
6
7
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-intelligence-explainer.es.js","sources":["../../../src/ee/signals/trace-intelligence-explainer.tsx"],"sourcesContent":["import type { SignalCatalogEntry } from '@mastra/client-js';\nimport { getSignalColor } from './signal-colors';\nimport { orderedSignals, signalDescription, signalLabel } from './signal-formatting';\nimport { InfoTooltip } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\n\n/** Info tooltip for first-time viewers: signals → themes → snapshots. */\nexport function TraceIntelligenceExplainer({ signalCatalog }: { signalCatalog: readonly SignalCatalogEntry[] }) {\n const enabledSignals = orderedSignals(\n signalCatalog,\n signalCatalog.filter(signal => signal.enabled).map(signal => signal.name),\n );\n return (\n <InfoTooltip aria-label=\"What is trace intelligence?\" contentClassName=\"max-w-sm space-y-3 p-4\">\n <p className=\"text-foreground\">\n Every trace is analyzed for {enabledSignals.length === 4 ? 'four' : enabledSignals.length}{' '}\n {enabledSignals.length === 1 ? 'signal' : 'signals'}, and traces with similar signals are clustered into named\n themes.\n </p>\n <ul className=\"space-y-1.5\">\n {enabledSignals.map(signalName => (\n <li key={signalName} className=\"text-muted-foreground\">\n <Txt\n as=\"span\"\n variant=\"meta\"\n\n className=\"uppercase\"\n style={{ color: getSignalColor(signalName) }}\n >\n {signalLabel(signalCatalog, signalName)}\n </Txt>{' '}\n — {signalDescription(signalCatalog, signalName)}\n </li>\n ))}\n </ul>\n <p className=\"text-muted-foreground\">\n Snapshots capture the themes at points in time, so the views show how they appear, grow, and fade.\n </p>\n </InfoTooltip>\n );\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"trace-intelligence-explainer.es.js","sources":["../../../src/ee/signals/trace-intelligence-explainer.tsx"],"sourcesContent":["import type { SignalCatalogEntry } from '@mastra/client-js';\nimport { getSignalColor } from './signal-colors';\nimport { orderedSignals, signalDescription, signalLabel } from './signal-formatting';\nimport { InfoTooltip } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\n\n/** Info tooltip for first-time viewers: signals → themes → snapshots. */\nexport function TraceIntelligenceExplainer({ signalCatalog }: { signalCatalog: readonly SignalCatalogEntry[] }) {\n const enabledSignals = orderedSignals(\n signalCatalog,\n signalCatalog.filter(signal => signal.enabled).map(signal => signal.name),\n );\n return (\n <InfoTooltip aria-label=\"What is trace intelligence?\" contentClassName=\"max-w-sm space-y-3 p-4\">\n <p className=\"text-foreground\">\n Every trace is analyzed for {enabledSignals.length === 4 ? 'four' : enabledSignals.length}{' '}\n {enabledSignals.length === 1 ? 'signal' : 'signals'}, and traces with similar signals are clustered into named\n themes.\n </p>\n <ul className=\"space-y-1.5\">\n {enabledSignals.map(signalName => (\n <li key={signalName} className=\"text-muted-foreground\">\n <Txt\n as=\"span\"\n variant=\"meta\"\n\n className=\"uppercase\"\n style={{ color: getSignalColor(signalName) }}\n >\n {signalLabel(signalCatalog, signalName)}\n </Txt>{' '}\n — {signalDescription(signalCatalog, signalName)}\n </li>\n ))}\n </ul>\n <p className=\"text-muted-foreground\">\n Snapshots capture the themes at points in time, so the views show how they appear, grow, and fade.\n </p>\n </InfoTooltip>\n );\n}\n"],"names":[],"mappings":";;;;;;;AAOO,SAAS,0BAAA,CAA2B,EAAE,aAAA,EAAc,EAAqD;AAC9G,EAAA,MAAM,cAAA,GAAiB,cAAA;AAAA,IACrB,aAAA;AAAA,IACA,aAAA,CAAc,OAAO,CAAA,MAAA,KAAU,MAAA,CAAO,OAAO,CAAA,CAAE,GAAA,CAAI,CAAA,MAAA,KAAU,MAAA,CAAO,IAAI;AAAA,GAC1E;AACA,EAAA,uBACE,IAAA,CAAC,WAAA,EAAA,EAAY,YAAA,EAAW,6BAAA,EAA8B,kBAAiB,wBAAA,EACrE,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,GAAA,EAAA,EAAE,WAAU,iBAAA,EAAkB,QAAA,EAAA;AAAA,MAAA,8BAAA;AAAA,MACA,cAAA,CAAe,MAAA,KAAW,CAAA,GAAI,MAAA,GAAS,cAAA,CAAe,MAAA;AAAA,MAAQ,GAAA;AAAA,MAC1F,cAAA,CAAe,MAAA,KAAW,CAAA,GAAI,QAAA,GAAW,SAAA;AAAA,MAAU;AAAA,KAAA,EAEtD,CAAA;AAAA,oBACA,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,aAAA,EACX,QAAA,EAAA,cAAA,CAAe,IAAI,CAAA,UAAA,qBAClB,IAAA,CAAC,IAAA,EAAA,EAAoB,SAAA,EAAU,uBAAA,EAC7B,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACC,EAAA,EAAG,MAAA;AAAA,UACH,OAAA,EAAQ,MAAA;AAAA,UAER,SAAA,EAAU,WAAA;AAAA,UACV,KAAA,EAAO,EAAE,KAAA,EAAO,cAAA,CAAe,UAAU,CAAA,EAAE;AAAA,UAE1C,QAAA,EAAA,WAAA,CAAY,eAAe,UAAU;AAAA;AAAA,OACxC;AAAA,MAAO,GAAA;AAAA,MAAI,IAAA;AAAA,MACR,iBAAA,CAAkB,eAAe,UAAU;AAAA,KAAA,EAAA,EAVvC,UAWT,CACD,CAAA,EACH,CAAA;AAAA,oBACA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,uBAAA,EAAwB,QAAA,EAAA,oGAAA,EAErC;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -7,9 +7,9 @@ const lucideReact = require('lucide-react');
|
|
|
7
7
|
const React = require('react');
|
|
8
8
|
const ee_topics_utils = require('../utils.cjs.js');
|
|
9
9
|
const Button = require('../../../Button-C4I05uT4.cjs');
|
|
10
|
-
const dataList = require('../../../data-list-
|
|
10
|
+
const dataList = require('../../../data-list-GysSTouz.cjs');
|
|
11
11
|
const useDataListKeyboard = require('../../../use-data-list-keyboard-DF3tLe10.cjs');
|
|
12
|
-
const searchInput = require('../../../search-input-
|
|
12
|
+
const searchInput = require('../../../search-input-CGNENJDh.cjs');
|
|
13
13
|
|
|
14
14
|
function TopicTraceSummaryList({
|
|
15
15
|
traces,
|
|
@@ -3,9 +3,9 @@ import { ChevronDown } from 'lucide-react';
|
|
|
3
3
|
import { useState, useMemo } from 'react';
|
|
4
4
|
import { getVisibleTraceSummaries } from '../utils.es.js';
|
|
5
5
|
import { B as Button } from '../../../Button-D8a5EWJ5.js';
|
|
6
|
-
import {
|
|
6
|
+
import { D as DataList } from '../../../data-list-CNE43dvA.js';
|
|
7
7
|
import { u as useDataListKeyboard } from '../../../use-data-list-keyboard-DFQr4t38.js';
|
|
8
|
-
import { S as SearchInput } from '../../../search-input-
|
|
8
|
+
import { S as SearchInput } from '../../../search-input-cIYk0pl3.js';
|
|
9
9
|
|
|
10
10
|
function TopicTraceSummaryList({
|
|
11
11
|
traces,
|
|
@@ -6,6 +6,7 @@ const fieldset = require('@base-ui/react/fieldset');
|
|
|
6
6
|
const lucideReact = require('lucide-react');
|
|
7
7
|
const React = require('react');
|
|
8
8
|
const fieldControlAria = require('./field-control-aria-WzMGs0A4.cjs');
|
|
9
|
+
require('./tooltip-BppwIf6Y.cjs');
|
|
9
10
|
const infoTooltip = require('./info-tooltip-BccK1FsN.cjs');
|
|
10
11
|
const icons_Icon = require('./icons/Icon.cjs.js');
|
|
11
12
|
const utils_cn = require('./cn-DlOJCxrS.cjs');
|
|
@@ -237,4 +238,4 @@ exports.FieldItem = FieldItem;
|
|
|
237
238
|
exports.FieldLabel = FieldLabel;
|
|
238
239
|
exports.Fieldset = Fieldset;
|
|
239
240
|
exports.FieldsetLegend = FieldsetLegend;
|
|
240
|
-
//# sourceMappingURL=field-
|
|
241
|
+
//# sourceMappingURL=field-CZ5fldpM.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-BCU5ZtWV.cjs","sources":["../src/ds/components/Field/field.tsx"],"sourcesContent":["import { Field as FieldPrimitive } from '@base-ui/react/field';\nimport { Fieldset as FieldsetPrimitive } from '@base-ui/react/fieldset';\nimport { CircleAlertIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { FieldAriaContext, useFieldAriaIds } from './field-control-aria';\nimport { InfoTooltip } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { cn } from '@/lib/utils';\n\ntype FieldProps = Omit<FieldPrimitive.Root.Props, 'className'> & {\n className?: string;\n orientation?: 'vertical' | 'horizontal' | 'responsive';\n};\n\nconst orientationClassName = {\n vertical: 'grid gap-2',\n horizontal:\n 'flex items-center gap-2 has-[>[data-slot=field-label]:first-child,>[data-slot=field-label-row]:first-child]:justify-between',\n responsive: 'flex flex-col gap-2 sm:flex-row sm:items-center',\n} satisfies Record<NonNullable<FieldProps['orientation']>, string>;\n\nfunction Field({ className, orientation = 'vertical', invalid = false, ...props }: FieldProps) {\n const id = React.useId();\n const [hasDescription, setHasDescription] = React.useState(false);\n const ariaIds = React.useMemo(\n () => ({\n labelId: `${id}-label`,\n descriptionId: `${id}-description`,\n errorId: `${id}-error`,\n controlId: `${id}-control`,\n invalid,\n hasDescription,\n setHasDescription,\n }),\n [id, invalid, hasDescription],\n );\n\n return (\n <FieldAriaContext.Provider value={ariaIds}>\n <FieldPrimitive.Root\n invalid={invalid}\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn('min-w-0 text-foreground', orientationClassName[orientation], className)}\n {...props}\n />\n </FieldAriaContext.Provider>\n );\n}\n\ntype FieldContentProps = React.ComponentProps<'div'>;\n\nfunction FieldContent({ className, ...props }: FieldContentProps) {\n return <div data-slot=\"field-content\" className={cn('grid min-w-0 flex-1 gap-2', className)} {...props} />;\n}\n\ntype FieldItemProps = Omit<FieldPrimitive.Item.Props, 'className'> & {\n className?: string;\n};\n\nfunction FieldItem({ className, ...props }: FieldItemProps) {\n const isInsideField = useFieldAriaIds() !== null;\n const ItemScope = isInsideField ? FieldPrimitive.Item : FieldPrimitive.Root;\n\n return (\n <FieldAriaContext.Provider value={null}>\n <ItemScope data-slot=\"field-item\" className={cn('flex min-w-0 items-center gap-2', className)} {...props} />\n </FieldAriaContext.Provider>\n );\n}\n\nfunction RequiredMark() {\n return (\n <>\n <span aria-hidden className=\"ml-0.5 text-destructive-foreground in-data-disabled:text-muted-foreground\">\n *\n </span>{' '}\n <span className=\"sr-only\">(required)</span>\n </>\n );\n}\n\ntype FieldLabelProps = Omit<FieldPrimitive.Label.Props, 'className' | 'id'> & {\n className?: string;\n required?: boolean;\n size?: 'smaller' | 'default' | 'bigger';\n /** What the field is for, shown in a tooltip on a muted info icon after the label. */\n info?: React.ReactNode;\n};\n\n/** The label's plain text (`{name} (JSON)` included), or undefined when it holds elements. */\nfunction plainText(node: React.ReactNode) {\n const parts = React.Children.toArray(node);\n if (!parts.every(part => typeof part === 'string' || typeof part === 'number')) return undefined;\n return parts.join('');\n}\n\n/** How the info icon is named: \"About <label>\", from the label's text or, for a label with elements, the label itself. */\nfunction infoTooltipName({ label, labelId, aboutId }: { label: React.ReactNode; labelId?: string; aboutId: string }) {\n const labelText = plainText(label);\n if (labelText) return { 'aria-label': `About ${labelText}` };\n if (labelId) return { 'aria-labelledby': `${aboutId} ${labelId}` };\n return { 'aria-label': 'About this field' };\n}\n\n/** The info icon after a label. Outside the `<label>`, so hovering or clicking it never focuses the field. */\nfunction FieldLabelInfo({\n children,\n label,\n labelId,\n}: {\n children: React.ReactNode;\n label: React.ReactNode;\n labelId?: string;\n}) {\n const aboutId = React.useId();\n const name = infoTooltipName({ label, labelId, aboutId });\n const isNamedByLabel = 'aria-labelledby' in name;\n\n return (\n <>\n <InfoTooltip {...name}>{children}</InfoTooltip>\n {isNamedByLabel ? (\n <span id={aboutId} hidden>\n About\n </span>\n ) : null}\n </>\n );\n}\n\nfunction FieldLabel({\n className,\n required = false,\n size = 'default',\n info,\n children,\n onClick,\n ...props\n}: FieldLabelProps) {\n const field = useFieldAriaIds();\n\n const focusManualControl: FieldLabelProps['onClick'] = event => {\n onClick?.(event);\n if (!field || event.defaultPrevented) return;\n event.currentTarget.ownerDocument.getElementById(field.controlId)?.focus();\n };\n\n const label = (\n <FieldPrimitive.Label\n id={field?.labelId}\n data-slot=\"field-label\"\n className={cn(\n 'inline-flex shrink-0 items-center text-label text-foreground data-disabled:text-muted-foreground',\n // Only the text is clickable, not the empty width beside it. A label that wraps its\n // checkbox, switch or radio is a row target, so it keeps stretching. Zero specificity, so a\n // width from `className` (`sr-only`, `w-24`) still wins.\n '[:where(&:not(:has([role=checkbox],[role=switch],[role=radio])))]:w-fit',\n 'not-data-disabled:has-[[role=checkbox],[role=switch],[role=radio]]:cursor-pointer',\n 'not-data-disabled:[:is([data-slot=field],[data-slot=field-item]):has(>[role=checkbox],>[role=switch],>[role=radio])_&]:cursor-pointer',\n 'data-disabled:cursor-not-allowed',\n size === 'smaller' && 'text-column',\n size === 'bigger' && 'text-body',\n className,\n )}\n onClick={focusManualControl}\n {...props}\n >\n {children}\n {required ? <RequiredMark /> : null}\n </FieldPrimitive.Label>\n );\n\n if (!info) return label;\n return (\n <span data-slot=\"field-label-row\" className=\"flex w-fit items-center gap-1\">\n {label}\n <FieldLabelInfo label={children} labelId={field?.labelId}>\n {info}\n </FieldLabelInfo>\n </span>\n );\n}\n\ntype FieldDescriptionProps = Omit<FieldPrimitive.Description.Props, 'className' | 'id'> & {\n className?: string;\n};\n\nfunction FieldDescription({ className, ...props }: FieldDescriptionProps) {\n const field = useFieldAriaIds();\n const setHasDescription = field?.setHasDescription;\n\n React.useEffect(() => {\n if (!setHasDescription) return;\n setHasDescription(true);\n return () => setHasDescription(false);\n }, [setHasDescription]);\n\n return (\n <FieldPrimitive.Description\n id={field?.descriptionId}\n data-slot=\"field-description\"\n className={cn('-mt-1 text-caption text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\ntype FieldErrorProps = Omit<FieldPrimitive.Error.Props, 'className' | 'match' | 'render'> & {\n className?: string;\n};\n\nconst fieldErrorClassName = '-mt-1 flex gap-1 text-body-sm text-destructive-foreground';\n\nfunction FieldErrorIcon() {\n return (\n <Icon size=\"xs\" className=\"mt-1 shrink-0\" aria-hidden>\n <CircleAlertIcon />\n </Icon>\n );\n}\n\nfunction FieldError({ className, children, ...props }: FieldErrorProps) {\n const field = useFieldAriaIds();\n\n if (children) {\n return (\n <FieldPrimitive.Error\n key=\"external\"\n id={field?.errorId}\n match\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(fieldErrorClassName, className)}\n {...props}\n >\n <FieldErrorIcon />\n <span className=\"min-w-0\">{children}</span>\n </FieldPrimitive.Error>\n );\n }\n\n return (\n <FieldPrimitive.Error\n key=\"native\"\n id={field?.errorId}\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(fieldErrorClassName, className)}\n {...props}\n render={({ children: message, ...errorProps }) => (\n <div {...errorProps}>\n <FieldErrorIcon />\n <span className=\"min-w-0\">{message}</span>\n </div>\n )}\n />\n );\n}\n\ntype FieldsetProps = Omit<FieldsetPrimitive.Root.Props, 'className'> & {\n className?: string;\n};\n\nfunction Fieldset({ className, ...props }: FieldsetProps) {\n return (\n <FieldsetPrimitive.Root\n data-slot=\"fieldset\"\n className={cn('m-0 grid min-w-0 gap-3 border-0 p-0', className)}\n {...props}\n />\n );\n}\n\ntype FieldsetLegendProps = Omit<FieldsetPrimitive.Legend.Props, 'className'> & {\n className?: string;\n required?: boolean;\n};\n\nfunction FieldsetLegend({ className, required = false, children, ...props }: FieldsetLegendProps) {\n return (\n <FieldsetPrimitive.Legend\n data-slot=\"fieldset-legend\"\n className={cn('text-label text-foreground data-disabled:text-muted-foreground', className)}\n {...props}\n >\n {children}\n {required ? <RequiredMark /> : null}\n </FieldsetPrimitive.Legend>\n );\n}\n\nexport { Field, FieldContent, FieldItem, FieldLabel, FieldDescription, FieldError, Fieldset, FieldsetLegend };\nexport type {\n FieldProps,\n FieldContentProps,\n FieldItemProps,\n FieldLabelProps,\n FieldDescriptionProps,\n FieldErrorProps,\n FieldsetProps,\n FieldsetLegendProps,\n};\n"],"names":["React","jsx","FieldAriaContext","FieldPrimitive","cn","useFieldAriaIds","jsxs","Fragment","InfoTooltip","field","Icon","CircleAlertIcon","FieldsetPrimitive"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"field-CZ5fldpM.cjs","sources":["../src/ds/components/Field/field.tsx"],"sourcesContent":["import { Field as FieldPrimitive } from '@base-ui/react/field';\nimport { Fieldset as FieldsetPrimitive } from '@base-ui/react/fieldset';\nimport { CircleAlertIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { FieldAriaContext, useFieldAriaIds } from './field-control-aria';\nimport { InfoTooltip } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { cn } from '@/lib/utils';\n\ntype FieldProps = Omit<FieldPrimitive.Root.Props, 'className'> & {\n className?: string;\n orientation?: 'vertical' | 'horizontal' | 'responsive';\n};\n\nconst orientationClassName = {\n vertical: 'grid gap-2',\n horizontal:\n 'flex items-center gap-2 has-[>[data-slot=field-label]:first-child,>[data-slot=field-label-row]:first-child]:justify-between',\n responsive: 'flex flex-col gap-2 sm:flex-row sm:items-center',\n} satisfies Record<NonNullable<FieldProps['orientation']>, string>;\n\nfunction Field({ className, orientation = 'vertical', invalid = false, ...props }: FieldProps) {\n const id = React.useId();\n const [hasDescription, setHasDescription] = React.useState(false);\n const ariaIds = React.useMemo(\n () => ({\n labelId: `${id}-label`,\n descriptionId: `${id}-description`,\n errorId: `${id}-error`,\n controlId: `${id}-control`,\n invalid,\n hasDescription,\n setHasDescription,\n }),\n [id, invalid, hasDescription],\n );\n\n return (\n <FieldAriaContext.Provider value={ariaIds}>\n <FieldPrimitive.Root\n invalid={invalid}\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn('min-w-0 text-foreground', orientationClassName[orientation], className)}\n {...props}\n />\n </FieldAriaContext.Provider>\n );\n}\n\ntype FieldContentProps = React.ComponentProps<'div'>;\n\nfunction FieldContent({ className, ...props }: FieldContentProps) {\n return <div data-slot=\"field-content\" className={cn('grid min-w-0 flex-1 gap-2', className)} {...props} />;\n}\n\ntype FieldItemProps = Omit<FieldPrimitive.Item.Props, 'className'> & {\n className?: string;\n};\n\nfunction FieldItem({ className, ...props }: FieldItemProps) {\n const isInsideField = useFieldAriaIds() !== null;\n const ItemScope = isInsideField ? FieldPrimitive.Item : FieldPrimitive.Root;\n\n return (\n <FieldAriaContext.Provider value={null}>\n <ItemScope data-slot=\"field-item\" className={cn('flex min-w-0 items-center gap-2', className)} {...props} />\n </FieldAriaContext.Provider>\n );\n}\n\nfunction RequiredMark() {\n return (\n <>\n <span aria-hidden className=\"ml-0.5 text-destructive-foreground in-data-disabled:text-muted-foreground\">\n *\n </span>{' '}\n <span className=\"sr-only\">(required)</span>\n </>\n );\n}\n\ntype FieldLabelProps = Omit<FieldPrimitive.Label.Props, 'className' | 'id'> & {\n className?: string;\n required?: boolean;\n size?: 'smaller' | 'default' | 'bigger';\n /** What the field is for, shown in a tooltip on a muted info icon after the label. */\n info?: React.ReactNode;\n};\n\n/** The label's plain text (`{name} (JSON)` included), or undefined when it holds elements. */\nfunction plainText(node: React.ReactNode) {\n const parts = React.Children.toArray(node);\n if (!parts.every(part => typeof part === 'string' || typeof part === 'number')) return undefined;\n return parts.join('');\n}\n\n/** How the info icon is named: \"About <label>\", from the label's text or, for a label with elements, the label itself. */\nfunction infoTooltipName({ label, labelId, aboutId }: { label: React.ReactNode; labelId?: string; aboutId: string }) {\n const labelText = plainText(label);\n if (labelText) return { 'aria-label': `About ${labelText}` };\n if (labelId) return { 'aria-labelledby': `${aboutId} ${labelId}` };\n return { 'aria-label': 'About this field' };\n}\n\n/** The info icon after a label. Outside the `<label>`, so hovering or clicking it never focuses the field. */\nfunction FieldLabelInfo({\n children,\n label,\n labelId,\n}: {\n children: React.ReactNode;\n label: React.ReactNode;\n labelId?: string;\n}) {\n const aboutId = React.useId();\n const name = infoTooltipName({ label, labelId, aboutId });\n const isNamedByLabel = 'aria-labelledby' in name;\n\n return (\n <>\n <InfoTooltip {...name}>{children}</InfoTooltip>\n {isNamedByLabel ? (\n <span id={aboutId} hidden>\n About\n </span>\n ) : null}\n </>\n );\n}\n\nfunction FieldLabel({\n className,\n required = false,\n size = 'default',\n info,\n children,\n onClick,\n ...props\n}: FieldLabelProps) {\n const field = useFieldAriaIds();\n\n const focusManualControl: FieldLabelProps['onClick'] = event => {\n onClick?.(event);\n if (!field || event.defaultPrevented) return;\n event.currentTarget.ownerDocument.getElementById(field.controlId)?.focus();\n };\n\n const label = (\n <FieldPrimitive.Label\n id={field?.labelId}\n data-slot=\"field-label\"\n className={cn(\n 'inline-flex shrink-0 items-center text-label text-foreground data-disabled:text-muted-foreground',\n // Only the text is clickable, not the empty width beside it. A label that wraps its\n // checkbox, switch or radio is a row target, so it keeps stretching. Zero specificity, so a\n // width from `className` (`sr-only`, `w-24`) still wins.\n '[:where(&:not(:has([role=checkbox],[role=switch],[role=radio])))]:w-fit',\n 'not-data-disabled:has-[[role=checkbox],[role=switch],[role=radio]]:cursor-pointer',\n 'not-data-disabled:[:is([data-slot=field],[data-slot=field-item]):has(>[role=checkbox],>[role=switch],>[role=radio])_&]:cursor-pointer',\n 'data-disabled:cursor-not-allowed',\n size === 'smaller' && 'text-column',\n size === 'bigger' && 'text-body',\n className,\n )}\n onClick={focusManualControl}\n {...props}\n >\n {children}\n {required ? <RequiredMark /> : null}\n </FieldPrimitive.Label>\n );\n\n if (!info) return label;\n return (\n <span data-slot=\"field-label-row\" className=\"flex w-fit items-center gap-1\">\n {label}\n <FieldLabelInfo label={children} labelId={field?.labelId}>\n {info}\n </FieldLabelInfo>\n </span>\n );\n}\n\ntype FieldDescriptionProps = Omit<FieldPrimitive.Description.Props, 'className' | 'id'> & {\n className?: string;\n};\n\nfunction FieldDescription({ className, ...props }: FieldDescriptionProps) {\n const field = useFieldAriaIds();\n const setHasDescription = field?.setHasDescription;\n\n React.useEffect(() => {\n if (!setHasDescription) return;\n setHasDescription(true);\n return () => setHasDescription(false);\n }, [setHasDescription]);\n\n return (\n <FieldPrimitive.Description\n id={field?.descriptionId}\n data-slot=\"field-description\"\n className={cn('-mt-1 text-caption text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\ntype FieldErrorProps = Omit<FieldPrimitive.Error.Props, 'className' | 'match' | 'render'> & {\n className?: string;\n};\n\nconst fieldErrorClassName = '-mt-1 flex gap-1 text-body-sm text-destructive-foreground';\n\nfunction FieldErrorIcon() {\n return (\n <Icon size=\"xs\" className=\"mt-1 shrink-0\" aria-hidden>\n <CircleAlertIcon />\n </Icon>\n );\n}\n\nfunction FieldError({ className, children, ...props }: FieldErrorProps) {\n const field = useFieldAriaIds();\n\n if (children) {\n return (\n <FieldPrimitive.Error\n key=\"external\"\n id={field?.errorId}\n match\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(fieldErrorClassName, className)}\n {...props}\n >\n <FieldErrorIcon />\n <span className=\"min-w-0\">{children}</span>\n </FieldPrimitive.Error>\n );\n }\n\n return (\n <FieldPrimitive.Error\n key=\"native\"\n id={field?.errorId}\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(fieldErrorClassName, className)}\n {...props}\n render={({ children: message, ...errorProps }) => (\n <div {...errorProps}>\n <FieldErrorIcon />\n <span className=\"min-w-0\">{message}</span>\n </div>\n )}\n />\n );\n}\n\ntype FieldsetProps = Omit<FieldsetPrimitive.Root.Props, 'className'> & {\n className?: string;\n};\n\nfunction Fieldset({ className, ...props }: FieldsetProps) {\n return (\n <FieldsetPrimitive.Root\n data-slot=\"fieldset\"\n className={cn('m-0 grid min-w-0 gap-3 border-0 p-0', className)}\n {...props}\n />\n );\n}\n\ntype FieldsetLegendProps = Omit<FieldsetPrimitive.Legend.Props, 'className'> & {\n className?: string;\n required?: boolean;\n};\n\nfunction FieldsetLegend({ className, required = false, children, ...props }: FieldsetLegendProps) {\n return (\n <FieldsetPrimitive.Legend\n data-slot=\"fieldset-legend\"\n className={cn('text-label text-foreground data-disabled:text-muted-foreground', className)}\n {...props}\n >\n {children}\n {required ? <RequiredMark /> : null}\n </FieldsetPrimitive.Legend>\n );\n}\n\nexport { Field, FieldContent, FieldItem, FieldLabel, FieldDescription, FieldError, Fieldset, FieldsetLegend };\nexport type {\n FieldProps,\n FieldContentProps,\n FieldItemProps,\n FieldLabelProps,\n FieldDescriptionProps,\n FieldErrorProps,\n FieldsetProps,\n FieldsetLegendProps,\n};\n"],"names":["React","jsx","FieldAriaContext","FieldPrimitive","cn","useFieldAriaIds","jsxs","Fragment","InfoTooltip","field","Icon","CircleAlertIcon","FieldsetPrimitive"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,MAAM,oBAAA,GAAuB;AAAA,EAC3B,QAAA,EAAU,YAAA;AAAA,EACV,UAAA,EACE,6HAAA;AAAA,EACF,UAAA,EAAY;AACd,CAAA;AAEA,SAAS,KAAA,CAAM,EAAE,SAAA,EAAW,WAAA,GAAc,YAAY,OAAA,GAAU,KAAA,EAAO,GAAG,KAAA,EAAM,EAAe;AAC7F,EAAA,MAAM,EAAA,GAAKA,iBAAM,KAAA,EAAM;AACvB,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAIA,gBAAA,CAAM,SAAS,KAAK,CAAA;AAChE,EAAA,MAAM,UAAUA,gBAAA,CAAM,OAAA;AAAA,IACpB,OAAO;AAAA,MACL,OAAA,EAAS,GAAG,EAAE,CAAA,MAAA,CAAA;AAAA,MACd,aAAA,EAAe,GAAG,EAAE,CAAA,YAAA,CAAA;AAAA,MACpB,OAAA,EAAS,GAAG,EAAE,CAAA,MAAA,CAAA;AAAA,MACd,SAAA,EAAW,GAAG,EAAE,CAAA,QAAA,CAAA;AAAA,MAChB,OAAA;AAAA,MACA,cAAA;AAAA,MACA;AAAA,KACF,CAAA;AAAA,IACA,CAAC,EAAA,EAAI,OAAA,EAAS,cAAc;AAAA,GAC9B;AAEA,EAAA,uBACEC,cAAA,CAACC,iCAAA,CAAiB,QAAA,EAAjB,EAA0B,OAAO,OAAA,EAChC,QAAA,kBAAAD,cAAA;AAAA,IAACE,WAAA,CAAe,IAAA;AAAA,IAAf;AAAA,MACC,OAAA;AAAA,MACA,WAAA,EAAU,OAAA;AAAA,MACV,kBAAA,EAAkB,WAAA;AAAA,MAClB,WAAWC,WAAA,CAAG,yBAAA,EAA2B,oBAAA,CAAqB,WAAW,GAAG,SAAS,CAAA;AAAA,MACpF,GAAG;AAAA;AAAA,GACN,EACF,CAAA;AAEJ;AAIA,SAAS,YAAA,CAAa,EAAE,SAAA,EAAW,GAAG,OAAM,EAAsB;AAChE,EAAA,uBAAOH,cAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,eAAA,EAAgB,SAAA,EAAWG,YAAG,2BAAA,EAA6B,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AAC1G;AAMA,SAAS,SAAA,CAAU,EAAE,SAAA,EAAW,GAAG,OAAM,EAAmB;AAC1D,EAAA,MAAM,aAAA,GAAgBC,kCAAgB,KAAM,IAAA;AAC5C,EAAA,MAAM,SAAA,GAAY,aAAA,GAAgBF,WAAA,CAAe,IAAA,GAAOA,WAAA,CAAe,IAAA;AAEvE,EAAA,sCACGD,iCAAA,CAAiB,QAAA,EAAjB,EAA0B,KAAA,EAAO,MAChC,QAAA,kBAAAD,cAAA,CAAC,SAAA,EAAA,EAAU,WAAA,EAAU,YAAA,EAAa,WAAWG,WAAA,CAAG,iCAAA,EAAmC,SAAS,CAAA,EAAI,GAAG,OAAO,CAAA,EAC5G,CAAA;AAEJ;AAEA,SAAS,YAAA,GAAe;AACtB,EAAA,uBACEE,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAN,cAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAW,IAAA,EAAC,SAAA,EAAU,6EAA4E,QAAA,EAAA,GAAA,EAExG,CAAA;AAAA,IAAQ,GAAA;AAAA,oBACRA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,YAAA,EAAU;AAAA,GAAA,EACtC,CAAA;AAEJ;AAWA,SAAS,UAAU,IAAA,EAAuB;AACxC,EAAA,MAAM,KAAA,GAAQD,gBAAA,CAAM,QAAA,CAAS,OAAA,CAAQ,IAAI,CAAA;AACzC,EAAA,IAAI,CAAC,KAAA,CAAM,KAAA,CAAM,CAAA,IAAA,KAAQ,OAAO,IAAA,KAAS,QAAA,IAAY,OAAO,IAAA,KAAS,QAAQ,CAAA,EAAG,OAAO,MAAA;AACvF,EAAA,OAAO,KAAA,CAAM,KAAK,EAAE,CAAA;AACtB;AAGA,SAAS,eAAA,CAAgB,EAAE,KAAA,EAAO,OAAA,EAAS,SAAQ,EAAkE;AACnH,EAAA,MAAM,SAAA,GAAY,UAAU,KAAK,CAAA;AACjC,EAAA,IAAI,WAAW,OAAO,EAAE,YAAA,EAAc,CAAA,MAAA,EAAS,SAAS,CAAA,CAAA,EAAG;AAC3D,EAAA,IAAI,OAAA,SAAgB,EAAE,iBAAA,EAAmB,GAAG,OAAO,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAG;AACjE,EAAA,OAAO,EAAE,cAAc,kBAAA,EAAmB;AAC5C;AAGA,SAAS,cAAA,CAAe;AAAA,EACtB,QAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAIG;AACD,EAAA,MAAM,OAAA,GAAUA,iBAAM,KAAA,EAAM;AAC5B,EAAA,MAAM,OAAO,eAAA,CAAgB,EAAE,KAAA,EAAO,OAAA,EAAS,SAAS,CAAA;AACxD,EAAA,MAAM,iBAAiB,iBAAA,IAAqB,IAAA;AAE5C,EAAA,uBACEM,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAN,cAAA,CAACO,uBAAA,EAAA,EAAa,GAAG,IAAA,EAAO,QAAA,EAAS,CAAA;AAAA,IAChC,cAAA,kCACE,MAAA,EAAA,EAAK,EAAA,EAAI,SAAS,MAAA,EAAM,IAAA,EAAC,mBAE1B,CAAA,GACE;AAAA,GAAA,EACN,CAAA;AAEJ;AAEA,SAAS,UAAA,CAAW;AAAA,EAClB,SAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,IAAA,GAAO,SAAA;AAAA,EACP,IAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAoB;AAClB,EAAA,MAAMC,UAAQJ,gCAAA,EAAgB;AAE9B,EAAA,MAAM,qBAAiD,CAAA,KAAA,KAAS;AAC9D,IAAA,OAAA,GAAU,KAAK,CAAA;AACf,IAAA,IAAI,CAACI,OAAA,IAAS,KAAA,CAAM,gBAAA,EAAkB;AACtC,IAAA,KAAA,CAAM,cAAc,aAAA,CAAc,cAAA,CAAeA,OAAA,CAAM,SAAS,GAAG,KAAA,EAAM;AAAA,EAC3E,CAAA;AAEA,EAAA,MAAM,KAAA,mBACJH,eAAA;AAAA,IAACH,WAAA,CAAe,KAAA;AAAA,IAAf;AAAA,MACC,IAAIM,OAAA,EAAO,OAAA;AAAA,MACX,WAAA,EAAU,aAAA;AAAA,MACV,SAAA,EAAWL,WAAA;AAAA,QACT,kGAAA;AAAA;AAAA;AAAA;AAAA,QAIA,yEAAA;AAAA,QACA,mFAAA;AAAA,QACA,uIAAA;AAAA,QACA,kCAAA;AAAA,QACA,SAAS,SAAA,IAAa,aAAA;AAAA,QACtB,SAAS,QAAA,IAAY,WAAA;AAAA,QACrB;AAAA,OACF;AAAA,MACA,OAAA,EAAS,kBAAA;AAAA,MACR,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,QAAA,mBAAWH,cAAA,CAAC,YAAA,EAAA,EAAa,CAAA,GAAK;AAAA;AAAA;AAAA,GACjC;AAGF,EAAA,IAAI,CAAC,MAAM,OAAO,KAAA;AAClB,EAAA,uBACEK,eAAA,CAAC,MAAA,EAAA,EAAK,WAAA,EAAU,iBAAA,EAAkB,WAAU,+BAAA,EACzC,QAAA,EAAA;AAAA,IAAA,KAAA;AAAA,mCACA,cAAA,EAAA,EAAe,KAAA,EAAO,UAAU,OAAA,EAASG,OAAA,EAAO,SAC9C,QAAA,EAAA,IAAA,EACH;AAAA,GAAA,EACF,CAAA;AAEJ;AAMA,SAAS,gBAAA,CAAiB,EAAE,SAAA,EAAW,GAAG,OAAM,EAA0B;AACxE,EAAA,MAAMA,UAAQJ,gCAAA,EAAgB;AAC9B,EAAA,MAAM,oBAAoBI,OAAA,EAAO,iBAAA;AAEjC,EAAAT,gBAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,CAAC,iBAAA,EAAmB;AACxB,IAAA,iBAAA,CAAkB,IAAI,CAAA;AACtB,IAAA,OAAO,MAAM,kBAAkB,KAAK,CAAA;AAAA,EACtC,CAAA,EAAG,CAAC,iBAAiB,CAAC,CAAA;AAEtB,EAAA,uBACEC,cAAA;AAAA,IAACE,WAAA,CAAe,WAAA;AAAA,IAAf;AAAA,MACC,IAAIM,OAAA,EAAO,aAAA;AAAA,MACX,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAWL,WAAA,CAAG,0CAAA,EAA4C,SAAS,CAAA;AAAA,MAClE,GAAG;AAAA;AAAA,GACN;AAEJ;AAMA,MAAM,mBAAA,GAAsB,2DAAA;AAE5B,SAAS,cAAA,GAAiB;AACxB,EAAA,uBACEH,cAAA,CAACS,eAAA,EAAA,EAAK,IAAA,EAAK,IAAA,EAAK,SAAA,EAAU,iBAAgB,aAAA,EAAW,IAAA,EACnD,QAAA,kBAAAT,cAAA,CAACU,2BAAA,EAAA,EAAgB,CAAA,EACnB,CAAA;AAEJ;AAEA,SAAS,WAAW,EAAE,SAAA,EAAW,QAAA,EAAU,GAAG,OAAM,EAAoB;AACtE,EAAA,MAAMF,UAAQJ,gCAAA,EAAgB;AAE9B,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,uBACEC,eAAA;AAAA,MAACH,WAAA,CAAe,KAAA;AAAA,MAAf;AAAA,QAEC,IAAIM,OAAA,EAAO,OAAA;AAAA,QACX,KAAA,EAAK,IAAA;AAAA,QACL,IAAA,EAAK,OAAA;AAAA,QACL,WAAA,EAAU,aAAA;AAAA,QACV,SAAA,EAAWL,WAAA,CAAG,mBAAA,EAAqB,SAAS,CAAA;AAAA,QAC3C,GAAG,KAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAAH,cAAA,CAAC,cAAA,EAAA,EAAe,CAAA;AAAA,0BAChBA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAW,QAAA,EAAS;AAAA;AAAA,OAAA;AAAA,MAThC;AAAA,KAUN;AAAA,EAEJ;AAEA,EAAA,uBACEA,cAAA;AAAA,IAACE,WAAA,CAAe,KAAA;AAAA,IAAf;AAAA,MAEC,IAAIM,OAAA,EAAO,OAAA;AAAA,MACX,IAAA,EAAK,OAAA;AAAA,MACL,WAAA,EAAU,aAAA;AAAA,MACV,SAAA,EAAWL,WAAA,CAAG,mBAAA,EAAqB,SAAS,CAAA;AAAA,MAC3C,GAAG,KAAA;AAAA,MACJ,MAAA,EAAQ,CAAC,EAAE,QAAA,EAAU,OAAA,EAAS,GAAG,UAAA,EAAW,qBAC1CE,eAAA,CAAC,KAAA,EAAA,EAAK,GAAG,UAAA,EACP,QAAA,EAAA;AAAA,wBAAAL,cAAA,CAAC,cAAA,EAAA,EAAe,CAAA;AAAA,wBAChBA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,OAAA,EAAQ;AAAA,OAAA,EACrC;AAAA,KAAA;AAAA,IAVE;AAAA,GAYN;AAEJ;AAMA,SAAS,QAAA,CAAS,EAAE,SAAA,EAAW,GAAG,OAAM,EAAkB;AACxD,EAAA,uBACEA,cAAA;AAAA,IAACW,iBAAA,CAAkB,IAAA;AAAA,IAAlB;AAAA,MACC,WAAA,EAAU,UAAA;AAAA,MACV,SAAA,EAAWR,WAAA,CAAG,qCAAA,EAAuC,SAAS,CAAA;AAAA,MAC7D,GAAG;AAAA;AAAA,GACN;AAEJ;AAOA,SAAS,cAAA,CAAe,EAAE,SAAA,EAAW,QAAA,GAAW,OAAO,QAAA,EAAU,GAAG,OAAM,EAAwB;AAChG,EAAA,uBACEE,eAAA;AAAA,IAACM,iBAAA,CAAkB,MAAA;AAAA,IAAlB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,SAAA,EAAWR,WAAA,CAAG,gEAAA,EAAkE,SAAS,CAAA;AAAA,MACxF,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,QAAA,mBAAWH,cAAA,CAAC,YAAA,EAAA,EAAa,CAAA,GAAK;AAAA;AAAA;AAAA,GACjC;AAEJ;;;;;;;;;;;"}
|
|
@@ -4,6 +4,7 @@ import { Fieldset as Fieldset$1 } from '@base-ui/react/fieldset';
|
|
|
4
4
|
import { CircleAlertIcon } from 'lucide-react';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { F as FieldAriaContext, a as useFieldAriaIds } from './field-control-aria-DB6y41tQ.js';
|
|
7
|
+
import './tooltip-DrsXZDAj.js';
|
|
7
8
|
import { I as InfoTooltip } from './info-tooltip-h5EdHQBW.js';
|
|
8
9
|
import { Icon } from './icons/Icon.es.js';
|
|
9
10
|
import { c as cn } from './cn-CQUhN5Jx.js';
|
|
@@ -209,4 +210,4 @@ function FieldsetLegend({ className, required = false, children, ...props }) {
|
|
|
209
210
|
}
|
|
210
211
|
|
|
211
212
|
export { Field as F, FieldContent as a, FieldDescription as b, FieldError as c, FieldItem as d, FieldLabel as e, Fieldset as f, FieldsetLegend as g };
|
|
212
|
-
//# sourceMappingURL=field-
|
|
213
|
+
//# sourceMappingURL=field-CfA5-ixH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-Dl1zeXTv.js","sources":["../src/ds/components/Field/field.tsx"],"sourcesContent":["import { Field as FieldPrimitive } from '@base-ui/react/field';\nimport { Fieldset as FieldsetPrimitive } from '@base-ui/react/fieldset';\nimport { CircleAlertIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { FieldAriaContext, useFieldAriaIds } from './field-control-aria';\nimport { InfoTooltip } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { cn } from '@/lib/utils';\n\ntype FieldProps = Omit<FieldPrimitive.Root.Props, 'className'> & {\n className?: string;\n orientation?: 'vertical' | 'horizontal' | 'responsive';\n};\n\nconst orientationClassName = {\n vertical: 'grid gap-2',\n horizontal:\n 'flex items-center gap-2 has-[>[data-slot=field-label]:first-child,>[data-slot=field-label-row]:first-child]:justify-between',\n responsive: 'flex flex-col gap-2 sm:flex-row sm:items-center',\n} satisfies Record<NonNullable<FieldProps['orientation']>, string>;\n\nfunction Field({ className, orientation = 'vertical', invalid = false, ...props }: FieldProps) {\n const id = React.useId();\n const [hasDescription, setHasDescription] = React.useState(false);\n const ariaIds = React.useMemo(\n () => ({\n labelId: `${id}-label`,\n descriptionId: `${id}-description`,\n errorId: `${id}-error`,\n controlId: `${id}-control`,\n invalid,\n hasDescription,\n setHasDescription,\n }),\n [id, invalid, hasDescription],\n );\n\n return (\n <FieldAriaContext.Provider value={ariaIds}>\n <FieldPrimitive.Root\n invalid={invalid}\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn('min-w-0 text-foreground', orientationClassName[orientation], className)}\n {...props}\n />\n </FieldAriaContext.Provider>\n );\n}\n\ntype FieldContentProps = React.ComponentProps<'div'>;\n\nfunction FieldContent({ className, ...props }: FieldContentProps) {\n return <div data-slot=\"field-content\" className={cn('grid min-w-0 flex-1 gap-2', className)} {...props} />;\n}\n\ntype FieldItemProps = Omit<FieldPrimitive.Item.Props, 'className'> & {\n className?: string;\n};\n\nfunction FieldItem({ className, ...props }: FieldItemProps) {\n const isInsideField = useFieldAriaIds() !== null;\n const ItemScope = isInsideField ? FieldPrimitive.Item : FieldPrimitive.Root;\n\n return (\n <FieldAriaContext.Provider value={null}>\n <ItemScope data-slot=\"field-item\" className={cn('flex min-w-0 items-center gap-2', className)} {...props} />\n </FieldAriaContext.Provider>\n );\n}\n\nfunction RequiredMark() {\n return (\n <>\n <span aria-hidden className=\"ml-0.5 text-destructive-foreground in-data-disabled:text-muted-foreground\">\n *\n </span>{' '}\n <span className=\"sr-only\">(required)</span>\n </>\n );\n}\n\ntype FieldLabelProps = Omit<FieldPrimitive.Label.Props, 'className' | 'id'> & {\n className?: string;\n required?: boolean;\n size?: 'smaller' | 'default' | 'bigger';\n /** What the field is for, shown in a tooltip on a muted info icon after the label. */\n info?: React.ReactNode;\n};\n\n/** The label's plain text (`{name} (JSON)` included), or undefined when it holds elements. */\nfunction plainText(node: React.ReactNode) {\n const parts = React.Children.toArray(node);\n if (!parts.every(part => typeof part === 'string' || typeof part === 'number')) return undefined;\n return parts.join('');\n}\n\n/** How the info icon is named: \"About <label>\", from the label's text or, for a label with elements, the label itself. */\nfunction infoTooltipName({ label, labelId, aboutId }: { label: React.ReactNode; labelId?: string; aboutId: string }) {\n const labelText = plainText(label);\n if (labelText) return { 'aria-label': `About ${labelText}` };\n if (labelId) return { 'aria-labelledby': `${aboutId} ${labelId}` };\n return { 'aria-label': 'About this field' };\n}\n\n/** The info icon after a label. Outside the `<label>`, so hovering or clicking it never focuses the field. */\nfunction FieldLabelInfo({\n children,\n label,\n labelId,\n}: {\n children: React.ReactNode;\n label: React.ReactNode;\n labelId?: string;\n}) {\n const aboutId = React.useId();\n const name = infoTooltipName({ label, labelId, aboutId });\n const isNamedByLabel = 'aria-labelledby' in name;\n\n return (\n <>\n <InfoTooltip {...name}>{children}</InfoTooltip>\n {isNamedByLabel ? (\n <span id={aboutId} hidden>\n About\n </span>\n ) : null}\n </>\n );\n}\n\nfunction FieldLabel({\n className,\n required = false,\n size = 'default',\n info,\n children,\n onClick,\n ...props\n}: FieldLabelProps) {\n const field = useFieldAriaIds();\n\n const focusManualControl: FieldLabelProps['onClick'] = event => {\n onClick?.(event);\n if (!field || event.defaultPrevented) return;\n event.currentTarget.ownerDocument.getElementById(field.controlId)?.focus();\n };\n\n const label = (\n <FieldPrimitive.Label\n id={field?.labelId}\n data-slot=\"field-label\"\n className={cn(\n 'inline-flex shrink-0 items-center text-label text-foreground data-disabled:text-muted-foreground',\n // Only the text is clickable, not the empty width beside it. A label that wraps its\n // checkbox, switch or radio is a row target, so it keeps stretching. Zero specificity, so a\n // width from `className` (`sr-only`, `w-24`) still wins.\n '[:where(&:not(:has([role=checkbox],[role=switch],[role=radio])))]:w-fit',\n 'not-data-disabled:has-[[role=checkbox],[role=switch],[role=radio]]:cursor-pointer',\n 'not-data-disabled:[:is([data-slot=field],[data-slot=field-item]):has(>[role=checkbox],>[role=switch],>[role=radio])_&]:cursor-pointer',\n 'data-disabled:cursor-not-allowed',\n size === 'smaller' && 'text-column',\n size === 'bigger' && 'text-body',\n className,\n )}\n onClick={focusManualControl}\n {...props}\n >\n {children}\n {required ? <RequiredMark /> : null}\n </FieldPrimitive.Label>\n );\n\n if (!info) return label;\n return (\n <span data-slot=\"field-label-row\" className=\"flex w-fit items-center gap-1\">\n {label}\n <FieldLabelInfo label={children} labelId={field?.labelId}>\n {info}\n </FieldLabelInfo>\n </span>\n );\n}\n\ntype FieldDescriptionProps = Omit<FieldPrimitive.Description.Props, 'className' | 'id'> & {\n className?: string;\n};\n\nfunction FieldDescription({ className, ...props }: FieldDescriptionProps) {\n const field = useFieldAriaIds();\n const setHasDescription = field?.setHasDescription;\n\n React.useEffect(() => {\n if (!setHasDescription) return;\n setHasDescription(true);\n return () => setHasDescription(false);\n }, [setHasDescription]);\n\n return (\n <FieldPrimitive.Description\n id={field?.descriptionId}\n data-slot=\"field-description\"\n className={cn('-mt-1 text-caption text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\ntype FieldErrorProps = Omit<FieldPrimitive.Error.Props, 'className' | 'match' | 'render'> & {\n className?: string;\n};\n\nconst fieldErrorClassName = '-mt-1 flex gap-1 text-body-sm text-destructive-foreground';\n\nfunction FieldErrorIcon() {\n return (\n <Icon size=\"xs\" className=\"mt-1 shrink-0\" aria-hidden>\n <CircleAlertIcon />\n </Icon>\n );\n}\n\nfunction FieldError({ className, children, ...props }: FieldErrorProps) {\n const field = useFieldAriaIds();\n\n if (children) {\n return (\n <FieldPrimitive.Error\n key=\"external\"\n id={field?.errorId}\n match\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(fieldErrorClassName, className)}\n {...props}\n >\n <FieldErrorIcon />\n <span className=\"min-w-0\">{children}</span>\n </FieldPrimitive.Error>\n );\n }\n\n return (\n <FieldPrimitive.Error\n key=\"native\"\n id={field?.errorId}\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(fieldErrorClassName, className)}\n {...props}\n render={({ children: message, ...errorProps }) => (\n <div {...errorProps}>\n <FieldErrorIcon />\n <span className=\"min-w-0\">{message}</span>\n </div>\n )}\n />\n );\n}\n\ntype FieldsetProps = Omit<FieldsetPrimitive.Root.Props, 'className'> & {\n className?: string;\n};\n\nfunction Fieldset({ className, ...props }: FieldsetProps) {\n return (\n <FieldsetPrimitive.Root\n data-slot=\"fieldset\"\n className={cn('m-0 grid min-w-0 gap-3 border-0 p-0', className)}\n {...props}\n />\n );\n}\n\ntype FieldsetLegendProps = Omit<FieldsetPrimitive.Legend.Props, 'className'> & {\n className?: string;\n required?: boolean;\n};\n\nfunction FieldsetLegend({ className, required = false, children, ...props }: FieldsetLegendProps) {\n return (\n <FieldsetPrimitive.Legend\n data-slot=\"fieldset-legend\"\n className={cn('text-label text-foreground data-disabled:text-muted-foreground', className)}\n {...props}\n >\n {children}\n {required ? <RequiredMark /> : null}\n </FieldsetPrimitive.Legend>\n );\n}\n\nexport { Field, FieldContent, FieldItem, FieldLabel, FieldDescription, FieldError, Fieldset, FieldsetLegend };\nexport type {\n FieldProps,\n FieldContentProps,\n FieldItemProps,\n FieldLabelProps,\n FieldDescriptionProps,\n FieldErrorProps,\n FieldsetProps,\n FieldsetLegendProps,\n};\n"],"names":["FieldPrimitive","FieldsetPrimitive"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"field-CfA5-ixH.js","sources":["../src/ds/components/Field/field.tsx"],"sourcesContent":["import { Field as FieldPrimitive } from '@base-ui/react/field';\nimport { Fieldset as FieldsetPrimitive } from '@base-ui/react/fieldset';\nimport { CircleAlertIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { FieldAriaContext, useFieldAriaIds } from './field-control-aria';\nimport { InfoTooltip } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { cn } from '@/lib/utils';\n\ntype FieldProps = Omit<FieldPrimitive.Root.Props, 'className'> & {\n className?: string;\n orientation?: 'vertical' | 'horizontal' | 'responsive';\n};\n\nconst orientationClassName = {\n vertical: 'grid gap-2',\n horizontal:\n 'flex items-center gap-2 has-[>[data-slot=field-label]:first-child,>[data-slot=field-label-row]:first-child]:justify-between',\n responsive: 'flex flex-col gap-2 sm:flex-row sm:items-center',\n} satisfies Record<NonNullable<FieldProps['orientation']>, string>;\n\nfunction Field({ className, orientation = 'vertical', invalid = false, ...props }: FieldProps) {\n const id = React.useId();\n const [hasDescription, setHasDescription] = React.useState(false);\n const ariaIds = React.useMemo(\n () => ({\n labelId: `${id}-label`,\n descriptionId: `${id}-description`,\n errorId: `${id}-error`,\n controlId: `${id}-control`,\n invalid,\n hasDescription,\n setHasDescription,\n }),\n [id, invalid, hasDescription],\n );\n\n return (\n <FieldAriaContext.Provider value={ariaIds}>\n <FieldPrimitive.Root\n invalid={invalid}\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn('min-w-0 text-foreground', orientationClassName[orientation], className)}\n {...props}\n />\n </FieldAriaContext.Provider>\n );\n}\n\ntype FieldContentProps = React.ComponentProps<'div'>;\n\nfunction FieldContent({ className, ...props }: FieldContentProps) {\n return <div data-slot=\"field-content\" className={cn('grid min-w-0 flex-1 gap-2', className)} {...props} />;\n}\n\ntype FieldItemProps = Omit<FieldPrimitive.Item.Props, 'className'> & {\n className?: string;\n};\n\nfunction FieldItem({ className, ...props }: FieldItemProps) {\n const isInsideField = useFieldAriaIds() !== null;\n const ItemScope = isInsideField ? FieldPrimitive.Item : FieldPrimitive.Root;\n\n return (\n <FieldAriaContext.Provider value={null}>\n <ItemScope data-slot=\"field-item\" className={cn('flex min-w-0 items-center gap-2', className)} {...props} />\n </FieldAriaContext.Provider>\n );\n}\n\nfunction RequiredMark() {\n return (\n <>\n <span aria-hidden className=\"ml-0.5 text-destructive-foreground in-data-disabled:text-muted-foreground\">\n *\n </span>{' '}\n <span className=\"sr-only\">(required)</span>\n </>\n );\n}\n\ntype FieldLabelProps = Omit<FieldPrimitive.Label.Props, 'className' | 'id'> & {\n className?: string;\n required?: boolean;\n size?: 'smaller' | 'default' | 'bigger';\n /** What the field is for, shown in a tooltip on a muted info icon after the label. */\n info?: React.ReactNode;\n};\n\n/** The label's plain text (`{name} (JSON)` included), or undefined when it holds elements. */\nfunction plainText(node: React.ReactNode) {\n const parts = React.Children.toArray(node);\n if (!parts.every(part => typeof part === 'string' || typeof part === 'number')) return undefined;\n return parts.join('');\n}\n\n/** How the info icon is named: \"About <label>\", from the label's text or, for a label with elements, the label itself. */\nfunction infoTooltipName({ label, labelId, aboutId }: { label: React.ReactNode; labelId?: string; aboutId: string }) {\n const labelText = plainText(label);\n if (labelText) return { 'aria-label': `About ${labelText}` };\n if (labelId) return { 'aria-labelledby': `${aboutId} ${labelId}` };\n return { 'aria-label': 'About this field' };\n}\n\n/** The info icon after a label. Outside the `<label>`, so hovering or clicking it never focuses the field. */\nfunction FieldLabelInfo({\n children,\n label,\n labelId,\n}: {\n children: React.ReactNode;\n label: React.ReactNode;\n labelId?: string;\n}) {\n const aboutId = React.useId();\n const name = infoTooltipName({ label, labelId, aboutId });\n const isNamedByLabel = 'aria-labelledby' in name;\n\n return (\n <>\n <InfoTooltip {...name}>{children}</InfoTooltip>\n {isNamedByLabel ? (\n <span id={aboutId} hidden>\n About\n </span>\n ) : null}\n </>\n );\n}\n\nfunction FieldLabel({\n className,\n required = false,\n size = 'default',\n info,\n children,\n onClick,\n ...props\n}: FieldLabelProps) {\n const field = useFieldAriaIds();\n\n const focusManualControl: FieldLabelProps['onClick'] = event => {\n onClick?.(event);\n if (!field || event.defaultPrevented) return;\n event.currentTarget.ownerDocument.getElementById(field.controlId)?.focus();\n };\n\n const label = (\n <FieldPrimitive.Label\n id={field?.labelId}\n data-slot=\"field-label\"\n className={cn(\n 'inline-flex shrink-0 items-center text-label text-foreground data-disabled:text-muted-foreground',\n // Only the text is clickable, not the empty width beside it. A label that wraps its\n // checkbox, switch or radio is a row target, so it keeps stretching. Zero specificity, so a\n // width from `className` (`sr-only`, `w-24`) still wins.\n '[:where(&:not(:has([role=checkbox],[role=switch],[role=radio])))]:w-fit',\n 'not-data-disabled:has-[[role=checkbox],[role=switch],[role=radio]]:cursor-pointer',\n 'not-data-disabled:[:is([data-slot=field],[data-slot=field-item]):has(>[role=checkbox],>[role=switch],>[role=radio])_&]:cursor-pointer',\n 'data-disabled:cursor-not-allowed',\n size === 'smaller' && 'text-column',\n size === 'bigger' && 'text-body',\n className,\n )}\n onClick={focusManualControl}\n {...props}\n >\n {children}\n {required ? <RequiredMark /> : null}\n </FieldPrimitive.Label>\n );\n\n if (!info) return label;\n return (\n <span data-slot=\"field-label-row\" className=\"flex w-fit items-center gap-1\">\n {label}\n <FieldLabelInfo label={children} labelId={field?.labelId}>\n {info}\n </FieldLabelInfo>\n </span>\n );\n}\n\ntype FieldDescriptionProps = Omit<FieldPrimitive.Description.Props, 'className' | 'id'> & {\n className?: string;\n};\n\nfunction FieldDescription({ className, ...props }: FieldDescriptionProps) {\n const field = useFieldAriaIds();\n const setHasDescription = field?.setHasDescription;\n\n React.useEffect(() => {\n if (!setHasDescription) return;\n setHasDescription(true);\n return () => setHasDescription(false);\n }, [setHasDescription]);\n\n return (\n <FieldPrimitive.Description\n id={field?.descriptionId}\n data-slot=\"field-description\"\n className={cn('-mt-1 text-caption text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\ntype FieldErrorProps = Omit<FieldPrimitive.Error.Props, 'className' | 'match' | 'render'> & {\n className?: string;\n};\n\nconst fieldErrorClassName = '-mt-1 flex gap-1 text-body-sm text-destructive-foreground';\n\nfunction FieldErrorIcon() {\n return (\n <Icon size=\"xs\" className=\"mt-1 shrink-0\" aria-hidden>\n <CircleAlertIcon />\n </Icon>\n );\n}\n\nfunction FieldError({ className, children, ...props }: FieldErrorProps) {\n const field = useFieldAriaIds();\n\n if (children) {\n return (\n <FieldPrimitive.Error\n key=\"external\"\n id={field?.errorId}\n match\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(fieldErrorClassName, className)}\n {...props}\n >\n <FieldErrorIcon />\n <span className=\"min-w-0\">{children}</span>\n </FieldPrimitive.Error>\n );\n }\n\n return (\n <FieldPrimitive.Error\n key=\"native\"\n id={field?.errorId}\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(fieldErrorClassName, className)}\n {...props}\n render={({ children: message, ...errorProps }) => (\n <div {...errorProps}>\n <FieldErrorIcon />\n <span className=\"min-w-0\">{message}</span>\n </div>\n )}\n />\n );\n}\n\ntype FieldsetProps = Omit<FieldsetPrimitive.Root.Props, 'className'> & {\n className?: string;\n};\n\nfunction Fieldset({ className, ...props }: FieldsetProps) {\n return (\n <FieldsetPrimitive.Root\n data-slot=\"fieldset\"\n className={cn('m-0 grid min-w-0 gap-3 border-0 p-0', className)}\n {...props}\n />\n );\n}\n\ntype FieldsetLegendProps = Omit<FieldsetPrimitive.Legend.Props, 'className'> & {\n className?: string;\n required?: boolean;\n};\n\nfunction FieldsetLegend({ className, required = false, children, ...props }: FieldsetLegendProps) {\n return (\n <FieldsetPrimitive.Legend\n data-slot=\"fieldset-legend\"\n className={cn('text-label text-foreground data-disabled:text-muted-foreground', className)}\n {...props}\n >\n {children}\n {required ? <RequiredMark /> : null}\n </FieldsetPrimitive.Legend>\n );\n}\n\nexport { Field, FieldContent, FieldItem, FieldLabel, FieldDescription, FieldError, Fieldset, FieldsetLegend };\nexport type {\n FieldProps,\n FieldContentProps,\n FieldItemProps,\n FieldLabelProps,\n FieldDescriptionProps,\n FieldErrorProps,\n FieldsetProps,\n FieldsetLegendProps,\n};\n"],"names":["FieldPrimitive","FieldsetPrimitive"],"mappings":"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"}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
const jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
const React = require('react');
|
|
5
5
|
const lucideReact = require('lucide-react');
|
|
6
|
-
const filterBarChip = require('./filter-bar-chip-
|
|
6
|
+
const filterBarChip = require('./filter-bar-chip-C_64m7nX.cjs');
|
|
7
7
|
const reactDom = require('react-dom');
|
|
8
8
|
const types = require('./types-Ns4ZNp-g.cjs');
|
|
9
9
|
const Button = require('./Button-C4I05uT4.cjs');
|
|
10
10
|
const comboboxStyles = require('./combobox-styles-Cy4rpw03.cjs');
|
|
11
11
|
const combobox = require('@base-ui/react/combobox');
|
|
12
|
-
const kbd = require('./kbd-
|
|
12
|
+
const kbd = require('./kbd-B2zbS_A6.cjs');
|
|
13
13
|
const Txt = require('./Txt-CIS2G5Jx.cjs');
|
|
14
14
|
const primitives_floating = require('./primitives/floating.cjs.js');
|
|
15
15
|
const primitives_formElement = require('./primitives/form-element.cjs.js');
|
|
@@ -846,4 +846,4 @@ exports.FilterBarChips = FilterBarChips;
|
|
|
846
846
|
exports.FilterBarGroupEditor = FilterBarGroupEditor;
|
|
847
847
|
exports.FilterBarInput = FilterBarInput;
|
|
848
848
|
exports.FilterBarLogicToggle = FilterBarLogicToggle;
|
|
849
|
-
//# sourceMappingURL=filter-bar-
|
|
849
|
+
//# sourceMappingURL=filter-bar-CjBb01b6.cjs.map
|