@mastra/playground-ui 41.1.0-alpha.2 → 42.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/CHANGELOG.md +114 -0
- package/dist/Card-BjFMX3pD.js +96 -0
- package/dist/Card-BjFMX3pD.js.map +1 -0
- package/dist/Card-WU2qkiHB.cjs +123 -0
- package/dist/Card-WU2qkiHB.cjs.map +1 -0
- package/dist/{Txt-p33XTnu8.js → Txt-Df42XG5p.js} +3 -3
- package/dist/Txt-Df42XG5p.js.map +1 -0
- package/dist/{Txt-BT8_EkuZ.cjs → Txt-I5lK8zy7.cjs} +3 -3
- package/dist/Txt-I5lK8zy7.cjs.map +1 -0
- package/dist/{buttons-group-b6an6uao.js → buttons-group-DJh4wnMs.js} +4 -4
- package/dist/{buttons-group-b6an6uao.js.map → buttons-group-DJh4wnMs.js.map} +1 -1
- package/dist/{buttons-group-C0fJastT.cjs → buttons-group-Dw8Wu4sj.cjs} +4 -4
- package/dist/{buttons-group-C0fJastT.cjs.map → buttons-group-Dw8Wu4sj.cjs.map} +1 -1
- package/dist/components/Avatar.cjs.js +1 -1
- package/dist/components/Avatar.es.js +1 -1
- package/dist/components/Breadcrumb.cjs.js +2 -2
- package/dist/components/Breadcrumb.cjs.js.map +1 -1
- package/dist/components/Breadcrumb.es.js +2 -2
- package/dist/components/Breadcrumb.es.js.map +1 -1
- package/dist/components/ButtonsGroup.cjs.js +1 -1
- package/dist/components/ButtonsGroup.es.js +1 -1
- package/dist/components/Card.cjs.js +8 -84
- package/dist/components/Card.cjs.js.map +1 -1
- package/dist/components/Card.es.js +1 -63
- package/dist/components/Card.es.js.map +1 -1
- package/dist/components/ClampedText.cjs.js +51 -0
- package/dist/components/ClampedText.cjs.js.map +1 -0
- package/dist/components/ClampedText.d.ts +2 -0
- package/dist/components/ClampedText.es.js +47 -0
- package/dist/components/ClampedText.es.js.map +1 -0
- package/dist/components/Composer.cjs.js +2 -2
- package/dist/components/Composer.cjs.js.map +1 -1
- package/dist/components/Composer.es.js +2 -2
- package/dist/components/Composer.es.js.map +1 -1
- package/dist/components/ContentBlocks.cjs.js.map +1 -1
- package/dist/components/ContentBlocks.es.js.map +1 -1
- package/dist/components/DataCodeSection.cjs.js +1 -1
- package/dist/components/DataCodeSection.es.js +1 -1
- package/dist/components/DataDetailsPanel.cjs.js +4 -4
- package/dist/components/DataDetailsPanel.cjs.js.map +1 -1
- package/dist/components/DataDetailsPanel.es.js +4 -4
- package/dist/components/DataDetailsPanel.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/Drawer.cjs.js +1 -1
- package/dist/components/Drawer.es.js +1 -1
- package/dist/components/Entity.cjs.js +1 -1
- package/dist/components/Entity.es.js +1 -1
- package/dist/components/EntityHeader.cjs.js +1 -1
- package/dist/components/EntityHeader.es.js +1 -1
- package/dist/components/Entry.cjs.js +1 -1
- package/dist/components/Entry.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +2 -2
- package/dist/components/EnvironmentVariablesEditor.es.js +2 -2
- package/dist/components/FormFieldBlocks.cjs.js +4 -4
- package/dist/components/FormFieldBlocks.es.js +4 -4
- package/dist/components/Header.cjs.js +1 -1
- package/dist/components/Header.es.js +1 -1
- package/dist/components/JSONSchemaForm.cjs.js +2 -2
- package/dist/components/JSONSchemaForm.es.js +2 -2
- package/dist/components/ListSearch.cjs.js +1 -1
- package/dist/components/ListSearch.es.js +1 -1
- package/dist/components/MainContent.cjs.js +3 -3
- package/dist/components/MainContent.cjs.js.map +1 -1
- package/dist/components/MainContent.es.js +3 -3
- package/dist/components/MainContent.es.js.map +1 -1
- package/dist/components/MainSidebar.cjs.js +1 -1
- package/dist/components/MainSidebar.es.js +1 -1
- package/dist/components/PrevNextNav.cjs.js +1 -1
- package/dist/components/PrevNextNav.es.js +1 -1
- package/dist/components/PropertyFilter.cjs.js +1 -1
- package/dist/components/PropertyFilter.es.js +2 -2
- package/dist/components/SankeyChart.cjs.js +68 -75
- package/dist/components/SankeyChart.cjs.js.map +1 -1
- package/dist/components/SankeyChart.es.js +60 -71
- package/dist/components/SankeyChart.es.js.map +1 -1
- package/dist/components/SideDialog.cjs.js +2 -2
- package/dist/components/SideDialog.es.js +2 -2
- package/dist/components/Table.cjs.js +1 -1
- package/dist/components/Table.es.js +1 -1
- package/dist/components/ThreadList.cjs.js +1 -1
- package/dist/components/ThreadList.es.js +1 -1
- package/dist/components/Toaster.cjs.js +1 -0
- package/dist/components/Toaster.cjs.js.map +1 -1
- package/dist/components/Toaster.es.js +1 -1
- package/dist/components/Truncate.cjs.js +1 -1
- package/dist/components/Truncate.es.js +1 -1
- package/dist/components/Txt.cjs.js +1 -1
- package/dist/components/Txt.es.js +1 -1
- package/dist/components/ai/ask-user.cjs.js +147 -0
- package/dist/components/ai/ask-user.cjs.js.map +1 -0
- package/dist/components/ai/ask-user.d.ts +2 -0
- package/dist/components/ai/ask-user.es.js +136 -0
- package/dist/components/ai/ask-user.es.js.map +1 -0
- package/dist/components/ai/plan.cjs.js +1 -1
- package/dist/components/ai/plan.es.js +1 -1
- package/dist/components/ai/task-list.cjs.js +90 -0
- package/dist/components/ai/task-list.cjs.js.map +1 -0
- package/dist/components/ai/task-list.d.ts +2 -0
- package/dist/components/ai/task-list.es.js +80 -0
- package/dist/components/ai/task-list.es.js.map +1 -0
- package/dist/{data-code-section-Crs5wpnX.js → data-code-section-BjqDCzy3.js} +3 -3
- package/dist/{data-code-section-Crs5wpnX.js.map → data-code-section-BjqDCzy3.js.map} +1 -1
- package/dist/{data-code-section-DYy_n9I1.cjs → data-code-section-D0BwpqvV.cjs} +3 -3
- package/dist/{data-code-section-DYy_n9I1.cjs.map → data-code-section-D0BwpqvV.cjs.map} +1 -1
- package/dist/{data-panel-Otc4qdKL.js → data-panel-BGpCzY5K.js} +3 -3
- package/dist/{data-panel-Otc4qdKL.js.map → data-panel-BGpCzY5K.js.map} +1 -1
- package/dist/{data-panel-CAbxKoPF.cjs → data-panel-CsonAnlK.cjs} +3 -3
- package/dist/{data-panel-CAbxKoPF.cjs.map → data-panel-CsonAnlK.cjs.map} +1 -1
- package/dist/domains/logs/components/log-details-view.cjs.js +1 -1
- package/dist/domains/logs/components/log-details-view.es.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
- package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
- package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +2 -2
- package/dist/domains/traces/components/span-data-panel-view.es.js +2 -2
- 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/traces-toolbar.cjs.js +1 -1
- package/dist/domains/traces/components/traces-toolbar.es.js +1 -1
- package/dist/{drawer-DtEZQBXj.cjs → drawer-DvuUmhic.cjs} +3 -3
- package/dist/{drawer-DtEZQBXj.cjs.map → drawer-DvuUmhic.cjs.map} +1 -1
- package/dist/{drawer-Djerm1Lo.js → drawer-Dyx25o_o.js} +3 -3
- package/dist/{drawer-Djerm1Lo.js.map → drawer-Dyx25o_o.js.map} +1 -1
- package/dist/ee/signals/components/signals-empty-state.cjs.js +152 -0
- package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -0
- package/dist/ee/signals/components/signals-empty-state.d.ts +2 -0
- package/dist/ee/signals/components/signals-empty-state.es.js +148 -0
- package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -0
- package/dist/ee/signals/components/signals-overview-page.cjs.js +3 -201
- package/dist/ee/signals/components/signals-overview-page.cjs.js.map +1 -1
- package/dist/ee/signals/components/signals-overview-page.es.js +5 -201
- package/dist/ee/signals/components/signals-overview-page.es.js.map +1 -1
- package/dist/ee/signals/components.cjs.js +0 -10
- package/dist/ee/signals/components.cjs.js.map +1 -1
- package/dist/ee/signals/components.es.js +1 -3
- package/dist/ee/signals/components.es.js.map +1 -1
- package/dist/ee/signals/signal-colors.cjs.js +28 -0
- package/dist/ee/signals/signal-colors.cjs.js.map +1 -0
- package/dist/ee/signals/signal-colors.d.ts +2 -0
- package/dist/ee/signals/signal-colors.es.js +23 -0
- package/dist/ee/signals/signal-colors.es.js.map +1 -0
- package/dist/ee/signals.cjs.js +3 -27
- package/dist/ee/signals.cjs.js.map +1 -1
- package/dist/ee/signals.es.js +2 -7
- package/dist/ee/signals.es.js.map +1 -1
- package/dist/{field-block-CC_EYPWe.js → field-block-CBdMcT-i.js} +2 -2
- package/dist/{field-block-CC_EYPWe.js.map → field-block-CBdMcT-i.js.map} +1 -1
- package/dist/{field-block-Dx-fDIP9.cjs → field-block-CEbnWKc0.cjs} +2 -2
- package/dist/{field-block-Dx-fDIP9.cjs.map → field-block-CEbnWKc0.cjs.map} +1 -1
- package/dist/hooks/use-is-clamped.cjs.js +36 -0
- package/dist/hooks/use-is-clamped.cjs.js.map +1 -0
- package/dist/hooks/use-is-clamped.d.ts +2 -0
- package/dist/hooks/use-is-clamped.es.js +32 -0
- package/dist/hooks/use-is-clamped.es.js.map +1 -0
- package/dist/primitives/portal-container.cjs.js.map +1 -1
- package/dist/primitives/portal-container.es.js.map +1 -1
- package/dist/{property-filter-applied-Ca0UdU5P.js → property-filter-applied-Bs1Ck691.js} +2 -2
- package/dist/{property-filter-applied-Ca0UdU5P.js.map → property-filter-applied-Bs1Ck691.js.map} +1 -1
- package/dist/{property-filter-applied-BYKTDczo.cjs → property-filter-applied-DgmkZVbl.cjs} +2 -2
- package/dist/{property-filter-applied-BYKTDczo.cjs.map → property-filter-applied-DgmkZVbl.cjs.map} +1 -1
- package/dist/resize/panel-drawer.cjs.js +1 -1
- package/dist/resize/panel-drawer.es.js +1 -1
- package/dist/sankeyColor-CQ5nkgtL.js +48 -0
- package/dist/sankeyColor-CQ5nkgtL.js.map +1 -0
- package/dist/sankeyColor-DONd5cg9.cjs +53 -0
- package/dist/sankeyColor-DONd5cg9.cjs.map +1 -0
- package/dist/{search-field-block-e9qthuwY.js → search-field-block-CMoQ9fjl.js} +4 -3
- package/dist/search-field-block-CMoQ9fjl.js.map +1 -0
- package/dist/{search-field-block-C4njnmUx.cjs → search-field-block-DmqZsrrI.cjs} +4 -3
- package/dist/search-field-block-DmqZsrrI.cjs.map +1 -0
- package/dist/{select-field-block-dq1ZmZVb.cjs → select-field-block-BI_NZs2R.cjs} +2 -2
- package/dist/{select-field-block-dq1ZmZVb.cjs.map → select-field-block-BI_NZs2R.cjs.map} +1 -1
- package/dist/{select-field-block-BWuqWh4k.js → select-field-block-BSlngEHK.js} +2 -2
- package/dist/{select-field-block-BWuqWh4k.js.map → select-field-block-BSlngEHK.js.map} +1 -1
- package/dist/signals-empty-state.css +54 -0
- package/dist/src/ds/components/Card/Card.d.ts +15 -2
- package/dist/src/ds/components/Card/index.d.ts +2 -2
- package/dist/src/ds/components/ClampedText/clamped-text.d.ts +20 -0
- package/dist/src/ds/components/ClampedText/clamped-text.stories.d.ts +8 -0
- package/dist/src/ds/components/ClampedText/index.d.ts +1 -0
- package/dist/src/ds/components/Composer/composer.d.ts +5 -1
- package/dist/src/ds/components/Composer/index.d.ts +1 -1
- package/dist/src/ds/components/SankeyChart/index.d.ts +2 -1
- package/dist/src/ds/components/SankeyChart/sankey-chart-utils.d.ts +2 -1
- package/dist/src/ds/components/SankeyChart/sankey-chart.d.ts +4 -2
- package/dist/src/ds/components/SankeyChart/sankey-context.d.ts +3 -1
- package/dist/src/ds/components/Toaster/index.d.ts +1 -1
- package/dist/src/ds/components/Txt/Txt.d.ts +3 -2
- package/dist/src/ds/components/ai/ask-user/ask-user.d.ts +42 -0
- package/dist/src/ds/components/ai/ask-user/ask-user.stories.d.ts +11 -0
- package/dist/src/ds/components/ai/ask-user/index.d.ts +1 -0
- package/dist/src/ds/components/ai/task-list/index.d.ts +1 -0
- package/dist/src/ds/components/ai/task-list/task-list.d.ts +31 -0
- package/dist/src/ds/components/ai/task-list/task-list.stories.d.ts +9 -0
- package/dist/src/ee/signals/components/index.d.ts +0 -2
- package/dist/src/ee/signals/components/signals-empty-state.d.ts +7 -0
- package/dist/src/ee/signals/components/signals-overview-page.d.ts +2 -22
- package/dist/src/ee/signals/index.d.ts +1 -4
- package/dist/src/ee/signals/signal-colors.d.ts +7 -0
- package/dist/src/hooks/use-is-clamped.d.ts +11 -0
- package/dist/style.css +289 -40
- package/dist/{text-field-block-CpKq1NCV.cjs → text-field-block-BUvxjW9m.cjs} +2 -2
- package/dist/{text-field-block-CpKq1NCV.cjs.map → text-field-block-BUvxjW9m.cjs.map} +1 -1
- package/dist/{text-field-block-CrFqgdKx.js → text-field-block-DxtR1Ft4.js} +2 -2
- package/dist/{text-field-block-CrFqgdKx.js.map → text-field-block-DxtR1Ft4.js.map} +1 -1
- package/package.json +10 -10
- package/theme.css +1 -0
- package/dist/Txt-BT8_EkuZ.cjs.map +0 -1
- package/dist/Txt-p33XTnu8.js.map +0 -1
- package/dist/ee/signals/components/signal-details-page.cjs.js +0 -288
- package/dist/ee/signals/components/signal-details-page.cjs.js.map +0 -1
- package/dist/ee/signals/components/signal-details-page.d.ts +0 -2
- package/dist/ee/signals/components/signal-details-page.es.js +0 -280
- package/dist/ee/signals/components/signal-details-page.es.js.map +0 -1
- package/dist/ee/signals/components/signals-entity-filter.cjs.js +0 -27
- package/dist/ee/signals/components/signals-entity-filter.cjs.js.map +0 -1
- package/dist/ee/signals/components/signals-entity-filter.d.ts +0 -2
- package/dist/ee/signals/components/signals-entity-filter.es.js +0 -23
- package/dist/ee/signals/components/signals-entity-filter.es.js.map +0 -1
- package/dist/ee/signals/hooks/use-entity-learning-config.cjs.js +0 -35
- package/dist/ee/signals/hooks/use-entity-learning-config.cjs.js.map +0 -1
- package/dist/ee/signals/hooks/use-entity-learning-config.d.ts +0 -2
- package/dist/ee/signals/hooks/use-entity-learning-config.es.js +0 -31
- package/dist/ee/signals/hooks/use-entity-learning-config.es.js.map +0 -1
- package/dist/ee/signals/hooks/use-entity-learning.cjs.js +0 -96
- package/dist/ee/signals/hooks/use-entity-learning.cjs.js.map +0 -1
- package/dist/ee/signals/hooks/use-entity-learning.d.ts +0 -2
- package/dist/ee/signals/hooks/use-entity-learning.es.js +0 -84
- package/dist/ee/signals/hooks/use-entity-learning.es.js.map +0 -1
- package/dist/ee/signals/hooks.cjs.js +0 -20
- package/dist/ee/signals/hooks.cjs.js.map +0 -1
- package/dist/ee/signals/hooks.d.ts +0 -2
- package/dist/ee/signals/hooks.es.js +0 -3
- package/dist/ee/signals/hooks.es.js.map +0 -1
- package/dist/ee/signals/services/entity-learning-service.cjs.js +0 -88
- package/dist/ee/signals/services/entity-learning-service.cjs.js.map +0 -1
- package/dist/ee/signals/services/entity-learning-service.d.ts +0 -2
- package/dist/ee/signals/services/entity-learning-service.es.js +0 -84
- package/dist/ee/signals/services/entity-learning-service.es.js.map +0 -1
- package/dist/ee/signals/services/entity-learning-types.cjs.js +0 -3
- package/dist/ee/signals/services/entity-learning-types.cjs.js.map +0 -1
- package/dist/ee/signals/services/entity-learning-types.d.ts +0 -1
- package/dist/ee/signals/services/entity-learning-types.es.js +0 -2
- package/dist/ee/signals/services/entity-learning-types.es.js.map +0 -1
- package/dist/ee/signals/services.cjs.js +0 -10
- package/dist/ee/signals/services.cjs.js.map +0 -1
- package/dist/ee/signals/services.d.ts +0 -2
- package/dist/ee/signals/services.es.js +0 -2
- package/dist/ee/signals/services.es.js.map +0 -1
- package/dist/ee/signals/signals-data.cjs.js +0 -53
- package/dist/ee/signals/signals-data.cjs.js.map +0 -1
- package/dist/ee/signals/signals-data.d.ts +0 -2
- package/dist/ee/signals/signals-data.es.js +0 -48
- package/dist/ee/signals/signals-data.es.js.map +0 -1
- package/dist/ee/signals/types.cjs.js +0 -3
- package/dist/ee/signals/types.cjs.js.map +0 -1
- package/dist/ee/signals/types.d.ts +0 -1
- package/dist/ee/signals/types.es.js +0 -2
- package/dist/ee/signals/types.es.js.map +0 -1
- package/dist/search-field-block-C4njnmUx.cjs.map +0 -1
- package/dist/search-field-block-e9qthuwY.js.map +0 -1
- package/dist/src/ee/signals/components/signal-details-page.d.ts +0 -40
- package/dist/src/ee/signals/components/signals-entity-filter.d.ts +0 -13
- package/dist/src/ee/signals/hooks/index.d.ts +0 -2
- package/dist/src/ee/signals/hooks/use-entity-learning-config.d.ts +0 -14
- package/dist/src/ee/signals/hooks/use-entity-learning.d.ts +0 -24
- package/dist/src/ee/signals/services/entity-learning-service.d.ts +0 -43
- package/dist/src/ee/signals/services/entity-learning-types.d.ts +0 -123
- package/dist/src/ee/signals/services/index.d.ts +0 -2
- package/dist/src/ee/signals/signals-data.d.ts +0 -10
- package/dist/src/ee/signals/types.d.ts +0 -15
|
@@ -1,205 +1,9 @@
|
|
|
1
|
-
import { jsx
|
|
2
|
-
import {
|
|
3
|
-
import { B as Badge } from '../../../Badge-woV6OD8k.js';
|
|
4
|
-
import { B as Button } from '../../../Button-Dh5CZ6Ir.js';
|
|
5
|
-
import { E as EmptyState } from '../../../EmptyState-C0TShKF9.js';
|
|
6
|
-
import { S as Skeleton } from '../../../skeleton-C5-7V8Ni.js';
|
|
7
|
-
import { S as Spinner } from '../../../spinner-HCsQgpaP.js';
|
|
8
|
-
import { TopicsLayout } from '../../topics/components/topics-layout.es.js';
|
|
9
|
-
import 'react';
|
|
10
|
-
import 'date-fns';
|
|
11
|
-
import 'date-fns/format';
|
|
12
|
-
import '../../../components/DataDetailsPanel.es.js';
|
|
13
|
-
import '@mastra/react';
|
|
14
|
-
import '@tanstack/react-query';
|
|
15
|
-
import { useEntityTopics, useEntities } from '../hooks/use-entity-learning.es.js';
|
|
16
|
-
import { getSignalCatalogEntry } from '../signals-data.es.js';
|
|
17
|
-
import { SignalsEntityFilter } from './signals-entity-filter.es.js';
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { SignalsEmptyState } from './signals-empty-state.es.js';
|
|
18
3
|
|
|
19
|
-
function
|
|
20
|
-
|
|
21
|
-
for (let i = 0; i < topicId.length; i++) {
|
|
22
|
-
hash = topicId.charCodeAt(i) + ((hash << 5) - hash);
|
|
23
|
-
hash = hash & hash;
|
|
24
|
-
}
|
|
25
|
-
const hue = Math.abs(hash * 137.508) % 360;
|
|
26
|
-
return `hsl(${hue}, 70%, 55%)`;
|
|
27
|
-
}
|
|
28
|
-
function SignalClusterCard({ topic, onSelect }) {
|
|
29
|
-
const coveragePct = Math.round(topic.coverage * 100);
|
|
30
|
-
const itemLabel = topic.itemCount === 1 ? "item" : "items";
|
|
31
|
-
const clusterColor = clusterColorFromTopicId(topic.topicId);
|
|
32
|
-
const clusterStyle = { "--cluster-color": clusterColor };
|
|
33
|
-
return /* @__PURE__ */ jsx(
|
|
34
|
-
"article",
|
|
35
|
-
{
|
|
36
|
-
role: "button",
|
|
37
|
-
tabIndex: 0,
|
|
38
|
-
onClick: () => onSelect(topic.topicId),
|
|
39
|
-
onKeyDown: (event) => {
|
|
40
|
-
if (event.key === "Enter" || event.key === " ") {
|
|
41
|
-
event.preventDefault();
|
|
42
|
-
onSelect(topic.topicId);
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
className: "group cursor-pointer rounded-2xl border border-border1/70 bg-surface2 p-5 shadow-sm transition-colors hover:border-[var(--cluster-color)] focus-visible:border-[var(--cluster-color)] focus-visible:outline-none",
|
|
46
|
-
style: clusterStyle,
|
|
47
|
-
children: /* @__PURE__ */ jsxs("div", { className: "flex h-full min-w-0 flex-col", children: [
|
|
48
|
-
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-start gap-2", children: [
|
|
49
|
-
/* @__PURE__ */ jsx("span", { className: "mt-2 size-2.5 shrink-0 rounded-full", style: { backgroundColor: clusterColor } }),
|
|
50
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
51
|
-
/* @__PURE__ */ jsx("h3", { className: "text-md font-semibold text-neutral6", children: topic.name }),
|
|
52
|
-
/* @__PURE__ */ jsx("p", { className: "line-clamp-2 text-sm text-neutral3", children: topic.description })
|
|
53
|
-
] })
|
|
54
|
-
] }),
|
|
55
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-1 pt-4 pl-4", children: [
|
|
56
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
57
|
-
/* @__PURE__ */ jsx("p", { className: "font-mono text-xs text-neutral3 uppercase", children: "Coverage" }),
|
|
58
|
-
/* @__PURE__ */ jsxs("p", { className: "font-mono text-xs text-neutral3", children: [
|
|
59
|
-
topic.itemCount,
|
|
60
|
-
" ",
|
|
61
|
-
itemLabel
|
|
62
|
-
] })
|
|
63
|
-
] }),
|
|
64
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[minmax(0,1fr)_4rem] items-center gap-4", children: [
|
|
65
|
-
/* @__PURE__ */ jsx(
|
|
66
|
-
"div",
|
|
67
|
-
{
|
|
68
|
-
className: "h-3 overflow-hidden rounded-full bg-surface4",
|
|
69
|
-
role: "progressbar",
|
|
70
|
-
"aria-label": `${topic.name} coverage`,
|
|
71
|
-
"aria-valuemin": 0,
|
|
72
|
-
"aria-valuemax": 100,
|
|
73
|
-
"aria-valuenow": coveragePct,
|
|
74
|
-
children: /* @__PURE__ */ jsx(
|
|
75
|
-
"div",
|
|
76
|
-
{
|
|
77
|
-
className: "h-full rounded-full",
|
|
78
|
-
style: { width: `${coveragePct}%`, backgroundColor: clusterColor }
|
|
79
|
-
}
|
|
80
|
-
)
|
|
81
|
-
}
|
|
82
|
-
),
|
|
83
|
-
/* @__PURE__ */ jsxs("p", { className: "text-right text-ui-md font-semibold text-neutral6", children: [
|
|
84
|
-
coveragePct,
|
|
85
|
-
"%"
|
|
86
|
-
] })
|
|
87
|
-
] })
|
|
88
|
-
] })
|
|
89
|
-
] })
|
|
90
|
-
}
|
|
91
|
-
);
|
|
92
|
-
}
|
|
93
|
-
function SignalClusterCardSkeleton() {
|
|
94
|
-
return /* @__PURE__ */ jsx("article", { className: "rounded-2xl border border-border1/70 bg-surface2 p-5 shadow-sm", "aria-hidden": "true", children: /* @__PURE__ */ jsxs("div", { className: "flex h-full min-w-0 flex-col", children: [
|
|
95
|
-
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-start gap-2", children: [
|
|
96
|
-
/* @__PURE__ */ jsx(Skeleton, { className: "mt-2 size-2.5 shrink-0 rounded-full" }),
|
|
97
|
-
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1 space-y-2", children: [
|
|
98
|
-
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-1/2" }),
|
|
99
|
-
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-full" })
|
|
100
|
-
] })
|
|
101
|
-
] }),
|
|
102
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-2 pt-4 pl-4", children: [
|
|
103
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
104
|
-
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-20" }),
|
|
105
|
-
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-12" })
|
|
106
|
-
] }),
|
|
107
|
-
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-full rounded-full" })
|
|
108
|
-
] })
|
|
109
|
-
] }) });
|
|
110
|
-
}
|
|
111
|
-
function SignalSectionSkeleton() {
|
|
112
|
-
return /* @__PURE__ */ jsx("div", { className: "grid gap-6 md:grid-cols-2", "aria-label": "Loading clusters", "aria-busy": "true", children: Array.from({ length: 4 }).map((_, index) => /* @__PURE__ */ jsx(SignalClusterCardSkeleton, {}, index)) });
|
|
113
|
-
}
|
|
114
|
-
function SignalSection({ entity, catalog, signalName, onSeeDetails, onSelectCluster }) {
|
|
115
|
-
const { data, isLoading, isError } = useEntityTopics(entity.entityId, signalName);
|
|
116
|
-
const topics = data?.topics ?? [];
|
|
117
|
-
return /* @__PURE__ */ jsxs("section", { className: "space-y-4", children: [
|
|
118
|
-
/* @__PURE__ */ jsxs("header", { className: "flex items-start justify-between gap-6 px-1", children: [
|
|
119
|
-
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
120
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
121
|
-
/* @__PURE__ */ jsx("h2", { className: "text-ui-2xl font-semibold text-neutral6", children: catalog.name }),
|
|
122
|
-
isLoading ? /* @__PURE__ */ jsx(Skeleton, { className: "h-badge-default w-20 rounded-full", "aria-hidden": "true" }) : !isError ? /* @__PURE__ */ jsxs(Badge, { variant: "default", children: [
|
|
123
|
-
topics.length,
|
|
124
|
-
" ",
|
|
125
|
-
topics.length === 1 ? "cluster" : "clusters"
|
|
126
|
-
] }) : null
|
|
127
|
-
] }),
|
|
128
|
-
catalog.description ? /* @__PURE__ */ jsx("p", { className: "text-ui-lg text-neutral3", children: catalog.description }) : null
|
|
129
|
-
] }),
|
|
130
|
-
/* @__PURE__ */ jsxs(
|
|
131
|
-
Button,
|
|
132
|
-
{
|
|
133
|
-
type: "button",
|
|
134
|
-
variant: "outline",
|
|
135
|
-
size: "lg",
|
|
136
|
-
className: "shrink-0 gap-2 rounded-xl px-5",
|
|
137
|
-
onClick: () => onSeeDetails(signalName),
|
|
138
|
-
children: [
|
|
139
|
-
"See details",
|
|
140
|
-
/* @__PURE__ */ jsx(ArrowUpRight, { className: "size-4", "aria-hidden": "true" })
|
|
141
|
-
]
|
|
142
|
-
}
|
|
143
|
-
)
|
|
144
|
-
] }),
|
|
145
|
-
isLoading ? /* @__PURE__ */ jsx(SignalSectionSkeleton, {}) : isError ? /* @__PURE__ */ jsx("p", { className: "px-1 text-ui-md text-accent2", children: "Failed to load clusters for this signal." }) : topics.length === 0 ? /* @__PURE__ */ jsx("p", { className: "px-1 text-ui-md text-neutral3", children: "No clusters found for this signal yet." }) : /* @__PURE__ */ jsx("div", { className: "grid gap-6 md:grid-cols-2", children: topics.map((topic) => /* @__PURE__ */ jsx(
|
|
146
|
-
SignalClusterCard,
|
|
147
|
-
{
|
|
148
|
-
topic,
|
|
149
|
-
onSelect: (topicId) => onSelectCluster(signalName, topicId)
|
|
150
|
-
},
|
|
151
|
-
topic.topicId
|
|
152
|
-
)) })
|
|
153
|
-
] });
|
|
154
|
-
}
|
|
155
|
-
function SignalsOverviewPage({ selectedEntity, onEntityChange, onSignalSelect }) {
|
|
156
|
-
const { data: entities = [], isLoading, isError } = useEntities();
|
|
157
|
-
const entity = selectedEntity ? entities.find((item) => item.entityId === selectedEntity.entityId) : void 0;
|
|
158
|
-
const showFilterBar = Boolean(entity);
|
|
159
|
-
return /* @__PURE__ */ jsx(TopicsLayout, { sidebar: null, contentPadding: false, children: /* @__PURE__ */ jsxs("div", { className: "flex h-full min-w-0 flex-col", "aria-label": "Signals", children: [
|
|
160
|
-
showFilterBar && /* @__PURE__ */ jsx("div", { className: "border-b border-border1/70 px-6 py-4", children: /* @__PURE__ */ jsx(SignalsEntityFilter, { entities, selected: selectedEntity, onChange: onEntityChange }) }),
|
|
161
|
-
/* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1 overflow-y-auto p-6", children: isLoading ? /* @__PURE__ */ jsx("div", { className: "flex h-full items-center justify-center", children: /* @__PURE__ */ jsx(EmptyState, { iconSlot: /* @__PURE__ */ jsx(Spinner, {}), titleSlot: "Loading entities…" }) }) : isError ? /* @__PURE__ */ jsx("div", { className: "flex h-full items-center justify-center", children: /* @__PURE__ */ jsx(
|
|
162
|
-
EmptyState,
|
|
163
|
-
{
|
|
164
|
-
iconSlot: /* @__PURE__ */ jsx(CircleSlashIcon, {}),
|
|
165
|
-
titleSlot: "Failed to load entities",
|
|
166
|
-
descriptionSlot: "Failed to load entities from the observability endpoint."
|
|
167
|
-
}
|
|
168
|
-
) }) : entities.length === 0 ? /* @__PURE__ */ jsx("div", { className: "flex h-full items-center justify-center", children: /* @__PURE__ */ jsx(
|
|
169
|
-
EmptyState,
|
|
170
|
-
{
|
|
171
|
-
iconSlot: /* @__PURE__ */ jsx(InboxIcon, {}),
|
|
172
|
-
titleSlot: "No entities available",
|
|
173
|
-
descriptionSlot: "No entities are available on the server yet."
|
|
174
|
-
}
|
|
175
|
-
) }) : !entity ? /* @__PURE__ */ jsx("div", { className: "flex h-full items-center justify-center", children: /* @__PURE__ */ jsx(
|
|
176
|
-
EmptyState,
|
|
177
|
-
{
|
|
178
|
-
iconSlot: /* @__PURE__ */ jsx(MousePointerClickIcon, {}),
|
|
179
|
-
titleSlot: "No entity selected",
|
|
180
|
-
descriptionSlot: "Select an entity to inspect its signals and clusters.",
|
|
181
|
-
actionSlot: /* @__PURE__ */ jsx(SignalsEntityFilter, { entities, selected: selectedEntity, onChange: onEntityChange })
|
|
182
|
-
}
|
|
183
|
-
) }) : entity.availableSignals.length === 0 ? /* @__PURE__ */ jsx("div", { className: "flex h-full items-center justify-center", children: /* @__PURE__ */ jsx(
|
|
184
|
-
EmptyState,
|
|
185
|
-
{
|
|
186
|
-
iconSlot: /* @__PURE__ */ jsx(InboxIcon, {}),
|
|
187
|
-
titleSlot: "No signals yet",
|
|
188
|
-
descriptionSlot: "This entity has no signals yet."
|
|
189
|
-
}
|
|
190
|
-
) }) : /* @__PURE__ */ jsx("div", { className: "mx-auto flex max-w-6xl flex-col gap-12", children: entity.availableSignals.map((signalName) => /* @__PURE__ */ jsx(
|
|
191
|
-
SignalSection,
|
|
192
|
-
{
|
|
193
|
-
entity,
|
|
194
|
-
signalName,
|
|
195
|
-
catalog: getSignalCatalogEntry(signalName),
|
|
196
|
-
onSeeDetails: onSignalSelect,
|
|
197
|
-
onSelectCluster: onSignalSelect
|
|
198
|
-
},
|
|
199
|
-
signalName
|
|
200
|
-
)) }) })
|
|
201
|
-
] }) });
|
|
4
|
+
function SignalsOverviewPage(props) {
|
|
5
|
+
return /* @__PURE__ */ jsx(SignalsEmptyState, { ...props });
|
|
202
6
|
}
|
|
203
7
|
|
|
204
|
-
export {
|
|
8
|
+
export { SignalsOverviewPage };
|
|
205
9
|
//# sourceMappingURL=signals-overview-page.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signals-overview-page.es.js","sources":["../../../../src/ee/signals/components/signals-overview-page.tsx"],"sourcesContent":["import { ArrowUpRight, CircleSlashIcon, InboxIcon, MousePointerClickIcon } from 'lucide-react';\nimport type { CSSProperties } from 'react';\nimport { Badge } from '../../../ds/components/Badge';\nimport { Button } from '../../../ds/components/Button';\nimport { EmptyState } from '../../../ds/components/EmptyState';\nimport { Skeleton } from '../../../ds/components/Skeleton';\nimport { Spinner } from '../../../ds/components/Spinner';\nimport { TopicsLayout } from '../../topics';\nimport { useEntities, useEntityTopics } from '../hooks';\nimport type { EntityLearningEntitySummary, EntityLearningTopic } from '../services';\nimport { getSignalCatalogEntry } from '../signals-data';\nimport type { SelectedEntity, SignalCatalogEntry } from '../types';\nimport { SignalsEntityFilter } from './signals-entity-filter';\n\nfunction clusterColorFromTopicId(topicId: string) {\n let hash = 0;\n for (let i = 0; i < topicId.length; i++) {\n hash = topicId.charCodeAt(i) + ((hash << 5) - hash);\n hash = hash & hash;\n }\n // Multiply by the golden-angle so close ids (e.g. \"1\",\"2\",\"3\") map to well-separated hues.\n const hue = Math.abs(hash * 137.508) % 360;\n return `hsl(${hue}, 70%, 55%)`;\n}\n\ninterface SignalClusterCardProps {\n topic: EntityLearningTopic;\n onSelect: (topicId: string) => void;\n}\n\nexport function SignalClusterCard({ topic, onSelect }: SignalClusterCardProps) {\n const coveragePct = Math.round(topic.coverage * 100);\n const itemLabel = topic.itemCount === 1 ? 'item' : 'items';\n const clusterColor = clusterColorFromTopicId(topic.topicId);\n const clusterStyle = { '--cluster-color': clusterColor } as CSSProperties;\n\n return (\n <article\n role=\"button\"\n tabIndex={0}\n onClick={() => onSelect(topic.topicId)}\n onKeyDown={event => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onSelect(topic.topicId);\n }\n }}\n className=\"group cursor-pointer rounded-2xl border border-border1/70 bg-surface2 p-5 shadow-sm transition-colors hover:border-[var(--cluster-color)] focus-visible:border-[var(--cluster-color)] focus-visible:outline-none\"\n style={clusterStyle}\n >\n <div className=\"flex h-full min-w-0 flex-col\">\n <div className=\"flex min-w-0 items-start gap-2\">\n <span className=\"mt-2 size-2.5 shrink-0 rounded-full\" style={{ backgroundColor: clusterColor }} />\n\n <div>\n <h3 className=\"text-md font-semibold text-neutral6\">{topic.name}</h3>\n <p className=\"line-clamp-2 text-sm text-neutral3\">{topic.description}</p>\n </div>\n </div>\n\n <div className=\"space-y-1 pt-4 pl-4\">\n <div className=\"flex items-center justify-between\">\n <p className=\"font-mono text-xs text-neutral3 uppercase\">Coverage</p>\n <p className=\"font-mono text-xs text-neutral3\">\n {topic.itemCount} {itemLabel}\n </p>\n </div>\n\n <div className=\"grid grid-cols-[minmax(0,1fr)_4rem] items-center gap-4\">\n <div\n className=\"h-3 overflow-hidden rounded-full bg-surface4\"\n role=\"progressbar\"\n aria-label={`${topic.name} coverage`}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={coveragePct}\n >\n <div\n className=\"h-full rounded-full\"\n style={{ width: `${coveragePct}%`, backgroundColor: clusterColor }}\n />\n </div>\n <p className=\"text-right text-ui-md font-semibold text-neutral6\">{coveragePct}%</p>\n </div>\n </div>\n </div>\n </article>\n );\n}\n\nfunction SignalClusterCardSkeleton() {\n return (\n <article className=\"rounded-2xl border border-border1/70 bg-surface2 p-5 shadow-sm\" aria-hidden=\"true\">\n <div className=\"flex h-full min-w-0 flex-col\">\n <div className=\"flex min-w-0 items-start gap-2\">\n <Skeleton className=\"mt-2 size-2.5 shrink-0 rounded-full\" />\n <div className=\"min-w-0 flex-1 space-y-2\">\n <Skeleton className=\"h-4 w-1/2\" />\n <Skeleton className=\"h-3 w-full\" />\n </div>\n </div>\n\n <div className=\"space-y-2 pt-4 pl-4\">\n <div className=\"flex items-center justify-between\">\n <Skeleton className=\"h-3 w-20\" />\n <Skeleton className=\"h-3 w-12\" />\n </div>\n <Skeleton className=\"h-3 w-full rounded-full\" />\n </div>\n </div>\n </article>\n );\n}\n\nfunction SignalSectionSkeleton() {\n return (\n <div className=\"grid gap-6 md:grid-cols-2\" aria-label=\"Loading clusters\" aria-busy=\"true\">\n {Array.from({ length: 4 }).map((_, index) => (\n <SignalClusterCardSkeleton key={index} />\n ))}\n </div>\n );\n}\n\ninterface SignalSectionProps {\n entity: EntityLearningEntitySummary;\n catalog: SignalCatalogEntry;\n signalName: string;\n onSeeDetails: (signalName: string) => void;\n onSelectCluster: (signalName: string, topicId: string) => void;\n}\n\nexport function SignalSection({ entity, catalog, signalName, onSeeDetails, onSelectCluster }: SignalSectionProps) {\n // No runId: the API resolves the latest run per signal. `entity.latestRunId`\n // is entity-wide and belongs to a single signal, so reusing it here would\n // return empty topics for every other signal.\n const { data, isLoading, isError } = useEntityTopics(entity.entityId, signalName);\n const topics = data?.topics ?? [];\n\n return (\n <section className=\"space-y-4\">\n <header className=\"flex items-start justify-between gap-6 px-1\">\n <div className=\"min-w-0\">\n <div className=\"flex items-center gap-3\">\n <h2 className=\"text-ui-2xl font-semibold text-neutral6\">{catalog.name}</h2>\n {isLoading ? (\n <Skeleton className=\"h-badge-default w-20 rounded-full\" aria-hidden=\"true\" />\n ) : !isError ? (\n <Badge variant=\"default\">\n {topics.length} {topics.length === 1 ? 'cluster' : 'clusters'}\n </Badge>\n ) : null}\n </div>\n {catalog.description ? <p className=\"text-ui-lg text-neutral3\">{catalog.description}</p> : null}\n </div>\n\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"lg\"\n className=\"shrink-0 gap-2 rounded-xl px-5\"\n onClick={() => onSeeDetails(signalName)}\n >\n See details\n <ArrowUpRight className=\"size-4\" aria-hidden=\"true\" />\n </Button>\n </header>\n\n {isLoading ? (\n <SignalSectionSkeleton />\n ) : isError ? (\n <p className=\"px-1 text-ui-md text-accent2\">Failed to load clusters for this signal.</p>\n ) : topics.length === 0 ? (\n <p className=\"px-1 text-ui-md text-neutral3\">No clusters found for this signal yet.</p>\n ) : (\n <div className=\"grid gap-6 md:grid-cols-2\">\n {topics.map(topic => (\n <SignalClusterCard\n key={topic.topicId}\n topic={topic}\n onSelect={topicId => onSelectCluster(signalName, topicId)}\n />\n ))}\n </div>\n )}\n </section>\n );\n}\n\nexport interface SignalsOverviewPageProps {\n selectedEntity: SelectedEntity | null;\n onEntityChange: (selected: SelectedEntity | null) => void;\n onSignalSelect: (signalName: string, topicId?: string) => void;\n}\n\nexport function SignalsOverviewPage({ selectedEntity, onEntityChange, onSignalSelect }: SignalsOverviewPageProps) {\n const { data: entities = [], isLoading, isError } = useEntities();\n\n const entity = selectedEntity ? entities.find(item => item.entityId === selectedEntity.entityId) : undefined;\n\n // Only show the pinned filter bar once an agent is selected. While entities\n // are loading/erroring/empty, or when none is selected, the picker is surfaced\n // through the centered empty state instead, so the skeleton/loading view never\n // shows the top bar with an empty agent dropdown.\n const showFilterBar = Boolean(entity);\n\n return (\n <TopicsLayout sidebar={null} contentPadding={false}>\n <div className=\"flex h-full min-w-0 flex-col\" aria-label=\"Signals\">\n {showFilterBar && (\n <div className=\"border-b border-border1/70 px-6 py-4\">\n <SignalsEntityFilter entities={entities} selected={selectedEntity} onChange={onEntityChange} />\n </div>\n )}\n\n <div className=\"min-h-0 flex-1 overflow-y-auto p-6\">\n {isLoading ? (\n <div className=\"flex h-full items-center justify-center\">\n <EmptyState iconSlot={<Spinner />} titleSlot=\"Loading entities…\" />\n </div>\n ) : isError ? (\n <div className=\"flex h-full items-center justify-center\">\n <EmptyState\n iconSlot={<CircleSlashIcon />}\n titleSlot=\"Failed to load entities\"\n descriptionSlot=\"Failed to load entities from the observability endpoint.\"\n />\n </div>\n ) : entities.length === 0 ? (\n <div className=\"flex h-full items-center justify-center\">\n <EmptyState\n iconSlot={<InboxIcon />}\n titleSlot=\"No entities available\"\n descriptionSlot=\"No entities are available on the server yet.\"\n />\n </div>\n ) : !entity ? (\n <div className=\"flex h-full items-center justify-center\">\n <EmptyState\n iconSlot={<MousePointerClickIcon />}\n titleSlot=\"No entity selected\"\n descriptionSlot=\"Select an entity to inspect its signals and clusters.\"\n actionSlot={\n <SignalsEntityFilter entities={entities} selected={selectedEntity} onChange={onEntityChange} />\n }\n />\n </div>\n ) : entity.availableSignals.length === 0 ? (\n <div className=\"flex h-full items-center justify-center\">\n <EmptyState\n iconSlot={<InboxIcon />}\n titleSlot=\"No signals yet\"\n descriptionSlot=\"This entity has no signals yet.\"\n />\n </div>\n ) : (\n <div className=\"mx-auto flex max-w-6xl flex-col gap-12\">\n {entity.availableSignals.map(signalName => (\n <SignalSection\n key={signalName}\n entity={entity}\n signalName={signalName}\n catalog={getSignalCatalogEntry(signalName)}\n onSeeDetails={onSignalSelect}\n onSelectCluster={onSignalSelect}\n />\n ))}\n </div>\n )}\n </div>\n </div>\n </TopicsLayout>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"signals-overview-page.es.js","sources":["../../../../src/ee/signals/components/signals-overview-page.tsx"],"sourcesContent":["import { SignalsEmptyState } from './signals-empty-state';\nimport type { SignalsEmptyStateProps } from './signals-empty-state';\n\nexport function SignalsOverviewPage(props: SignalsEmptyStateProps) {\n return <SignalsEmptyState {...props} />;\n}\n"],"names":[],"mappings":";;;AAGO,SAAS,oBAAoB,KAAA,EAA+B;AACjE,EAAA,uBAAO,GAAA,CAAC,iBAAA,EAAA,EAAmB,GAAG,KAAA,EAAO,CAAA;AACvC;;;;"}
|
|
@@ -2,19 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
|
-
const ee_signals_components_signalDetailsPage = require('./components/signal-details-page.cjs.js');
|
|
6
|
-
const ee_signals_components_signalsEntityFilter = require('./components/signals-entity-filter.cjs.js');
|
|
7
5
|
const ee_signals_components_signalsOverviewPage = require('./components/signals-overview-page.cjs.js');
|
|
8
6
|
|
|
9
7
|
|
|
10
8
|
|
|
11
|
-
exports.SignalClusterSidebar = ee_signals_components_signalDetailsPage.SignalClusterSidebar;
|
|
12
|
-
exports.SignalClusterTraceList = ee_signals_components_signalDetailsPage.SignalClusterTraceList;
|
|
13
|
-
exports.SignalDetailsPage = ee_signals_components_signalDetailsPage.SignalDetailsPage;
|
|
14
|
-
exports.SignalTraceDetailsPanel = ee_signals_components_signalDetailsPage.SignalTraceDetailsPanel;
|
|
15
|
-
exports.SignalTraceListTab = ee_signals_components_signalDetailsPage.SignalTraceListTab;
|
|
16
|
-
exports.SignalsEntityFilter = ee_signals_components_signalsEntityFilter.SignalsEntityFilter;
|
|
17
|
-
exports.SignalClusterCard = ee_signals_components_signalsOverviewPage.SignalClusterCard;
|
|
18
|
-
exports.SignalSection = ee_signals_components_signalsOverviewPage.SignalSection;
|
|
19
9
|
exports.SignalsOverviewPage = ee_signals_components_signalsOverviewPage.SignalsOverviewPage;
|
|
20
10
|
//# sourceMappingURL=components.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"components.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { SignalsEntityFilter } from './components/signals-entity-filter.es.js';
|
|
3
|
-
export { SignalClusterCard, SignalSection, SignalsOverviewPage } from './components/signals-overview-page.es.js';
|
|
1
|
+
export { SignalsOverviewPage } from './components/signals-overview-page.es.js';
|
|
4
2
|
//# sourceMappingURL=components.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"components.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const SIGNAL_HUES = {
|
|
6
|
+
goal: 145,
|
|
7
|
+
outcome: 35,
|
|
8
|
+
behavior: 225,
|
|
9
|
+
sentiment: 300
|
|
10
|
+
};
|
|
11
|
+
function getSignalHue(signalName) {
|
|
12
|
+
switch (signalName.toLowerCase()) {
|
|
13
|
+
case "goal":
|
|
14
|
+
return SIGNAL_HUES.goal;
|
|
15
|
+
case "outcome":
|
|
16
|
+
return SIGNAL_HUES.outcome;
|
|
17
|
+
case "behavior":
|
|
18
|
+
return SIGNAL_HUES.behavior;
|
|
19
|
+
case "sentiment":
|
|
20
|
+
return SIGNAL_HUES.sentiment;
|
|
21
|
+
default:
|
|
22
|
+
return 0;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
exports.SIGNAL_HUES = SIGNAL_HUES;
|
|
27
|
+
exports.getSignalHue = getSignalHue;
|
|
28
|
+
//# sourceMappingURL=signal-colors.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-colors.cjs.js","sources":["../../../src/ee/signals/signal-colors.ts"],"sourcesContent":["export const SIGNAL_HUES = {\n goal: 145,\n outcome: 35,\n behavior: 225,\n sentiment: 300,\n} as const;\n\nexport function getSignalHue(signalName: string) {\n switch (signalName.toLowerCase()) {\n case 'goal':\n return SIGNAL_HUES.goal;\n case 'outcome':\n return SIGNAL_HUES.outcome;\n case 'behavior':\n return SIGNAL_HUES.behavior;\n case 'sentiment':\n return SIGNAL_HUES.sentiment;\n default:\n return 0;\n }\n}\n"],"names":[],"mappings":";;;;AAAO,MAAM,WAAA,GAAc;AAAA,EACzB,IAAA,EAAM,GAAA;AAAA,EACN,OAAA,EAAS,EAAA;AAAA,EACT,QAAA,EAAU,GAAA;AAAA,EACV,SAAA,EAAW;AACb;AAEO,SAAS,aAAa,UAAA,EAAoB;AAC/C,EAAA,QAAQ,UAAA,CAAW,aAAY;AAAG,IAChC,KAAK,MAAA;AACH,MAAA,OAAO,WAAA,CAAY,IAAA;AAAA,IACrB,KAAK,SAAA;AACH,MAAA,OAAO,WAAA,CAAY,OAAA;AAAA,IACrB,KAAK,UAAA;AACH,MAAA,OAAO,WAAA,CAAY,QAAA;AAAA,IACrB,KAAK,WAAA;AACH,MAAA,OAAO,WAAA,CAAY,SAAA;AAAA,IACrB;AACE,MAAA,OAAO,CAAA;AAAA;AAEb;;;;;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const SIGNAL_HUES = {
|
|
2
|
+
goal: 145,
|
|
3
|
+
outcome: 35,
|
|
4
|
+
behavior: 225,
|
|
5
|
+
sentiment: 300
|
|
6
|
+
};
|
|
7
|
+
function getSignalHue(signalName) {
|
|
8
|
+
switch (signalName.toLowerCase()) {
|
|
9
|
+
case "goal":
|
|
10
|
+
return SIGNAL_HUES.goal;
|
|
11
|
+
case "outcome":
|
|
12
|
+
return SIGNAL_HUES.outcome;
|
|
13
|
+
case "behavior":
|
|
14
|
+
return SIGNAL_HUES.behavior;
|
|
15
|
+
case "sentiment":
|
|
16
|
+
return SIGNAL_HUES.sentiment;
|
|
17
|
+
default:
|
|
18
|
+
return 0;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { SIGNAL_HUES, getSignalHue };
|
|
23
|
+
//# sourceMappingURL=signal-colors.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-colors.es.js","sources":["../../../src/ee/signals/signal-colors.ts"],"sourcesContent":["export const SIGNAL_HUES = {\n goal: 145,\n outcome: 35,\n behavior: 225,\n sentiment: 300,\n} as const;\n\nexport function getSignalHue(signalName: string) {\n switch (signalName.toLowerCase()) {\n case 'goal':\n return SIGNAL_HUES.goal;\n case 'outcome':\n return SIGNAL_HUES.outcome;\n case 'behavior':\n return SIGNAL_HUES.behavior;\n case 'sentiment':\n return SIGNAL_HUES.sentiment;\n default:\n return 0;\n }\n}\n"],"names":[],"mappings":"AAAO,MAAM,WAAA,GAAc;AAAA,EACzB,IAAA,EAAM,GAAA;AAAA,EACN,OAAA,EAAS,EAAA;AAAA,EACT,QAAA,EAAU,GAAA;AAAA,EACV,SAAA,EAAW;AACb;AAEO,SAAS,aAAa,UAAA,EAAoB;AAC/C,EAAA,QAAQ,UAAA,CAAW,aAAY;AAAG,IAChC,KAAK,MAAA;AACH,MAAA,OAAO,WAAA,CAAY,IAAA;AAAA,IACrB,KAAK,SAAA;AACH,MAAA,OAAO,WAAA,CAAY,OAAA;AAAA,IACrB,KAAK,UAAA;AACH,MAAA,OAAO,WAAA,CAAY,QAAA;AAAA,IACrB,KAAK,WAAA;AACH,MAAA,OAAO,WAAA,CAAY,SAAA;AAAA,IACrB;AACE,MAAA,OAAO,CAAA;AAAA;AAEb;;;;"}
|
package/dist/ee/signals.cjs.js
CHANGED
|
@@ -2,36 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
|
-
const ee_signals_components_signalDetailsPage = require('./signals/components/signal-details-page.cjs.js');
|
|
6
|
-
const ee_signals_components_signalsEntityFilter = require('./signals/components/signals-entity-filter.cjs.js');
|
|
7
5
|
const ee_signals_components_signalsOverviewPage = require('./signals/components/signals-overview-page.cjs.js');
|
|
8
|
-
const
|
|
9
|
-
const ee_signals_hooks_useEntityLearning = require('./signals/hooks/use-entity-learning.cjs.js');
|
|
10
|
-
const ee_signals_services_entityLearningService = require('./signals/services/entity-learning-service.cjs.js');
|
|
11
|
-
const ee_signals_signalsData = require('./signals/signals-data.cjs.js');
|
|
6
|
+
const ee_signals_signalColors = require('./signals/signal-colors.cjs.js');
|
|
12
7
|
|
|
13
8
|
|
|
14
9
|
|
|
15
|
-
exports.SignalClusterSidebar = ee_signals_components_signalDetailsPage.SignalClusterSidebar;
|
|
16
|
-
exports.SignalClusterTraceList = ee_signals_components_signalDetailsPage.SignalClusterTraceList;
|
|
17
|
-
exports.SignalDetailsPage = ee_signals_components_signalDetailsPage.SignalDetailsPage;
|
|
18
|
-
exports.SignalTraceDetailsPanel = ee_signals_components_signalDetailsPage.SignalTraceDetailsPanel;
|
|
19
|
-
exports.SignalTraceListTab = ee_signals_components_signalDetailsPage.SignalTraceListTab;
|
|
20
|
-
exports.SignalsEntityFilter = ee_signals_components_signalsEntityFilter.SignalsEntityFilter;
|
|
21
|
-
exports.SignalClusterCard = ee_signals_components_signalsOverviewPage.SignalClusterCard;
|
|
22
|
-
exports.SignalSection = ee_signals_components_signalsOverviewPage.SignalSection;
|
|
23
10
|
exports.SignalsOverviewPage = ee_signals_components_signalsOverviewPage.SignalsOverviewPage;
|
|
24
|
-
exports.
|
|
25
|
-
exports.
|
|
26
|
-
exports.useEntityLearning = ee_signals_hooks_useEntityLearning.useEntityLearning;
|
|
27
|
-
exports.useEntityOutlierExamples = ee_signals_hooks_useEntityLearning.useEntityOutlierExamples;
|
|
28
|
-
exports.useEntityOutliers = ee_signals_hooks_useEntityLearning.useEntityOutliers;
|
|
29
|
-
exports.useEntityRun = ee_signals_hooks_useEntityLearning.useEntityRun;
|
|
30
|
-
exports.useEntityRuns = ee_signals_hooks_useEntityLearning.useEntityRuns;
|
|
31
|
-
exports.useEntityTopic = ee_signals_hooks_useEntityLearning.useEntityTopic;
|
|
32
|
-
exports.useEntityTopicExamples = ee_signals_hooks_useEntityLearning.useEntityTopicExamples;
|
|
33
|
-
exports.useEntityTopics = ee_signals_hooks_useEntityLearning.useEntityTopics;
|
|
34
|
-
exports.createEntityLearningService = ee_signals_services_entityLearningService.createEntityLearningService;
|
|
35
|
-
exports.getSignalCatalogEntry = ee_signals_signalsData.getSignalCatalogEntry;
|
|
36
|
-
exports.signalCatalog = ee_signals_signalsData.signalCatalog;
|
|
11
|
+
exports.SIGNAL_HUES = ee_signals_signalColors.SIGNAL_HUES;
|
|
12
|
+
exports.getSignalHue = ee_signals_signalColors.getSignalHue;
|
|
37
13
|
//# sourceMappingURL=signals.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signals.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signals.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
package/dist/ee/signals.es.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export { SignalClusterCard, SignalSection, SignalsOverviewPage } from './signals/components/signals-overview-page.es.js';
|
|
4
|
-
export { useEntityLearningConfig } from './signals/hooks/use-entity-learning-config.es.js';
|
|
5
|
-
export { useEntities, useEntityLearning, useEntityOutlierExamples, useEntityOutliers, useEntityRun, useEntityRuns, useEntityTopic, useEntityTopicExamples, useEntityTopics } from './signals/hooks/use-entity-learning.es.js';
|
|
6
|
-
export { createEntityLearningService } from './signals/services/entity-learning-service.es.js';
|
|
7
|
-
export { getSignalCatalogEntry, signalCatalog } from './signals/signals-data.es.js';
|
|
1
|
+
export { SignalsOverviewPage } from './signals/components/signals-overview-page.es.js';
|
|
2
|
+
export { SIGNAL_HUES, getSignalHue } from './signals/signal-colors.es.js';
|
|
8
3
|
//# sourceMappingURL=signals.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signals.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signals.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -58,7 +58,7 @@ function FieldBlockLayout({
|
|
|
58
58
|
"div",
|
|
59
59
|
{
|
|
60
60
|
className: cn(
|
|
61
|
-
"grid gap-2 text-neutral4",
|
|
61
|
+
"relative grid gap-2 text-neutral4",
|
|
62
62
|
{
|
|
63
63
|
"horizontal-field-block grid-cols-[auto_1fr] items-baseline": layout === "horizontal"
|
|
64
64
|
},
|
|
@@ -82,4 +82,4 @@ const FieldBlock = Object.assign(
|
|
|
82
82
|
);
|
|
83
83
|
|
|
84
84
|
export { FieldBlock as F };
|
|
85
|
-
//# sourceMappingURL=field-block-
|
|
85
|
+
//# sourceMappingURL=field-block-CBdMcT-i.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-block-
|
|
1
|
+
{"version":3,"file":"field-block-CBdMcT-i.js","sources":["../src/ds/components/FormFieldBlocks/block/field-block-column.tsx","../src/ds/components/FormFieldBlocks/block/field-block-error-msg.tsx","../src/ds/components/FormFieldBlocks/block/field-block-help-text.tsx","../src/ds/components/FormFieldBlocks/block/field-block-label.tsx","../src/ds/components/FormFieldBlocks/block/field-block-layout.tsx","../src/ds/components/FormFieldBlocks/block/field-block.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nexport type FieldBlockColumnProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nexport function FieldBlockColumn({ children, className }: FieldBlockColumnProps) {\n return <div className={cn('grid gap-2 text-neutral4', className)}>{children}</div>;\n}\n","import { TriangleAlertIcon } from 'lucide-react';\nimport { cn } from '@/lib/utils';\n\nexport type FieldBlockErrorMsgProps = {\n children?: React.ReactNode;\n};\n\nexport function FieldBlockErrorMsg({ children }: FieldBlockErrorMsgProps) {\n return (\n <p\n className={cn(\n 'flex items-center gap-2 text-ui-sm text-neutral4',\n '[&>svg]:size-[1.2em] [&>svg]:text-red-400 [&>svg]:opacity-70',\n )}\n >\n <TriangleAlertIcon /> {children}\n </p>\n );\n}\n","export type FieldBlockHelpTextProps = {\n children?: React.ReactNode;\n};\n\nexport function FieldBlockHelpText({ children }: FieldBlockHelpTextProps) {\n return <p className=\"text-ui-sm text-neutral3\">{children}</p>;\n}\n","import { cn } from '@/lib/utils';\n\nexport type FieldBlockLabelProps = {\n children: React.ReactNode;\n name: string;\n required?: boolean;\n size?: 'default' | 'bigger';\n className?: string;\n};\n\nexport function FieldBlockLabel({ children, name, required, size = 'default', className }: FieldBlockLabelProps) {\n return (\n <label\n htmlFor={`input-${name}`}\n className={cn(\n 'flex items-center justify-between text-ui-smd text-neutral3 ',\n 'in-[.horizontal-field-block]:grid in-[.horizontal-field-block]:content-start',\n {\n 'text-ui-md': size === 'bigger',\n },\n className,\n )}\n >\n {children}\n {required && <i className=\"text-xs text-neutral2\">(required)</i>}\n </label>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type FieldBlockLayoutProps = {\n children: React.ReactNode;\n className?: string;\n layout?: 'vertical' | 'horizontal';\n // Optional prop to specify label column width in horizontal layout\n labelColumnWidth?: string; // e.g., '150px' or '30%'\n};\n\nexport function FieldBlockLayout({\n children,\n className,\n layout = 'vertical',\n labelColumnWidth,\n}: FieldBlockLayoutProps) {\n return (\n <div\n className={cn(\n 'relative grid gap-2 text-neutral4',\n {\n 'horizontal-field-block grid-cols-[auto_1fr] items-baseline': layout === 'horizontal',\n },\n className,\n )}\n style={\n layout === 'horizontal' && labelColumnWidth ? { gridTemplateColumns: `${labelColumnWidth} 1fr` } : undefined\n }\n >\n {children}\n </div>\n );\n}\n","import { FieldBlockColumn } from './field-block-column';\nimport { FieldBlockErrorMsg } from './field-block-error-msg';\nimport { FieldBlockHelpText } from './field-block-help-text';\nimport { FieldBlockLabel } from './field-block-label';\nimport { FieldBlockLayout } from './field-block-layout';\n\nexport const FieldBlock = Object.assign(\n {},\n {\n Layout: FieldBlockLayout,\n Column: FieldBlockColumn,\n Label: FieldBlockLabel,\n HelpText: FieldBlockHelpText,\n ErrorMsg: FieldBlockErrorMsg,\n },\n);\n"],"names":[],"mappings":";;;;AAOO,SAAS,gBAAA,CAAiB,EAAE,QAAA,EAAU,SAAA,EAAU,EAA0B;AAC/E,EAAA,2BAAQ,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,0BAAA,EAA4B,SAAS,GAAI,QAAA,EAAS,CAAA;AAC9E;;ACFO,SAAS,kBAAA,CAAmB,EAAE,QAAA,EAAS,EAA4B;AACxE,EAAA,uBACE,IAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,kDAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,iBAAA,EAAA,EAAkB,CAAA;AAAA,QAAE,GAAA;AAAA,QAAE;AAAA;AAAA;AAAA,GACzB;AAEJ;;ACdO,SAAS,kBAAA,CAAmB,EAAE,QAAA,EAAS,EAA4B;AACxE,EAAA,uBAAO,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,0BAAA,EAA4B,QAAA,EAAS,CAAA;AAC3D;;ACIO,SAAS,eAAA,CAAgB,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,IAAA,GAAO,SAAA,EAAW,WAAU,EAAyB;AAC/G,EAAA,uBACE,IAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAS,SAAS,IAAI,CAAA,CAAA;AAAA,MACtB,SAAA,EAAW,EAAA;AAAA,QACT,8DAAA;AAAA,QACA,8EAAA;AAAA,QACA;AAAA,UACE,cAAc,IAAA,KAAS;AAAA,SACzB;AAAA,QACA;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,QAAA,oBAAY,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,yBAAwB,QAAA,EAAA,YAAA,EAAU;AAAA;AAAA;AAAA,GAC9D;AAEJ;;ACjBO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA,GAAS,UAAA;AAAA,EACT;AACF,CAAA,EAA0B;AACxB,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,mCAAA;AAAA,QACA;AAAA,UACE,8DAA8D,MAAA,KAAW;AAAA,SAC3E;AAAA,QACA;AAAA,OACF;AAAA,MACA,KAAA,EACE,WAAW,YAAA,IAAgB,gBAAA,GAAmB,EAAE,mBAAA,EAAqB,CAAA,EAAG,gBAAgB,CAAA,IAAA,CAAA,EAAO,GAAI,MAAA;AAAA,MAGpG;AAAA;AAAA,GACH;AAEJ;;AC1BO,MAAM,aAAa,MAAA,CAAO,MAAA;AAAA,EAC/B,EAAC;AAAA,EACD;AAAA,IACE,MAAA,EAAQ,gBAAA;AAAA,IACR,MAAA,EAAQ,gBAAA;AAAA,IACR,KAAA,EAAO,eAAA;AAAA,IACP,QAAA,EAAU,kBAAA;AAAA,IACV,QAAA,EAAU;AAAA;AAEd;;;;"}
|
|
@@ -60,7 +60,7 @@ function FieldBlockLayout({
|
|
|
60
60
|
"div",
|
|
61
61
|
{
|
|
62
62
|
className: utils_cn.cn(
|
|
63
|
-
"grid gap-2 text-neutral4",
|
|
63
|
+
"relative grid gap-2 text-neutral4",
|
|
64
64
|
{
|
|
65
65
|
"horizontal-field-block grid-cols-[auto_1fr] items-baseline": layout === "horizontal"
|
|
66
66
|
},
|
|
@@ -84,4 +84,4 @@ const FieldBlock = Object.assign(
|
|
|
84
84
|
);
|
|
85
85
|
|
|
86
86
|
exports.FieldBlock = FieldBlock;
|
|
87
|
-
//# sourceMappingURL=field-block-
|
|
87
|
+
//# sourceMappingURL=field-block-CEbnWKc0.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-block-
|
|
1
|
+
{"version":3,"file":"field-block-CEbnWKc0.cjs","sources":["../src/ds/components/FormFieldBlocks/block/field-block-column.tsx","../src/ds/components/FormFieldBlocks/block/field-block-error-msg.tsx","../src/ds/components/FormFieldBlocks/block/field-block-help-text.tsx","../src/ds/components/FormFieldBlocks/block/field-block-label.tsx","../src/ds/components/FormFieldBlocks/block/field-block-layout.tsx","../src/ds/components/FormFieldBlocks/block/field-block.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nexport type FieldBlockColumnProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nexport function FieldBlockColumn({ children, className }: FieldBlockColumnProps) {\n return <div className={cn('grid gap-2 text-neutral4', className)}>{children}</div>;\n}\n","import { TriangleAlertIcon } from 'lucide-react';\nimport { cn } from '@/lib/utils';\n\nexport type FieldBlockErrorMsgProps = {\n children?: React.ReactNode;\n};\n\nexport function FieldBlockErrorMsg({ children }: FieldBlockErrorMsgProps) {\n return (\n <p\n className={cn(\n 'flex items-center gap-2 text-ui-sm text-neutral4',\n '[&>svg]:size-[1.2em] [&>svg]:text-red-400 [&>svg]:opacity-70',\n )}\n >\n <TriangleAlertIcon /> {children}\n </p>\n );\n}\n","export type FieldBlockHelpTextProps = {\n children?: React.ReactNode;\n};\n\nexport function FieldBlockHelpText({ children }: FieldBlockHelpTextProps) {\n return <p className=\"text-ui-sm text-neutral3\">{children}</p>;\n}\n","import { cn } from '@/lib/utils';\n\nexport type FieldBlockLabelProps = {\n children: React.ReactNode;\n name: string;\n required?: boolean;\n size?: 'default' | 'bigger';\n className?: string;\n};\n\nexport function FieldBlockLabel({ children, name, required, size = 'default', className }: FieldBlockLabelProps) {\n return (\n <label\n htmlFor={`input-${name}`}\n className={cn(\n 'flex items-center justify-between text-ui-smd text-neutral3 ',\n 'in-[.horizontal-field-block]:grid in-[.horizontal-field-block]:content-start',\n {\n 'text-ui-md': size === 'bigger',\n },\n className,\n )}\n >\n {children}\n {required && <i className=\"text-xs text-neutral2\">(required)</i>}\n </label>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type FieldBlockLayoutProps = {\n children: React.ReactNode;\n className?: string;\n layout?: 'vertical' | 'horizontal';\n // Optional prop to specify label column width in horizontal layout\n labelColumnWidth?: string; // e.g., '150px' or '30%'\n};\n\nexport function FieldBlockLayout({\n children,\n className,\n layout = 'vertical',\n labelColumnWidth,\n}: FieldBlockLayoutProps) {\n return (\n <div\n className={cn(\n 'relative grid gap-2 text-neutral4',\n {\n 'horizontal-field-block grid-cols-[auto_1fr] items-baseline': layout === 'horizontal',\n },\n className,\n )}\n style={\n layout === 'horizontal' && labelColumnWidth ? { gridTemplateColumns: `${labelColumnWidth} 1fr` } : undefined\n }\n >\n {children}\n </div>\n );\n}\n","import { FieldBlockColumn } from './field-block-column';\nimport { FieldBlockErrorMsg } from './field-block-error-msg';\nimport { FieldBlockHelpText } from './field-block-help-text';\nimport { FieldBlockLabel } from './field-block-label';\nimport { FieldBlockLayout } from './field-block-layout';\n\nexport const FieldBlock = Object.assign(\n {},\n {\n Layout: FieldBlockLayout,\n Column: FieldBlockColumn,\n Label: FieldBlockLabel,\n HelpText: FieldBlockHelpText,\n ErrorMsg: FieldBlockErrorMsg,\n },\n);\n"],"names":["cn","jsxs","jsx","TriangleAlertIcon"],"mappings":";;;;;;AAOO,SAAS,gBAAA,CAAiB,EAAE,QAAA,EAAU,SAAA,EAAU,EAA0B;AAC/E,EAAA,sCAAQ,KAAA,EAAA,EAAI,SAAA,EAAWA,YAAG,0BAAA,EAA4B,SAAS,GAAI,QAAA,EAAS,CAAA;AAC9E;;ACFO,SAAS,kBAAA,CAAmB,EAAE,QAAA,EAAS,EAA4B;AACxE,EAAA,uBACEC,eAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWD,WAAA;AAAA,QACT,kDAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAAE,cAAA,CAACC,6BAAA,EAAA,EAAkB,CAAA;AAAA,QAAE,GAAA;AAAA,QAAE;AAAA;AAAA;AAAA,GACzB;AAEJ;;ACdO,SAAS,kBAAA,CAAmB,EAAE,QAAA,EAAS,EAA4B;AACxE,EAAA,uBAAOD,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,0BAAA,EAA4B,QAAA,EAAS,CAAA;AAC3D;;ACIO,SAAS,eAAA,CAAgB,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,IAAA,GAAO,SAAA,EAAW,WAAU,EAAyB;AAC/G,EAAA,uBACED,eAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAS,SAAS,IAAI,CAAA,CAAA;AAAA,MACtB,SAAA,EAAWD,WAAA;AAAA,QACT,8DAAA;AAAA,QACA,8EAAA;AAAA,QACA;AAAA,UACE,cAAc,IAAA,KAAS;AAAA,SACzB;AAAA,QACA;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,QAAA,oBAAYE,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,yBAAwB,QAAA,EAAA,YAAA,EAAU;AAAA;AAAA;AAAA,GAC9D;AAEJ;;ACjBO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA,GAAS,UAAA;AAAA,EACT;AACF,CAAA,EAA0B;AACxB,EAAA,uBACEA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWF,WAAA;AAAA,QACT,mCAAA;AAAA,QACA;AAAA,UACE,8DAA8D,MAAA,KAAW;AAAA,SAC3E;AAAA,QACA;AAAA,OACF;AAAA,MACA,KAAA,EACE,WAAW,YAAA,IAAgB,gBAAA,GAAmB,EAAE,mBAAA,EAAqB,CAAA,EAAG,gBAAgB,CAAA,IAAA,CAAA,EAAO,GAAI,MAAA;AAAA,MAGpG;AAAA;AAAA,GACH;AAEJ;;AC1BO,MAAM,aAAa,MAAA,CAAO,MAAA;AAAA,EAC/B,EAAC;AAAA,EACD;AAAA,IACE,MAAA,EAAQ,gBAAA;AAAA,IACR,MAAA,EAAQ,gBAAA;AAAA,IACR,KAAA,EAAO,eAAA;AAAA,IACP,QAAA,EAAU,kBAAA;AAAA,IACV,QAAA,EAAU;AAAA;AAEd;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const React = require('react');
|
|
6
|
+
const hooks_useIsomorphicLayoutEffect = require('./use-isomorphic-layout-effect.cjs.js');
|
|
7
|
+
|
|
8
|
+
function useIsClamped({
|
|
9
|
+
enabled = true
|
|
10
|
+
} = {}) {
|
|
11
|
+
const [element, setElement] = React.useState(null);
|
|
12
|
+
const [isClamped, setIsClamped] = React.useState(false);
|
|
13
|
+
hooks_useIsomorphicLayoutEffect.useIsomorphicLayoutEffect(() => {
|
|
14
|
+
if (!element || !enabled) return;
|
|
15
|
+
let stopped = false;
|
|
16
|
+
const measure = () => {
|
|
17
|
+
if (!stopped) setIsClamped(element.scrollHeight > element.clientHeight);
|
|
18
|
+
};
|
|
19
|
+
measure();
|
|
20
|
+
let observer;
|
|
21
|
+
if (typeof ResizeObserver !== "undefined") {
|
|
22
|
+
observer = new ResizeObserver(measure);
|
|
23
|
+
observer.observe(element);
|
|
24
|
+
}
|
|
25
|
+
document.fonts?.ready.then(measure).catch(() => {
|
|
26
|
+
});
|
|
27
|
+
return () => {
|
|
28
|
+
stopped = true;
|
|
29
|
+
observer?.disconnect();
|
|
30
|
+
};
|
|
31
|
+
}, [element, enabled]);
|
|
32
|
+
return { ref: setElement, isClamped };
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
exports.useIsClamped = useIsClamped;
|
|
36
|
+
//# sourceMappingURL=use-is-clamped.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-is-clamped.cjs.js","sources":["../../src/hooks/use-is-clamped.ts"],"sourcesContent":["import { useState } from 'react';\nimport type { RefCallback } from 'react';\n\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect';\n\nexport interface UseIsClampedOptions {\n /** Set false while the clamp is lifted (e.g. text expanded) to freeze the last measurement. */\n enabled?: boolean;\n}\n\nexport interface UseIsClampedResult<TElement extends HTMLElement> {\n ref: RefCallback<TElement>;\n isClamped: boolean;\n}\n\n/** Measures whether a clamped element has content cut off (`scrollHeight > clientHeight`), re-measuring on resize and font load. */\nexport function useIsClamped<TElement extends HTMLElement = HTMLElement>({\n enabled = true,\n}: UseIsClampedOptions = {}): UseIsClampedResult<TElement> {\n const [element, setElement] = useState<TElement | null>(null);\n const [isClamped, setIsClamped] = useState(false);\n\n useIsomorphicLayoutEffect(() => {\n if (!element || !enabled) return;\n\n let stopped = false;\n const measure = () => {\n if (!stopped) setIsClamped(element.scrollHeight > element.clientHeight);\n };\n\n measure();\n\n let observer: ResizeObserver | undefined;\n if (typeof ResizeObserver !== 'undefined') {\n observer = new ResizeObserver(measure);\n observer.observe(element);\n }\n // Font swaps change line wrapping without resizing the observed box.\n document.fonts?.ready.then(measure).catch(() => {});\n\n return () => {\n stopped = true;\n observer?.disconnect();\n };\n }, [element, enabled]);\n\n return { ref: setElement, isClamped };\n}\n"],"names":["useState","useIsomorphicLayoutEffect"],"mappings":";;;;;;;AAgBO,SAAS,YAAA,CAAyD;AAAA,EACvE,OAAA,GAAU;AACZ,CAAA,GAAyB,EAAC,EAAiC;AACzD,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,eAA0B,IAAI,CAAA;AAC5D,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,eAAS,KAAK,CAAA;AAEhD,EAAAC,yDAAA,CAA0B,MAAM;AAC9B,IAAA,IAAI,CAAC,OAAA,IAAW,CAAC,OAAA,EAAS;AAE1B,IAAA,IAAI,OAAA,GAAU,KAAA;AACd,IAAA,MAAM,UAAU,MAAM;AACpB,MAAA,IAAI,CAAC,OAAA,EAAS,YAAA,CAAa,OAAA,CAAQ,YAAA,GAAe,QAAQ,YAAY,CAAA;AAAA,IACxE,CAAA;AAEA,IAAA,OAAA,EAAQ;AAER,IAAA,IAAI,QAAA;AACJ,IAAA,IAAI,OAAO,mBAAmB,WAAA,EAAa;AACzC,MAAA,QAAA,GAAW,IAAI,eAAe,OAAO,CAAA;AACrC,MAAA,QAAA,CAAS,QAAQ,OAAO,CAAA;AAAA,IAC1B;AAEA,IAAA,QAAA,CAAS,OAAO,KAAA,CAAM,IAAA,CAAK,OAAO,CAAA,CAAE,MAAM,MAAM;AAAA,IAAC,CAAC,CAAA;AAElD,IAAA,OAAO,MAAM;AACX,MAAA,OAAA,GAAU,IAAA;AACV,MAAA,QAAA,EAAU,UAAA,EAAW;AAAA,IACvB,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,OAAA,EAAS,OAAO,CAAC,CAAA;AAErB,EAAA,OAAO,EAAE,GAAA,EAAK,UAAA,EAAY,SAAA,EAAU;AACtC;;;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect.es.js';
|
|
3
|
+
|
|
4
|
+
function useIsClamped({
|
|
5
|
+
enabled = true
|
|
6
|
+
} = {}) {
|
|
7
|
+
const [element, setElement] = useState(null);
|
|
8
|
+
const [isClamped, setIsClamped] = useState(false);
|
|
9
|
+
useIsomorphicLayoutEffect(() => {
|
|
10
|
+
if (!element || !enabled) return;
|
|
11
|
+
let stopped = false;
|
|
12
|
+
const measure = () => {
|
|
13
|
+
if (!stopped) setIsClamped(element.scrollHeight > element.clientHeight);
|
|
14
|
+
};
|
|
15
|
+
measure();
|
|
16
|
+
let observer;
|
|
17
|
+
if (typeof ResizeObserver !== "undefined") {
|
|
18
|
+
observer = new ResizeObserver(measure);
|
|
19
|
+
observer.observe(element);
|
|
20
|
+
}
|
|
21
|
+
document.fonts?.ready.then(measure).catch(() => {
|
|
22
|
+
});
|
|
23
|
+
return () => {
|
|
24
|
+
stopped = true;
|
|
25
|
+
observer?.disconnect();
|
|
26
|
+
};
|
|
27
|
+
}, [element, enabled]);
|
|
28
|
+
return { ref: setElement, isClamped };
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { useIsClamped };
|
|
32
|
+
//# sourceMappingURL=use-is-clamped.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-is-clamped.es.js","sources":["../../src/hooks/use-is-clamped.ts"],"sourcesContent":["import { useState } from 'react';\nimport type { RefCallback } from 'react';\n\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect';\n\nexport interface UseIsClampedOptions {\n /** Set false while the clamp is lifted (e.g. text expanded) to freeze the last measurement. */\n enabled?: boolean;\n}\n\nexport interface UseIsClampedResult<TElement extends HTMLElement> {\n ref: RefCallback<TElement>;\n isClamped: boolean;\n}\n\n/** Measures whether a clamped element has content cut off (`scrollHeight > clientHeight`), re-measuring on resize and font load. */\nexport function useIsClamped<TElement extends HTMLElement = HTMLElement>({\n enabled = true,\n}: UseIsClampedOptions = {}): UseIsClampedResult<TElement> {\n const [element, setElement] = useState<TElement | null>(null);\n const [isClamped, setIsClamped] = useState(false);\n\n useIsomorphicLayoutEffect(() => {\n if (!element || !enabled) return;\n\n let stopped = false;\n const measure = () => {\n if (!stopped) setIsClamped(element.scrollHeight > element.clientHeight);\n };\n\n measure();\n\n let observer: ResizeObserver | undefined;\n if (typeof ResizeObserver !== 'undefined') {\n observer = new ResizeObserver(measure);\n observer.observe(element);\n }\n // Font swaps change line wrapping without resizing the observed box.\n document.fonts?.ready.then(measure).catch(() => {});\n\n return () => {\n stopped = true;\n observer?.disconnect();\n };\n }, [element, enabled]);\n\n return { ref: setElement, isClamped };\n}\n"],"names":[],"mappings":";;;AAgBO,SAAS,YAAA,CAAyD;AAAA,EACvE,OAAA,GAAU;AACZ,CAAA,GAAyB,EAAC,EAAiC;AACzD,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAA0B,IAAI,CAAA;AAC5D,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA;AAEhD,EAAA,yBAAA,CAA0B,MAAM;AAC9B,IAAA,IAAI,CAAC,OAAA,IAAW,CAAC,OAAA,EAAS;AAE1B,IAAA,IAAI,OAAA,GAAU,KAAA;AACd,IAAA,MAAM,UAAU,MAAM;AACpB,MAAA,IAAI,CAAC,OAAA,EAAS,YAAA,CAAa,OAAA,CAAQ,YAAA,GAAe,QAAQ,YAAY,CAAA;AAAA,IACxE,CAAA;AAEA,IAAA,OAAA,EAAQ;AAER,IAAA,IAAI,QAAA;AACJ,IAAA,IAAI,OAAO,mBAAmB,WAAA,EAAa;AACzC,MAAA,QAAA,GAAW,IAAI,eAAe,OAAO,CAAA;AACrC,MAAA,QAAA,CAAS,QAAQ,OAAO,CAAA;AAAA,IAC1B;AAEA,IAAA,QAAA,CAAS,OAAO,KAAA,CAAM,IAAA,CAAK,OAAO,CAAA,CAAE,MAAM,MAAM;AAAA,IAAC,CAAC,CAAA;AAElD,IAAA,OAAO,MAAM;AACX,MAAA,OAAA,GAAU,IAAA;AACV,MAAA,QAAA,EAAU,UAAA,EAAW;AAAA,IACvB,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,OAAA,EAAS,OAAO,CAAC,CAAA;AAErB,EAAA,OAAO,EAAE,GAAA,EAAK,UAAA,EAAY,SAAA,EAAU;AACtC;;;;"}
|