@hjmds/design-contracts 1.20.0 → 1.22.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/dist/authoring-tools.d.ts +38 -0
- package/dist/authoring-tools.d.ts.map +1 -0
- package/dist/authoring-tools.js +35 -0
- package/dist/authoring-tools.js.map +1 -0
- package/dist/behaviors.d.ts +33 -3
- package/dist/behaviors.d.ts.map +1 -1
- package/dist/behaviors.js +2 -0
- package/dist/behaviors.js.map +1 -1
- package/dist/calendar.d.ts +9 -1
- package/dist/calendar.d.ts.map +1 -1
- package/dist/calendar.js +4 -2
- package/dist/calendar.js.map +1 -1
- package/dist/catalog.d.ts +129 -2
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +6 -2
- package/dist/catalog.js.map +1 -1
- package/dist/chart.d.ts +398 -0
- package/dist/chart.d.ts.map +1 -0
- package/dist/chart.js +414 -0
- package/dist/chart.js.map +1 -0
- package/dist/collection-editing.d.ts +38 -0
- package/dist/collection-editing.d.ts.map +1 -0
- package/dist/collection-editing.js +53 -0
- package/dist/collection-editing.js.map +1 -0
- package/dist/communication.d.ts +29 -0
- package/dist/communication.d.ts.map +1 -0
- package/dist/communication.js +11 -0
- package/dist/communication.js.map +1 -0
- package/dist/component-definitions.d.ts +1 -0
- package/dist/component-definitions.d.ts.map +1 -1
- package/dist/component-definitions.js +1 -0
- package/dist/component-definitions.js.map +1 -1
- package/dist/data-table.d.ts +229 -5
- package/dist/data-table.d.ts.map +1 -1
- package/dist/data-table.js +242 -6
- package/dist/data-table.js.map +1 -1
- package/dist/data-workflows.d.ts +70 -0
- package/dist/data-workflows.d.ts.map +1 -0
- package/dist/data-workflows.js +109 -0
- package/dist/data-workflows.js.map +1 -0
- package/dist/dataviz.d.ts +7 -6
- package/dist/dataviz.d.ts.map +1 -1
- package/dist/dataviz.js +7 -6
- package/dist/dataviz.js.map +1 -1
- package/dist/gooey-navigation.d.ts +7 -0
- package/dist/gooey-navigation.d.ts.map +1 -1
- package/dist/gooey-navigation.js +10 -0
- package/dist/gooey-navigation.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/media-transport.d.ts +16 -0
- package/dist/media-transport.d.ts.map +1 -0
- package/dist/media-transport.js +17 -0
- package/dist/media-transport.js.map +1 -0
- package/dist/recipes.d.ts +1 -0
- package/dist/recipes.d.ts.map +1 -1
- package/dist/recipes.js +1 -0
- package/dist/recipes.js.map +1 -1
- package/dist/showcase.d.ts.map +1 -1
- package/dist/showcase.js +3 -1
- package/dist/showcase.js.map +1 -1
- package/dist/social-compositions.d.ts +19 -0
- package/dist/social-compositions.d.ts.map +1 -0
- package/dist/social-compositions.js +33 -0
- package/dist/social-compositions.js.map +1 -0
- package/dist/streaming-answer.d.ts +18 -0
- package/dist/streaming-answer.d.ts.map +1 -0
- package/dist/streaming-answer.js +61 -0
- package/dist/streaming-answer.js.map +1 -0
- package/dist/task-controls.d.ts +31 -0
- package/dist/task-controls.d.ts.map +1 -0
- package/dist/task-controls.js +25 -0
- package/dist/task-controls.js.map +1 -0
- package/dist/toggle-feedback.d.ts +22 -0
- package/dist/toggle-feedback.d.ts.map +1 -0
- package/dist/toggle-feedback.js +32 -0
- package/dist/toggle-feedback.js.map +1 -0
- package/dist/transfer-task.d.ts +13 -0
- package/dist/transfer-task.d.ts.map +1 -0
- package/dist/transfer-task.js +13 -0
- package/dist/transfer-task.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/docs/authoring-tools.md +31 -0
- package/docs/calendar.md +3 -1
- package/docs/catalog-freeze.json +5 -0
- package/docs/chart.md +206 -0
- package/docs/collection-editing.md +83 -0
- package/docs/communication.md +35 -0
- package/docs/data-table.md +56 -6
- package/docs/data-workflows.md +26 -0
- package/docs/generated/component-maturity.md +6 -5
- package/docs/generated/renderer-evidence.json +95 -5
- package/docs/generated/renderer-evidence.md +6 -3
- package/docs/generated/showcase-manifest.json +66 -3
- package/docs/gooey-navigation.md +20 -0
- package/docs/library-gap-analysis.md +4 -2
- package/docs/media-transport.md +37 -0
- package/docs/social-compositions.md +51 -0
- package/docs/streaming-answer.md +57 -0
- package/docs/task-controls.md +38 -0
- package/docs/toggle-feedback.md +56 -0
- package/docs/transfer-task.md +33 -0
- package/docs/usage/README.md +15 -4
- package/docs/usage/components/activity-chip.md +2 -2
- package/docs/usage/components/button.md +39 -0
- package/docs/usage/components/calendar.md +4 -2
- package/docs/usage/components/chart.md +277 -0
- package/docs/usage/components/data-table.md +96 -18
- package/docs/usage/components/screen-layout.md +3 -1
- package/docs/usage/components/search-screen.md +1 -0
- package/docs/usage/components/tabs.md +25 -0
- package/docs/usage/components/toast.md +1 -1
- package/docs/usage/compositions/action-feedback.md +18 -2
- package/docs/usage/compositions/activity-status.md +2 -2
- package/docs/usage/compositions/authoring-tools.md +90 -0
- package/docs/usage/compositions/collection-editing.md +110 -0
- package/docs/usage/compositions/communication.md +100 -0
- package/docs/usage/compositions/data-workflows.md +91 -0
- package/docs/usage/compositions/media-transport.md +87 -0
- package/docs/usage/compositions/social-compositions.md +91 -0
- package/docs/usage/compositions/streaming-answer.md +97 -0
- package/docs/usage/compositions/task-controls.md +93 -0
- package/docs/usage/compositions/toggle-feedback.md +84 -0
- package/docs/usage/compositions/transfer-task.md +86 -0
- package/docs/usage/compositions/web-additions.md +2 -2
- package/docs/usage/screens/common-shell.md +4 -0
- package/package.json +67 -1
package/dist/calendar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ColorReference } from \"./color-references.js\";\nimport type { BehaviorContract, WebKeyboardKey } from \"./behaviors.js\";\nimport type { DesignSystemDirection } from \"./design-system-provider.js\";\nimport type { SemanticIconName } from \"./icon.js\";\nimport { control, fontWeight, glyph, opacity, spacing, stroke, type FontWeightValue, type GlyphSize, type TextVariant } from \"./foundations.js\";\nimport { focusIndicatorContract } from \"./component-contracts.js\";\nimport { semanticColors } from \"./semantic-colors.js\";\n\nconst ISO_DATE_PATTERN = /^\\d{4}-\\d{2}-\\d{2}$/;\nconst ISO_MONTH_PATTERN = /^\\d{4}-(0[1-9]|1[0-2])$/;\nconst GRID_COLUMNS = 7;\n\nfunction assertNonEmpty(value: string, field: string): void {\n if (typeof value !== \"string\" || value.trim().length === 0) {\n throw new TypeError(`Calendar ${field} must not be empty`);\n }\n}\n\n/**\n * The grid never parses or computes dates — month/leap-year/timezone\n * arithmetic stays product-owned (see docs/calendar.md). This only checks the\n * \"YYYY-MM-DD\" shape products already use as their KBO schedule date key.\n */\nexport function isIsoCalendarDate(value: string): boolean {\n return typeof value === \"string\" && ISO_DATE_PATTERN.test(value);\n}\n\nexport function assertIsoCalendarDate(value: string, field: string): void {\n if (!isIsoCalendarDate(value)) {\n throw new TypeError(`Calendar ${field} must be an ISO \"YYYY-MM-DD\" date string`);\n }\n}\n\nexport function isIsoCalendarMonth(value: string): boolean {\n return typeof value === \"string\" && ISO_MONTH_PATTERN.test(value);\n}\n\nexport function assertIsoCalendarMonth(value: string, field: string): void {\n if (!isIsoCalendarMonth(value)) {\n throw new TypeError(`Calendar ${field} must be an ISO \"YYYY-MM\" month string`);\n }\n}\n\n/**\n * One visible cell. A cell with no `date` is a pure filler that keeps the\n * seven-column alignment (a leading/trailing blank before day 1 or after the\n * month's last day) — it is never focusable, selectable, or announced.\n * `content` is an opaque product payload (Yajalal's per-day game count, a\n * dot, anything) the renderer's cell-content slot receives untouched; the\n * grid never inspects it.\n */\nexport type CalendarDateCellDescriptor<Content = unknown> = Readonly<{\n date?: string;\n /** The date exists but falls outside the month currently in focus (a leading/trailing day from an adjacent month). Still selectable unless `disabled`. */\n outsideFocusedMonth?: boolean;\n disabled?: boolean;\n content?: Content;\n}>;\n\nexport type CalendarWeekdayLabels = readonly [\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n];\n\n/**\n * Raw product data for one visible month page. HJM does not compute which\n * dates belong to a month or the leading/trailing blanks — the product\n * already owns that arithmetic (see `buildCalendarCells` in Yajalal's\n * schedule explorer). HJM only validates the row-major seven-column shape\n * and resolves per-cell semantic state on top of it.\n */\nexport type CalendarGridDescriptor<Content = unknown> = Readonly<{\n /** Row-major, seven columns per row (one per weekday), so length must be a positive multiple of seven. */\n cells: readonly CalendarDateCellDescriptor<Content>[];\n /** Localized short weekday labels in the same column order as `cells`, e.g. [\"일\",\"월\",\"화\",\"수\",\"목\",\"금\",\"토\"]. */\n weekdayLabels: CalendarWeekdayLabels;\n /** ISO date of \"today\" per the product's clock. The grid never calls `Date.now()` itself. */\n todayDate: string;\n}>;\n\nexport function validateCalendarGridDescriptor<Content>(\n grid: CalendarGridDescriptor<Content>,\n): void {\n if (grid.cells.length === 0 || grid.cells.length % GRID_COLUMNS !== 0) {\n throw new RangeError(\"Calendar grid cells must be a non-empty multiple of seven\");\n }\n if (grid.weekdayLabels.length !== GRID_COLUMNS) {\n throw new RangeError(\"Calendar weekdayLabels must have exactly seven entries\");\n }\n grid.weekdayLabels.forEach((label, index) => assertNonEmpty(label, `weekdayLabels[${index}]`));\n assertIsoCalendarDate(grid.todayDate, \"todayDate\");\n const seen = new Set<string>();\n for (const cell of grid.cells) {\n if (cell.date === undefined) continue;\n assertIsoCalendarDate(cell.date, \"cell date\");\n if (seen.has(cell.date)) {\n throw new TypeError(`Duplicate Calendar cell date: ${cell.date}`);\n }\n seen.add(cell.date);\n }\n}\n\n/**\n * A cursor's committed value and the one displayed month page are\n * independent controlled axes, mirroring `SelectSelection`/`SelectOpenState`\n * in spirit: paging the visible month never clears or moves the selection.\n */\nexport type CalendarMonthChangeReason = \"previous\" | \"next\" | \"jump\";\n\nexport type CalendarMonthNavigation =\n | Readonly<{\n focusedMonth: string;\n defaultFocusedMonth?: never;\n onFocusedMonthChange(month: string, reason: CalendarMonthChangeReason): void;\n }>\n | Readonly<{\n focusedMonth?: never;\n defaultFocusedMonth?: string;\n onFocusedMonthChange?: (month: string, reason: CalendarMonthChangeReason) => void;\n }>;\n\nexport function validateCalendarMonthNavigation(navigation: CalendarMonthNavigation): void {\n const month = navigation.focusedMonth ?? navigation.defaultFocusedMonth;\n if (month !== undefined) assertIsoCalendarMonth(month, \"focusedMonth\");\n}\n\n/**\n * Single committed date only. Range selection is deliberately excluded — no\n * Yajalal or BurnTok flow has measured demand for it (see docs/calendar.md).\n */\nexport type CalendarSelection =\n | Readonly<{\n selectedDate: string | null;\n defaultSelectedDate?: never;\n onSelectionChange(date: string | null): void;\n }>\n | Readonly<{\n selectedDate?: never;\n defaultSelectedDate?: string | null;\n onSelectionChange?: (date: string | null) => void;\n }>;\n\nexport function validateCalendarSelection(selection: CalendarSelection): void {\n const selected = selection.selectedDate ?? selection.defaultSelectedDate;\n if (selected != null) assertIsoCalendarDate(selected, \"selectedDate\");\n}\n\nexport type CalendarDescriptor<Content = unknown> = Readonly<{\n grid: CalendarGridDescriptor<Content>;\n /** Product-formatted heading copy (\"2026년 8월\"); the grid never formats a date itself. */\n monthLabel: string;\n}> &\n CalendarMonthNavigation &\n CalendarSelection;\n\nexport function validateCalendarDescriptor<Content>(\n descriptor: CalendarDescriptor<Content>,\n): void {\n validateCalendarGridDescriptor(descriptor.grid);\n assertNonEmpty(descriptor.monthLabel, \"monthLabel\");\n validateCalendarMonthNavigation(descriptor);\n validateCalendarSelection(descriptor);\n}\n\nexport type CalendarAccessibleNameInfo<Content = unknown> = Readonly<{\n date: string;\n isToday: boolean;\n isSelected: boolean;\n disabled: boolean;\n content?: Content;\n}>;\n\n/**\n * \"8월 19일 수요일, 경기 2개, 선택됨\" is assembled by the product from its own\n * `content` payload and locale/grammar — the same reason Steps takes\n * `composeAccessibleName` instead of assembling copy itself.\n */\nexport type ComposeCalendarAccessibleName<Content = unknown> = (\n info: CalendarAccessibleNameInfo<Content>,\n) => string;\n\nexport type ResolvedCalendarDateCell<Content = unknown> = CalendarDateCellDescriptor<Content> &\n Readonly<{\n date: string;\n /** 1-indexed. */\n row: number;\n /** 1-indexed, 1..7. */\n column: number;\n isToday: boolean;\n isSelected: boolean;\n /** `false` when disabled — the cell stays focusable (see `getCalendarNavigationTarget`) but must never commit or close on activate. */\n selectable: boolean;\n accessibleName: string;\n }>;\n\nexport type ResolvedCalendarFillerCell = Readonly<{\n date?: never;\n row: number;\n column: number;\n filler: true;\n}>;\n\nexport type ResolvedCalendarGridCell<Content = unknown> =\n | ResolvedCalendarDateCell<Content>\n | ResolvedCalendarFillerCell;\n\n/**\n * Resolves per-cell semantic state against a selection supplied separately\n * from the raw grid (mirroring `resolveSelectSelectedItem`'s separation of\n * source data from selection state) — the same grid page renders identically\n * whether it is hosted by Calendar or by DatePicker's popover/sheet.\n */\nexport function resolveCalendarGridDescriptor<Content>(\n grid: CalendarGridDescriptor<Content>,\n selectedDate: string | null,\n options: Readonly<{ composeAccessibleName: ComposeCalendarAccessibleName<Content> }>,\n): readonly ResolvedCalendarGridCell<Content>[] {\n validateCalendarGridDescriptor(grid);\n if (typeof options.composeAccessibleName !== \"function\") {\n throw new TypeError(\"Calendar composeAccessibleName must be a function\");\n }\n\n return grid.cells.map((cell, index) => {\n const row = Math.floor(index / GRID_COLUMNS) + 1;\n const column = (index % GRID_COLUMNS) + 1;\n if (cell.date === undefined) {\n return { row, column, filler: true as const };\n }\n const isToday = cell.date === grid.todayDate;\n const isSelected = cell.date === selectedDate;\n const disabled = cell.disabled ?? false;\n const nameInfo: CalendarAccessibleNameInfo<Content> =\n cell.content === undefined\n ? { date: cell.date, isToday, isSelected, disabled }\n : { date: cell.date, isToday, isSelected, disabled, content: cell.content };\n const accessibleName = options.composeAccessibleName(nameInfo);\n if (typeof accessibleName !== \"string\" || accessibleName.trim().length === 0) {\n throw new TypeError(\"Calendar composeAccessibleName must return a non-empty string\");\n }\n return {\n ...cell,\n date: cell.date,\n row,\n column,\n isToday,\n isSelected,\n selectable: !disabled,\n accessibleName,\n };\n });\n}\n\n/** Top-level entry point: validates the descriptor and resolves its grid page. */\nexport function resolveCalendarDescriptor<Content>(\n descriptor: CalendarDescriptor<Content>,\n options: Readonly<{ composeAccessibleName: ComposeCalendarAccessibleName<Content> }>,\n): readonly ResolvedCalendarGridCell<Content>[] {\n validateCalendarDescriptor(descriptor);\n const selectedDate = descriptor.selectedDate ?? descriptor.defaultSelectedDate ?? null;\n return resolveCalendarGridDescriptor(descriptor.grid, selectedDate, options);\n}\n\nexport type CalendarNavigationIntent =\n | \"next-day\"\n | \"previous-day\"\n | \"next-week\"\n | \"previous-week\"\n | \"first-of-week\"\n | \"last-of-week\";\n\n/**\n * ArrowLeft/Right flip under RTL, matching `getSelectionNavigationIntent`'s\n * `direction` parameter.\n */\nexport function getCalendarNavigationIntent(\n key: WebKeyboardKey,\n direction: DesignSystemDirection = \"ltr\",\n): CalendarNavigationIntent | undefined {\n if (key === \"Home\") return \"first-of-week\";\n if (key === \"End\") return \"last-of-week\";\n if (key === \"ArrowDown\") return \"next-week\";\n if (key === \"ArrowUp\") return \"previous-week\";\n if (key === \"ArrowRight\") return direction === \"rtl\" ? \"previous-day\" : \"next-day\";\n if (key === \"ArrowLeft\") return direction === \"rtl\" ? \"next-day\" : \"previous-day\";\n return undefined;\n}\n\nexport type CalendarNavigationResult =\n | Readonly<{ date: string; overflow?: never }>\n | Readonly<{ date?: never; overflow: \"before\" | \"after\" }>;\n\n/**\n * Pure index arithmetic over the fixed seven-column page. Unlike\n * `getCollectionNavigationTarget`, this does NOT skip disabled dates —\n * per the WAI-ARIA date picker dialog pattern, arrow-key focus must land\n * predictably (down always moves exactly one row) even on a disabled date;\n * only the *activate* action is expected to no-op there. Moving past the\n * edge of this page returns an `overflow` signal instead of wrapping, since\n * HJM does not know the adjacent month's shape — the product pages the\n * month and refocuses the corresponding day.\n */\nexport function getCalendarNavigationTarget<Content>(\n grid: CalendarGridDescriptor<Content>,\n currentDate: string,\n intent: CalendarNavigationIntent,\n): CalendarNavigationResult {\n validateCalendarGridDescriptor(grid);\n const currentIndex = grid.cells.findIndex((cell) => cell.date === currentDate);\n if (currentIndex < 0) {\n throw new RangeError(`Calendar currentDate is not part of this grid page: ${currentDate}`);\n }\n\n const findDated = (from: number, step: number): number | undefined => {\n for (let index = from; index >= 0 && index < grid.cells.length; index += step) {\n if (grid.cells[index]?.date !== undefined) return index;\n }\n return undefined;\n };\n\n const rowStart = Math.floor(currentIndex / GRID_COLUMNS) * GRID_COLUMNS;\n const rowEnd = rowStart + GRID_COLUMNS - 1;\n\n if (intent === \"first-of-week\") {\n const found = findDated(rowStart, 1);\n return found !== undefined && found <= rowEnd\n ? { date: grid.cells[found]!.date! }\n : { overflow: \"before\" };\n }\n if (intent === \"last-of-week\") {\n const found = findDated(rowEnd, -1);\n return found !== undefined && found >= rowStart\n ? { date: grid.cells[found]!.date! }\n : { overflow: \"after\" };\n }\n\n const forward = intent === \"next-day\" || intent === \"next-week\";\n const stride = intent === \"next-week\" || intent === \"previous-week\" ? GRID_COLUMNS : 1;\n const step = forward ? 1 : -1;\n const target = currentIndex + step * stride;\n if (target < 0) return { overflow: \"before\" };\n if (target >= grid.cells.length) return { overflow: \"after\" };\n if (grid.cells[target]?.date !== undefined) return { date: grid.cells[target]!.date! };\n // Landed on a filler (only reachable for a week-step into a partially\n // filled edge row): keep scanning the same direction for the nearest real\n // date rather than asking a renderer to interpret a blank cell.\n const resolved = findDated(target, step);\n return resolved !== undefined\n ? { date: grid.cells[resolved]!.date! }\n : { overflow: forward ? \"after\" : \"before\" };\n}\n\nexport type CalendarSize = \"medium\" | \"large\";\n\n/**\n * `today` and `selected` are visually independent (a non-selected today and\n * a selected past day must both read clearly) and neither is color-only:\n * today gets a persistent border, selected gets a filled background, and\n * both remain in `accessibleName`/`isToday`/`isSelected` for assistive tech.\n */\nexport const calendarRecipe = {\n slots: [\n \"root\",\n \"header\",\n \"monthLabel\",\n \"previousMonth\",\n \"nextMonth\",\n \"weekdayRow\",\n \"weekdayLabel\",\n \"grid\",\n \"week\",\n \"day\",\n \"dayLabel\",\n \"content\",\n ] as const,\n defaults: { size: \"medium\" },\n header: {\n gap: spacing.xs,\n monthLabel: {\n textVariant: \"title\",\n fontWeight: fontWeight.bold,\n color: semanticColors.content.primary,\n },\n navButton: { diameter: control.buttonHeight.medium, color: semanticColors.content.secondary },\n navIcon: { previous: \"chevronStart\", next: \"chevronEnd\" },\n },\n weekdayLabel: {\n textVariant: \"label\",\n color: semanticColors.content.secondary,\n },\n sizes: {\n medium: { cellDiameter: control.minTouchTarget, textVariant: \"body\", glyph: \"sm\" },\n large: { cellDiameter: glyph.xxl, textVariant: \"bodyLarge\", glyph: \"md\" },\n },\n day: {\n radius: \"full\" as const,\n label: { color: semanticColors.content.body, numericVariant: \"tabular\" },\n outsideFocusedMonthOpacity: opacity.muted,\n disabledOpacity: opacity.disabled,\n today: { border: semanticColors.border.focus, borderWidth: stroke.default },\n selected: {\n background: semanticColors.action.brand.background,\n content: semanticColors.action.brand.content,\n },\n focus: focusIndicatorContract,\n },\n} as const satisfies {\n slots: readonly string[];\n defaults: { size: CalendarSize };\n header: {\n gap: number;\n monthLabel: { textVariant: TextVariant; fontWeight: FontWeightValue; color: ColorReference };\n navButton: { diameter: number; color: ColorReference };\n navIcon: { previous: SemanticIconName; next: SemanticIconName };\n };\n weekdayLabel: { textVariant: TextVariant; color: ColorReference };\n sizes: Record<CalendarSize, { cellDiameter: number; textVariant: TextVariant; glyph: GlyphSize }>;\n day: {\n radius: \"full\";\n label: { color: ColorReference; numericVariant: \"tabular\" };\n outsideFocusedMonthOpacity: number;\n disabledOpacity: number;\n today: { border: ColorReference; borderWidth: number };\n selected: { background: ColorReference; content: ColorReference };\n focus: typeof focusIndicatorContract;\n };\n};\n\n/**\n * Calendar is `shared`, not `adaptive`: the grid is always visible inline\n * (no popup/Sheet choice to make). Web gets `grid` role + roving-tabindex\n * arrow keys; Native has no composite-widget equivalent, so each date is\n * simply an independently focusable/tappable element and month paging goes\n * through the always-present previous/next buttons on both platforms — same\n * result (the user reaches and picks a date), different path, matching the\n * `beta → stable(adaptive)` gate's standard even though this component\n * itself is not adaptive.\n */\nexport const calendarBehavior = {\n controlled: [\n \"selectedDate\",\n \"defaultSelectedDate\",\n \"onSelectionChange\",\n \"focusedMonth\",\n \"defaultFocusedMonth\",\n \"onFocusedMonthChange\",\n ],\n inputs: [\"grid\", \"monthLabel\"],\n stateAxes: {\n availability: [\"enabled\", \"disabled\"],\n value: [\"selected\"],\n },\n web: {\n roles: [\"grid\", \"row\", \"gridcell\", \"button\"],\n keyboard: [\n \"Tab\",\n \"Enter\",\n \"Space\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Home\",\n \"End\",\n ],\n focus: \"roving\",\n },\n native: {\n roles: [\"button\"],\n states: [\"disabled\", \"selected\"],\n actions: [\"activate\"],\n },\n scenarios: [\n \"today-and-selected-are-independent-and-both-non-color-marked\",\n \"disabled-dates-remain-focusable-but-never-activate\",\n \"arrow-keys-move-by-day-and-week-inside-the-visible-month-page\",\n \"home-and-end-move-to-the-first-and-last-dated-cell-of-the-focused-row\",\n \"moving-past-the-visible-grid-edge-requests-a-month-change-instead-of-wrapping\",\n \"filler-cells-carry-no-accessible-name-and-are-hidden-from-assistive-tech\",\n \"every-dated-cell-accessible-name-is-composed-by-the-product\",\n \"changing-the-focused-month-never-changes-or-clears-the-selection\",\n \"range-selection-is-not-part-of-the-contract\",\n ],\n} as const satisfies BehaviorContract;\n"]}
|
|
1
|
+
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ColorReference } from \"./color-references.js\";\nimport type { BehaviorContract, WebKeyboardKey } from \"./behaviors.js\";\nimport type { DesignSystemDirection } from \"./design-system-provider.js\";\nimport type { SemanticIconName } from \"./icon.js\";\nimport { control, fontWeight, glyph, opacity, spacing, stroke, type FontWeightValue, type GlyphSize, type TextVariant } from \"./foundations.js\";\nimport { focusIndicatorContract } from \"./component-contracts.js\";\nimport { semanticColors } from \"./semantic-colors.js\";\n\nconst ISO_DATE_PATTERN = /^\\d{4}-\\d{2}-\\d{2}$/;\nconst ISO_MONTH_PATTERN = /^\\d{4}-(0[1-9]|1[0-2])$/;\nconst GRID_COLUMNS = 7;\n\nfunction assertNonEmpty(value: string, field: string): void {\n if (typeof value !== \"string\" || value.trim().length === 0) {\n throw new TypeError(`Calendar ${field} must not be empty`);\n }\n}\n\n/**\n * The grid never parses or computes dates — month/leap-year/timezone\n * arithmetic stays product-owned (see docs/calendar.md). This only checks the\n * \"YYYY-MM-DD\" shape products already use as their KBO schedule date key.\n */\nexport function isIsoCalendarDate(value: string): boolean {\n return typeof value === \"string\" && ISO_DATE_PATTERN.test(value);\n}\n\nexport function assertIsoCalendarDate(value: string, field: string): void {\n if (!isIsoCalendarDate(value)) {\n throw new TypeError(`Calendar ${field} must be an ISO \"YYYY-MM-DD\" date string`);\n }\n}\n\nexport function isIsoCalendarMonth(value: string): boolean {\n return typeof value === \"string\" && ISO_MONTH_PATTERN.test(value);\n}\n\nexport function assertIsoCalendarMonth(value: string, field: string): void {\n if (!isIsoCalendarMonth(value)) {\n throw new TypeError(`Calendar ${field} must be an ISO \"YYYY-MM\" month string`);\n }\n}\n\n/**\n * One visible cell. A cell with no `date` is a pure filler that keeps the\n * seven-column alignment (a leading/trailing blank before day 1 or after the\n * month's last day) — it is never focusable, selectable, or announced.\n * `content` is an opaque product payload (Yajalal's per-day game count, a\n * dot, anything) the renderer's cell-content slot receives untouched; the\n * grid never inspects it.\n */\nexport type CalendarDateCellDescriptor<Content = unknown> = Readonly<{\n date?: string;\n /** The date exists but falls outside the month currently in focus (a leading/trailing day from an adjacent month). Still selectable unless `disabled`. */\n outsideFocusedMonth?: boolean;\n disabled?: boolean;\n content?: Content;\n}>;\n\nexport type CalendarWeekdayLabels = readonly [\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n];\n\n/**\n * Raw product data for one visible month page. HJM does not compute which\n * dates belong to a month or the leading/trailing blanks — the product\n * already owns that arithmetic (see `buildCalendarCells` in Yajalal's\n * schedule explorer). HJM only validates the row-major seven-column shape\n * and resolves per-cell semantic state on top of it.\n */\nexport type CalendarGridDescriptor<Content = unknown> = Readonly<{\n /** Row-major, seven columns per row (one per weekday), so length must be a positive multiple of seven. */\n cells: readonly CalendarDateCellDescriptor<Content>[];\n /** Localized short weekday labels in the same column order as `cells`, e.g. [\"일\",\"월\",\"화\",\"수\",\"목\",\"금\",\"토\"]. */\n weekdayLabels: CalendarWeekdayLabels;\n /** ISO date of \"today\" per the product's clock. The grid never calls `Date.now()` itself. */\n todayDate: string;\n}>;\n\nexport function validateCalendarGridDescriptor<Content>(\n grid: CalendarGridDescriptor<Content>,\n): void {\n if (grid.cells.length === 0 || grid.cells.length % GRID_COLUMNS !== 0) {\n throw new RangeError(\"Calendar grid cells must be a non-empty multiple of seven\");\n }\n if (grid.weekdayLabels.length !== GRID_COLUMNS) {\n throw new RangeError(\"Calendar weekdayLabels must have exactly seven entries\");\n }\n grid.weekdayLabels.forEach((label, index) => assertNonEmpty(label, `weekdayLabels[${index}]`));\n assertIsoCalendarDate(grid.todayDate, \"todayDate\");\n const seen = new Set<string>();\n for (const cell of grid.cells) {\n if (cell.date === undefined) continue;\n assertIsoCalendarDate(cell.date, \"cell date\");\n if (seen.has(cell.date)) {\n throw new TypeError(`Duplicate Calendar cell date: ${cell.date}`);\n }\n seen.add(cell.date);\n }\n}\n\n/**\n * A cursor's committed value and the one displayed month page are\n * independent controlled axes, mirroring `SelectSelection`/`SelectOpenState`\n * in spirit: paging the visible month never clears or moves the selection.\n */\nexport type CalendarMonthChangeReason = \"previous\" | \"next\" | \"jump\";\n\nexport type CalendarMonthNavigation =\n | Readonly<{\n focusedMonth: string;\n defaultFocusedMonth?: never;\n onFocusedMonthChange(month: string, reason: CalendarMonthChangeReason): void;\n }>\n | Readonly<{\n focusedMonth?: never;\n defaultFocusedMonth?: string;\n onFocusedMonthChange?: (month: string, reason: CalendarMonthChangeReason) => void;\n }>;\n\nexport function validateCalendarMonthNavigation(navigation: CalendarMonthNavigation): void {\n const month = navigation.focusedMonth ?? navigation.defaultFocusedMonth;\n if (month !== undefined) assertIsoCalendarMonth(month, \"focusedMonth\");\n}\n\n/**\n * Single committed date only. Range selection is deliberately excluded — no\n * Yajalal or BurnTok flow has measured demand for it (see docs/calendar.md).\n */\nexport type CalendarSelection =\n | Readonly<{\n selectedDate: string | null;\n defaultSelectedDate?: never;\n onSelectionChange(date: string | null): void;\n }>\n | Readonly<{\n selectedDate?: never;\n defaultSelectedDate?: string | null;\n onSelectionChange?: (date: string | null) => void;\n }>;\n\nexport function validateCalendarSelection(selection: CalendarSelection): void {\n const selected = selection.selectedDate ?? selection.defaultSelectedDate;\n if (selected != null) assertIsoCalendarDate(selected, \"selectedDate\");\n}\n\nexport type CalendarDescriptor<Content = unknown> = Readonly<{\n grid: CalendarGridDescriptor<Content>;\n /** Product-formatted heading copy (\"2026년 8월\"); the grid never formats a date itself. */\n monthLabel: string;\n}> &\n CalendarMonthNavigation &\n CalendarSelection;\n\nexport function validateCalendarDescriptor<Content>(\n descriptor: CalendarDescriptor<Content>,\n): void {\n validateCalendarGridDescriptor(descriptor.grid);\n assertNonEmpty(descriptor.monthLabel, \"monthLabel\");\n validateCalendarMonthNavigation(descriptor);\n validateCalendarSelection(descriptor);\n}\n\nexport type CalendarAccessibleNameInfo<Content = unknown> = Readonly<{\n date: string;\n isToday: boolean;\n isSelected: boolean;\n disabled: boolean;\n content?: Content;\n}>;\n\n/**\n * \"8월 19일 수요일, 경기 2개, 선택됨\" is assembled by the product from its own\n * `content` payload and locale/grammar — the same reason Steps takes\n * `composeAccessibleName` instead of assembling copy itself.\n */\nexport type ComposeCalendarAccessibleName<Content = unknown> = (\n info: CalendarAccessibleNameInfo<Content>,\n) => string;\n\nexport type ResolvedCalendarDateCell<Content = unknown> = CalendarDateCellDescriptor<Content> &\n Readonly<{\n date: string;\n /** 1-indexed. */\n row: number;\n /** 1-indexed, 1..7. */\n column: number;\n isToday: boolean;\n isSelected: boolean;\n /** `false` when disabled — the cell stays focusable (see `getCalendarNavigationTarget`) but must never commit or close on activate. */\n selectable: boolean;\n accessibleName: string;\n }>;\n\nexport type ResolvedCalendarFillerCell = Readonly<{\n date?: never;\n row: number;\n column: number;\n filler: true;\n}>;\n\nexport type ResolvedCalendarGridCell<Content = unknown> =\n | ResolvedCalendarDateCell<Content>\n | ResolvedCalendarFillerCell;\n\n/**\n * Resolves per-cell semantic state against a selection supplied separately\n * from the raw grid (mirroring `resolveSelectSelectedItem`'s separation of\n * source data from selection state) — the same grid page renders identically\n * whether it is hosted by Calendar or by DatePicker's popover/sheet.\n */\nexport function resolveCalendarGridDescriptor<Content>(\n grid: CalendarGridDescriptor<Content>,\n selectedDate: string | null,\n options: Readonly<{ composeAccessibleName: ComposeCalendarAccessibleName<Content> }>,\n): readonly ResolvedCalendarGridCell<Content>[] {\n validateCalendarGridDescriptor(grid);\n if (typeof options.composeAccessibleName !== \"function\") {\n throw new TypeError(\"Calendar composeAccessibleName must be a function\");\n }\n\n return grid.cells.map((cell, index) => {\n const row = Math.floor(index / GRID_COLUMNS) + 1;\n const column = (index % GRID_COLUMNS) + 1;\n if (cell.date === undefined) {\n return { row, column, filler: true as const };\n }\n const isToday = cell.date === grid.todayDate;\n const isSelected = cell.date === selectedDate;\n const disabled = cell.disabled ?? false;\n const nameInfo: CalendarAccessibleNameInfo<Content> =\n cell.content === undefined\n ? { date: cell.date, isToday, isSelected, disabled }\n : { date: cell.date, isToday, isSelected, disabled, content: cell.content };\n const accessibleName = options.composeAccessibleName(nameInfo);\n if (typeof accessibleName !== \"string\" || accessibleName.trim().length === 0) {\n throw new TypeError(\"Calendar composeAccessibleName must return a non-empty string\");\n }\n return {\n ...cell,\n date: cell.date,\n row,\n column,\n isToday,\n isSelected,\n selectable: !disabled,\n accessibleName,\n };\n });\n}\n\n/** Top-level entry point: validates the descriptor and resolves its grid page. */\nexport function resolveCalendarDescriptor<Content>(\n descriptor: CalendarDescriptor<Content>,\n options: Readonly<{ composeAccessibleName: ComposeCalendarAccessibleName<Content> }>,\n): readonly ResolvedCalendarGridCell<Content>[] {\n validateCalendarDescriptor(descriptor);\n const selectedDate = descriptor.selectedDate ?? descriptor.defaultSelectedDate ?? null;\n return resolveCalendarGridDescriptor(descriptor.grid, selectedDate, options);\n}\n\nexport type CalendarNavigationIntent =\n | \"next-day\"\n | \"previous-day\"\n | \"next-week\"\n | \"previous-week\"\n | \"first-of-week\"\n | \"last-of-week\";\n\n/**\n * ArrowLeft/Right flip under RTL, matching `getSelectionNavigationIntent`'s\n * `direction` parameter.\n */\nexport function getCalendarNavigationIntent(\n key: WebKeyboardKey,\n direction: DesignSystemDirection = \"ltr\",\n): CalendarNavigationIntent | undefined {\n if (key === \"Home\") return \"first-of-week\";\n if (key === \"End\") return \"last-of-week\";\n if (key === \"ArrowDown\") return \"next-week\";\n if (key === \"ArrowUp\") return \"previous-week\";\n if (key === \"ArrowRight\") return direction === \"rtl\" ? \"previous-day\" : \"next-day\";\n if (key === \"ArrowLeft\") return direction === \"rtl\" ? \"next-day\" : \"previous-day\";\n return undefined;\n}\n\nexport type CalendarNavigationResult =\n | Readonly<{ date: string; overflow?: never }>\n | Readonly<{ date?: never; overflow: \"before\" | \"after\" }>;\n\n/**\n * Pure index arithmetic over the fixed seven-column page. Unlike\n * `getCollectionNavigationTarget`, this does NOT skip disabled dates —\n * per the WAI-ARIA date picker dialog pattern, arrow-key focus must land\n * predictably (down always moves exactly one row) even on a disabled date;\n * only the *activate* action is expected to no-op there. Moving past the\n * edge of this page returns an `overflow` signal instead of wrapping, since\n * HJM does not know the adjacent month's shape — the product pages the\n * month and refocuses the corresponding day.\n */\nexport function getCalendarNavigationTarget<Content>(\n grid: CalendarGridDescriptor<Content>,\n currentDate: string,\n intent: CalendarNavigationIntent,\n): CalendarNavigationResult {\n validateCalendarGridDescriptor(grid);\n const currentIndex = grid.cells.findIndex((cell) => cell.date === currentDate);\n if (currentIndex < 0) {\n throw new RangeError(`Calendar currentDate is not part of this grid page: ${currentDate}`);\n }\n\n const findDated = (from: number, step: number): number | undefined => {\n for (let index = from; index >= 0 && index < grid.cells.length; index += step) {\n if (grid.cells[index]?.date !== undefined) return index;\n }\n return undefined;\n };\n\n const rowStart = Math.floor(currentIndex / GRID_COLUMNS) * GRID_COLUMNS;\n const rowEnd = rowStart + GRID_COLUMNS - 1;\n\n if (intent === \"first-of-week\") {\n const found = findDated(rowStart, 1);\n return found !== undefined && found <= rowEnd\n ? { date: grid.cells[found]!.date! }\n : { overflow: \"before\" };\n }\n if (intent === \"last-of-week\") {\n const found = findDated(rowEnd, -1);\n return found !== undefined && found >= rowStart\n ? { date: grid.cells[found]!.date! }\n : { overflow: \"after\" };\n }\n\n const forward = intent === \"next-day\" || intent === \"next-week\";\n const stride = intent === \"next-week\" || intent === \"previous-week\" ? GRID_COLUMNS : 1;\n const step = forward ? 1 : -1;\n const target = currentIndex + step * stride;\n if (target < 0) return { overflow: \"before\" };\n if (target >= grid.cells.length) return { overflow: \"after\" };\n if (grid.cells[target]?.date !== undefined) return { date: grid.cells[target]!.date! };\n // Landed on a filler (only reachable for a week-step into a partially\n // filled edge row): keep scanning the same direction for the nearest real\n // date rather than asking a renderer to interpret a blank cell.\n const resolved = findDated(target, step);\n return resolved !== undefined\n ? { date: grid.cells[resolved]!.date! }\n : { overflow: forward ? \"after\" : \"before\" };\n}\n\nexport type CalendarSize = \"compact\" | \"medium\" | \"large\";\n\n/**\n * `today` and `selected` are visually independent (a non-selected today and\n * a selected past day must both read clearly) and neither is color-only:\n * today gets a persistent border, selected gets a filled background, and\n * both remain in `accessibleName`/`isToday`/`isSelected` for assistive tech.\n */\nexport const calendarRecipe = {\n slots: [\n \"root\",\n \"header\",\n \"monthLabel\",\n \"previousMonth\",\n \"nextMonth\",\n \"weekdayRow\",\n \"weekdayLabel\",\n \"grid\",\n \"week\",\n \"day\",\n \"dayLabel\",\n \"content\",\n ] as const,\n defaults: { size: \"medium\" },\n header: {\n gap: spacing.xs,\n monthLabel: {\n textVariant: \"title\",\n fontWeight: fontWeight.bold,\n color: semanticColors.content.primary,\n },\n navButton: { diameter: control.buttonHeight.medium, color: semanticColors.content.secondary },\n navIcon: { previous: \"chevronStart\", next: \"chevronEnd\" },\n },\n weekdayLabel: {\n textVariant: \"label\",\n color: semanticColors.content.secondary,\n },\n sizes: {\n // Dense annotated calendars need a smaller visual marker without shrinking the hit target.\n compact: { cellDiameter: control.minTouchTarget, indicatorDiameter: 28, textVariant: \"body\", glyph: \"sm\" },\n medium: { cellDiameter: control.minTouchTarget, indicatorDiameter: control.minTouchTarget, textVariant: \"body\", glyph: \"sm\" },\n large: { cellDiameter: glyph.xxl, indicatorDiameter: glyph.xxl, textVariant: \"bodyLarge\", glyph: \"md\" },\n },\n day: {\n radius: \"full\" as const,\n label: { color: semanticColors.content.body, numericVariant: \"tabular\" },\n outsideFocusedMonthOpacity: opacity.muted,\n disabledOpacity: opacity.disabled,\n today: { border: semanticColors.border.focus, borderWidth: stroke.default },\n selected: {\n background: semanticColors.action.brand.background,\n content: semanticColors.action.brand.content,\n },\n focus: focusIndicatorContract,\n },\n} as const satisfies {\n slots: readonly string[];\n defaults: { size: CalendarSize };\n header: {\n gap: number;\n monthLabel: { textVariant: TextVariant; fontWeight: FontWeightValue; color: ColorReference };\n navButton: { diameter: number; color: ColorReference };\n navIcon: { previous: SemanticIconName; next: SemanticIconName };\n };\n weekdayLabel: { textVariant: TextVariant; color: ColorReference };\n sizes: Record<CalendarSize, { cellDiameter: number; indicatorDiameter: number; textVariant: TextVariant; glyph: GlyphSize }>;\n day: {\n radius: \"full\";\n label: { color: ColorReference; numericVariant: \"tabular\" };\n outsideFocusedMonthOpacity: number;\n disabledOpacity: number;\n today: { border: ColorReference; borderWidth: number };\n selected: { background: ColorReference; content: ColorReference };\n focus: typeof focusIndicatorContract;\n };\n};\n\n/**\n * Calendar is `shared`, not `adaptive`: the grid is always visible inline\n * (no popup/Sheet choice to make). Web gets `grid` role + roving-tabindex\n * arrow keys; Native has no composite-widget equivalent, so each date is\n * simply an independently focusable/tappable element and month paging goes\n * through the always-present previous/next buttons on both platforms — same\n * result (the user reaches and picks a date), different path, matching the\n * `beta → stable(adaptive)` gate's standard even though this component\n * itself is not adaptive.\n */\nexport const calendarBehavior = {\n controlled: [\n \"selectedDate\",\n \"defaultSelectedDate\",\n \"onSelectionChange\",\n \"focusedMonth\",\n \"defaultFocusedMonth\",\n \"onFocusedMonthChange\",\n ],\n inputs: [\"grid\", \"monthLabel\"],\n stateAxes: {\n availability: [\"enabled\", \"disabled\"],\n value: [\"selected\"],\n },\n web: {\n roles: [\"grid\", \"row\", \"gridcell\", \"button\"],\n keyboard: [\n \"Tab\",\n \"Enter\",\n \"Space\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Home\",\n \"End\",\n ],\n focus: \"roving\",\n },\n native: {\n roles: [\"button\"],\n states: [\"disabled\", \"selected\"],\n actions: [\"activate\"],\n },\n scenarios: [\n \"today-and-selected-are-independent-and-both-non-color-marked\",\n \"disabled-dates-remain-focusable-but-never-activate\",\n \"arrow-keys-move-by-day-and-week-inside-the-visible-month-page\",\n \"home-and-end-move-to-the-first-and-last-dated-cell-of-the-focused-row\",\n \"moving-past-the-visible-grid-edge-requests-a-month-change-instead-of-wrapping\",\n \"filler-cells-carry-no-accessible-name-and-are-hidden-from-assistive-tech\",\n \"every-dated-cell-accessible-name-is-composed-by-the-product\",\n \"changing-the-focused-month-never-changes-or-clears-the-selection\",\n \"range-selection-is-not-part-of-the-contract\",\n ],\n} as const satisfies BehaviorContract;\n"]}
|
package/dist/catalog.d.ts
CHANGED
|
@@ -947,12 +947,23 @@ export declare const componentCatalog: readonly [{
|
|
|
947
947
|
readonly behavior: "dataTable";
|
|
948
948
|
readonly surfaceStatus: {
|
|
949
949
|
readonly web: "stable";
|
|
950
|
-
readonly native: "
|
|
950
|
+
readonly native: "beta";
|
|
951
951
|
};
|
|
952
952
|
readonly name: "DataTable";
|
|
953
953
|
readonly category: "data-display";
|
|
954
|
-
readonly platform: "
|
|
954
|
+
readonly platform: "shared";
|
|
955
955
|
readonly status: "stable";
|
|
956
|
+
}, {
|
|
957
|
+
readonly recipe: "chartRecipe";
|
|
958
|
+
readonly behavior: "chart";
|
|
959
|
+
readonly surfaceStatus: {
|
|
960
|
+
readonly web: "beta";
|
|
961
|
+
readonly native: "beta";
|
|
962
|
+
};
|
|
963
|
+
readonly name: "Chart";
|
|
964
|
+
readonly category: "data-display";
|
|
965
|
+
readonly platform: "shared";
|
|
966
|
+
readonly status: "beta";
|
|
956
967
|
}, {
|
|
957
968
|
readonly recipe: "treeRecipe";
|
|
958
969
|
readonly behavior: "tree";
|
|
@@ -2980,13 +2991,21 @@ export declare const recipeRegistry: {
|
|
|
2980
2991
|
}>;
|
|
2981
2992
|
};
|
|
2982
2993
|
readonly sizes: {
|
|
2994
|
+
readonly compact: {
|
|
2995
|
+
readonly cellDiameter: 44;
|
|
2996
|
+
readonly indicatorDiameter: 28;
|
|
2997
|
+
readonly textVariant: "body";
|
|
2998
|
+
readonly glyph: "sm";
|
|
2999
|
+
};
|
|
2983
3000
|
readonly medium: {
|
|
2984
3001
|
readonly cellDiameter: 44;
|
|
3002
|
+
readonly indicatorDiameter: 44;
|
|
2985
3003
|
readonly textVariant: "body";
|
|
2986
3004
|
readonly glyph: "sm";
|
|
2987
3005
|
};
|
|
2988
3006
|
readonly large: {
|
|
2989
3007
|
readonly cellDiameter: 44;
|
|
3008
|
+
readonly indicatorDiameter: 44;
|
|
2990
3009
|
readonly textVariant: "bodyLarge";
|
|
2991
3010
|
readonly glyph: "md";
|
|
2992
3011
|
};
|
|
@@ -3910,6 +3929,114 @@ export declare const recipeRegistry: {
|
|
|
3910
3929
|
};
|
|
3911
3930
|
};
|
|
3912
3931
|
};
|
|
3932
|
+
readonly chartRecipe: {
|
|
3933
|
+
readonly heights: {
|
|
3934
|
+
readonly sparkline: 28;
|
|
3935
|
+
readonly compact: 128;
|
|
3936
|
+
readonly regular: 180;
|
|
3937
|
+
readonly tall: 240;
|
|
3938
|
+
};
|
|
3939
|
+
readonly insets: {
|
|
3940
|
+
readonly plot: {
|
|
3941
|
+
readonly top: 20;
|
|
3942
|
+
readonly right: 8;
|
|
3943
|
+
readonly bottom: 8;
|
|
3944
|
+
readonly left: 8;
|
|
3945
|
+
};
|
|
3946
|
+
readonly axis: {
|
|
3947
|
+
readonly top: 16;
|
|
3948
|
+
readonly right: 8;
|
|
3949
|
+
readonly bottom: 20;
|
|
3950
|
+
readonly left: 36;
|
|
3951
|
+
};
|
|
3952
|
+
};
|
|
3953
|
+
readonly line: {
|
|
3954
|
+
readonly strokeWidth: 2.4;
|
|
3955
|
+
readonly pointRadius: 4.5;
|
|
3956
|
+
readonly focusHaloRadius: 9;
|
|
3957
|
+
readonly focusHaloOpacity: 0.25;
|
|
3958
|
+
};
|
|
3959
|
+
readonly area: {
|
|
3960
|
+
readonly topOpacity: 0.32;
|
|
3961
|
+
readonly bottomOpacity: 0;
|
|
3962
|
+
};
|
|
3963
|
+
readonly bar: {
|
|
3964
|
+
readonly radius: number;
|
|
3965
|
+
readonly maxWidth: 28;
|
|
3966
|
+
readonly bandPadding: 0.36;
|
|
3967
|
+
readonly groupGap: 2;
|
|
3968
|
+
readonly restOpacity: 0.4;
|
|
3969
|
+
};
|
|
3970
|
+
readonly pie: {
|
|
3971
|
+
readonly donutRatio: 0.62;
|
|
3972
|
+
readonly padAngle: 0.012;
|
|
3973
|
+
readonly minLabelPercent: 4;
|
|
3974
|
+
};
|
|
3975
|
+
readonly radar: {
|
|
3976
|
+
readonly levels: 4;
|
|
3977
|
+
readonly strokeWidth: 2;
|
|
3978
|
+
readonly fillOpacity: 0.22;
|
|
3979
|
+
readonly labelOffset: 12;
|
|
3980
|
+
};
|
|
3981
|
+
readonly scatter: {
|
|
3982
|
+
readonly radius: 5;
|
|
3983
|
+
readonly focusRadius: 8;
|
|
3984
|
+
};
|
|
3985
|
+
readonly sparkline: {
|
|
3986
|
+
readonly width: 72;
|
|
3987
|
+
readonly height: 28;
|
|
3988
|
+
readonly strokeWidth: 1.8;
|
|
3989
|
+
readonly padding: 2;
|
|
3990
|
+
};
|
|
3991
|
+
readonly cursor: {
|
|
3992
|
+
readonly strokeWidth: 1;
|
|
3993
|
+
readonly dash: readonly [2, 3];
|
|
3994
|
+
};
|
|
3995
|
+
readonly reference: {
|
|
3996
|
+
readonly dash: readonly [2, 4];
|
|
3997
|
+
};
|
|
3998
|
+
readonly chrome: {
|
|
3999
|
+
readonly axisLine: Readonly<{
|
|
4000
|
+
source: "theme";
|
|
4001
|
+
key: "border";
|
|
4002
|
+
alpha?: number;
|
|
4003
|
+
}>;
|
|
4004
|
+
readonly axisLabel: Readonly<{
|
|
4005
|
+
source: "theme";
|
|
4006
|
+
key: "textMuted";
|
|
4007
|
+
alpha?: number;
|
|
4008
|
+
}>;
|
|
4009
|
+
readonly gridLine: Readonly<{
|
|
4010
|
+
source: "theme";
|
|
4011
|
+
key: "border";
|
|
4012
|
+
alpha?: number;
|
|
4013
|
+
}>;
|
|
4014
|
+
readonly legendLabel: Readonly<{
|
|
4015
|
+
source: "theme";
|
|
4016
|
+
key: "textBody";
|
|
4017
|
+
alpha?: number;
|
|
4018
|
+
}>;
|
|
4019
|
+
readonly tooltipSurface: Readonly<{
|
|
4020
|
+
source: "theme";
|
|
4021
|
+
key: "surface";
|
|
4022
|
+
alpha?: number;
|
|
4023
|
+
}>;
|
|
4024
|
+
readonly tooltipBorder: Readonly<{
|
|
4025
|
+
source: "theme";
|
|
4026
|
+
key: "border";
|
|
4027
|
+
alpha?: number;
|
|
4028
|
+
}>;
|
|
4029
|
+
readonly tooltipContent: Readonly<{
|
|
4030
|
+
source: "theme";
|
|
4031
|
+
key: "textBody";
|
|
4032
|
+
alpha?: number;
|
|
4033
|
+
}>;
|
|
4034
|
+
readonly lineWidth: 1;
|
|
4035
|
+
readonly gridWidth: 1;
|
|
4036
|
+
readonly labelVariant: "caption";
|
|
4037
|
+
readonly legendVariant: "label";
|
|
4038
|
+
};
|
|
4039
|
+
};
|
|
3913
4040
|
readonly datePickerRecipe: {
|
|
3914
4041
|
readonly slots: readonly ["root", "label", "trigger", "leading", "value", "placeholder", "clear", "indicator", "description", "error", "popover"];
|
|
3915
4042
|
readonly defaults: {
|
package/dist/catalog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiGjB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkGjB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,cAAc,CAAC"}
|
package/dist/catalog.js
CHANGED
|
@@ -161,7 +161,10 @@ export const componentCatalog = [
|
|
|
161
161
|
{ name: "Statistic", category: "data-display", platform: "shared", status: "stable", ...surfaceMaturity("stable", "stable"), recipe: "statisticRecipe" },
|
|
162
162
|
// Timeline labels are visible prose and now have long-copy matrix coverage on both renderers.
|
|
163
163
|
{ name: "Timeline", category: "data-display", platform: "shared", status: "stable", ...surfaceMaturity("stable", "stable"), recipe: "timelineRecipe", ...evidenceNeeded("두 제품의 이력 UI가 공통 descriptor와 Web/RN dot·connector renderer를 소비합니다. 남은 renderer 증거는 generated 보고서에서 추적합니다.") },
|
|
164
|
-
|
|
164
|
+
// 2026-10-14: Native DataTable renderer added (pinned columns, sortDescFirst, summary row); beta until device evidence.
|
|
165
|
+
{ name: "DataTable", category: "data-display", platform: "shared", status: "stable", ...surfaceMaturity("stable", "beta"), recipe: "dataTableRecipe", behavior: "dataTable" },
|
|
166
|
+
// 2026-10-14 user request: chart drawing absorbed from product libraries (docs/chart.md); one family for all chart types.
|
|
167
|
+
{ name: "Chart", category: "data-display", platform: "shared", status: "beta", ...surfaceMaturity("beta", "beta"), recipe: "chartRecipe", behavior: "chart" },
|
|
165
168
|
{ name: "Tree", category: "data-display", platform: "web", status: "stable", ...surfaceMaturity("stable", "unsupported"), recipe: "treeRecipe", behavior: "tree" },
|
|
166
169
|
{ name: "Calendar", category: "data-display", platform: "shared", status: "stable", ...surfaceMaturity("stable", "stable"), recipe: "calendarRecipe", behavior: "calendar" },
|
|
167
170
|
{ name: "Carousel", category: "data-display", platform: "adaptive", status: "stable", ...surfaceMaturity("stable", "stable"), recipe: "carouselRecipe", behavior: "carousel" },
|
|
@@ -211,7 +214,7 @@ export function summarizeComponentRoadmap(entries = componentCatalog) {
|
|
|
211
214
|
declined: 0,
|
|
212
215
|
});
|
|
213
216
|
}
|
|
214
|
-
import { accordionRecipe, alertDialogRecipe, avatarRecipe, badgeRecipe, bottomNavigationRecipe, bottomCtaRecipe, anchorRecipe, agreementRecipe, topRecipe, authProviderButtonRecipe, authScreenRecipe, headingRecipe, toggleGroupRecipe, tagsInputRecipe, skipNavRecipe, bottomInfoRecipe, sidebarRecipe, textFormatRecipe, collapsibleRecipe, menubarRecipe, assetRecipe, breadcrumbRecipe, aspectRatioRecipe, containerRecipe, calendarRecipe, cardRecipe, buttonRecipe, carouselRecipe, chipRecipe, comboboxRecipe, descriptionListRecipe, counterBadgeRecipe, dialogRecipe, dataTableRecipe, datePickerRecipe, dividerRecipe, formRecipe, emptyStateRecipe, fieldRecipe, filePickerRecipe, iconButtonRecipe, iconRecipe, imageRecipe, linkRecipe, listRecipe, listRowRecipe, loadMoreRecipe, menuRecipe, noticeRecipe, paginationRecipe, popoverRecipe, numberFieldRecipe, progressRecipe, resultRecipe, searchFieldRecipe, selectRecipe, selectionGroupRecipe, sectionRecipe, segmentedControlRecipe, selectionControlRecipe, sheetRecipe, sidePanelRecipe, commandPaletteRecipe, layoutRecipe, otpFieldRecipe, passwordFieldRecipe, splitterRecipe, tourRecipe, transferListRecipe, skeletonRecipe, sliderRecipe, spinnerRecipe, stackRecipe, statisticRecipe, stepsRecipe, surfaceRecipe, switchRecipe, tabsRecipe, tagRecipe, textRecipe, timelineRecipe, toastRecipe, tooltipRecipe, topBarRecipe, treeRecipe, uploadItemRecipe, visuallyHiddenRecipe, } from "./recipes.js";
|
|
217
|
+
import { accordionRecipe, alertDialogRecipe, avatarRecipe, badgeRecipe, bottomNavigationRecipe, bottomCtaRecipe, anchorRecipe, agreementRecipe, topRecipe, authProviderButtonRecipe, authScreenRecipe, headingRecipe, toggleGroupRecipe, tagsInputRecipe, skipNavRecipe, bottomInfoRecipe, sidebarRecipe, textFormatRecipe, collapsibleRecipe, menubarRecipe, assetRecipe, breadcrumbRecipe, aspectRatioRecipe, containerRecipe, calendarRecipe, cardRecipe, buttonRecipe, carouselRecipe, chipRecipe, comboboxRecipe, descriptionListRecipe, counterBadgeRecipe, dialogRecipe, dataTableRecipe, chartRecipe, datePickerRecipe, dividerRecipe, formRecipe, emptyStateRecipe, fieldRecipe, filePickerRecipe, iconButtonRecipe, iconRecipe, imageRecipe, linkRecipe, listRecipe, listRowRecipe, loadMoreRecipe, menuRecipe, noticeRecipe, paginationRecipe, popoverRecipe, numberFieldRecipe, progressRecipe, resultRecipe, searchFieldRecipe, selectRecipe, selectionGroupRecipe, sectionRecipe, segmentedControlRecipe, selectionControlRecipe, sheetRecipe, sidePanelRecipe, commandPaletteRecipe, layoutRecipe, otpFieldRecipe, passwordFieldRecipe, splitterRecipe, tourRecipe, transferListRecipe, skeletonRecipe, sliderRecipe, spinnerRecipe, stackRecipe, statisticRecipe, stepsRecipe, surfaceRecipe, switchRecipe, tabsRecipe, tagRecipe, textRecipe, timelineRecipe, toastRecipe, tooltipRecipe, topBarRecipe, treeRecipe, uploadItemRecipe, visuallyHiddenRecipe, } from "./recipes.js";
|
|
215
218
|
import { floatingActionButtonRecipe } from "./floating-action-button.js";
|
|
216
219
|
import { gridRecipe } from "./grid.js";
|
|
217
220
|
/** One typed registry prevents catalog recipe names from drifting into strings. */
|
|
@@ -257,6 +260,7 @@ export const recipeRegistry = {
|
|
|
257
260
|
counterBadgeRecipe,
|
|
258
261
|
dialogRecipe,
|
|
259
262
|
dataTableRecipe,
|
|
263
|
+
chartRecipe,
|
|
260
264
|
datePickerRecipe,
|
|
261
265
|
dividerRecipe,
|
|
262
266
|
formRecipe,
|