@starci/grammar 0.9.14 → 0.10.0
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/README.md +34 -5
- package/dist/.build-stamp.json +4 -4
- package/dist/common/components-navigation.css +55 -0
- package/dist/common/registry.d.ts +3 -1
- package/dist/common/registry.d.ts.map +1 -1
- package/dist/common/renderers-navigation.d.ts +6 -2
- package/dist/common/renderers-navigation.d.ts.map +1 -1
- package/dist/common/renderers-navigation.js +5 -1
- package/dist/common/renderers-navigation.js.map +1 -1
- package/dist/core/branch/DataTable/index.d.ts +14 -2
- package/dist/core/branch/DataTable/index.d.ts.map +1 -1
- package/dist/core/branch/DataTable/index.js +47 -3
- package/dist/core/branch/DataTable/index.js.map +1 -1
- package/dist/core/branch/DragItem/index.d.ts +16 -0
- package/dist/core/branch/DragItem/index.d.ts.map +1 -0
- package/dist/core/branch/DragItem/index.js +5 -0
- package/dist/core/branch/DragItem/index.js.map +1 -0
- package/dist/core/primitive/Button/index.d.ts +3 -0
- package/dist/core/primitive/Button/index.d.ts.map +1 -1
- package/dist/core/primitive/Button/index.js +1 -1
- package/dist/core/primitive/Button/index.js.map +1 -1
- package/dist/core/primitive/Video/index.d.ts +23 -0
- package/dist/core/primitive/Video/index.d.ts.map +1 -0
- package/dist/core/primitive/Video/index.js +5 -0
- package/dist/core/primitive/Video/index.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ states and scales, and the family registry. Core, Heritage and Offset Pop are si
|
|
|
6
6
|
Each one implements the same contract with its own scoped visual DNA. The package contains no
|
|
7
7
|
routes, domain entities, product decisions or feature-named shells.
|
|
8
8
|
|
|
9
|
-
Common
|
|
9
|
+
Common publishes its renderers through `COMMON_GRAMMAR_COMPONENTS`. Every family renders all of them. A family changes presentation
|
|
10
10
|
only: props, DOM, ARIA and keyboard behaviour stay the same.
|
|
11
11
|
|
|
12
12
|
## Install
|
|
@@ -158,6 +158,36 @@ Tooltip. Dialog, AlertDialog, Drawer, Popover and DropdownMenu are controlled th
|
|
|
158
158
|
**Navigation & Data (14).** Accordion, AvatarGroup, Breadcrumbs, Calendar, DataTable,
|
|
159
159
|
DescriptionList, Disclosure, ListBox, Pagination, Stepper, Subnav, Tabs, TagGroup, Timeline.
|
|
160
160
|
|
|
161
|
+
`DataTable.getCellInteraction(row, columnId)` optionally supplies `onAction`, `onDragOver`,
|
|
162
|
+
`onDragLeave`, `onDrop`, `isHighlighted` and `tone` (`neutral` or `muted`). Cells remain semantic
|
|
163
|
+
table cells under the existing arrow-key navigation. An actionable cell takes focus itself,
|
|
164
|
+
activates once with Enter/Space or a click on its plain content, and leaves nested controls to
|
|
165
|
+
their own actions. Native drag callbacks receive the actual inner content-frame event (`HTMLDivElement`); the caller owns
|
|
166
|
+
payload validation, accepted targets and effects. Highlighting takes precedence over muted tone.
|
|
167
|
+
|
|
168
|
+
`DragItem` is a native drag-source frame with `isDisabled`, `onDragStart`, `onDragEnd`,
|
|
169
|
+
`isSelected`, `isInvalid`, `isDashed` and an optional caller-owned `leadingColor`. Its `children`
|
|
170
|
+
must include a published control providing the operation without dragging, including selection
|
|
171
|
+
and a keyboard-reachable destination when used with cell actions. Selection, invalidity and the
|
|
172
|
+
category must also be expressed in accessible content. The frame itself adds no focus stop.
|
|
173
|
+
|
|
174
|
+
Command `Button` accepts controlled boolean `aria-pressed` for a toggle action and forwards both
|
|
175
|
+
`true` and `false` to its native button. Omit it for an ordinary command and keep a toggle's visible
|
|
176
|
+
label stable as its state changes, following the [ARIA button pattern](https://www.w3.org/WAI/ARIA/apg/patterns/button/).
|
|
177
|
+
|
|
178
|
+
`Video` takes `src`, accessible `title`, optional `poster`, and an optional nullable `captions` descriptor
|
|
179
|
+
(`src`, human-readable `label`, optional BCP 47 `srcLang` when the actual language is known). It keeps
|
|
180
|
+
native controls, inline playback and metadata preloading, with one default captions track when supplied.
|
|
181
|
+
Supply a genuine WebVTT resource timed to
|
|
182
|
+
the rendered media, including relevant non-speech audio; empty tracks and guessed timing do not
|
|
183
|
+
satisfy this contract. Null or omission exposes no track and does not claim accessible caption coverage;
|
|
184
|
+
the caller owns caption creation, availability and an appropriate alternative for legacy media. Wrap it in `MediaFrame`
|
|
185
|
+
to reserve an aspect ratio. The track URL must be same-origin unless the caller supplies
|
|
186
|
+
`crossOrigin` (`anonymous` or `use-credentials`) and both resource servers support the corresponding
|
|
187
|
+
CORS request; the renderer leaves this unset by default to preserve ordinary media loading.
|
|
188
|
+
The [HTML media and track standard](https://html.spec.whatwg.org/multipage/media.html#the-track-element)
|
|
189
|
+
defines the native loading and caption behaviour (reviewed 2026-10-18).
|
|
190
|
+
|
|
161
191
|
**Surfaces (14).** EmptyNotice, FencedCodeBlock, HorizontalScrollRegion, MarkdownArticle,
|
|
162
192
|
MarkdownTableFrame, MediaFrame, Rail, SectionHeader, StaticStateRow, SurfaceAccordionCard,
|
|
163
193
|
SurfaceCard, SurfaceCopyGroup, SurfaceListCard, VerticalScrollRegion.
|
|
@@ -167,7 +197,7 @@ PrimaryRailLayout, Sidebar, TopBar, WorkspaceShell. Storybook also pins three pa
|
|
|
167
197
|
each family: a settings form, a data list with a filter drawer and pagination, and a mobile home
|
|
168
198
|
with TopBar, BottomNav and a Toast.
|
|
169
199
|
|
|
170
|
-
`COMMON_GRAMMAR_COMPONENTS` is the frozen registry of
|
|
200
|
+
`COMMON_GRAMMAR_COMPONENTS` is the frozen registry of the published renderers.
|
|
171
201
|
`COMMON_FORMS_COMPONENTS`, `COMMON_OVERLAYS_COMPONENTS` and `COMMON_NAVIGATION_COMPONENTS` are the
|
|
172
202
|
0.5.0 groups. `defineGrammarFamily` builds a new family over the registry. It may replace
|
|
173
203
|
renderers with prop-compatible versions and add extensions whose names don't collide with Common's.
|
|
@@ -213,9 +243,8 @@ renderers with prop-compatible versions and add extensions whose names don't col
|
|
|
213
243
|
|
|
214
244
|
```sh
|
|
215
245
|
npm run typecheck
|
|
216
|
-
npm test #
|
|
217
|
-
npm run build-storybook # static Storybook
|
|
218
|
-
npx vitest run --project storybook # stories in Chromium with axe (a11y `todo` mode)
|
|
246
|
+
npm test # typecheck + build; the package has no spec suites
|
|
247
|
+
npm run build-storybook # static Storybook for the authored component and family stories
|
|
219
248
|
npm pack --dry-run
|
|
220
249
|
```
|
|
221
250
|
|
package/dist/.build-stamp.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "starci/grammar-build-stamp@1",
|
|
3
3
|
"package": "@starci/grammar",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.10.0",
|
|
5
5
|
"algorithm": "starci/grammar-source-digest@1",
|
|
6
|
-
"sourceDigest": "sha256:
|
|
7
|
-
"distDigest": "sha256:
|
|
8
|
-
"builtAt": "2026-10-
|
|
6
|
+
"sourceDigest": "sha256:521af9d2573c0cb6415b238e8df1c985d9ac2d6962938a12050e0f6076c8d659",
|
|
7
|
+
"distDigest": "sha256:c2f06707823826a97dd0f7deda9f4e0b3ee151c5c745a66082cda5cd966383cc",
|
|
8
|
+
"builtAt": "2026-10-18T15:47:18.150Z"
|
|
9
9
|
}
|
|
@@ -769,6 +769,14 @@
|
|
|
769
769
|
}
|
|
770
770
|
|
|
771
771
|
/* ---------- DataTable ---------- */
|
|
772
|
+
.starci-core-video {
|
|
773
|
+
display: block;
|
|
774
|
+
width: 100%;
|
|
775
|
+
max-width: 100%;
|
|
776
|
+
height: auto;
|
|
777
|
+
object-fit: contain;
|
|
778
|
+
}
|
|
779
|
+
|
|
772
780
|
.starci-core-data-table {
|
|
773
781
|
min-width: 0;
|
|
774
782
|
max-width: 100%;
|
|
@@ -841,6 +849,53 @@
|
|
|
841
849
|
text-align: center;
|
|
842
850
|
}
|
|
843
851
|
|
|
852
|
+
.starci-core-data-table-cell[data-grammar-cell-tone="muted"] {
|
|
853
|
+
background: var(--surface-secondary, Canvas);
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
.starci-core-data-table-cell[data-grammar-cell-highlighted="true"] {
|
|
857
|
+
background: var(--accent-soft, Highlight);
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
.starci-core-data-table-cell[data-grammar-cell-interaction="true"] {
|
|
861
|
+
height: 1px;
|
|
862
|
+
padding: 0;
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
.starci-core-data-table-cell-content {
|
|
866
|
+
box-sizing: border-box;
|
|
867
|
+
height: 100%;
|
|
868
|
+
padding: 0.75rem;
|
|
869
|
+
}
|
|
870
|
+
|
|
871
|
+
.starci-core-drag-item {
|
|
872
|
+
display: flex;
|
|
873
|
+
min-width: 0;
|
|
874
|
+
width: 100%;
|
|
875
|
+
flex-direction: column;
|
|
876
|
+
gap: 0.25rem;
|
|
877
|
+
border: 1px solid var(--separator, GrayText);
|
|
878
|
+
border-inline-start: 4px solid var(--starci-drag-item-leading, var(--separator, GrayText));
|
|
879
|
+
border-radius: var(--radius, 0.5rem);
|
|
880
|
+
background: var(--surface, Canvas);
|
|
881
|
+
padding: 0.25rem 0.5rem;
|
|
882
|
+
}
|
|
883
|
+
|
|
884
|
+
.starci-core-drag-item[data-grammar-selected="true"] {
|
|
885
|
+
outline: 2px solid var(--accent, Highlight);
|
|
886
|
+
outline-offset: 1px;
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
.starci-core-drag-item[data-grammar-invalid="true"] {
|
|
890
|
+
border-color: var(--danger, Mark);
|
|
891
|
+
border-inline-start-color: var(--starci-drag-item-leading, var(--danger, Mark));
|
|
892
|
+
background: var(--danger-soft, Canvas);
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
.starci-core-drag-item[data-grammar-dashed="true"] {
|
|
896
|
+
border-style: dashed;
|
|
897
|
+
}
|
|
898
|
+
|
|
844
899
|
/* ---------- DescriptionList ---------- */
|
|
845
900
|
.starci-core-description-list {
|
|
846
901
|
display: flex;
|
|
@@ -14,9 +14,10 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
|
|
|
14
14
|
readonly BottomNav: ({ label, items, currentId, onSelect, position, visibility, className }: import("./renderers-navigation.js").BottomNavProps) => import("react").JSX.Element;
|
|
15
15
|
readonly Breadcrumbs: ({ label, items, separator, onAction, className }: import("./renderers-navigation.js").BreadcrumbsProps) => import("react").JSX.Element;
|
|
16
16
|
readonly Calendar: ({ label, value, defaultValue, onChange, minValue, maxValue, isDateUnavailable, isDisabled, isReadOnly, previousLabel, nextLabel, className, }: import("./renderers-navigation.js").CalendarProps) => import("react").JSX.Element;
|
|
17
|
-
readonly DataTable: <Row extends import("./renderers-navigation.js").DataTableRow>({ label, columns, rows, renderCell, sort, onSortChange, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, selectAllLabel, selectRowLabel, isLoading, loadingContent, loadingRows, emptyContent, stickyHeader, maxBlockSize, onRowAction, className, }: import("./renderers-navigation.js").DataTableProps<Row>) => import("react").JSX.Element;
|
|
17
|
+
readonly DataTable: <Row extends import("./renderers-navigation.js").DataTableRow>({ label, columns, rows, renderCell, getCellInteraction, sort, onSortChange, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, selectAllLabel, selectRowLabel, isLoading, loadingContent, loadingRows, emptyContent, stickyHeader, maxBlockSize, onRowAction, className, }: import("./renderers-navigation.js").DataTableProps<Row>) => import("react").JSX.Element;
|
|
18
18
|
readonly DescriptionList: (props: import("./renderers-navigation.js").DescriptionListProps) => import("react").JSX.Element;
|
|
19
19
|
readonly Disclosure: ({ title, children, summary, isExpanded, defaultExpanded, onExpandedChange, isDisabled, headingLevel, className, }: import("./renderers-navigation.js").DisclosureProps) => import("react").JSX.Element;
|
|
20
|
+
readonly DragItem: ({ children, isDisabled, onDragStart, onDragEnd, isSelected, isInvalid, isDashed, leadingColor }: import("./renderers-navigation.js").DragItemProps) => import("react").JSX.Element;
|
|
20
21
|
readonly FlowGraph: ({ label, nodes, edges, selectedId, onSelect, height, isInteractive, showControls, layout, emptyLabel, isLoading, className, }: import("./renderers-navigation.js").FlowGraphProps) => import("react").JSX.Element;
|
|
21
22
|
readonly Footer: ({ label, brand, groups, legal, externalHint, children, className }: import("./renderers-navigation.js").FooterProps) => import("react").JSX.Element;
|
|
22
23
|
readonly Image: ({ src, alt, aspect, fit, fallback, loading, srcSet, sizes, width, height, onLoadStateChange, plate, className, ...assetSlot }: import("./renderers-navigation.js").ImageProps) => import("react").JSX.Element;
|
|
@@ -28,6 +29,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
|
|
|
28
29
|
readonly TagGroup: ({ label, items, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onRemove, removeLabel, emptyContent, size, className, }: import("./renderers-navigation.js").TagGroupProps) => import("react").JSX.Element;
|
|
29
30
|
readonly Timeline: ({ label, items, className, isLoading, loadingRows }: import("./renderers-navigation.js").TimelineProps) => import("react").JSX.Element;
|
|
30
31
|
readonly TopBar: ({ brand, navigation, actions, menu, position, className, ...headerProps }: import("./renderers-navigation.js").TopBarProps) => import("react").JSX.Element;
|
|
32
|
+
readonly Video: ({ src, title, poster, captions, crossOrigin, className }: import("./renderers-navigation.js").VideoProps) => import("react").JSX.Element;
|
|
31
33
|
readonly Alert: (props: import("./renderers-overlays.js").AlertProps) => import("react").JSX.Element | null;
|
|
32
34
|
readonly AlertDialog: ({ title, description, children, tone, confirmLabel, cancelLabel, onConfirm, onCancel, isConfirmPending, trigger, isKeyboardDismissDisabled, ...openState }: import("./renderers-overlays.js").AlertDialogProps) => import("react").JSX.Element;
|
|
33
35
|
readonly CloseButton: ({ label, onPress, isDisabled, size }: import("./renderers-overlays.js").CloseButtonProps) => import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/common/registry.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAEvE,MAAM,MAAM,wBAAwB,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;AAClE,KAAK,uBAAuB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;AACpE,KAAK,sBAAsB,CAAC,MAAM,SAAS,uBAAuB,IAAI;IAClE,QAAQ,EAAE,IAAI,IAAI,MAAM,MAAM,CAAC,CAAC,EAAE,wBAAwB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;CAC3F,CAAA;AACD,KAAK,gCAAgC,CAAC,MAAM,SAAS,uBAAuB,EAAE,UAAU,SAAS,uBAAuB,IACpH,UAAU,GAAG;IAAE,QAAQ,EAAE,IAAI,IAAI,OAAO,CAAC,MAAM,UAAU,EAAE,MAAM,MAAM,CAAC,GAAG,KAAK;CAAE,CAAA;AAEtF,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/common/registry.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAEvE,MAAM,MAAM,wBAAwB,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;AAClE,KAAK,uBAAuB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;AACpE,KAAK,sBAAsB,CAAC,MAAM,SAAS,uBAAuB,IAAI;IAClE,QAAQ,EAAE,IAAI,IAAI,MAAM,MAAM,CAAC,CAAC,EAAE,wBAAwB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;CAC3F,CAAA;AACD,KAAK,gCAAgC,CAAC,MAAM,SAAS,uBAAuB,EAAE,UAAU,SAAS,uBAAuB,IACpH,UAAU,GAAG;IAAE,QAAQ,EAAE,IAAI,IAAI,OAAO,CAAC,MAAM,UAAU,EAAE,MAAM,MAAM,CAAC,GAAG,KAAK;CAAE,CAAA;AAEtF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3B,CAAA;AACX,MAAM,MAAM,0BAA0B,GAAG,MAAM,OAAO,yBAAyB,CAAA;AAE/E,MAAM,MAAM,mBAAmB,CAAC,QAAQ,SAAS,MAAM,IAAI;IACvD,QAAQ,CAAC,UAAU,EAAE,mBAAmB,MAAM,aAAa,CAAA;IAC3D,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAA;CAC1F,CAAA;AAED,MAAM,MAAM,qBAAqB,CAAC,QAAQ,SAAS,MAAM,EAAE,UAAU,SAAS,uBAAuB,IAAI;IACrG,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC9C,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,yBAAyB,GAAG,UAAU,CAAC,CAAA;IAC5E,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;QAAE,qBAAqB,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAA;CACrE,CAAA;AAED,yEAAyE;AACzE,eAAO,MAAM,mBAAmB,GAC5B,KAAK,CAAC,QAAQ,SAAS,MAAM,EAC7B,KAAK,CAAC,YAAY,SAAS,sBAAsB,CAAC,OAAO,yBAAyB,CAAC,EACnF,KAAK,CAAC,UAAU,SAAS,uBAAuB,EAClD,YAAY;IACV,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC9C,QAAQ,CAAC,UAAU,EAAE;QACjB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;QACnC,QAAQ,CAAC,UAAU,EAAE,gCAAgC,CAAC,OAAO,yBAAyB,EAAE,UAAU,CAAC,CAAA;KACtG,CAAA;CACJ,KAAG,qBAAqB,CAAC,QAAQ,EAAE,UAAU,CAuB7C,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { Accordion, type AccordionItem, type AccordionProps } from "../core/branch/Accordion/index.js";
|
|
2
2
|
export { Calendar, type CalendarProps } from "../core/branch/Calendar/index.js";
|
|
3
|
-
export { DataTable, type DataTableColumn, type DataTableProps, type DataTableRow, type DataTableSort } from "../core/branch/DataTable/index.js";
|
|
3
|
+
export { DataTable, type DataTableCellInteraction, type DataTableColumn, type DataTableProps, type DataTableRow, type DataTableSort } from "../core/branch/DataTable/index.js";
|
|
4
|
+
export { DragItem, type DragItemProps } from "../core/branch/DragItem/index.js";
|
|
4
5
|
export { Disclosure, type DisclosureProps } from "../core/branch/Disclosure/index.js";
|
|
5
6
|
export { FlowGraph, radialPositions, type FlowGraphEdge, type FlowGraphHeight, type FlowGraphLayout, type FlowGraphNode, type FlowGraphNodeSize, type FlowGraphProps, type FlowGraphTone } from "../core/branch/FlowGraph/index.js";
|
|
6
7
|
export { ListBox, type ListBoxItem, type ListBoxProps } from "../core/branch/ListBox/index.js";
|
|
@@ -18,6 +19,7 @@ export { Avatar, avatarInitials, type AvatarProps, type AvatarSize } from "../co
|
|
|
18
19
|
export { Image, type AssetSlotProps, type ImageAspect, type ImageLoadState, type ImageProps } from "../core/primitive/Image/index.js";
|
|
19
20
|
export { Link, type LinkKind, type LinkProps } from "../core/primitive/Link/index.js";
|
|
20
21
|
export { Rating, type RatingProps } from "../core/primitive/Rating/index.js";
|
|
22
|
+
export { Video, type VideoCaptionsTrack, type VideoProps } from "../core/primitive/Video/index.js";
|
|
21
23
|
/** Every navigation-group renderer, spread into `COMMON_GRAMMAR_COMPONENTS`. */
|
|
22
24
|
export declare const COMMON_NAVIGATION_COMPONENTS: Readonly<{
|
|
23
25
|
readonly Accordion: ({ label, items, expandedIds, defaultExpandedIds, onExpandedChange, allowsMultipleExpanded, headingLevel, className, }: import("./renderers-navigation.js").AccordionProps) => import("react").JSX.Element;
|
|
@@ -26,9 +28,10 @@ export declare const COMMON_NAVIGATION_COMPONENTS: Readonly<{
|
|
|
26
28
|
readonly BottomNav: ({ label, items, currentId, onSelect, position, visibility, className }: import("./renderers-navigation.js").BottomNavProps) => import("react").JSX.Element;
|
|
27
29
|
readonly Breadcrumbs: ({ label, items, separator, onAction, className }: import("./renderers-navigation.js").BreadcrumbsProps) => import("react").JSX.Element;
|
|
28
30
|
readonly Calendar: ({ label, value, defaultValue, onChange, minValue, maxValue, isDateUnavailable, isDisabled, isReadOnly, previousLabel, nextLabel, className, }: import("./renderers-navigation.js").CalendarProps) => import("react").JSX.Element;
|
|
29
|
-
readonly DataTable: <Row extends import("./renderers-navigation.js").DataTableRow>({ label, columns, rows, renderCell, sort, onSortChange, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, selectAllLabel, selectRowLabel, isLoading, loadingContent, loadingRows, emptyContent, stickyHeader, maxBlockSize, onRowAction, className, }: import("./renderers-navigation.js").DataTableProps<Row>) => import("react").JSX.Element;
|
|
31
|
+
readonly DataTable: <Row extends import("./renderers-navigation.js").DataTableRow>({ label, columns, rows, renderCell, getCellInteraction, sort, onSortChange, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, selectAllLabel, selectRowLabel, isLoading, loadingContent, loadingRows, emptyContent, stickyHeader, maxBlockSize, onRowAction, className, }: import("./renderers-navigation.js").DataTableProps<Row>) => import("react").JSX.Element;
|
|
30
32
|
readonly DescriptionList: (props: import("./renderers-navigation.js").DescriptionListProps) => import("react").JSX.Element;
|
|
31
33
|
readonly Disclosure: ({ title, children, summary, isExpanded, defaultExpanded, onExpandedChange, isDisabled, headingLevel, className, }: import("./renderers-navigation.js").DisclosureProps) => import("react").JSX.Element;
|
|
34
|
+
readonly DragItem: ({ children, isDisabled, onDragStart, onDragEnd, isSelected, isInvalid, isDashed, leadingColor }: import("./renderers-navigation.js").DragItemProps) => import("react").JSX.Element;
|
|
32
35
|
readonly FlowGraph: ({ label, nodes, edges, selectedId, onSelect, height, isInteractive, showControls, layout, emptyLabel, isLoading, className, }: import("./renderers-navigation.js").FlowGraphProps) => import("react").JSX.Element;
|
|
33
36
|
readonly Footer: ({ label, brand, groups, legal, externalHint, children, className }: import("./renderers-navigation.js").FooterProps) => import("react").JSX.Element;
|
|
34
37
|
readonly Image: ({ src, alt, aspect, fit, fallback, loading, srcSet, sizes, width, height, onLoadStateChange, plate, className, ...assetSlot }: import("./renderers-navigation.js").ImageProps) => import("react").JSX.Element;
|
|
@@ -40,5 +43,6 @@ export declare const COMMON_NAVIGATION_COMPONENTS: Readonly<{
|
|
|
40
43
|
readonly TagGroup: ({ label, items, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onRemove, removeLabel, emptyContent, size, className, }: import("./renderers-navigation.js").TagGroupProps) => import("react").JSX.Element;
|
|
41
44
|
readonly Timeline: ({ label, items, className, isLoading, loadingRows }: import("./renderers-navigation.js").TimelineProps) => import("react").JSX.Element;
|
|
42
45
|
readonly TopBar: ({ brand, navigation, actions, menu, position, className, ...headerProps }: import("./renderers-navigation.js").TopBarProps) => import("react").JSX.Element;
|
|
46
|
+
readonly Video: ({ src, title, poster, captions, crossOrigin, className }: import("./renderers-navigation.js").VideoProps) => import("react").JSX.Element;
|
|
43
47
|
}>;
|
|
44
48
|
//# sourceMappingURL=renderers-navigation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers-navigation.d.ts","sourceRoot":"","sources":["../../src/common/renderers-navigation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderers-navigation.d.ts","sourceRoot":"","sources":["../../src/common/renderers-navigation.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACtG,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,KAAK,wBAAwB,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAC9K,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACrF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACnO,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9F,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACjH,OAAO,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAChH,OAAO,EAAE,eAAe,EAAE,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,KAAK,uBAAuB,EAAE,MAAM,4CAA4C,CAAA;AAC3L,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAChI,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACtI,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACrG,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACrG,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAC3G,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACrH,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAC/F,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC7G,OAAO,EAAE,KAAK,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,kCAAkC,CAAA;AACrI,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,iCAAiC,CAAA;AACrF,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC5E,OAAO,EAAE,KAAK,EAAE,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAElG,gFAAgF;AAChF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;EAG9B,CAAA"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { Accordion } from "../core/branch/Accordion/index.js";
|
|
4
4
|
import { Calendar } from "../core/branch/Calendar/index.js";
|
|
5
5
|
import { DataTable } from "../core/branch/DataTable/index.js";
|
|
6
|
+
import { DragItem } from "../core/branch/DragItem/index.js";
|
|
6
7
|
import { Disclosure } from "../core/branch/Disclosure/index.js";
|
|
7
8
|
import { FlowGraph } from "../core/branch/FlowGraph/index.js";
|
|
8
9
|
import { ListBox } from "../core/branch/ListBox/index.js";
|
|
@@ -20,9 +21,11 @@ import { Avatar } from "../core/primitive/Avatar/index.js";
|
|
|
20
21
|
import { Image } from "../core/primitive/Image/index.js";
|
|
21
22
|
import { Link } from "../core/primitive/Link/index.js";
|
|
22
23
|
import { Rating } from "../core/primitive/Rating/index.js";
|
|
24
|
+
import { Video } from "../core/primitive/Video/index.js";
|
|
23
25
|
export { Accordion } from "../core/branch/Accordion/index.js";
|
|
24
26
|
export { Calendar } from "../core/branch/Calendar/index.js";
|
|
25
27
|
export { DataTable } from "../core/branch/DataTable/index.js";
|
|
28
|
+
export { DragItem } from "../core/branch/DragItem/index.js";
|
|
26
29
|
export { Disclosure } from "../core/branch/Disclosure/index.js";
|
|
27
30
|
export { FlowGraph, radialPositions } from "../core/branch/FlowGraph/index.js";
|
|
28
31
|
export { ListBox } from "../core/branch/ListBox/index.js";
|
|
@@ -40,9 +43,10 @@ export { Avatar, avatarInitials } from "../core/primitive/Avatar/index.js";
|
|
|
40
43
|
export { Image } from "../core/primitive/Image/index.js";
|
|
41
44
|
export { Link } from "../core/primitive/Link/index.js";
|
|
42
45
|
export { Rating } from "../core/primitive/Rating/index.js";
|
|
46
|
+
export { Video } from "../core/primitive/Video/index.js";
|
|
43
47
|
/** Every navigation-group renderer, spread into `COMMON_GRAMMAR_COMPONENTS`. */
|
|
44
48
|
export const COMMON_NAVIGATION_COMPONENTS = Object.freeze({
|
|
45
49
|
Accordion, Avatar, AvatarGroup, BottomNav, Breadcrumbs, Calendar, DataTable, DescriptionList,
|
|
46
|
-
Disclosure, FlowGraph, Footer, Image, Link, ListBox, Pagination, Rating, Stepper, TagGroup, Timeline, TopBar,
|
|
50
|
+
Disclosure, DragItem, FlowGraph, Footer, Image, Link, ListBox, Pagination, Rating, Stepper, TagGroup, Timeline, TopBar, Video,
|
|
47
51
|
});
|
|
48
52
|
//# sourceMappingURL=renderers-navigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers-navigation.js","sourceRoot":"","sources":["../../src/common/renderers-navigation.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,8EAA8E;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"renderers-navigation.js","sourceRoot":"","sources":["../../src/common/renderers-navigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ReactNode } from "react";
|
|
1
|
+
import { type DragEventHandler, type ReactNode } from "react";
|
|
2
2
|
export type DataTableColumn = {
|
|
3
3
|
readonly id: string;
|
|
4
4
|
readonly label: string;
|
|
@@ -14,12 +14,24 @@ export type DataTableSort = {
|
|
|
14
14
|
export type DataTableRow = {
|
|
15
15
|
readonly id: string;
|
|
16
16
|
};
|
|
17
|
+
/** Cell effects belong to the caller; the table owns cell semantics, focus and activation. */
|
|
18
|
+
export type DataTableCellInteraction = {
|
|
19
|
+
/** Invoked by a cell click or Enter/Space on the focused cell, excluding nested controls. */
|
|
20
|
+
readonly onAction?: () => void;
|
|
21
|
+
readonly onDragOver?: DragEventHandler<HTMLDivElement>;
|
|
22
|
+
readonly onDragLeave?: DragEventHandler<HTMLDivElement>;
|
|
23
|
+
readonly onDrop?: DragEventHandler<HTMLDivElement>;
|
|
24
|
+
readonly isHighlighted?: boolean;
|
|
25
|
+
readonly tone?: "neutral" | "muted";
|
|
26
|
+
};
|
|
17
27
|
export type DataTableProps<Row extends DataTableRow> = {
|
|
18
28
|
/** Names the table, e.g. "Invoices". */
|
|
19
29
|
readonly label: string;
|
|
20
30
|
readonly columns: ReadonlyArray<DataTableColumn>;
|
|
21
31
|
readonly rows: ReadonlyArray<Row>;
|
|
22
32
|
readonly renderCell: (row: Row, columnId: string) => ReactNode;
|
|
33
|
+
/** Optional cell actions and native drop events. An actionable cell receives arrow-key focus itself. */
|
|
34
|
+
readonly getCellInteraction?: (row: Row, columnId: string) => DataTableCellInteraction | undefined;
|
|
23
35
|
/** Controlled sort. Sorting the rows stays with the app; the table announces `aria-sort`. */
|
|
24
36
|
readonly sort?: DataTableSort;
|
|
25
37
|
readonly onSortChange?: (sort: DataTableSort) => void;
|
|
@@ -53,5 +65,5 @@ export type DataTableProps<Row extends DataTableRow> = {
|
|
|
53
65
|
* horizontal scroll so a wide table never widens a 360px page.
|
|
54
66
|
* Contract: scroll LAYOUT-3, grid FOCUS-2 STATE-1, row FOCUS-1, empty STATE-3.
|
|
55
67
|
*/
|
|
56
|
-
export declare const DataTable: <Row extends DataTableRow>({ label, columns, rows, renderCell, sort, onSortChange, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, selectAllLabel, selectRowLabel, isLoading, loadingContent, loadingRows, emptyContent, stickyHeader, maxBlockSize, onRowAction, className, }: DataTableProps<Row>) => import("react").JSX.Element;
|
|
68
|
+
export declare const DataTable: <Row extends DataTableRow>({ label, columns, rows, renderCell, getCellInteraction, sort, onSortChange, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, selectAllLabel, selectRowLabel, isLoading, loadingContent, loadingRows, emptyContent, stickyHeader, maxBlockSize, onRowAction, className, }: DataTableProps<Row>) => import("react").JSX.Element;
|
|
57
69
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/DataTable/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/DataTable/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,19 @@ import { navigationClassName } from "../../navigationClassNames.js";
|
|
|
7
7
|
/** The row primitive filters aria-hidden out of its props, so the skeleton rows take it by ref (knowledge STATE-8). */
|
|
8
8
|
const hideFromAssistiveTechnology = (node) => node?.setAttribute("aria-hidden", "true");
|
|
9
9
|
const SELECTION_COLUMN = "starci-data-table-selection";
|
|
10
|
+
// Labels activate their associated inputs; editable content, media and ARIA widgets own their gestures too.
|
|
11
|
+
const CELL_CONTROL_SELECTOR = [
|
|
12
|
+
"button", "a", "input", "select", "textarea", "label", "summary",
|
|
13
|
+
"audio[controls]", "video[controls]", '[contenteditable]:not([contenteditable="false"])',
|
|
14
|
+
'[tabindex]:not([tabindex="-1"])',
|
|
15
|
+
...["button", "link", "checkbox", "combobox", "listbox", "menuitem", "menuitemcheckbox", "menuitemradio", "option", "radio", "searchbox", "slider", "spinbutton", "switch", "tab", "textbox", "treeitem"].map((role) => `[role="${role}"]`),
|
|
16
|
+
].join(",");
|
|
17
|
+
const isNestedCellControl = (target, cell) => {
|
|
18
|
+
if (!(target instanceof Element))
|
|
19
|
+
return false;
|
|
20
|
+
const control = target.closest(CELL_CONTROL_SELECTOR);
|
|
21
|
+
return control !== null && control !== cell && cell.contains(control);
|
|
22
|
+
};
|
|
10
23
|
const toSortDescriptor = (sort) => ({ column: sort.columnId, direction: sort.direction });
|
|
11
24
|
const toIds = (selection) => selection === "all" ? "all" : [...selection].map(String);
|
|
12
25
|
const toSelection = (ids) => ids === "all" ? "all" : new Set(ids);
|
|
@@ -23,7 +36,7 @@ const SelectionCheckbox = ({ label }) => (_jsx(HeroCheckbox, { className: "starc
|
|
|
23
36
|
* horizontal scroll so a wide table never widens a 360px page.
|
|
24
37
|
* Contract: scroll LAYOUT-3, grid FOCUS-2 STATE-1, row FOCUS-1, empty STATE-3.
|
|
25
38
|
*/
|
|
26
|
-
export const DataTable = ({ label, columns, rows, renderCell, sort, onSortChange, selectionMode = "none", selectedIds, defaultSelectedIds, onSelectionChange, selectAllLabel, selectRowLabel, isLoading = false, loadingContent, loadingRows = 3, emptyContent, stickyHeader = false, maxBlockSize, onRowAction, className, }) => {
|
|
39
|
+
export const DataTable = ({ label, columns, rows, renderCell, getCellInteraction, sort, onSortChange, selectionMode = "none", selectedIds, defaultSelectedIds, onSelectionChange, selectAllLabel, selectRowLabel, isLoading = false, loadingContent, loadingRows = 3, emptyContent, stickyHeader = false, maxBlockSize, onRowAction, className, }) => {
|
|
27
40
|
const rowHeaderId = columns.find((column) => column.isRowHeader)?.id ?? columns[0]?.id;
|
|
28
41
|
const multiple = selectionMode === "multiple";
|
|
29
42
|
// Selection is always held here so every row can expose its own `data-grammar-selected`.
|
|
@@ -35,7 +48,26 @@ export const DataTable = ({ label, columns, rows, renderCell, sort, onSortChange
|
|
|
35
48
|
const visibleRows = isLoading ? [] : rows;
|
|
36
49
|
const state = isLoading ? "loading" : rows.length === 0 ? "empty" : "ready";
|
|
37
50
|
const scrollStyle = maxBlockSize === undefined ? undefined : { "--starci-core-data-table-max-block-size": maxBlockSize };
|
|
38
|
-
|
|
51
|
+
// RAC filters consumer key handlers out of Cell props. The native scroll owner captures activation before its grid handlers.
|
|
52
|
+
const onCellKeyDown = (event) => {
|
|
53
|
+
if (event.key !== "Enter" && event.key !== " ")
|
|
54
|
+
return;
|
|
55
|
+
const cell = event.target;
|
|
56
|
+
if (!(cell instanceof HTMLTableCellElement) || cell.closest(".starci-core-data-table-scroll") !== event.currentTarget)
|
|
57
|
+
return;
|
|
58
|
+
const row = visibleRows.find((candidate) => candidate.id === cell.dataset.grammarRowId);
|
|
59
|
+
const columnId = cell.dataset.grammarColumnId;
|
|
60
|
+
if (row === undefined || columnId === undefined)
|
|
61
|
+
return;
|
|
62
|
+
const action = getCellInteraction?.(row, columnId)?.onAction;
|
|
63
|
+
if (action === undefined)
|
|
64
|
+
return;
|
|
65
|
+
event.preventDefault();
|
|
66
|
+
event.stopPropagation();
|
|
67
|
+
if (!event.repeat)
|
|
68
|
+
action();
|
|
69
|
+
};
|
|
70
|
+
return (_jsx(HeroTable, { "aria-busy": isLoading || undefined, className: navigationClassName("starci-core-data-table", className), "data-component": "DataTable", "data-tier": "branch", "data-grammar-table-state": state, "data-grammar-table-sticky": stickyHeader ? "true" : "false", "data-grammar-table-bounded": maxBlockSize === undefined ? "false" : "true", children: _jsx(HeroTable.ScrollContainer, { className: "starci-core-data-table-scroll", "data-contract": "LAYOUT-3", "data-grammar-table-scroll": "true", style: scrollStyle, onKeyDownCapture: onCellKeyDown, children: _jsxs(HeroTable.Content, { "aria-label": label, ...(getCellInteraction === undefined ? {} : { keyboardNavigationBehavior: "arrow" }), className: "starci-core-data-table-content", "data-contract": "FOCUS-2 STATE-1", selectionMode: isSkeleton ? "none" : selectionMode, ...(sort === undefined ? {} : { sortDescriptor: toSortDescriptor(sort) }), ...(onSortChange === undefined ? {} : {
|
|
39
71
|
onSortChange: (descriptor) => onSortChange({ columnId: String(descriptor.column), direction: descriptor.direction }),
|
|
40
72
|
}), selectedKeys: toSelection(selection), onSelectionChange: (next) => {
|
|
41
73
|
const ids = toIds(next);
|
|
@@ -46,6 +78,18 @@ export const DataTable = ({ label, columns, rows, renderCell, sort, onSortChange
|
|
|
46
78
|
? _jsx(HeroTable.SortableColumnHeader, { className: "starci-core-data-table-sort", ...(sortDirection === undefined ? {} : { sortDirection }), children: column.label })
|
|
47
79
|
: column.label }, column.id)))] }), _jsxs(HeroTable.Body, { className: "starci-core-data-table-body", renderEmptyState: () => isLoading
|
|
48
80
|
? _jsx("div", { className: "starci-core-data-table-placeholder", "data-grammar-table-loading": "true", role: "status", children: loadingContent })
|
|
49
|
-
: _jsx("div", { className: "starci-core-data-table-placeholder", "data-contract": "STATE-3", "data-grammar-table-empty": "true", children: emptyContent }), children: [skeletonRows.map((row) => (_jsxs(HeroTable.Row, { id: row.id, ref: hideFromAssistiveTechnology, className: "starci-core-data-table-row", "data-grammar-table-row": "true", "data-grammar-skeleton": "true", "data-grammar-selected": "false", children: [multiple ? _jsx(HeroTable.Cell, { className: "starci-core-data-table-cell", "data-grammar-table-selection": "true", children: null }) : null, columns.map((column) => (_jsx(HeroTable.Cell, { className: "starci-core-data-table-cell", "data-grammar-table-align": column.align ?? "start", children: _jsx(Skeleton, { shape: "text" }) }, column.id)))] }, row.id))), visibleRows.map((row) => (_jsxs(HeroTable.Row, { id: row.id, className: "starci-core-data-table-row", "data-contract": "FOCUS-1", "data-grammar-table-row": "true", "data-grammar-selected": selectionMode !== "none" && isRowSelected(row.id) ? "true" : "false", children: [multiple ? (_jsx(HeroTable.Cell, { className: "starci-core-data-table-cell", "data-grammar-table-selection": "true", children: _jsx(SelectionCheckbox, { label: selectRowLabel?.(row) }) })) : null, columns.map((column) =>
|
|
81
|
+
: _jsx("div", { className: "starci-core-data-table-placeholder", "data-contract": "STATE-3", "data-grammar-table-empty": "true", children: emptyContent }), children: [skeletonRows.map((row) => (_jsxs(HeroTable.Row, { id: row.id, ref: hideFromAssistiveTechnology, className: "starci-core-data-table-row", "data-grammar-table-row": "true", "data-grammar-skeleton": "true", "data-grammar-selected": "false", children: [multiple ? _jsx(HeroTable.Cell, { className: "starci-core-data-table-cell", "data-grammar-table-selection": "true", children: null }) : null, columns.map((column) => (_jsx(HeroTable.Cell, { className: "starci-core-data-table-cell", "data-grammar-table-align": column.align ?? "start", children: _jsx(Skeleton, { shape: "text" }) }, column.id)))] }, row.id))), visibleRows.map((row) => (_jsxs(HeroTable.Row, { id: row.id, className: "starci-core-data-table-row", "data-contract": "FOCUS-1", "data-grammar-table-row": "true", "data-grammar-selected": selectionMode !== "none" && isRowSelected(row.id) ? "true" : "false", children: [multiple ? (_jsx(HeroTable.Cell, { className: "starci-core-data-table-cell", "data-grammar-table-selection": "true", children: _jsx(SelectionCheckbox, { label: selectRowLabel?.(row) }) })) : null, columns.map((column) => {
|
|
82
|
+
const interaction = getCellInteraction?.(row, column.id);
|
|
83
|
+
return _jsx(HeroTable.Cell, { className: "starci-core-data-table-cell", "data-grammar-table-align": column.align ?? "start", "data-grammar-cell-highlighted": interaction?.isHighlighted ? "true" : "false", "data-grammar-cell-tone": interaction?.tone ?? "neutral", "data-grammar-cell-interaction": interaction === undefined ? "false" : "true", "data-grammar-row-id": row.id, "data-grammar-column-id": column.id, ...(interaction?.onAction === undefined ? {} : {
|
|
84
|
+
focusMode: "cell",
|
|
85
|
+
onClick: (event) => {
|
|
86
|
+
// Descendant controls keep their own actions; plain cell content activates the cell.
|
|
87
|
+
if (isNestedCellControl(event.target, event.currentTarget))
|
|
88
|
+
return;
|
|
89
|
+
event.stopPropagation();
|
|
90
|
+
interaction.onAction?.();
|
|
91
|
+
},
|
|
92
|
+
}), children: interaction === undefined ? renderCell(row, column.id) : (_jsx("div", { className: "starci-core-data-table-cell-content", ...(interaction.onDragOver === undefined ? {} : { onDragOver: interaction.onDragOver }), ...(interaction.onDragLeave === undefined ? {} : { onDragLeave: interaction.onDragLeave }), ...(interaction.onDrop === undefined ? {} : { onDrop: interaction.onDrop }), children: renderCell(row, column.id) })) }, column.id);
|
|
93
|
+
})] }, row.id)))] })] }) }) }));
|
|
50
94
|
};
|
|
51
95
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/DataTable/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,KAAK,IAAI,SAAS,EAAuC,MAAM,eAAe,CAAA;AACjH,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/DataTable/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,KAAK,IAAI,SAAS,EAAuC,MAAM,eAAe,CAAA;AACjH,OAAO,EAAE,QAAQ,EAAkG,MAAM,OAAO,CAAA;AAChI,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAiEnE,uHAAuH;AACvH,MAAM,2BAA2B,GAAG,CAAC,IAAwB,EAAE,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;AAE3G,MAAM,gBAAgB,GAAG,6BAA6B,CAAA;AAEtD,4GAA4G;AAC5G,MAAM,qBAAqB,GAAG;IAC1B,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS;IAChE,iBAAiB,EAAE,iBAAiB,EAAE,kDAAkD;IACxF,iCAAiC;IACjC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC;CAC9O,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEX,MAAM,mBAAmB,GAAG,CAAC,MAAmB,EAAE,IAA0B,EAAW,EAAE;IACrF,IAAI,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACrD,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AACzE,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAmB,EAAkB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;AAExH,MAAM,KAAK,GAAG,CAAC,SAAoB,EAAiC,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AAE/H,MAAM,WAAW,GAAG,CAAC,GAAkC,EAAa,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;AAE3G,MAAM,iBAAiB,GAAG,CAAC,EAAE,KAAK,EAA0C,EAAE,EAAE,CAAC,CAC7E,KAAC,YAAY,IAAC,SAAS,EAAC,iCAAiC,EAAC,IAAI,EAAC,WAAW,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,YAC/H,KAAC,YAAY,CAAC,OAAO,cACjB,KAAC,YAAY,CAAC,OAAO,cACjB,KAAC,YAAY,CAAC,SAAS,KAAG,GACP,GACJ,GACZ,CAClB,CAAA;AAED;;;;;GAKG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAA2B,EAChD,KAAK,EACL,OAAO,EACP,IAAI,EACJ,UAAU,EACV,kBAAkB,EAClB,IAAI,EACJ,YAAY,EACZ,aAAa,GAAG,MAAM,EACtB,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,SAAS,GAAG,KAAK,EACjB,cAAc,EACd,WAAW,GAAG,CAAC,EACf,YAAY,EACZ,YAAY,GAAG,KAAK,EACpB,YAAY,EACZ,WAAW,EACX,SAAS,GACS,EAAE,EAAE;IACtB,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACtF,MAAM,QAAQ,GAAG,aAAa,KAAK,UAAU,CAAA;IAC7C,yFAAyF;IACzF,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAgC,kBAAkB,IAAI,EAAE,CAAC,CAAA;IAC3H,MAAM,SAAS,GAAG,WAAW,IAAI,qBAAqB,CAAA;IACtD,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACnF,MAAM,UAAU,GAAG,SAAS,IAAI,cAAc,KAAK,SAAS,CAAA;IAC5D,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,mBAAmB,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACxM,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IACzC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC3E,MAAM,WAAW,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,yCAAyC,EAAE,YAAY,EAAmB,CAAA;IACzI,6HAA6H;IAC7H,MAAM,aAAa,GAAG,CAAC,KAAoC,EAAE,EAAE;QAC3D,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG;YAAE,OAAM;QACtD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,CAAC,IAAI,YAAY,oBAAoB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,KAAK,KAAK,CAAC,aAAa;YAAE,OAAM;QAC7H,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACvF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAA;QAC7C,IAAI,GAAG,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAM;QACvD,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;QAC5D,IAAI,MAAM,KAAK,SAAS;YAAE,OAAM;QAChC,KAAK,CAAC,cAAc,EAAE,CAAA;QACtB,KAAK,CAAC,eAAe,EAAE,CAAA;QACvB,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,MAAM,EAAE,CAAA;IAC/B,CAAC,CAAA;IACD,OAAO,CACH,KAAC,SAAS,iBACK,SAAS,IAAI,SAAS,EACjC,SAAS,EAAE,mBAAmB,CAAC,wBAAwB,EAAE,SAAS,CAAC,oBACpD,WAAW,eAChB,QAAQ,8BACQ,KAAK,+BACJ,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,gCAC9B,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,YAEzE,KAAC,SAAS,CAAC,eAAe,IAAC,SAAS,EAAC,+BAA+B,mBAAe,UAAU,+BAA2B,MAAM,EAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,YAC9K,MAAC,SAAS,CAAC,OAAO,kBACF,KAAK,KACb,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,OAAgB,EAAE,CAAC,EAC9F,SAAS,EAAC,gCAAgC,mBAC5B,iBAAiB,EAC/B,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,KAC9C,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,KACtE,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACnC,YAAY,EAAE,CAAC,UAA0B,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC;iBACvI,CAAC,EACF,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,EACpC,iBAAiB,EAAE,CAAC,IAAe,EAAE,EAAE;oBACnC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;oBACvB,IAAI,WAAW,KAAK,SAAS;wBAAE,wBAAwB,CAAC,GAAG,CAAC,CAAA;oBAC5D,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAA;gBAC5B,CAAC,KACG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,GAAoB,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,aAE1G,MAAC,SAAS,CAAC,MAAM,IAAC,SAAS,EAAC,+BAA+B,aACtD,QAAQ,CAAC,CAAC,CAAC,CACR,KAAC,SAAS,CAAC,MAAM,IAAC,SAAS,EAAC,+BAA+B,kCAA8B,MAAM,EAAC,EAAE,EAAE,gBAAgB,YAChH,KAAC,iBAAiB,IAAC,KAAK,EAAE,cAAc,GAAI,GAC7B,CACtB,CAAC,CAAC,CAAC,IAAI,EACP,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrB,KAAC,SAAS,CAAC,MAAM,IAEb,EAAE,EAAE,MAAM,CAAC,EAAE,EACb,aAAa,EAAE,MAAM,CAAC,aAAa,KAAK,IAAI,EAC5C,SAAS,EAAC,+BAA+B,8BACf,MAAM,CAAC,KAAK,IAAI,OAAO,EACjD,WAAW,EAAE,MAAM,CAAC,EAAE,KAAK,WAAW,EACtC,SAAS,EAAE,MAAM,CAAC,KAAK,YAEtB,CAAC,EAAE,aAAa,EAAsE,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,KAAK,IAAI;oCACrH,CAAC,CAAC,KAAC,SAAS,CAAC,oBAAoB,IAAC,SAAS,EAAC,6BAA6B,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,YAAG,MAAM,CAAC,KAAK,GAAkC;oCACrL,CAAC,CAAC,MAAM,CAAC,KAAK,IAVb,MAAM,CAAC,EAAE,CAWC,CACtB,CAAC,IACa,EACnB,MAAC,SAAS,CAAC,IAAI,IACX,SAAS,EAAC,6BAA6B,EACvC,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS;4BAC7B,CAAC,CAAC,cAAK,SAAS,EAAC,oCAAoC,gCAA4B,MAAM,EAAC,IAAI,EAAC,QAAQ,YAAE,cAAc,GAAO;4BAC5H,CAAC,CAAC,cAAK,SAAS,EAAC,oCAAoC,mBAAe,SAAS,8BAA0B,MAAM,YAAE,YAAY,GAAO,aAErI,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACvB,MAAC,SAAS,CAAC,GAAG,IAAc,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,2BAA2B,EAAE,SAAS,EAAC,4BAA4B,4BAAwB,MAAM,2BAAuB,MAAM,2BAAuB,OAAO,aACpM,QAAQ,CAAC,CAAC,CAAC,KAAC,SAAS,CAAC,IAAI,IAAC,SAAS,EAAC,6BAA6B,kCAA8B,MAAM,YAAE,IAAI,GAAkB,CAAC,CAAC,CAAC,IAAI,EACrI,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrB,KAAC,SAAS,CAAC,IAAI,IAAiB,SAAS,EAAC,6BAA6B,8BAA2B,MAAM,CAAC,KAAK,IAAI,OAAO,YAAE,KAAC,QAAQ,IAAC,KAAK,EAAC,MAAM,GAAG,IAA/H,MAAM,CAAC,EAAE,CAAuI,CACxK,CAAC,KAJc,GAAG,CAAC,EAAE,CAKV,CACnB,CAAC,EACD,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACtB,MAAC,SAAS,CAAC,GAAG,IAEV,EAAE,EAAE,GAAG,CAAC,EAAE,EACV,SAAS,EAAC,4BAA4B,mBACxB,SAAS,4BACA,MAAM,2BACN,aAAa,KAAK,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,aAE1F,QAAQ,CAAC,CAAC,CAAC,CACJ,KAAC,SAAS,CAAC,IAAI,IAAC,SAAS,EAAC,6BAA6B,kCAA8B,MAAM,YACvF,KAAC,iBAAiB,IAAC,KAAK,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,GAAI,GACtC,CACpB,CAAC,CAAC,CAAC,IAAI,EACP,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;wCACpB,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;wCACxD,OAAO,KAAC,SAAS,CAAC,IAAI,IAElB,SAAS,EAAC,6BAA6B,8BACb,MAAM,CAAC,KAAK,IAAI,OAAO,mCAClB,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,4BACpD,WAAW,EAAE,IAAI,IAAI,SAAS,mCACvB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,yBACtD,GAAG,CAAC,EAAE,4BACH,MAAM,CAAC,EAAE,KAC7B,CAAC,WAAW,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gDAC5C,SAAS,EAAE,MAAe;gDAC1B,OAAO,EAAE,CAAC,KAAuC,EAAE,EAAE;oDACjD,qFAAqF;oDACrF,IAAI,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;wDAAE,OAAM;oDAClE,KAAK,CAAC,eAAe,EAAE,CAAA;oDACvB,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAA;gDAC5B,CAAC;6CACJ,CAAC,YAED,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CACtD,cACI,SAAS,EAAC,qCAAqC,KAC3C,CAAC,WAAW,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,KACpF,CAAC,WAAW,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,KACvF,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,YAE3E,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,GACzB,CACT,IA3BI,MAAM,CAAC,EAAE,CA4BD,CAAA;oCACrB,CAAC,CAAC,KA5CD,GAAG,CAAC,EAAE,CA6CC,CACnB,CAAC,IACW,IACD,GACI,GACpB,CACf,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { DragEventHandler, ReactNode } from "react";
|
|
2
|
+
export type DragItemProps = {
|
|
3
|
+
/** Include a published control that provides the same operation without dragging. */
|
|
4
|
+
readonly children: ReactNode;
|
|
5
|
+
readonly isDisabled?: boolean;
|
|
6
|
+
readonly onDragStart?: DragEventHandler<HTMLDivElement>;
|
|
7
|
+
readonly onDragEnd?: DragEventHandler<HTMLDivElement>;
|
|
8
|
+
readonly isSelected?: boolean;
|
|
9
|
+
readonly isInvalid?: boolean;
|
|
10
|
+
readonly isDashed?: boolean;
|
|
11
|
+
/** Caller-owned category colour; never the only indication of category or validity. */
|
|
12
|
+
readonly leadingColor?: string;
|
|
13
|
+
};
|
|
14
|
+
/** A native drag source with Grammar-owned state paint; its child control supplies keyboard operation. */
|
|
15
|
+
export declare const DragItem: ({ children, isDisabled, onDragStart, onDragEnd, isSelected, isInvalid, isDashed, leadingColor }: DragItemProps) => import("react").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/DragItem/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,gBAAgB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEvE,MAAM,MAAM,aAAa,GAAG;IACxB,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAA;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAA;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,uFAAuF;IACvF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CACjC,CAAA;AAED,0GAA0G;AAC1G,eAAO,MAAM,QAAQ,GAAI,iGAAiI,aAAa,gCAetK,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
/** A native drag source with Grammar-owned state paint; its child control supplies keyboard operation. */
|
|
4
|
+
export const DragItem = ({ children, isDisabled = false, onDragStart, onDragEnd, isSelected = false, isInvalid = false, isDashed = false, leadingColor }) => (_jsx("div", { className: "starci-core-drag-item", "data-component": "DragItem", "data-tier": "branch", "data-grammar-selected": isSelected ? "true" : "false", "data-grammar-invalid": isInvalid ? "true" : "false", "data-grammar-dashed": isDashed ? "true" : "false", draggable: !isDisabled, ...(leadingColor === undefined ? {} : { style: { "--starci-drag-item-leading": leadingColor } }), ...(isDisabled || onDragStart === undefined ? {} : { onDragStart }), ...(isDisabled || onDragEnd === undefined ? {} : { onDragEnd }), children: children }));
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/DragItem/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAiBZ,0GAA0G;AAC1G,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,GAAG,KAAK,EAAE,SAAS,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,YAAY,EAAiB,EAAE,EAAE,CAAC,CACxK,cACI,SAAS,EAAC,uBAAuB,oBAClB,UAAU,eACf,QAAQ,2BACK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,0BAC9B,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,yBAC7B,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAChD,SAAS,EAAE,CAAC,UAAU,KAClB,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,4BAA4B,EAAE,YAAY,EAAmB,EAAE,CAAC,KAC9G,CAAC,UAAU,IAAI,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,KAChE,CAAC,UAAU,IAAI,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,YAE/D,QAAQ,GACP,CACT,CAAA"}
|
|
@@ -37,6 +37,7 @@ type ButtonBase = {
|
|
|
37
37
|
* supplies middle-click, copy-link, and the `link` role. Pending or disabled withholds the href.
|
|
38
38
|
*/
|
|
39
39
|
type DestinationButton = {
|
|
40
|
+
readonly "aria-pressed"?: never;
|
|
40
41
|
readonly href: string;
|
|
41
42
|
readonly target?: "_blank" | "_self";
|
|
42
43
|
readonly rel?: string;
|
|
@@ -48,6 +49,8 @@ type DestinationButton = {
|
|
|
48
49
|
};
|
|
49
50
|
/** A same-document command. It renders the vendor button and may submit or reset a form. */
|
|
50
51
|
type CommandButton = {
|
|
52
|
+
/** Controlled toggle state. Keep the action label unchanged between pressed and unpressed. */
|
|
53
|
+
readonly "aria-pressed"?: boolean;
|
|
51
54
|
readonly onPress?: () => void;
|
|
52
55
|
readonly type?: ButtonType;
|
|
53
56
|
readonly href?: never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAA;AACjH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAC3C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;AACtD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAA;AAE5C,KAAK,UAAU,GAAG;IACd,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,oGAAoG;IACpG,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,wFAAwF;IACxF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAC/B,CAAA;AAED;;;GAGG;AACH,KAAK,iBAAiB,GAAG;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACpC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CACxB,CAAA;AAED,4FAA4F;AAC5F,KAAK,aAAa,GAAG;IACjB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAC5B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAA;AAiB1E,0FAA0F;AAC1F,eAAO,MAAM,MAAM,GAAI,OAAO,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAA;AACjH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAC3C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;AACtD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAA;AAE5C,KAAK,UAAU,GAAG;IACd,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,oGAAoG;IACpG,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,wFAAwF;IACxF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAC/B,CAAA;AAED;;;GAGG;AACH,KAAK,iBAAiB,GAAG;IACrB,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACpC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CACxB,CAAA;AAED,4FAA4F;AAC5F,KAAK,aAAa,GAAG;IACjB,8FAA8F;IAC9F,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAC5B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAA;AAiB1E,0FAA0F;AAC1F,eAAO,MAAM,MAAM,GAAI,OAAO,WAAW,gCAuExC,CAAA"}
|
|
@@ -23,6 +23,6 @@ export const Button = (props) => {
|
|
|
23
23
|
return (_jsx("a", { "data-tier": "atom", "data-component": "Button", "data-element": "a", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", role: unavailable ? "link" : undefined, "aria-disabled": unavailable || undefined, "aria-busy": isPending || undefined, "aria-hidden": isSkeleton || undefined, "data-width": width, "data-contract": width === "fill" ? "MEASURE-2" : undefined, className: buttonVariants({ variant: VARIANTS[variant], size: SIZES[size], fullWidth: width === "fill", className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button" }), ...(unavailable ? {} : { href }), ...(target === undefined ? {} : { target }), ...(rel === undefined ? target === "_blank" ? { rel: "noopener noreferrer" } : {} : { rel }), ...(download === undefined ? {} : { download }), ...(onFollow === undefined || unavailable ? {} : { onClick: onFollow }), children: content }));
|
|
24
24
|
}
|
|
25
25
|
const { onPress, type = "button" } = props;
|
|
26
|
-
return (_jsx(HeroButton, { "data-tier": "atom", "data-component": "Button", "data-element": "button", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", type: type, variant: VARIANTS[variant], size: SIZES[size], isDisabled: unavailable, isPending: isPending, "data-width": width, "data-contract": width === "fill" ? "MEASURE-2" : undefined, fullWidth: width === "fill", className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button", ...(unavailable || onPress === undefined ? {} : { onPress }), children: content }));
|
|
26
|
+
return (_jsx(HeroButton, { "data-tier": "atom", "data-component": "Button", "data-element": "button", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", type: type, variant: VARIANTS[variant], size: SIZES[size], isDisabled: unavailable, isPending: isPending, "data-width": width, "data-contract": width === "fill" ? "MEASURE-2" : undefined, fullWidth: width === "fill", ...(props["aria-pressed"] === undefined ? {} : { "aria-pressed": props["aria-pressed"] }), className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button", ...(unavailable || onPress === undefined ? {} : { onPress }), children: content }));
|
|
27
27
|
};
|
|
28
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,OAAO,IAAI,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** A genuine WebVTT resource timed to the media, including speech and relevant non-speech audio. */
|
|
2
|
+
export type VideoCaptionsTrack = {
|
|
3
|
+
readonly src: string;
|
|
4
|
+
/** BCP 47 language tag when the actual caption language is known. Captions may omit it. */
|
|
5
|
+
readonly srcLang?: string;
|
|
6
|
+
/** Human-readable track name shown in the browser's caption menu. */
|
|
7
|
+
readonly label: string;
|
|
8
|
+
};
|
|
9
|
+
export type VideoProps = {
|
|
10
|
+
readonly src: string;
|
|
11
|
+
/** Accessible name of the media player. */
|
|
12
|
+
readonly title: string;
|
|
13
|
+
readonly poster?: string;
|
|
14
|
+
/** Null or omitted for media whose genuine caption resource is unavailable; never supply a placeholder. */
|
|
15
|
+
readonly captions?: VideoCaptionsTrack | null;
|
|
16
|
+
/** Cross-origin tracks require an appropriate CORS response; omission preserves ordinary media fetching. */
|
|
17
|
+
readonly crossOrigin?: "anonymous" | "use-credentials";
|
|
18
|
+
/** Consumer layout only; the renderer owns the media element's sizing. */
|
|
19
|
+
readonly className?: string;
|
|
20
|
+
};
|
|
21
|
+
/** Native, user-controlled video with genuine captions when available; wrap in MediaFrame for a reserved aspect ratio. */
|
|
22
|
+
export declare const Video: ({ src, title, poster, captions, crossOrigin, className }: VideoProps) => import("react").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Video/index.tsx"],"names":[],"mappings":"AAEA,oGAAoG;AACpG,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,2FAA2F;IAC3F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,2GAA2G;IAC3G,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC7C,4GAA4G;IAC5G,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAAA;IACtD,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,0HAA0H;AAC1H,eAAO,MAAM,KAAK,GAAI,0DAA0D,UAAU,gCAkBzF,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { navigationClassName } from "../../navigationClassNames.js";
|
|
3
|
+
/** Native, user-controlled video with genuine captions when available; wrap in MediaFrame for a reserved aspect ratio. */
|
|
4
|
+
export const Video = ({ src, title, poster, captions, crossOrigin, className }) => (_jsx("video", { className: navigationClassName("starci-core-video", className), "data-component": "Video", "data-tier": "atom", controls: true, playsInline: true, preload: "metadata", src: src, "aria-label": title, title: title, ...(poster === undefined ? {} : { poster }), ...(crossOrigin === undefined ? {} : { crossOrigin }), children: captions == null ? null : (_jsx("track", { kind: "captions", src: captions.src, label: captions.label, ...(captions.srcLang === undefined ? {} : { srcLang: captions.srcLang }), default: true })) }));
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Video/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAwBnE,0HAA0H;AAC1H,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAc,EAAE,EAAE,CAAC,CAC3F,gBACI,SAAS,EAAE,mBAAmB,CAAC,mBAAmB,EAAE,SAAS,CAAC,oBAC/C,OAAO,eACZ,MAAM,EAChB,QAAQ,QACR,WAAW,QACX,OAAO,EAAC,UAAU,EAClB,GAAG,EAAE,GAAG,gBACI,KAAK,EACjB,KAAK,EAAE,KAAK,KACR,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,KACxC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,YAErD,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACvB,gBAAO,IAAI,EAAC,UAAU,EAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,KAAM,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,SAAG,CACzJ,GACG,CACX,CAAA"}
|