@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumb.cjs.js","sources":["../../src/ds/components/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { SlashIcon } from '../../icons/SlashIcon';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport interface BreadcrumbProps {\n children?: React.ReactNode;\n label?: string;\n className?: string;\n listClassName?: string;\n}\n\nexport const Breadcrumb = ({ children, label, className, listClassName }: BreadcrumbProps) => {\n return (\n <nav aria-label={label} className={className}>\n <ol className={cn('flex items-center gap-0.5', listClassName)}>{children}</ol>\n </nav>\n );\n};\n\nexport interface CrumbProps {\n isCurrent?: boolean;\n as: React.ElementType;\n className?: string;\n to?: string;\n prefetch?: boolean | null;\n children: React.ReactNode;\n action?: React.ReactNode;\n 'data-testid'?: string;\n}\n\nexport const Crumb = ({ className, as, isCurrent, action, ...props }: CrumbProps) => {\n const Root = as || 'span';\n\n return (\n <>\n <li className={cn('flex h-full min-w-0 items-center gap-1', isCurrent ? 'shrink' : 'shrink-0')}>\n <Root\n aria-current={isCurrent ? 'page' : undefined}\n className={cn(\n 'flex min-w-0 items-center gap-2 truncate text-ui-md leading-ui-md',\n transitions.colors,\n isCurrent
|
|
1
|
+
{"version":3,"file":"Breadcrumb.cjs.js","sources":["../../src/ds/components/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { SlashIcon } from '../../icons/SlashIcon';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport interface BreadcrumbProps {\n children?: React.ReactNode;\n label?: string;\n className?: string;\n listClassName?: string;\n}\n\nexport const Breadcrumb = ({ children, label, className, listClassName }: BreadcrumbProps) => {\n return (\n <nav aria-label={label} className={className}>\n <ol className={cn('flex items-center gap-0.5', listClassName)}>{children}</ol>\n </nav>\n );\n};\n\nexport interface CrumbProps {\n isCurrent?: boolean;\n as: React.ElementType;\n className?: string;\n to?: string;\n prefetch?: boolean | null;\n children: React.ReactNode;\n action?: React.ReactNode;\n 'data-testid'?: string;\n}\n\nexport const Crumb = ({ className, as, isCurrent, action, ...props }: CrumbProps) => {\n const Root = as || 'span';\n\n return (\n <>\n <li className={cn('flex h-full min-w-0 items-center gap-1', isCurrent ? 'shrink' : 'shrink-0')}>\n <Root\n aria-current={isCurrent ? 'page' : undefined}\n className={cn(\n 'flex min-w-0 items-center gap-2 truncate rounded-md px-1 text-ui-md leading-ui-md',\n transitions.colors,\n isCurrent\n ? 'font-medium text-neutral6'\n : 'cursor-pointer text-neutral3 hover:bg-neutral6/5 hover:text-neutral5 active:bg-neutral6/10',\n className,\n )}\n {...props}\n />\n {action}\n </li>\n {!isCurrent && (\n <li role=\"separator\" className=\"flex h-full items-center\">\n <Icon className={cn('text-neutral2', transitions.colors)}>\n <SlashIcon />\n </Icon>\n </li>\n )}\n </>\n );\n};\n"],"names":["jsx","cn","jsxs","Fragment","transitions","Icon","SlashIcon"],"mappings":";;;;;;;;;;AAcO,MAAM,aAAa,CAAC,EAAE,UAAU,KAAA,EAAO,SAAA,EAAW,eAAc,KAAuB;AAC5F,EAAA,uBACEA,cAAA,CAAC,KAAA,EAAA,EAAI,YAAA,EAAY,KAAA,EAAO,SAAA,EACtB,QAAA,kBAAAA,cAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAWC,WAAA,CAAG,2BAAA,EAA6B,aAAa,CAAA,EAAI,UAAS,CAAA,EAC3E,CAAA;AAEJ;AAaO,MAAM,KAAA,GAAQ,CAAC,EAAE,SAAA,EAAW,IAAI,SAAA,EAAW,MAAA,EAAQ,GAAG,KAAA,EAAM,KAAkB;AACnF,EAAA,MAAM,OAAO,EAAA,IAAM,MAAA;AAEnB,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAD,eAAA,CAAC,QAAG,SAAA,EAAWD,WAAA,CAAG,0CAA0C,SAAA,GAAY,QAAA,GAAW,UAAU,CAAA,EAC3F,QAAA,EAAA;AAAA,sBAAAD,cAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,cAAA,EAAc,YAAY,MAAA,GAAS,MAAA;AAAA,UACnC,SAAA,EAAWC,WAAA;AAAA,YACT,mFAAA;AAAA,YACAG,kCAAA,CAAY,MAAA;AAAA,YACZ,YACI,2BAAA,GACA,4FAAA;AAAA,YACJ;AAAA,WACF;AAAA,UACC,GAAG;AAAA;AAAA,OACN;AAAA,MACC;AAAA,KAAA,EACH,CAAA;AAAA,IACC,CAAC,SAAA,oBACAJ,cAAA,CAAC,QAAG,IAAA,EAAK,WAAA,EAAY,WAAU,0BAAA,EAC7B,QAAA,kBAAAA,cAAA,CAACK,mBAAK,SAAA,EAAWJ,WAAA,CAAG,iBAAiBG,kCAAA,CAAY,MAAM,GACrD,QAAA,kBAAAJ,cAAA,CAACM,yBAAA,EAAA,EAAU,GACb,CAAA,EACF;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;;"}
|
|
@@ -16,9 +16,9 @@ const Crumb = ({ className, as, isCurrent, action, ...props }) => {
|
|
|
16
16
|
{
|
|
17
17
|
"aria-current": isCurrent ? "page" : void 0,
|
|
18
18
|
className: cn(
|
|
19
|
-
"flex min-w-0 items-center gap-2 truncate text-ui-md leading-ui-md",
|
|
19
|
+
"flex min-w-0 items-center gap-2 truncate rounded-md px-1 text-ui-md leading-ui-md",
|
|
20
20
|
transitions.colors,
|
|
21
|
-
isCurrent ? "font-medium text-neutral6" : "text-neutral3 hover:text-neutral5",
|
|
21
|
+
isCurrent ? "font-medium text-neutral6" : "cursor-pointer text-neutral3 hover:bg-neutral6/5 hover:text-neutral5 active:bg-neutral6/10",
|
|
22
22
|
className
|
|
23
23
|
),
|
|
24
24
|
...props
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumb.es.js","sources":["../../src/ds/components/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { SlashIcon } from '../../icons/SlashIcon';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport interface BreadcrumbProps {\n children?: React.ReactNode;\n label?: string;\n className?: string;\n listClassName?: string;\n}\n\nexport const Breadcrumb = ({ children, label, className, listClassName }: BreadcrumbProps) => {\n return (\n <nav aria-label={label} className={className}>\n <ol className={cn('flex items-center gap-0.5', listClassName)}>{children}</ol>\n </nav>\n );\n};\n\nexport interface CrumbProps {\n isCurrent?: boolean;\n as: React.ElementType;\n className?: string;\n to?: string;\n prefetch?: boolean | null;\n children: React.ReactNode;\n action?: React.ReactNode;\n 'data-testid'?: string;\n}\n\nexport const Crumb = ({ className, as, isCurrent, action, ...props }: CrumbProps) => {\n const Root = as || 'span';\n\n return (\n <>\n <li className={cn('flex h-full min-w-0 items-center gap-1', isCurrent ? 'shrink' : 'shrink-0')}>\n <Root\n aria-current={isCurrent ? 'page' : undefined}\n className={cn(\n 'flex min-w-0 items-center gap-2 truncate text-ui-md leading-ui-md',\n transitions.colors,\n isCurrent
|
|
1
|
+
{"version":3,"file":"Breadcrumb.es.js","sources":["../../src/ds/components/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { SlashIcon } from '../../icons/SlashIcon';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport interface BreadcrumbProps {\n children?: React.ReactNode;\n label?: string;\n className?: string;\n listClassName?: string;\n}\n\nexport const Breadcrumb = ({ children, label, className, listClassName }: BreadcrumbProps) => {\n return (\n <nav aria-label={label} className={className}>\n <ol className={cn('flex items-center gap-0.5', listClassName)}>{children}</ol>\n </nav>\n );\n};\n\nexport interface CrumbProps {\n isCurrent?: boolean;\n as: React.ElementType;\n className?: string;\n to?: string;\n prefetch?: boolean | null;\n children: React.ReactNode;\n action?: React.ReactNode;\n 'data-testid'?: string;\n}\n\nexport const Crumb = ({ className, as, isCurrent, action, ...props }: CrumbProps) => {\n const Root = as || 'span';\n\n return (\n <>\n <li className={cn('flex h-full min-w-0 items-center gap-1', isCurrent ? 'shrink' : 'shrink-0')}>\n <Root\n aria-current={isCurrent ? 'page' : undefined}\n className={cn(\n 'flex min-w-0 items-center gap-2 truncate rounded-md px-1 text-ui-md leading-ui-md',\n transitions.colors,\n isCurrent\n ? 'font-medium text-neutral6'\n : 'cursor-pointer text-neutral3 hover:bg-neutral6/5 hover:text-neutral5 active:bg-neutral6/10',\n className,\n )}\n {...props}\n />\n {action}\n </li>\n {!isCurrent && (\n <li role=\"separator\" className=\"flex h-full items-center\">\n <Icon className={cn('text-neutral2', transitions.colors)}>\n <SlashIcon />\n </Icon>\n </li>\n )}\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;AAcO,MAAM,aAAa,CAAC,EAAE,UAAU,KAAA,EAAO,SAAA,EAAW,eAAc,KAAuB;AAC5F,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,YAAA,EAAY,KAAA,EAAO,SAAA,EACtB,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAW,EAAA,CAAG,2BAAA,EAA6B,aAAa,CAAA,EAAI,UAAS,CAAA,EAC3E,CAAA;AAEJ;AAaO,MAAM,KAAA,GAAQ,CAAC,EAAE,SAAA,EAAW,IAAI,SAAA,EAAW,MAAA,EAAQ,GAAG,KAAA,EAAM,KAAkB;AACnF,EAAA,MAAM,OAAO,EAAA,IAAM,MAAA;AAEnB,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,QAAG,SAAA,EAAW,EAAA,CAAG,0CAA0C,SAAA,GAAY,QAAA,GAAW,UAAU,CAAA,EAC3F,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,cAAA,EAAc,YAAY,MAAA,GAAS,MAAA;AAAA,UACnC,SAAA,EAAW,EAAA;AAAA,YACT,mFAAA;AAAA,YACA,WAAA,CAAY,MAAA;AAAA,YACZ,YACI,2BAAA,GACA,4FAAA;AAAA,YACJ;AAAA,WACF;AAAA,UACC,GAAG;AAAA;AAAA,OACN;AAAA,MACC;AAAA,KAAA,EACH,CAAA;AAAA,IACC,CAAC,SAAA,oBACA,GAAA,CAAC,QAAG,IAAA,EAAK,WAAA,EAAY,WAAU,0BAAA,EAC7B,QAAA,kBAAA,GAAA,CAAC,QAAK,SAAA,EAAW,EAAA,CAAG,iBAAiB,WAAA,CAAY,MAAM,GACrD,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,GACb,CAAA,EACF;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { B as ButtonsGroup, a as ButtonsGroupSeparator, b as ButtonsGroupText, c as buttonsGroupVariants } from '../buttons-group-
|
|
1
|
+
export { B as ButtonsGroup, a as ButtonsGroupSeparator, b as ButtonsGroupText, c as buttonsGroupVariants } from '../buttons-group-DJh4wnMs.js';
|
|
2
2
|
//# sourceMappingURL=ButtonsGroup.es.js.map
|
|
@@ -2,91 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
|
-
const
|
|
6
|
-
const index = require('../index-C-Lt4Bx_.cjs');
|
|
7
|
-
const React = require('react');
|
|
8
|
-
const utils_cn = require('../cn-vA5sWo9W.cjs');
|
|
5
|
+
const Card = require('../Card-WU2qkiHB.cjs');
|
|
9
6
|
|
|
10
|
-
function _interopNamespaceDefault(e) {
|
|
11
|
-
const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
|
|
12
|
-
if (e) {
|
|
13
|
-
for (const k in e) {
|
|
14
|
-
if (k !== 'default') {
|
|
15
|
-
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: () => e[k]
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
n.default = e;
|
|
24
|
-
return Object.freeze(n);
|
|
25
|
-
}
|
|
26
7
|
|
|
27
|
-
const React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
28
8
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
raised: "shadow-card",
|
|
37
|
-
elevated: "shadow-elevated"
|
|
38
|
-
},
|
|
39
|
-
interactive: {
|
|
40
|
-
true: "active:scale-0.99 cursor-pointer hover:border-border2 hover:bg-surface3",
|
|
41
|
-
false: ""
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
defaultVariants: {
|
|
45
|
-
elevation: "flat",
|
|
46
|
-
interactive: false
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
);
|
|
50
|
-
const Card = React__namespace.forwardRef(
|
|
51
|
-
({ className, elevation, interactive, as, ...props }, ref) => {
|
|
52
|
-
const Component = as || "div";
|
|
53
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
54
|
-
Component,
|
|
55
|
-
{
|
|
56
|
-
ref,
|
|
57
|
-
className: utils_cn.cn(cardVariants({ elevation, interactive }), className),
|
|
58
|
-
role: interactive ? "button" : void 0,
|
|
59
|
-
tabIndex: interactive ? 0 : void 0,
|
|
60
|
-
...props
|
|
61
|
-
}
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
);
|
|
65
|
-
Card.displayName = "Card";
|
|
66
|
-
const CardHeader = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: utils_cn.cn("flex flex-col space-y-1.5 p-4 pb-0", className), ...props }));
|
|
67
|
-
CardHeader.displayName = "CardHeader";
|
|
68
|
-
const CardTitle = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
69
|
-
"h3",
|
|
70
|
-
{
|
|
71
|
-
ref,
|
|
72
|
-
className: utils_cn.cn("text-ui-md leading-none font-semibold tracking-tight text-neutral6", className),
|
|
73
|
-
...props
|
|
74
|
-
}
|
|
75
|
-
));
|
|
76
|
-
CardTitle.displayName = "CardTitle";
|
|
77
|
-
const CardDescription = React__namespace.forwardRef(
|
|
78
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("p", { ref, className: utils_cn.cn("text-ui-sm text-neutral3", className), ...props })
|
|
79
|
-
);
|
|
80
|
-
CardDescription.displayName = "CardDescription";
|
|
81
|
-
const CardContent = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: utils_cn.cn("p-4", className), ...props }));
|
|
82
|
-
CardContent.displayName = "CardContent";
|
|
83
|
-
const CardFooter = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: utils_cn.cn("flex items-center p-4 pt-0", className), ...props }));
|
|
84
|
-
CardFooter.displayName = "CardFooter";
|
|
85
|
-
|
|
86
|
-
exports.Card = Card;
|
|
87
|
-
exports.CardContent = CardContent;
|
|
88
|
-
exports.CardDescription = CardDescription;
|
|
89
|
-
exports.CardFooter = CardFooter;
|
|
90
|
-
exports.CardHeader = CardHeader;
|
|
91
|
-
exports.CardTitle = CardTitle;
|
|
9
|
+
exports.Card = Card.Card;
|
|
10
|
+
exports.CardContent = Card.CardContent;
|
|
11
|
+
exports.CardDescription = Card.CardDescription;
|
|
12
|
+
exports.CardFooter = Card.CardFooter;
|
|
13
|
+
exports.CardHeader = Card.CardHeader;
|
|
14
|
+
exports.CardLink = Card.CardLink;
|
|
15
|
+
exports.CardTitle = Card.CardTitle;
|
|
92
16
|
//# sourceMappingURL=Card.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.cjs.js","sources":[
|
|
1
|
+
{"version":3,"file":"Card.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
|
|
@@ -1,64 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import { c as cva } from '../index-CSm06eOE.js';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import { c as cn } from '../cn-BakJzhuv.js';
|
|
5
|
-
|
|
6
|
-
const cardVariants = cva(
|
|
7
|
-
// Base styles
|
|
8
|
-
"duration-normal rounded-lg border border-border1 bg-surface2 transition-all ease-out-custom",
|
|
9
|
-
{
|
|
10
|
-
variants: {
|
|
11
|
-
elevation: {
|
|
12
|
-
flat: "",
|
|
13
|
-
raised: "shadow-card",
|
|
14
|
-
elevated: "shadow-elevated"
|
|
15
|
-
},
|
|
16
|
-
interactive: {
|
|
17
|
-
true: "active:scale-0.99 cursor-pointer hover:border-border2 hover:bg-surface3",
|
|
18
|
-
false: ""
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
defaultVariants: {
|
|
22
|
-
elevation: "flat",
|
|
23
|
-
interactive: false
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
);
|
|
27
|
-
const Card = React.forwardRef(
|
|
28
|
-
({ className, elevation, interactive, as, ...props }, ref) => {
|
|
29
|
-
const Component = as || "div";
|
|
30
|
-
return /* @__PURE__ */ jsx(
|
|
31
|
-
Component,
|
|
32
|
-
{
|
|
33
|
-
ref,
|
|
34
|
-
className: cn(cardVariants({ elevation, interactive }), className),
|
|
35
|
-
role: interactive ? "button" : void 0,
|
|
36
|
-
tabIndex: interactive ? 0 : void 0,
|
|
37
|
-
...props
|
|
38
|
-
}
|
|
39
|
-
);
|
|
40
|
-
}
|
|
41
|
-
);
|
|
42
|
-
Card.displayName = "Card";
|
|
43
|
-
const CardHeader = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex flex-col space-y-1.5 p-4 pb-0", className), ...props }));
|
|
44
|
-
CardHeader.displayName = "CardHeader";
|
|
45
|
-
const CardTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
46
|
-
"h3",
|
|
47
|
-
{
|
|
48
|
-
ref,
|
|
49
|
-
className: cn("text-ui-md leading-none font-semibold tracking-tight text-neutral6", className),
|
|
50
|
-
...props
|
|
51
|
-
}
|
|
52
|
-
));
|
|
53
|
-
CardTitle.displayName = "CardTitle";
|
|
54
|
-
const CardDescription = React.forwardRef(
|
|
55
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsx("p", { ref, className: cn("text-ui-sm text-neutral3", className), ...props })
|
|
56
|
-
);
|
|
57
|
-
CardDescription.displayName = "CardDescription";
|
|
58
|
-
const CardContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-4", className), ...props }));
|
|
59
|
-
CardContent.displayName = "CardContent";
|
|
60
|
-
const CardFooter = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex items-center p-4 pt-0", className), ...props }));
|
|
61
|
-
CardFooter.displayName = "CardFooter";
|
|
62
|
-
|
|
63
|
-
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
|
|
1
|
+
export { C as Card, a as CardContent, b as CardDescription, c as CardFooter, d as CardHeader, e as CardLink, f as CardTitle } from '../Card-BjFMX3pD.js';
|
|
64
2
|
//# sourceMappingURL=Card.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.es.js","sources":[
|
|
1
|
+
{"version":3,"file":"Card.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
const React = require('react');
|
|
7
|
+
const Button = require('../Button-B5RnKrGb.cjs');
|
|
8
|
+
const Txt = require('../Txt-I5lK8zy7.cjs');
|
|
9
|
+
const icons_ChevronIcon = require('../icons/ChevronIcon.cjs.js');
|
|
10
|
+
const hooks_useIsClamped = require('../hooks/use-is-clamped.cjs.js');
|
|
11
|
+
const utils_cn = require('../cn-vA5sWo9W.cjs');
|
|
12
|
+
|
|
13
|
+
const clampClasses = {
|
|
14
|
+
1: "line-clamp-1",
|
|
15
|
+
2: "line-clamp-2",
|
|
16
|
+
3: "line-clamp-3",
|
|
17
|
+
4: "line-clamp-4",
|
|
18
|
+
5: "line-clamp-5",
|
|
19
|
+
6: "line-clamp-6"
|
|
20
|
+
};
|
|
21
|
+
function ClampedText({
|
|
22
|
+
children,
|
|
23
|
+
lines = 2,
|
|
24
|
+
readMoreLabel = "Read more",
|
|
25
|
+
showLessLabel = "Show less",
|
|
26
|
+
className,
|
|
27
|
+
...txtProps
|
|
28
|
+
}) {
|
|
29
|
+
const [isExpanded, setIsExpanded] = React.useState(false);
|
|
30
|
+
const { ref, isClamped } = hooks_useIsClamped.useIsClamped({ enabled: !isExpanded });
|
|
31
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
32
|
+
/* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { ...txtProps, className: utils_cn.cn(!isExpanded && clampClasses[lines], className), ref, children }),
|
|
33
|
+
(isClamped || isExpanded) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
34
|
+
Button.Button,
|
|
35
|
+
{
|
|
36
|
+
variant: "ghost",
|
|
37
|
+
size: "xs",
|
|
38
|
+
className: "mt-1 -ml-[.8em] self-start justify-self-start",
|
|
39
|
+
"aria-expanded": isExpanded,
|
|
40
|
+
onClick: () => setIsExpanded((v) => !v),
|
|
41
|
+
children: [
|
|
42
|
+
isExpanded ? showLessLabel : readMoreLabel,
|
|
43
|
+
/* @__PURE__ */ jsxRuntime.jsx(icons_ChevronIcon.ChevronIcon, { className: utils_cn.cn("transition-transform", isExpanded && "rotate-180") })
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
)
|
|
47
|
+
] });
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
exports.ClampedText = ClampedText;
|
|
51
|
+
//# sourceMappingURL=ClampedText.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClampedText.cjs.js","sources":["../../src/ds/components/ClampedText/clamped-text.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport type { TxtProps } from '@/ds/components/Txt';\nimport { Txt } from '@/ds/components/Txt';\nimport { ChevronIcon } from '@/ds/icons/ChevronIcon';\nimport { useIsClamped } from '@/hooks/use-is-clamped';\nimport { cn } from '@/lib/utils';\n\n// Tailwind needs static class names — map instead of interpolating.\nconst clampClasses = {\n 1: 'line-clamp-1',\n 2: 'line-clamp-2',\n 3: 'line-clamp-3',\n 4: 'line-clamp-4',\n 5: 'line-clamp-5',\n 6: 'line-clamp-6',\n} as const;\n\nexport type ClampedTextLines = keyof typeof clampClasses;\n\nexport interface ClampedTextProps extends Omit<TxtProps, 'children' | 'ref'> {\n children: string;\n /** Number of lines to clamp to (default: 2) */\n lines?: ClampedTextLines;\n readMoreLabel?: string;\n showLessLabel?: string;\n}\n\n/** Text clamped to a number of lines, with a \"read more\" toggle shown only when the clamp actually cuts content. */\nexport function ClampedText({\n children,\n lines = 2,\n readMoreLabel = 'Read more',\n showLessLabel = 'Show less',\n className,\n ...txtProps\n}: ClampedTextProps) {\n const [isExpanded, setIsExpanded] = useState(false);\n const { ref, isClamped } = useIsClamped({ enabled: !isExpanded });\n\n return (\n <>\n <Txt {...txtProps} className={cn(!isExpanded && clampClasses[lines], className)} ref={ref}>\n {children}\n </Txt>\n {(isClamped || isExpanded) && (\n <Button\n variant=\"ghost\"\n size=\"xs\"\n className=\"mt-1 -ml-[.8em] self-start justify-self-start\"\n aria-expanded={isExpanded}\n onClick={() => setIsExpanded(v => !v)}\n >\n {isExpanded ? showLessLabel : readMoreLabel}\n <ChevronIcon className={cn('transition-transform', isExpanded && 'rotate-180')} />\n </Button>\n )}\n </>\n );\n}\n"],"names":["useState","useIsClamped","jsxs","Fragment","jsx","Txt","cn","Button","ChevronIcon"],"mappings":";;;;;;;;;;;;AASA,MAAM,YAAA,GAAe;AAAA,EACnB,CAAA,EAAG,cAAA;AAAA,EACH,CAAA,EAAG,cAAA;AAAA,EACH,CAAA,EAAG,cAAA;AAAA,EACH,CAAA,EAAG,cAAA;AAAA,EACH,CAAA,EAAG,cAAA;AAAA,EACH,CAAA,EAAG;AACL,CAAA;AAaO,SAAS,WAAA,CAAY;AAAA,EAC1B,QAAA;AAAA,EACA,KAAA,GAAQ,CAAA;AAAA,EACR,aAAA,GAAgB,WAAA;AAAA,EAChB,aAAA,GAAgB,WAAA;AAAA,EAChB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAqB;AACnB,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,eAAS,KAAK,CAAA;AAClD,EAAA,MAAM,EAAE,KAAK,SAAA,EAAU,GAAIC,gCAAa,EAAE,OAAA,EAAS,CAAC,UAAA,EAAY,CAAA;AAEhE,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAACC,OAAA,EAAA,EAAK,GAAG,QAAA,EAAU,SAAA,EAAWC,WAAA,CAAG,CAAC,UAAA,IAAc,YAAA,CAAa,KAAK,CAAA,EAAG,SAAS,CAAA,EAAG,KAC9E,QAAA,EACH,CAAA;AAAA,IAAA,CACE,aAAa,UAAA,qBACbJ,eAAA;AAAA,MAACK,aAAA;AAAA,MAAA;AAAA,QACC,OAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAK,IAAA;AAAA,QACL,SAAA,EAAU,+CAAA;AAAA,QACV,eAAA,EAAe,UAAA;AAAA,QACf,OAAA,EAAS,MAAM,aAAA,CAAc,CAAA,CAAA,KAAK,CAAC,CAAC,CAAA;AAAA,QAEnC,QAAA,EAAA;AAAA,UAAA,UAAA,GAAa,aAAA,GAAgB,aAAA;AAAA,yCAC7BC,6BAAA,EAAA,EAAY,SAAA,EAAWF,YAAG,sBAAA,EAAwB,UAAA,IAAc,YAAY,CAAA,EAAG;AAAA;AAAA;AAAA;AAClF,GAAA,EAEJ,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { B as Button } from '../Button-Dh5CZ6Ir.js';
|
|
4
|
+
import { T as Txt } from '../Txt-Df42XG5p.js';
|
|
5
|
+
import { ChevronIcon } from '../icons/ChevronIcon.es.js';
|
|
6
|
+
import { useIsClamped } from '../hooks/use-is-clamped.es.js';
|
|
7
|
+
import { c as cn } from '../cn-BakJzhuv.js';
|
|
8
|
+
|
|
9
|
+
const clampClasses = {
|
|
10
|
+
1: "line-clamp-1",
|
|
11
|
+
2: "line-clamp-2",
|
|
12
|
+
3: "line-clamp-3",
|
|
13
|
+
4: "line-clamp-4",
|
|
14
|
+
5: "line-clamp-5",
|
|
15
|
+
6: "line-clamp-6"
|
|
16
|
+
};
|
|
17
|
+
function ClampedText({
|
|
18
|
+
children,
|
|
19
|
+
lines = 2,
|
|
20
|
+
readMoreLabel = "Read more",
|
|
21
|
+
showLessLabel = "Show less",
|
|
22
|
+
className,
|
|
23
|
+
...txtProps
|
|
24
|
+
}) {
|
|
25
|
+
const [isExpanded, setIsExpanded] = useState(false);
|
|
26
|
+
const { ref, isClamped } = useIsClamped({ enabled: !isExpanded });
|
|
27
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
28
|
+
/* @__PURE__ */ jsx(Txt, { ...txtProps, className: cn(!isExpanded && clampClasses[lines], className), ref, children }),
|
|
29
|
+
(isClamped || isExpanded) && /* @__PURE__ */ jsxs(
|
|
30
|
+
Button,
|
|
31
|
+
{
|
|
32
|
+
variant: "ghost",
|
|
33
|
+
size: "xs",
|
|
34
|
+
className: "mt-1 -ml-[.8em] self-start justify-self-start",
|
|
35
|
+
"aria-expanded": isExpanded,
|
|
36
|
+
onClick: () => setIsExpanded((v) => !v),
|
|
37
|
+
children: [
|
|
38
|
+
isExpanded ? showLessLabel : readMoreLabel,
|
|
39
|
+
/* @__PURE__ */ jsx(ChevronIcon, { className: cn("transition-transform", isExpanded && "rotate-180") })
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
] });
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export { ClampedText };
|
|
47
|
+
//# sourceMappingURL=ClampedText.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClampedText.es.js","sources":["../../src/ds/components/ClampedText/clamped-text.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport type { TxtProps } from '@/ds/components/Txt';\nimport { Txt } from '@/ds/components/Txt';\nimport { ChevronIcon } from '@/ds/icons/ChevronIcon';\nimport { useIsClamped } from '@/hooks/use-is-clamped';\nimport { cn } from '@/lib/utils';\n\n// Tailwind needs static class names — map instead of interpolating.\nconst clampClasses = {\n 1: 'line-clamp-1',\n 2: 'line-clamp-2',\n 3: 'line-clamp-3',\n 4: 'line-clamp-4',\n 5: 'line-clamp-5',\n 6: 'line-clamp-6',\n} as const;\n\nexport type ClampedTextLines = keyof typeof clampClasses;\n\nexport interface ClampedTextProps extends Omit<TxtProps, 'children' | 'ref'> {\n children: string;\n /** Number of lines to clamp to (default: 2) */\n lines?: ClampedTextLines;\n readMoreLabel?: string;\n showLessLabel?: string;\n}\n\n/** Text clamped to a number of lines, with a \"read more\" toggle shown only when the clamp actually cuts content. */\nexport function ClampedText({\n children,\n lines = 2,\n readMoreLabel = 'Read more',\n showLessLabel = 'Show less',\n className,\n ...txtProps\n}: ClampedTextProps) {\n const [isExpanded, setIsExpanded] = useState(false);\n const { ref, isClamped } = useIsClamped({ enabled: !isExpanded });\n\n return (\n <>\n <Txt {...txtProps} className={cn(!isExpanded && clampClasses[lines], className)} ref={ref}>\n {children}\n </Txt>\n {(isClamped || isExpanded) && (\n <Button\n variant=\"ghost\"\n size=\"xs\"\n className=\"mt-1 -ml-[.8em] self-start justify-self-start\"\n aria-expanded={isExpanded}\n onClick={() => setIsExpanded(v => !v)}\n >\n {isExpanded ? showLessLabel : readMoreLabel}\n <ChevronIcon className={cn('transition-transform', isExpanded && 'rotate-180')} />\n </Button>\n )}\n </>\n );\n}\n"],"names":[],"mappings":";;;;;;;;AASA,MAAM,YAAA,GAAe;AAAA,EACnB,CAAA,EAAG,cAAA;AAAA,EACH,CAAA,EAAG,cAAA;AAAA,EACH,CAAA,EAAG,cAAA;AAAA,EACH,CAAA,EAAG,cAAA;AAAA,EACH,CAAA,EAAG,cAAA;AAAA,EACH,CAAA,EAAG;AACL,CAAA;AAaO,SAAS,WAAA,CAAY;AAAA,EAC1B,QAAA;AAAA,EACA,KAAA,GAAQ,CAAA;AAAA,EACR,aAAA,GAAgB,WAAA;AAAA,EAChB,aAAA,GAAgB,WAAA;AAAA,EAChB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAqB;AACnB,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,KAAK,CAAA;AAClD,EAAA,MAAM,EAAE,KAAK,SAAA,EAAU,GAAI,aAAa,EAAE,OAAA,EAAS,CAAC,UAAA,EAAY,CAAA;AAEhE,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,GAAA,EAAA,EAAK,GAAG,QAAA,EAAU,SAAA,EAAW,EAAA,CAAG,CAAC,UAAA,IAAc,YAAA,CAAa,KAAK,CAAA,EAAG,SAAS,CAAA,EAAG,KAC9E,QAAA,EACH,CAAA;AAAA,IAAA,CACE,aAAa,UAAA,qBACb,IAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,OAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAK,IAAA;AAAA,QACL,SAAA,EAAU,+CAAA;AAAA,QACV,eAAA,EAAe,UAAA;AAAA,QACf,OAAA,EAAS,MAAM,aAAA,CAAc,CAAA,CAAA,KAAK,CAAC,CAAC,CAAA;AAAA,QAEnC,QAAA,EAAA;AAAA,UAAA,UAAA,GAAa,aAAA,GAAgB,aAAA;AAAA,8BAC7B,WAAA,EAAA,EAAY,SAAA,EAAW,GAAG,sBAAA,EAAwB,UAAA,IAAc,YAAY,CAAA,EAAG;AAAA;AAAA;AAAA;AAClF,GAAA,EAEJ,CAAA;AAEJ;;;;"}
|
|
@@ -42,13 +42,13 @@ const ComposerAttachments = React.forwardRef(
|
|
|
42
42
|
);
|
|
43
43
|
ComposerAttachments.displayName = "ComposerAttachments";
|
|
44
44
|
const ComposerInput = React.forwardRef(
|
|
45
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(scrollArea.ScrollArea, { maxHeight
|
|
45
|
+
({ className, maxHeight = "212px", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(scrollArea.ScrollArea, { maxHeight, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
46
46
|
"textarea",
|
|
47
47
|
{
|
|
48
48
|
ref,
|
|
49
49
|
"data-slot": "composer-input",
|
|
50
50
|
className: utils_cn.cn(
|
|
51
|
-
"min-h-17 field-sizing-content w-full resize-none bg-transparent px-3 pt-3 pb-2 text-ui-lg leading-ui-lg text-neutral6 outline-hidden placeholder:text-neutral3 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
|
|
51
|
+
"min-h-17 field-sizing-content w-full resize-none overflow-hidden bg-transparent px-3 pt-3 pb-2 text-ui-lg leading-ui-lg text-neutral6 outline-hidden placeholder:text-neutral3 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
|
|
52
52
|
className
|
|
53
53
|
),
|
|
54
54
|
...props
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Composer.cjs.js","sources":["../../src/ds/components/Composer/composer.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport { ScrollArea } from '../ScrollArea';\nimport { cn } from '@/lib/utils';\n\nimport './composer-sending.css';\n\nexport type ComposerProps = ComponentPropsWithoutRef<'form'>;\n\nexport const Composer = forwardRef<HTMLFormElement, ComposerProps>(({ children, ...props }, ref) => (\n <form ref={ref} data-slot=\"composer\" {...props}>\n {children}\n </form>\n));\nComposer.displayName = 'Composer';\n\nexport interface ComposerBoxProps extends ComponentPropsWithoutRef<'div'> {\n sendingPulseKey?: number;\n}\n\nexport const ComposerBox = forwardRef<HTMLDivElement, ComposerBoxProps>(\n ({ children, className, sendingPulseKey = 0, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"composer-box\"\n className={cn(\n 'duration-normal @container relative mx-auto mt-auto w-full max-w-3xl overflow-hidden rounded-[22px] border border-border2/40 bg-surface3 transition-colors focus-within:border-border2',\n className,\n )}\n {...props}\n >\n <ComposerSendingPulse pulseKey={sendingPulseKey} />\n <div className=\"relative z-10\">{children}</div>\n </div>\n ),\n);\nComposerBox.displayName = 'ComposerBox';\n\nexport const ComposerAttachments = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n role=\"region\"\n data-slot=\"composer-attachments\"\n className={cn('mx-auto w-full max-w-3xl pb-2', className)}\n {...props}\n />\n ),\n);\nComposerAttachments.displayName = 'ComposerAttachments';\n\nexport const ComposerInput = forwardRef<HTMLTextAreaElement,
|
|
1
|
+
{"version":3,"file":"Composer.cjs.js","sources":["../../src/ds/components/Composer/composer.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport { ScrollArea } from '../ScrollArea';\nimport { cn } from '@/lib/utils';\n\nimport './composer-sending.css';\n\nexport type ComposerProps = ComponentPropsWithoutRef<'form'>;\n\nexport interface ComposerInputProps extends ComponentPropsWithoutRef<'textarea'> {\n /** Maximum height of the scrolling input viewport. */\n maxHeight?: string;\n}\n\nexport const Composer = forwardRef<HTMLFormElement, ComposerProps>(({ children, ...props }, ref) => (\n <form ref={ref} data-slot=\"composer\" {...props}>\n {children}\n </form>\n));\nComposer.displayName = 'Composer';\n\nexport interface ComposerBoxProps extends ComponentPropsWithoutRef<'div'> {\n sendingPulseKey?: number;\n}\n\nexport const ComposerBox = forwardRef<HTMLDivElement, ComposerBoxProps>(\n ({ children, className, sendingPulseKey = 0, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"composer-box\"\n className={cn(\n 'duration-normal @container relative mx-auto mt-auto w-full max-w-3xl overflow-hidden rounded-[22px] border border-border2/40 bg-surface3 transition-colors focus-within:border-border2',\n className,\n )}\n {...props}\n >\n <ComposerSendingPulse pulseKey={sendingPulseKey} />\n <div className=\"relative z-10\">{children}</div>\n </div>\n ),\n);\nComposerBox.displayName = 'ComposerBox';\n\nexport const ComposerAttachments = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n role=\"region\"\n data-slot=\"composer-attachments\"\n className={cn('mx-auto w-full max-w-3xl pb-2', className)}\n {...props}\n />\n ),\n);\nComposerAttachments.displayName = 'ComposerAttachments';\n\nexport const ComposerInput = forwardRef<HTMLTextAreaElement, ComposerInputProps>(\n ({ className, maxHeight = '212px', ...props }, ref) => (\n <ScrollArea maxHeight={maxHeight}>\n <textarea\n ref={ref}\n data-slot=\"composer-input\"\n className={cn(\n 'min-h-17 field-sizing-content w-full resize-none overflow-hidden bg-transparent px-3 pt-3 pb-2 text-ui-lg leading-ui-lg text-neutral6 outline-hidden placeholder:text-neutral3 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n />\n </ScrollArea>\n ),\n);\nComposerInput.displayName = 'ComposerInput';\n\nexport const ComposerActions = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n role=\"region\"\n data-slot=\"composer-actions\"\n className={cn('flex flex-wrap-reverse items-center justify-between gap-2 px-1.5 pb-1.5', className)}\n {...props}\n />\n ),\n);\nComposerActions.displayName = 'ComposerActions';\n\nconst ComposerGradientColumn = ({ className }: { className?: string }) => (\n <div className={cn('flex size-full flex-col -space-y-3', className)}>\n <div className=\"w-full flex-1 bg-accent1 blur-xl\" />\n <div className=\"w-full flex-1 bg-accent1Dark blur-xl\" />\n <div className=\"w-full flex-1 bg-accent1 blur-xl\" />\n <div className=\"w-full flex-1 bg-accent1Darker blur-xl\" />\n </div>\n);\n\nconst ComposerSendingPulse = ({ pulseKey }: { pulseKey: number }) => {\n if (pulseKey === 0) return null;\n\n return (\n <div\n key={pulseKey}\n aria-hidden=\"true\"\n data-slot=\"composer-sending-pulse\"\n className=\"composer-sending pointer-events-none absolute top-0 left-[-10%] z-0 flex h-10 w-[120%] transform-gpu\"\n >\n <ComposerGradientColumn />\n <ComposerGradientColumn className=\"-translate-y-2\" />\n <ComposerGradientColumn />\n </div>\n );\n};\n"],"names":["forwardRef","jsx","jsxs","cn","ScrollArea"],"mappings":"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"}
|
|
@@ -38,13 +38,13 @@ const ComposerAttachments = forwardRef(
|
|
|
38
38
|
);
|
|
39
39
|
ComposerAttachments.displayName = "ComposerAttachments";
|
|
40
40
|
const ComposerInput = forwardRef(
|
|
41
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsx(ScrollArea, { maxHeight
|
|
41
|
+
({ className, maxHeight = "212px", ...props }, ref) => /* @__PURE__ */ jsx(ScrollArea, { maxHeight, children: /* @__PURE__ */ jsx(
|
|
42
42
|
"textarea",
|
|
43
43
|
{
|
|
44
44
|
ref,
|
|
45
45
|
"data-slot": "composer-input",
|
|
46
46
|
className: cn(
|
|
47
|
-
"min-h-17 field-sizing-content w-full resize-none bg-transparent px-3 pt-3 pb-2 text-ui-lg leading-ui-lg text-neutral6 outline-hidden placeholder:text-neutral3 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
|
|
47
|
+
"min-h-17 field-sizing-content w-full resize-none overflow-hidden bg-transparent px-3 pt-3 pb-2 text-ui-lg leading-ui-lg text-neutral6 outline-hidden placeholder:text-neutral3 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
|
|
48
48
|
className
|
|
49
49
|
),
|
|
50
50
|
...props
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Composer.es.js","sources":["../../src/ds/components/Composer/composer.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport { ScrollArea } from '../ScrollArea';\nimport { cn } from '@/lib/utils';\n\nimport './composer-sending.css';\n\nexport type ComposerProps = ComponentPropsWithoutRef<'form'>;\n\nexport const Composer = forwardRef<HTMLFormElement, ComposerProps>(({ children, ...props }, ref) => (\n <form ref={ref} data-slot=\"composer\" {...props}>\n {children}\n </form>\n));\nComposer.displayName = 'Composer';\n\nexport interface ComposerBoxProps extends ComponentPropsWithoutRef<'div'> {\n sendingPulseKey?: number;\n}\n\nexport const ComposerBox = forwardRef<HTMLDivElement, ComposerBoxProps>(\n ({ children, className, sendingPulseKey = 0, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"composer-box\"\n className={cn(\n 'duration-normal @container relative mx-auto mt-auto w-full max-w-3xl overflow-hidden rounded-[22px] border border-border2/40 bg-surface3 transition-colors focus-within:border-border2',\n className,\n )}\n {...props}\n >\n <ComposerSendingPulse pulseKey={sendingPulseKey} />\n <div className=\"relative z-10\">{children}</div>\n </div>\n ),\n);\nComposerBox.displayName = 'ComposerBox';\n\nexport const ComposerAttachments = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n role=\"region\"\n data-slot=\"composer-attachments\"\n className={cn('mx-auto w-full max-w-3xl pb-2', className)}\n {...props}\n />\n ),\n);\nComposerAttachments.displayName = 'ComposerAttachments';\n\nexport const ComposerInput = forwardRef<HTMLTextAreaElement,
|
|
1
|
+
{"version":3,"file":"Composer.es.js","sources":["../../src/ds/components/Composer/composer.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\nimport { forwardRef } from 'react';\n\nimport { ScrollArea } from '../ScrollArea';\nimport { cn } from '@/lib/utils';\n\nimport './composer-sending.css';\n\nexport type ComposerProps = ComponentPropsWithoutRef<'form'>;\n\nexport interface ComposerInputProps extends ComponentPropsWithoutRef<'textarea'> {\n /** Maximum height of the scrolling input viewport. */\n maxHeight?: string;\n}\n\nexport const Composer = forwardRef<HTMLFormElement, ComposerProps>(({ children, ...props }, ref) => (\n <form ref={ref} data-slot=\"composer\" {...props}>\n {children}\n </form>\n));\nComposer.displayName = 'Composer';\n\nexport interface ComposerBoxProps extends ComponentPropsWithoutRef<'div'> {\n sendingPulseKey?: number;\n}\n\nexport const ComposerBox = forwardRef<HTMLDivElement, ComposerBoxProps>(\n ({ children, className, sendingPulseKey = 0, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"composer-box\"\n className={cn(\n 'duration-normal @container relative mx-auto mt-auto w-full max-w-3xl overflow-hidden rounded-[22px] border border-border2/40 bg-surface3 transition-colors focus-within:border-border2',\n className,\n )}\n {...props}\n >\n <ComposerSendingPulse pulseKey={sendingPulseKey} />\n <div className=\"relative z-10\">{children}</div>\n </div>\n ),\n);\nComposerBox.displayName = 'ComposerBox';\n\nexport const ComposerAttachments = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n role=\"region\"\n data-slot=\"composer-attachments\"\n className={cn('mx-auto w-full max-w-3xl pb-2', className)}\n {...props}\n />\n ),\n);\nComposerAttachments.displayName = 'ComposerAttachments';\n\nexport const ComposerInput = forwardRef<HTMLTextAreaElement, ComposerInputProps>(\n ({ className, maxHeight = '212px', ...props }, ref) => (\n <ScrollArea maxHeight={maxHeight}>\n <textarea\n ref={ref}\n data-slot=\"composer-input\"\n className={cn(\n 'min-h-17 field-sizing-content w-full resize-none overflow-hidden bg-transparent px-3 pt-3 pb-2 text-ui-lg leading-ui-lg text-neutral6 outline-hidden placeholder:text-neutral3 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n />\n </ScrollArea>\n ),\n);\nComposerInput.displayName = 'ComposerInput';\n\nexport const ComposerActions = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n role=\"region\"\n data-slot=\"composer-actions\"\n className={cn('flex flex-wrap-reverse items-center justify-between gap-2 px-1.5 pb-1.5', className)}\n {...props}\n />\n ),\n);\nComposerActions.displayName = 'ComposerActions';\n\nconst ComposerGradientColumn = ({ className }: { className?: string }) => (\n <div className={cn('flex size-full flex-col -space-y-3', className)}>\n <div className=\"w-full flex-1 bg-accent1 blur-xl\" />\n <div className=\"w-full flex-1 bg-accent1Dark blur-xl\" />\n <div className=\"w-full flex-1 bg-accent1 blur-xl\" />\n <div className=\"w-full flex-1 bg-accent1Darker blur-xl\" />\n </div>\n);\n\nconst ComposerSendingPulse = ({ pulseKey }: { pulseKey: number }) => {\n if (pulseKey === 0) return null;\n\n return (\n <div\n key={pulseKey}\n aria-hidden=\"true\"\n data-slot=\"composer-sending-pulse\"\n className=\"composer-sending pointer-events-none absolute top-0 left-[-10%] z-0 flex h-10 w-[120%] transform-gpu\"\n >\n <ComposerGradientColumn />\n <ComposerGradientColumn className=\"-translate-y-2\" />\n <ComposerGradientColumn />\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentBlocks.cjs.js","sources":["../../src/ds/components/ContentBlocks/content-blocks.tsx","../../src/ds/components/ContentBlocks/content-block.tsx"],"sourcesContent":["import type { DropResult, DroppableProvided } from '@hello-pangea/dnd';\nimport { DragDropContext, Droppable } from '@hello-pangea/dnd';\n\nexport interface ContentBlocksProps<T> {\n children: React.ReactNode;\n items: Array<T>;\n onChange: (items: Array<T>) => void;\n className?: string;\n}\n\nconst reorder = <T,>(list: Array<T>, startIndex: number, endIndex: number): Array<T> => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n if (removed === undefined) return result;\n result.splice(endIndex, 0, removed);\n return result;\n};\n\nexport function ContentBlocks<T>({ children, items, onChange, className }: ContentBlocksProps<T>) {\n const handleDragEnd = (result: DropResult) => {\n if (!result.destination) return;\n\n const nextItems = reorder(items, result.source.index, result.destination.index);\n\n onChange(nextItems);\n };\n\n return (\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable droppableId=\"droppable\">\n {(provided: DroppableProvided) => (\n <div {...provided.droppableProps} ref={provided.innerRef} className={className}>\n {children}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n );\n}\n","import type { DraggableProvidedDragHandleProps } from '@hello-pangea/dnd';\nimport { Draggable } from '@hello-pangea/dnd';\n\nexport type ContentBlockChildren =\n
|
|
1
|
+
{"version":3,"file":"ContentBlocks.cjs.js","sources":["../../src/ds/components/ContentBlocks/content-blocks.tsx","../../src/ds/components/ContentBlocks/content-block.tsx"],"sourcesContent":["import type { DropResult, DroppableProvided } from '@hello-pangea/dnd';\nimport { DragDropContext, Droppable } from '@hello-pangea/dnd';\n\nexport interface ContentBlocksProps<T> {\n children: React.ReactNode;\n items: Array<T>;\n onChange: (items: Array<T>) => void;\n className?: string;\n}\n\nconst reorder = <T,>(list: Array<T>, startIndex: number, endIndex: number): Array<T> => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n if (removed === undefined) return result;\n result.splice(endIndex, 0, removed);\n return result;\n};\n\nexport function ContentBlocks<T>({ children, items, onChange, className }: ContentBlocksProps<T>) {\n const handleDragEnd = (result: DropResult) => {\n if (!result.destination) return;\n\n const nextItems = reorder(items, result.source.index, result.destination.index);\n\n onChange(nextItems);\n };\n\n return (\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable droppableId=\"droppable\">\n {(provided: DroppableProvided) => (\n <div {...provided.droppableProps} ref={provided.innerRef} className={className}>\n {children}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n );\n}\n","import type { DraggableProvidedDragHandleProps } from '@hello-pangea/dnd';\nimport { Draggable } from '@hello-pangea/dnd';\n\nexport type ContentBlockChildren =\n React.ReactNode | ((dragHandleProps: DraggableProvidedDragHandleProps | null) => React.ReactNode);\n\nexport interface ContentBlockProps {\n children: ContentBlockChildren;\n index: number;\n draggableId: string;\n className?: string;\n}\n\nexport const ContentBlock = ({ children, index, draggableId, className }: ContentBlockProps) => {\n const isRenderProp = typeof children === 'function';\n\n return (\n <Draggable draggableId={draggableId} index={index}>\n {provided => (\n <div\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...(isRenderProp ? {} : provided.dragHandleProps)}\n className={className}\n style={provided.draggableProps.style}\n >\n {isRenderProp ? children(provided.dragHandleProps) : children}\n </div>\n )}\n </Draggable>\n );\n};\n"],"names":["DragDropContext","jsx","Droppable","jsxs","Draggable"],"mappings":";;;;;;;AAUA,MAAM,OAAA,GAAU,CAAK,IAAA,EAAgB,UAAA,EAAoB,QAAA,KAA+B;AACtF,EAAA,MAAM,MAAA,GAAS,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA;AAC9B,EAAA,MAAM,CAAC,OAAO,CAAA,GAAI,MAAA,CAAO,MAAA,CAAO,YAAY,CAAC,CAAA;AAC7C,EAAA,IAAI,OAAA,KAAY,QAAW,OAAO,MAAA;AAClC,EAAA,MAAA,CAAO,MAAA,CAAO,QAAA,EAAU,CAAA,EAAG,OAAO,CAAA;AAClC,EAAA,OAAO,MAAA;AACT,CAAA;AAEO,SAAS,cAAiB,EAAE,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,WAAU,EAA0B;AAChG,EAAA,MAAM,aAAA,GAAgB,CAAC,MAAA,KAAuB;AAC5C,IAAA,IAAI,CAAC,OAAO,WAAA,EAAa;AAEzB,IAAA,MAAM,SAAA,GAAY,QAAQ,KAAA,EAAO,MAAA,CAAO,OAAO,KAAA,EAAO,MAAA,CAAO,YAAY,KAAK,CAAA;AAE9E,IAAA,QAAA,CAAS,SAAS,CAAA;AAAA,EACpB,CAAA;AAEA,EAAA,sCACGA,mBAAA,EAAA,EAAgB,SAAA,EAAW,eAC1B,QAAA,kBAAAC,cAAA,CAACC,aAAA,EAAA,EAAU,aAAY,WAAA,EACpB,QAAA,EAAA,CAAC,QAAA,qBACAC,eAAA,CAAC,SAAK,GAAG,QAAA,CAAS,gBAAgB,GAAA,EAAK,QAAA,CAAS,UAAU,SAAA,EACvD,QAAA,EAAA;AAAA,IAAA,QAAA;AAAA,IACA,QAAA,CAAS;AAAA,GAAA,EACZ,GAEJ,CAAA,EACF,CAAA;AAEJ;;AC1BO,MAAM,eAAe,CAAC,EAAE,UAAU,KAAA,EAAO,WAAA,EAAa,WAAU,KAAyB;AAC9F,EAAA,MAAM,YAAA,GAAe,OAAO,QAAA,KAAa,UAAA;AAEzC,EAAA,uBACEF,cAAA,CAACG,aAAA,EAAA,EAAU,WAAA,EAA0B,KAAA,EAClC,QAAA,EAAA,CAAA,QAAA,qBACCH,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAK,QAAA,CAAS,QAAA;AAAA,MACb,GAAG,QAAA,CAAS,cAAA;AAAA,MACZ,GAAI,YAAA,GAAe,EAAC,GAAI,QAAA,CAAS,eAAA;AAAA,MAClC,SAAA;AAAA,MACA,KAAA,EAAO,SAAS,cAAA,CAAe,KAAA;AAAA,MAE9B,QAAA,EAAA,YAAA,GAAe,QAAA,CAAS,QAAA,CAAS,eAAe,CAAA,GAAI;AAAA;AAAA,GACvD,EAEJ,CAAA;AAEJ;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentBlocks.es.js","sources":["../../src/ds/components/ContentBlocks/content-blocks.tsx","../../src/ds/components/ContentBlocks/content-block.tsx"],"sourcesContent":["import type { DropResult, DroppableProvided } from '@hello-pangea/dnd';\nimport { DragDropContext, Droppable } from '@hello-pangea/dnd';\n\nexport interface ContentBlocksProps<T> {\n children: React.ReactNode;\n items: Array<T>;\n onChange: (items: Array<T>) => void;\n className?: string;\n}\n\nconst reorder = <T,>(list: Array<T>, startIndex: number, endIndex: number): Array<T> => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n if (removed === undefined) return result;\n result.splice(endIndex, 0, removed);\n return result;\n};\n\nexport function ContentBlocks<T>({ children, items, onChange, className }: ContentBlocksProps<T>) {\n const handleDragEnd = (result: DropResult) => {\n if (!result.destination) return;\n\n const nextItems = reorder(items, result.source.index, result.destination.index);\n\n onChange(nextItems);\n };\n\n return (\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable droppableId=\"droppable\">\n {(provided: DroppableProvided) => (\n <div {...provided.droppableProps} ref={provided.innerRef} className={className}>\n {children}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n );\n}\n","import type { DraggableProvidedDragHandleProps } from '@hello-pangea/dnd';\nimport { Draggable } from '@hello-pangea/dnd';\n\nexport type ContentBlockChildren =\n
|
|
1
|
+
{"version":3,"file":"ContentBlocks.es.js","sources":["../../src/ds/components/ContentBlocks/content-blocks.tsx","../../src/ds/components/ContentBlocks/content-block.tsx"],"sourcesContent":["import type { DropResult, DroppableProvided } from '@hello-pangea/dnd';\nimport { DragDropContext, Droppable } from '@hello-pangea/dnd';\n\nexport interface ContentBlocksProps<T> {\n children: React.ReactNode;\n items: Array<T>;\n onChange: (items: Array<T>) => void;\n className?: string;\n}\n\nconst reorder = <T,>(list: Array<T>, startIndex: number, endIndex: number): Array<T> => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n if (removed === undefined) return result;\n result.splice(endIndex, 0, removed);\n return result;\n};\n\nexport function ContentBlocks<T>({ children, items, onChange, className }: ContentBlocksProps<T>) {\n const handleDragEnd = (result: DropResult) => {\n if (!result.destination) return;\n\n const nextItems = reorder(items, result.source.index, result.destination.index);\n\n onChange(nextItems);\n };\n\n return (\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable droppableId=\"droppable\">\n {(provided: DroppableProvided) => (\n <div {...provided.droppableProps} ref={provided.innerRef} className={className}>\n {children}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n );\n}\n","import type { DraggableProvidedDragHandleProps } from '@hello-pangea/dnd';\nimport { Draggable } from '@hello-pangea/dnd';\n\nexport type ContentBlockChildren =\n React.ReactNode | ((dragHandleProps: DraggableProvidedDragHandleProps | null) => React.ReactNode);\n\nexport interface ContentBlockProps {\n children: ContentBlockChildren;\n index: number;\n draggableId: string;\n className?: string;\n}\n\nexport const ContentBlock = ({ children, index, draggableId, className }: ContentBlockProps) => {\n const isRenderProp = typeof children === 'function';\n\n return (\n <Draggable draggableId={draggableId} index={index}>\n {provided => (\n <div\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...(isRenderProp ? {} : provided.dragHandleProps)}\n className={className}\n style={provided.draggableProps.style}\n >\n {isRenderProp ? children(provided.dragHandleProps) : children}\n </div>\n )}\n </Draggable>\n );\n};\n"],"names":[],"mappings":";;;AAUA,MAAM,OAAA,GAAU,CAAK,IAAA,EAAgB,UAAA,EAAoB,QAAA,KAA+B;AACtF,EAAA,MAAM,MAAA,GAAS,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA;AAC9B,EAAA,MAAM,CAAC,OAAO,CAAA,GAAI,MAAA,CAAO,MAAA,CAAO,YAAY,CAAC,CAAA;AAC7C,EAAA,IAAI,OAAA,KAAY,QAAW,OAAO,MAAA;AAClC,EAAA,MAAA,CAAO,MAAA,CAAO,QAAA,EAAU,CAAA,EAAG,OAAO,CAAA;AAClC,EAAA,OAAO,MAAA;AACT,CAAA;AAEO,SAAS,cAAiB,EAAE,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,WAAU,EAA0B;AAChG,EAAA,MAAM,aAAA,GAAgB,CAAC,MAAA,KAAuB;AAC5C,IAAA,IAAI,CAAC,OAAO,WAAA,EAAa;AAEzB,IAAA,MAAM,SAAA,GAAY,QAAQ,KAAA,EAAO,MAAA,CAAO,OAAO,KAAA,EAAO,MAAA,CAAO,YAAY,KAAK,CAAA;AAE9E,IAAA,QAAA,CAAS,SAAS,CAAA;AAAA,EACpB,CAAA;AAEA,EAAA,2BACG,eAAA,EAAA,EAAgB,SAAA,EAAW,eAC1B,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,aAAY,WAAA,EACpB,QAAA,EAAA,CAAC,QAAA,qBACA,IAAA,CAAC,SAAK,GAAG,QAAA,CAAS,gBAAgB,GAAA,EAAK,QAAA,CAAS,UAAU,SAAA,EACvD,QAAA,EAAA;AAAA,IAAA,QAAA;AAAA,IACA,QAAA,CAAS;AAAA,GAAA,EACZ,GAEJ,CAAA,EACF,CAAA;AAEJ;;AC1BO,MAAM,eAAe,CAAC,EAAE,UAAU,KAAA,EAAO,WAAA,EAAa,WAAU,KAAyB;AAC9F,EAAA,MAAM,YAAA,GAAe,OAAO,QAAA,KAAa,UAAA;AAEzC,EAAA,uBACE,GAAA,CAAC,SAAA,EAAA,EAAU,WAAA,EAA0B,KAAA,EAClC,QAAA,EAAA,CAAA,QAAA,qBACC,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAK,QAAA,CAAS,QAAA;AAAA,MACb,GAAG,QAAA,CAAS,cAAA;AAAA,MACZ,GAAI,YAAA,GAAe,EAAC,GAAI,QAAA,CAAS,eAAA;AAAA,MAClC,SAAA;AAAA,MACA,KAAA,EAAO,SAAS,cAAA,CAAe,KAAA;AAAA,MAE9B,QAAA,EAAA,YAAA,GAAe,QAAA,CAAS,QAAA,CAAS,eAAe,CAAA,GAAI;AAAA;AAAA,GACvD,EAEJ,CAAA;AAEJ;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { D as DataCodeSection } from '../data-code-section-
|
|
1
|
+
export { D as DataCodeSection } from '../data-code-section-BjqDCzy3.js';
|
|
2
2
|
//# sourceMappingURL=DataCodeSection.es.js.map
|
|
@@ -13,7 +13,7 @@ const highlight = require('@lezer/highlight');
|
|
|
13
13
|
const codemirrorThemeDracula = require('@uiw/codemirror-theme-dracula');
|
|
14
14
|
const ReactCodeMirror = require('@uiw/react-codemirror');
|
|
15
15
|
const React = require('react');
|
|
16
|
-
const buttonsGroup = require('../buttons-group-
|
|
16
|
+
const buttonsGroup = require('../buttons-group-Dw8Wu4sj.cjs');
|
|
17
17
|
const copyButton = require('../copy-button-DNR760m7.cjs');
|
|
18
18
|
const themeProvider = require('../theme-provider-aO5-jZVp.cjs');
|
|
19
19
|
const spinner = require('../spinner-BBAmiRCS.cjs');
|
|
@@ -187,13 +187,13 @@ function Root({ className, children }) {
|
|
|
187
187
|
return /* @__PURE__ */ jsxRuntime.jsx("dl", { className: utils_cn.cn("grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5", className), children });
|
|
188
188
|
}
|
|
189
189
|
function Key({ className, children }) {
|
|
190
|
-
return /* @__PURE__ */ jsxRuntime.jsx("dt", { className: utils_cn.cn("text-ui-smd
|
|
190
|
+
return /* @__PURE__ */ jsxRuntime.jsx("dt", { className: utils_cn.cn("shrink-0 py-0.5 text-ui-smd text-neutral2", className), children });
|
|
191
191
|
}
|
|
192
192
|
function Value({ className, children }) {
|
|
193
|
-
return /* @__PURE__ */ jsxRuntime.jsx("dd", { className: utils_cn.cn("
|
|
193
|
+
return /* @__PURE__ */ jsxRuntime.jsx("dd", { className: utils_cn.cn("min-w-0 truncate py-0.5 text-ui-smd text-neutral3", className), children });
|
|
194
194
|
}
|
|
195
195
|
function Header({ className, children }) {
|
|
196
|
-
return /* @__PURE__ */ jsxRuntime.jsx("dt", { className: utils_cn.cn("col-span-2 text-ui-sm
|
|
196
|
+
return /* @__PURE__ */ jsxRuntime.jsx("dt", { className: utils_cn.cn("col-span-2 py-3 text-ui-sm tracking-widest text-neutral2 uppercase", className), children });
|
|
197
197
|
}
|
|
198
198
|
const DataDetailsPanelKeyValueList = Object.assign(Root, {
|
|
199
199
|
Key,
|