@hjmds/design-contracts 1.18.0 → 1.20.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.
Files changed (251) hide show
  1. package/dist/action-session.d.ts +16 -0
  2. package/dist/action-session.d.ts.map +1 -1
  3. package/dist/action-session.js +18 -0
  4. package/dist/action-session.js.map +1 -1
  5. package/dist/behaviors.d.ts +8 -6
  6. package/dist/behaviors.d.ts.map +1 -1
  7. package/dist/behaviors.js +4 -3
  8. package/dist/behaviors.js.map +1 -1
  9. package/dist/bottom-navigation.d.ts +14 -0
  10. package/dist/bottom-navigation.d.ts.map +1 -1
  11. package/dist/bottom-navigation.js +21 -0
  12. package/dist/bottom-navigation.js.map +1 -1
  13. package/dist/carousel.d.ts +3 -0
  14. package/dist/carousel.d.ts.map +1 -1
  15. package/dist/carousel.js.map +1 -1
  16. package/dist/catalog.d.ts +61 -0
  17. package/dist/catalog.d.ts.map +1 -1
  18. package/dist/component-recipes.d.ts +67 -0
  19. package/dist/component-recipes.d.ts.map +1 -1
  20. package/dist/component-recipes.js +27 -1
  21. package/dist/component-recipes.js.map +1 -1
  22. package/dist/field-group.d.ts +14 -0
  23. package/dist/field-group.d.ts.map +1 -1
  24. package/dist/field-group.js +9 -0
  25. package/dist/field-group.js.map +1 -1
  26. package/dist/form.d.ts.map +1 -1
  27. package/dist/form.js +10 -3
  28. package/dist/form.js.map +1 -1
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/screen-patterns.d.ts +4 -0
  33. package/dist/screen-patterns.d.ts.map +1 -1
  34. package/dist/screen-patterns.js +12 -3
  35. package/dist/screen-patterns.js.map +1 -1
  36. package/dist/semantic-colors.d.ts +9 -0
  37. package/dist/semantic-colors.d.ts.map +1 -1
  38. package/dist/semantic-colors.js +5 -0
  39. package/dist/semantic-colors.js.map +1 -1
  40. package/dist/toast.d.ts +10 -1
  41. package/dist/toast.d.ts.map +1 -1
  42. package/dist/toast.js +43 -2
  43. package/dist/toast.js.map +1 -1
  44. package/dist/version.d.ts +1 -1
  45. package/dist/version.js +1 -1
  46. package/dist/version.js.map +1 -1
  47. package/docs/action-session.md +2 -0
  48. package/docs/asset.md +7 -0
  49. package/docs/bottom-navigation.md +22 -0
  50. package/docs/brand-boundary.md +3 -3
  51. package/docs/collection-rail.md +4 -0
  52. package/docs/compound-controls.md +8 -3
  53. package/docs/consumer-policy.md +39 -120
  54. package/docs/generated/component-maturity.md +1 -1
  55. package/docs/generated/renderer-evidence.json +3 -3
  56. package/docs/generated/renderer-evidence.md +1 -1
  57. package/docs/generated/showcase-manifest.json +1 -1
  58. package/docs/gravity-letters.md +2 -0
  59. package/docs/grid-reveal.md +2 -0
  60. package/docs/layout.md +2 -2
  61. package/docs/load-more.md +5 -0
  62. package/docs/migration-native-legacy-removal.md +30 -17
  63. package/docs/optional-adapters.md +4 -0
  64. package/docs/screen-patterns.md +23 -1
  65. package/docs/toast.md +41 -2
  66. package/docs/usage/README.md +248 -245
  67. package/docs/usage/SELECTION.md +43 -0
  68. package/docs/usage/STANDARD.md +22 -10
  69. package/docs/usage/components/accordion.md +5 -3
  70. package/docs/usage/components/agreement.md +6 -9
  71. package/docs/usage/components/alert-dialog.md +12 -6
  72. package/docs/usage/components/asset.md +10 -4
  73. package/docs/usage/components/auth-provider-button.md +2 -2
  74. package/docs/usage/components/avatar.md +8 -6
  75. package/docs/usage/components/badge.md +4 -4
  76. package/docs/usage/components/bottom-cta.md +4 -4
  77. package/docs/usage/components/bottom-info.md +2 -2
  78. package/docs/usage/components/bottom-navigation.md +30 -6
  79. package/docs/usage/components/button.md +2 -2
  80. package/docs/usage/components/card.md +1 -1
  81. package/docs/usage/components/carousel.md +12 -4
  82. package/docs/usage/components/chat-message.md +6 -2
  83. package/docs/usage/components/chat-screen.md +5 -5
  84. package/docs/usage/components/checkbox-group.md +1 -1
  85. package/docs/usage/components/checkbox.md +2 -2
  86. package/docs/usage/components/chip.md +2 -2
  87. package/docs/usage/components/code-block.md +3 -4
  88. package/docs/usage/components/collapsible.md +6 -4
  89. package/docs/usage/components/combobox.md +2 -2
  90. package/docs/usage/components/command-palette.md +1 -1
  91. package/docs/usage/components/comment-thread-screen.md +7 -4
  92. package/docs/usage/components/container.md +1 -1
  93. package/docs/usage/components/content-transition.md +2 -2
  94. package/docs/usage/components/context-menu.md +2 -2
  95. package/docs/usage/components/counter-badge.md +3 -3
  96. package/docs/usage/components/data-table.md +1 -1
  97. package/docs/usage/components/date-picker.md +4 -4
  98. package/docs/usage/components/description-list.md +3 -3
  99. package/docs/usage/components/design-system-provider.md +2 -2
  100. package/docs/usage/components/dialog.md +14 -3
  101. package/docs/usage/components/divider.md +2 -2
  102. package/docs/usage/components/editor-screen.md +5 -3
  103. package/docs/usage/components/effect-surface.md +1 -1
  104. package/docs/usage/components/empty-state.md +6 -6
  105. package/docs/usage/components/field.md +5 -3
  106. package/docs/usage/components/file-picker.md +6 -3
  107. package/docs/usage/components/form.md +1 -1
  108. package/docs/usage/components/heading.md +3 -3
  109. package/docs/usage/components/icon-button.md +3 -3
  110. package/docs/usage/components/icon.md +1 -1
  111. package/docs/usage/components/image.md +5 -4
  112. package/docs/usage/components/keyboard-dock.md +1 -1
  113. package/docs/usage/components/layout.md +1 -1
  114. package/docs/usage/components/link.md +2 -2
  115. package/docs/usage/components/list-detail-screen.md +6 -6
  116. package/docs/usage/components/list-row.md +13 -4
  117. package/docs/usage/components/list.md +5 -4
  118. package/docs/usage/components/masonry.md +2 -1
  119. package/docs/usage/components/media-selection-screen.md +11 -5
  120. package/docs/usage/components/mentions.md +2 -2
  121. package/docs/usage/components/menu.md +3 -2
  122. package/docs/usage/components/menubar.md +2 -2
  123. package/docs/usage/components/message-composer.md +3 -3
  124. package/docs/usage/components/moderation-screen.md +3 -2
  125. package/docs/usage/components/notice.md +2 -2
  126. package/docs/usage/components/notification-inbox-screen.md +1 -1
  127. package/docs/usage/components/notification-item.md +2 -2
  128. package/docs/usage/components/number-field.md +3 -3
  129. package/docs/usage/components/otp-field.md +1 -1
  130. package/docs/usage/components/overview-screen.md +1 -1
  131. package/docs/usage/components/permission-screen.md +1 -1
  132. package/docs/usage/components/photo-source-sheet.md +1 -1
  133. package/docs/usage/components/popover.md +2 -2
  134. package/docs/usage/components/profile-screen.md +1 -1
  135. package/docs/usage/components/progress.md +2 -2
  136. package/docs/usage/components/qr-code.md +2 -2
  137. package/docs/usage/components/radio-group.md +1 -2
  138. package/docs/usage/components/radio.md +1 -2
  139. package/docs/usage/components/result.md +1 -1
  140. package/docs/usage/components/saved-items-screen.md +4 -2
  141. package/docs/usage/components/screen-layout.md +4 -3
  142. package/docs/usage/components/search-field.md +1 -1
  143. package/docs/usage/components/search-screen.md +4 -4
  144. package/docs/usage/components/section.md +3 -3
  145. package/docs/usage/components/segmented-control.md +4 -4
  146. package/docs/usage/components/select.md +2 -3
  147. package/docs/usage/components/settings-screen.md +11 -49
  148. package/docs/usage/components/sheet.md +10 -5
  149. package/docs/usage/components/sidebar.md +1 -1
  150. package/docs/usage/components/skeleton.md +1 -1
  151. package/docs/usage/components/skip-nav.md +1 -1
  152. package/docs/usage/components/slider.md +2 -2
  153. package/docs/usage/components/spinner.md +2 -2
  154. package/docs/usage/components/splitter.md +1 -1
  155. package/docs/usage/components/statistic.md +5 -4
  156. package/docs/usage/components/steps.md +2 -2
  157. package/docs/usage/components/surface.md +2 -3
  158. package/docs/usage/components/switch.md +1 -1
  159. package/docs/usage/components/tabs.md +4 -4
  160. package/docs/usage/components/tag.md +2 -2
  161. package/docs/usage/components/tags-input.md +4 -4
  162. package/docs/usage/components/text-area.md +2 -3
  163. package/docs/usage/components/text.md +85 -4
  164. package/docs/usage/components/timeline.md +2 -2
  165. package/docs/usage/components/toast.md +17 -7
  166. package/docs/usage/components/toggle-group.md +3 -3
  167. package/docs/usage/components/tooltip.md +1 -1
  168. package/docs/usage/components/top-bar.md +5 -4
  169. package/docs/usage/components/top.md +3 -3
  170. package/docs/usage/components/transfer-list.md +5 -4
  171. package/docs/usage/components/upload-item.md +3 -3
  172. package/docs/usage/components/virtual-list.md +1 -0
  173. package/docs/usage/compositions/action-feedback.md +42 -6
  174. package/docs/usage/compositions/action-recovery-optimistic.md +6 -1
  175. package/docs/usage/compositions/action-recovery-save.md +19 -23
  176. package/docs/usage/compositions/action-recovery-undo.md +6 -1
  177. package/docs/usage/compositions/activity-status.md +11 -5
  178. package/docs/usage/compositions/collection-detail.md +2 -0
  179. package/docs/usage/compositions/command-records.md +15 -5
  180. package/docs/usage/compositions/common-message.md +4 -2
  181. package/docs/usage/compositions/common-notification.md +5 -3
  182. package/docs/usage/compositions/compound-controls.md +13 -5
  183. package/docs/usage/compositions/content-transition-comparison.md +2 -2
  184. package/docs/usage/compositions/date-entry.md +10 -5
  185. package/docs/usage/compositions/date-time-selection.md +3 -3
  186. package/docs/usage/compositions/design-profile-comparison.md +7 -5
  187. package/docs/usage/compositions/disclosure.md +1 -1
  188. package/docs/usage/compositions/document-resource.md +10 -3
  189. package/docs/usage/compositions/expo-interactions.md +3 -2
  190. package/docs/usage/compositions/family-drawer.md +9 -4
  191. package/docs/usage/compositions/field-group.md +7 -1
  192. package/docs/usage/compositions/floating-action-button.md +18 -18
  193. package/docs/usage/compositions/illustrated-outcome.md +3 -2
  194. package/docs/usage/compositions/input-sheet.md +6 -2
  195. package/docs/usage/compositions/interaction-adapters.md +1 -1
  196. package/docs/usage/compositions/interaction-flow-apply.md +6 -3
  197. package/docs/usage/compositions/interaction-flow-draft.md +5 -2
  198. package/docs/usage/compositions/interaction-flow-search.md +5 -2
  199. package/docs/usage/compositions/live-list.md +7 -5
  200. package/docs/usage/compositions/navigation-bar-collection.md +8 -7
  201. package/docs/usage/compositions/optional-adapters.md +1 -1
  202. package/docs/usage/compositions/origin-dialog.md +5 -5
  203. package/docs/usage/compositions/paper-surface.md +1 -1
  204. package/docs/usage/compositions/photo-source.md +1 -1
  205. package/docs/usage/compositions/purpose-input-comment.md +5 -3
  206. package/docs/usage/compositions/purpose-input-message.md +5 -3
  207. package/docs/usage/compositions/reference-first.md +63 -42
  208. package/docs/usage/compositions/reference-review.md +60 -50
  209. package/docs/usage/compositions/reference-settings.md +60 -50
  210. package/docs/usage/compositions/selection-scope.md +48 -35
  211. package/docs/usage/compositions/stea-order-progress.md +1 -0
  212. package/docs/usage/compositions/stea-otp-verify.md +5 -3
  213. package/docs/usage/compositions/stea-pixel-empty.md +3 -3
  214. package/docs/usage/compositions/time-selection.md +6 -5
  215. package/docs/usage/compositions/upload-recovery.md +10 -1
  216. package/docs/usage/compositions/video-dialog.md +10 -3
  217. package/docs/usage/compositions/web-additions.md +5 -5
  218. package/docs/usage/compositions/web-navigation.md +1 -1
  219. package/docs/usage/screens/common-chat.md +21 -8
  220. package/docs/usage/screens/common-comments.md +13 -1
  221. package/docs/usage/screens/common-inbox.md +19 -6
  222. package/docs/usage/screens/common-login.md +19 -7
  223. package/docs/usage/screens/common-profile.md +22 -9
  224. package/docs/usage/screens/common-saved.md +16 -2
  225. package/docs/usage/screens/common-search.md +24 -4
  226. package/docs/usage/screens/common-settings.md +22 -50
  227. package/docs/usage/screens/common-shell.md +14 -2
  228. package/docs/usage/screens/dashboard.md +52 -109
  229. package/docs/usage/screens/discovery-gallery.md +57 -148
  230. package/docs/usage/screens/flow-collection.md +38 -9
  231. package/docs/usage/screens/flow-editor.md +25 -7
  232. package/docs/usage/screens/flow-media.md +23 -7
  233. package/docs/usage/screens/flow-moderation.md +15 -2
  234. package/docs/usage/screens/flow-onboarding.md +3 -3
  235. package/docs/usage/screens/flow-permission.md +17 -3
  236. package/docs/usage/screens/landing.md +37 -20
  237. package/docs/usage/screens/mockup-studio.md +22 -7
  238. package/docs/usage/screens/notification-settings.md +18 -4
  239. package/docs/usage/screens/product-bento.md +18 -9
  240. package/docs/usage/screens/reference-comparison.md +29 -10
  241. package/docs/usage/tokens/color.md +6 -3
  242. package/docs/usage/tokens/elevation-opacity.md +4 -2
  243. package/docs/usage/tokens/font-roles.md +2 -2
  244. package/docs/usage/tokens/layers.md +3 -3
  245. package/docs/usage/tokens/motion.md +2 -2
  246. package/docs/usage/tokens/radius.md +4 -2
  247. package/docs/usage/tokens/spacing.md +3 -3
  248. package/docs/usage/tokens/theme-studio.md +2 -2
  249. package/docs/usage/tokens/typography-studio.md +14 -8
  250. package/docs/usage/tokens/typography.md +15 -5
  251. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"behaviors.js","sourceRoot":"","sources":["../src/behaviors.ts"],"names":[],"mappings":"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","sourcesContent":["import { anchorBehavior } from \"./anchor.js\";\nimport { agreementBehavior } from \"./agreement.js\";\nimport { topBehavior } from \"./top.js\";\nimport { authProviderButtonBehavior } from \"./provider-button.js\";\nimport { authScreenBehavior } from \"./auth-screen.js\";\nimport { headingBehavior } from \"./heading.js\";\nimport { toggleGroupBehavior } from \"./toggle-group.js\";\nimport { tagsInputBehavior } from \"./tags-input.js\";\nimport { skipNavBehavior } from \"./skip-nav.js\";\nimport { bottomInfoBehavior } from \"./bottom-info.js\";\nimport { sidebarBehavior } from \"./sidebar.js\";\nimport { nativePlatformBehavior } from \"./native-platform.js\";\nimport { dateRangeBehavior } from \"./date-range.js\";\nimport { textFormatBehavior } from \"./text-formats.js\";\nimport { collapsibleBehavior } from \"./collapsible.js\";\nimport { assetBehavior } from \"./asset.js\";\nimport { menubarBehavior } from \"./menubar.js\";\nimport { contextMenuBehavior } from \"./context-menu.js\";\nimport { sheetBehaviorDefaults } from \"./sheet.js\";\nimport { loadMoreBehaviorDefaults } from \"./load-more.js\";\nimport { toastBehaviorDefaults } from \"./toast.js\";\nimport { bottomNavigationBehaviorDefaults } from \"./bottom-navigation.js\";\nimport { tooltipBehaviorDefaults } from \"./tooltip.js\";\n/*\n Batch 2 저작 모듈의 행동 계약. 각 컴포넌트가 자기 모듈에 spec을 두고 레지스트리는\n 경로만 모은다 — 여러 저작자가 병렬로 이 파일을 고치면 서로의 변경을 덮어쓴다\n (`docs/authoring-brief.md`).\n*/\nimport { breadcrumbBehaviorSpec } from \"./breadcrumb.js\";\nimport { calendarBehavior } from \"./calendar.js\";\nimport { carouselBehavior } from \"./carousel.js\";\nimport { commandPaletteBehaviorScenarios } from \"./command-palette.js\";\nimport { floatingActionButtonBehaviorScenarios } from \"./floating-action-button.js\";\nimport { tourBehaviorScenarios } from \"./tour.js\";\nimport { dataTableBehavior } from \"./data-table.js\";\nimport { layoutBehavior } from \"./layout.js\";\nimport { otpFieldBehavior } from \"./otp-field.js\";\nimport { passwordFieldBehavior } from \"./password-field.js\";\nimport { splitterBehavior } from \"./splitter.js\";\nimport { datePickerBehavior } from \"./date-picker.js\";\nimport { sidePanelBehavior } from \"./side-panel.js\";\nimport { filePickerBehavior } from \"./file-picker.js\";\nimport { paginationBehaviorScenarios } from \"./pagination.js\";\nimport { popoverBehaviorDefaults, popoverBehaviorScenarios } from \"./popover.js\";\nimport { treeBehavior } from \"./tree.js\";\nimport { uploadItemBehavior } from \"./upload-item.js\";\nimport { formBehaviorSpec } from \"./form.js\";\nimport { numberFieldBehavior } from \"./number-field.js\";\nimport { sliderBehavior } from \"./slider.js\";\nimport type { DesignSystemDirection } from \"./design-system-provider.js\";\nimport {\n checkboxBehaviorDefaults,\n type CheckboxState,\n} from \"./selection-helpers.js\";\n\nexport {\n checkboxBehaviorDefaults,\n getCheckboxNextState,\n reconcileCheckboxSelection,\n toggleCheckboxSelection,\n type CheckboxState,\n type MixedCheckboxActivation,\n} from \"./selection-helpers.js\";\n\n/** Platform-neutral behavior vocabulary shared by renderer acceptance tests. */\nexport type InteractionState =\n | \"idle\"\n | \"hover\"\n | \"focusVisible\"\n | \"pressed\"\n | \"dragged\";\nexport type AvailabilityState = \"enabled\" | \"disabled\" | \"readOnly\" | \"busy\";\nexport type ValueState =\n | \"empty\"\n | \"filled\"\n | \"checked\"\n | \"mixed\"\n | \"selected\"\n | \"open\"\n | \"expanded\";\nexport type ValidationState = \"valid\" | \"invalid\";\nexport type ContentState =\n | \"idle\"\n | \"loading\"\n | \"loadingMore\"\n | \"empty\"\n | \"error\"\n | \"complete\";\nexport type TabsActivationMode = \"automatic\" | \"manual\";\nexport type TabsMountPolicy = \"active\" | \"visited\" | \"always\";\nexport type TabsPanelMode = \"keyed\" | \"dynamic\";\nexport type TabsOrientation = \"horizontal\" | \"vertical\";\nexport type TabsDirection = DesignSystemDirection;\n\nexport type SelectionOrientation = \"horizontal\" | \"vertical\";\nexport type SelectionDirection = DesignSystemDirection;\n\n/** Stable option anatomy shared by CheckboxGroup and RadioGroup renderers. */\nexport type SelectionItemDescriptor<Key extends string = string> = Readonly<{\n id: Key;\n label: string;\n description?: string;\n disabled?: boolean;\n}>;\n\n/** A group needs either visible copy or an explicit accessible name. */\nexport type SelectionGroupLabel =\n | Readonly<{ label: string; accessibilityLabel?: string }>\n | Readonly<{ label?: never; accessibilityLabel: string }>;\n\nexport type ControlledCheckboxState = Readonly<{\n checked: CheckboxState;\n defaultChecked?: never;\n onCheckedChange(checked: boolean): void;\n}>;\nexport type UncontrolledCheckboxState = Readonly<{\n checked?: never;\n defaultChecked?: CheckboxState;\n onCheckedChange?: (checked: boolean) => void;\n}>;\nexport type CheckboxSelection = ControlledCheckboxState | UncontrolledCheckboxState;\n\nexport type ControlledCheckboxGroupSelection<Key extends string = string> = Readonly<{\n value: ReadonlySet<Key>;\n defaultValue?: never;\n onValueChange(value: ReadonlySet<Key>): void;\n}>;\nexport type UncontrolledCheckboxGroupSelection<Key extends string = string> = Readonly<{\n value?: never;\n defaultValue?: ReadonlySet<Key>;\n onValueChange?: (value: ReadonlySet<Key>) => void;\n}>;\nexport type CheckboxGroupSelection<Key extends string = string> =\n | ControlledCheckboxGroupSelection<Key>\n | UncontrolledCheckboxGroupSelection<Key>;\n\nexport type ControlledRadioGroupSelection<Key extends string = string> = Readonly<{\n value: Key | null;\n defaultValue?: never;\n onValueChange(value: Key): void;\n}>;\nexport type UncontrolledRadioGroupSelection<Key extends string = string> = Readonly<{\n value?: never;\n defaultValue?: Key | null;\n onValueChange?: (value: Key) => void;\n}>;\nexport type RadioGroupSelection<Key extends string = string> =\n | ControlledRadioGroupSelection<Key>\n | UncontrolledRadioGroupSelection<Key>;\n\nexport type SelectionNavigationIntent = \"next\" | \"previous\" | \"first\" | \"last\";\n\n/** Resolves a renderer's required name while rejecting type-valid blank copy. */\nexport function resolveControlAccessibleName(\n label: string | undefined,\n accessibilityLabel: string | undefined,\n controlName = \"Control\",\n): string {\n if (label !== undefined && (typeof label !== \"string\" || !label.trim())) {\n throw new TypeError(`${controlName} label must not be empty`);\n }\n if (\n accessibilityLabel !== undefined &&\n (typeof accessibilityLabel !== \"string\" || !accessibilityLabel.trim())\n ) {\n throw new TypeError(`${controlName} accessibilityLabel must not be empty`);\n }\n const resolved = accessibilityLabel?.trim() || label?.trim();\n if (!resolved) {\n throw new TypeError(`${controlName} needs an accessible name`);\n }\n return resolved;\n}\n\nexport const selectionGroupBehaviorDefaults = {\n orientation: \"vertical\",\n direction: \"ltr\",\n} as const satisfies Readonly<{\n orientation: SelectionOrientation;\n direction: SelectionDirection;\n}>;\n\nexport const radioGroupBehaviorDefaults = {\n ...selectionGroupBehaviorDefaults,\n loop: true,\n} as const satisfies Readonly<{\n orientation: SelectionOrientation;\n direction: SelectionDirection;\n loop: boolean;\n}>;\n\nexport const selectBehaviorDefaults = {\n disallowEmptySelection: false,\n loop: false,\n} as const satisfies Readonly<{\n disallowEmptySelection: boolean;\n loop: boolean;\n}>;\n\nexport const comboboxBehaviorDefaults = {\n filtering: \"local\",\n loop: false,\n} as const satisfies Readonly<{\n filtering: ComboboxFiltering;\n loop: boolean;\n}>;\n\n/** Throws before a renderer can expose ambiguous or unreachable selection state. */\nexport function validateSelectionItems<Key extends string>(\n items: readonly SelectionItemDescriptor<Key>[],\n): void {\n const ids = new Set<Key>();\n for (const item of items) {\n if (typeof item.id !== \"string\" || item.id.trim().length === 0) {\n throw new TypeError(\"Selection item id must not be empty\");\n }\n if (typeof item.label !== \"string\" || item.label.trim().length === 0) {\n throw new TypeError(`Selection item ${item.id} label must not be empty`);\n }\n if (\n item.description !== undefined &&\n (typeof item.description !== \"string\" ||\n item.description.trim().length === 0)\n ) {\n throw new TypeError(\n `Selection item ${item.id} description must not be empty when provided`,\n );\n }\n if (ids.has(item.id)) {\n throw new TypeError(`Duplicate selection item id: ${item.id}`);\n }\n ids.add(item.id);\n }\n}\n\nexport function validateCheckboxSelection<Key extends string>(\n items: readonly SelectionItemDescriptor<Key>[],\n current: ReadonlySet<Key>,\n): void {\n validateSelectionItems(items);\n const knownIds = new Set(items.map((item) => item.id));\n for (const selectedId of current) {\n if (!knownIds.has(selectedId)) {\n throw new RangeError(`Selected checkbox must exist: ${selectedId}`);\n }\n }\n}\n\nexport function resolveInitialRadioValue<Key extends string>(\n items: readonly SelectionItemDescriptor<Key>[],\n requestedValue: Key | null | undefined,\n required = false,\n): Key | null {\n validateSelectionItems(items);\n if (requestedValue != null) {\n if (!items.some((item) => item.id === requestedValue)) {\n throw new RangeError(`Selected radio must exist: ${requestedValue}`);\n }\n return requestedValue;\n }\n return required ? (items.find((item) => !item.disabled)?.id ?? null) : null;\n}\n\nexport function validateRadioSelection<Key extends string>(\n items: readonly SelectionItemDescriptor<Key>[],\n current: Key | null,\n): void {\n validateSelectionItems(items);\n if (current != null && !items.some((item) => item.id === current)) {\n throw new RangeError(`Selected radio must exist: ${current}`);\n }\n}\n\n/** Returns the only enabled radio that may enter the Web tab order. */\nexport function resolveRadioTabStop<Key extends string>(\n items: readonly SelectionItemDescriptor<Key>[],\n selectedValue: Key | null,\n): Key | undefined {\n validateSelectionItems(items);\n const selected = items.find((item) => item.id === selectedValue);\n if (selected && !selected.disabled) return selected.id;\n return items.find((item) => !item.disabled)?.id;\n}\n\n/** Reconciles an uncontrolled radio when its selected item leaves the collection. */\nexport function reconcileRadioSelection<Key extends string>(\n items: readonly SelectionItemDescriptor<Key>[],\n current: Key | null,\n required = false,\n): Key | null {\n validateSelectionItems(items);\n if (current != null && items.some((item) => item.id === current)) return current;\n return required ? (items.find((item) => !item.disabled)?.id ?? null) : null;\n}\n\nexport function getSelectionNavigationIntent(\n key: WebKeyboardKey,\n orientation: SelectionOrientation,\n direction: SelectionDirection,\n): SelectionNavigationIntent | undefined {\n if (key === \"Home\") return \"first\";\n if (key === \"End\") return \"last\";\n if (orientation === \"vertical\") {\n if (key === \"ArrowDown\") return \"next\";\n if (key === \"ArrowUp\") return \"previous\";\n return undefined;\n }\n if (key === \"ArrowRight\") return direction === \"rtl\" ? \"previous\" : \"next\";\n if (key === \"ArrowLeft\") return direction === \"rtl\" ? \"next\" : \"previous\";\n return undefined;\n}\n\nexport function getRadioNavigationTarget<Key extends string>(\n items: readonly SelectionItemDescriptor<Key>[],\n currentId: Key | null | undefined,\n intent: SelectionNavigationIntent,\n loop = true,\n): Key | undefined {\n validateSelectionItems(items);\n const enabled = items.filter((item) => !item.disabled);\n if (enabled.length === 0) return undefined;\n if (intent === \"first\") return enabled[0]?.id;\n if (intent === \"last\") return enabled.at(-1)?.id;\n const currentIndex = enabled.findIndex((item) => item.id === currentId);\n if (currentIndex < 0) return enabled[0]?.id;\n const delta = intent === \"next\" ? 1 : -1;\n const nextIndex = currentIndex + delta;\n if (!loop && (nextIndex < 0 || nextIndex >= enabled.length)) return currentId ?? enabled[0]?.id;\n return enabled[(nextIndex + enabled.length) % enabled.length]?.id;\n}\n\n/** Platform-neutral item anatomy shared by Web and native Tabs renderers. */\nexport type TabDescriptor<Key extends string = string> = Readonly<{\n id: Key;\n label: string;\n disabled?: boolean;\n}>;\nexport type ControlledTabsSelection<Key extends string = string> = Readonly<{\n value: Key;\n defaultValue?: never;\n onValueChange(value: Key): void;\n}>;\nexport type UncontrolledTabsSelection<Key extends string = string> = Readonly<{\n value?: never;\n defaultValue?: Key;\n onValueChange?: (value: Key) => void;\n}>;\nexport type TabsSelection<Key extends string = string> =\n | ControlledTabsSelection<Key>\n | UncontrolledTabsSelection<Key>;\nexport type TabNavigationIntent = \"next\" | \"previous\" | \"first\" | \"last\";\n\nexport function getTabNavigationIntent(\n key: WebKeyboardKey,\n orientation: TabsOrientation,\n direction: TabsDirection,\n): TabNavigationIntent | undefined {\n if (key === \"Home\") return \"first\";\n if (key === \"End\") return \"last\";\n if (orientation === \"vertical\") {\n if (key === \"ArrowDown\") return \"next\";\n if (key === \"ArrowUp\") return \"previous\";\n return undefined;\n }\n if (key === \"ArrowRight\") return direction === \"rtl\" ? \"previous\" : \"next\";\n if (key === \"ArrowLeft\") return direction === \"rtl\" ? \"next\" : \"previous\";\n return undefined;\n}\n\n/** Validates collection identity and resolves the only safe initial selection. */\nexport function resolveInitialTabValue<Key extends string>(\n items: readonly TabDescriptor<Key>[],\n requestedValue?: Key,\n): Key | undefined {\n const ids = new Set<Key>();\n for (const item of items) {\n if (ids.has(item.id)) {\n throw new TypeError(`Duplicate tab id: ${item.id}`);\n }\n ids.add(item.id);\n }\n if (requestedValue !== undefined) {\n const requested = items.find((item) => item.id === requestedValue);\n if (!requested || requested.disabled) {\n throw new RangeError(`Selected tab must exist and be enabled: ${requestedValue}`);\n }\n return requestedValue;\n }\n return items.find((item) => !item.disabled)?.id;\n}\n\n/** Shared roving-focus math; renderers still own DOM/native focus APIs. */\nexport function getTabNavigationTarget<Key extends string>(\n items: readonly TabDescriptor<Key>[],\n currentId: Key,\n intent: TabNavigationIntent,\n loop = true,\n): Key | undefined {\n const enabled = items.filter((item) => !item.disabled);\n if (enabled.length === 0) return undefined;\n if (intent === \"first\") return enabled[0]?.id;\n if (intent === \"last\") return enabled.at(-1)?.id;\n const currentIndex = enabled.findIndex((item) => item.id === currentId);\n if (currentIndex < 0) return enabled[0]?.id;\n const delta = intent === \"next\" ? 1 : -1;\n const nextIndex = currentIndex + delta;\n if (!loop && (nextIndex < 0 || nextIndex >= enabled.length)) return currentId;\n return enabled[(nextIndex + enabled.length) % enabled.length]?.id;\n}\n\nexport type BehaviorStateAxis =\n | \"interaction\"\n | \"availability\"\n | \"value\"\n | \"validation\"\n | \"content\";\n\nexport type WebKeyboardKey =\n | \"Tab\"\n | \"Enter\"\n | \"Space\"\n | \"Escape\"\n | \"ArrowUp\"\n | \"ArrowDown\"\n | \"ArrowLeft\"\n | \"ArrowRight\"\n | \"Home\"\n | \"End\"\n /** TagsInput removes the previous tag with it; no other contract needed it before. */\n | \"Backspace\"\n | \"PageUp\"\n | \"PageDown\"\n | \"F8\"\n | \"Typeahead\";\n\nexport type NativeAccessibilityState =\n | \"disabled\"\n | \"selected\"\n | \"checked\"\n | \"busy\"\n | \"expanded\";\n\nexport type BehaviorContract = Readonly<{\n /** Controlled/uncontrolled state triplets only. */\n controlled: readonly string[];\n /** Read-only inputs which do not form a controlled state axis. */\n inputs?: readonly string[];\n /** Emitted events which do not themselves own state. */\n events?: readonly string[];\n configuration?: Readonly<Record<string, readonly string[]>>;\n defaults?: Readonly<Record<string, string | number | boolean>>;\n stateAxes: Readonly<Partial<Record<BehaviorStateAxis, readonly string[]>>>;\n web: Readonly<{\n roles: readonly string[];\n keyboard: readonly WebKeyboardKey[];\n focus:\n | \"native\"\n | \"roving\"\n | \"activeDescendant\"\n | \"trap\"\n | \"restore\"\n | \"none\";\n dismiss?: readonly (\n | \"escape\"\n | \"outside\"\n | \"selection\"\n | \"blur\"\n | \"timeout\"\n | \"action\"\n | \"close-action\"\n | \"swipe\"\n | \"programmatic\"\n )[];\n }>;\n native: Readonly<{\n roles: readonly string[];\n states: readonly NativeAccessibilityState[];\n actions: readonly string[];\n dismiss?: readonly (\n | \"back\"\n | \"swipe\"\n | \"outside\"\n | \"selection\"\n | \"timeout\"\n | \"action\"\n | \"close-action\"\n | \"programmatic\"\n )[];\n }>;\n scenarios: readonly string[];\n}>;\n\n/** Safe behavior defaults: automatic activation is opt-in for instant panels. */\nexport const tabsBehaviorDefaults = {\n activationMode: \"manual\",\n mountPolicy: \"active\",\n panelMode: \"keyed\",\n orientation: \"horizontal\",\n direction: \"ltr\",\n loop: true,\n} as const satisfies Readonly<{\n activationMode: TabsActivationMode;\n mountPolicy: TabsMountPolicy;\n panelMode: TabsPanelMode;\n orientation: TabsOrientation;\n direction: TabsDirection;\n loop: boolean;\n}>;\n\n/**\n * Behavior is data, not a React implementation. Web/RN renderers can use any\n * suitable primitive while running the same scenarios and exposing the same\n * controlled state names.\n */\nexport const behaviorRegistry = {\n link: {\n controlled: [],\n inputs: [\"destination\", \"label\"],\n stateAxes: {\n interaction: [\"idle\", \"hover\", \"focusVisible\", \"pressed\"],\n },\n web: {\n roles: [\"link\"],\n keyboard: [\"Tab\", \"Enter\"],\n focus: \"native\",\n },\n native: {\n roles: [\"link\"],\n states: [],\n actions: [\"activate\"],\n },\n scenarios: [\n \"href-is-the-destination-source-of-truth\",\n \"web-renders-a-real-anchor-and-preserves-modifier-context-navigation\",\n \"native-internal-destination-uses-router-link-semantics\",\n \"native-external-destination-uses-platform-linking-and-reports-failure\",\n \"link-never-exposes-disabled-action-or-visited-application-state\",\n \"download-remains-a-separate-platform-workflow\",\n \"visible-label-owns-one-accessible-name\",\n \"leading-and-trailing-icons-are-decorative-semantic-icons\",\n \"logical-icon-direction-follows-rtl\",\n \"inline-link-has-a-persistent-non-color-cue\",\n \"standalone-link-target-is-at-least-forty-four-units\",\n \"destination-link-never-contains-another-interactive-descendant\",\n ],\n },\n field: {\n controlled: [\"value\", \"defaultValue\", \"onValueChange\"],\n stateAxes: {\n availability: [\"enabled\", \"disabled\", \"readOnly\"],\n validation: [\"valid\", \"invalid\"],\n content: [\"idle\", \"loading\", \"error\"],\n },\n web: { roles: [\"textbox\"], keyboard: [\"Tab\"], focus: \"native\" },\n native: { roles: [\"text\"], states: [\"disabled\"], actions: [\"focus\", \"setText\"] },\n scenarios: [\"label-description-error-linkage\", \"invalid-plus-focus\", \"disabled-suppresses-edit\"],\n },\n searchField: {\n controlled: [\"value\", \"defaultValue\", \"onValueChange\", \"onClear\"],\n stateAxes: {\n availability: [\"enabled\", \"disabled\", \"busy\"],\n value: [\"empty\", \"filled\"],\n validation: [\"valid\", \"invalid\"],\n content: [\"idle\", \"loading\", \"error\"],\n },\n web: { roles: [\"searchbox\", \"button\"], keyboard: [\"Tab\", \"Enter\"], focus: \"native\" },\n native: { roles: [\"text\", \"button\"], states: [\"disabled\", \"busy\"], actions: [\"focus\", \"setText\", \"clear\"] },\n scenarios: [\"clear-has-name\", \"empty-hides-clear\", \"invalid-plus-focus\", \"busy-preserves-query\"],\n },\n checkbox: {\n controlled: [\"checked\", \"defaultChecked\", \"onCheckedChange\"],\n configuration: { mixedActivation: [\"check\", \"uncheck\"] },\n defaults: checkboxBehaviorDefaults,\n stateAxes: {\n availability: [\"enabled\", \"disabled\", \"readOnly\"],\n value: [\"checked\", \"mixed\"],\n validation: [\"valid\", \"invalid\"],\n },\n web: { roles: [\"checkbox\"], keyboard: [\"Tab\", \"Space\"], focus: \"native\" },\n native: {\n roles: [\"checkbox\"],\n states: [\"disabled\", \"checked\"],\n actions: [\"activate\"],\n },\n scenarios: [\n \"visible-label-is-accessible-name\",\n \"mixed-is-announced-and-activates-to-default\",\n \"disabled-and-read-only-suppress-change\",\n \"controlled-value-never-mutates-internally\",\n \"required-and-invalid-support-are-linked\",\n ],\n },\n checkboxGroup: {\n controlled: [\"value\", \"defaultValue\", \"onValueChange\"],\n configuration: {\n orientation: [\"horizontal\", \"vertical\"],\n direction: [\"ltr\", \"rtl\"],\n },\n defaults: selectionGroupBehaviorDefaults,\n stateAxes: {\n availability: [\"enabled\", \"disabled\", \"readOnly\"],\n value: [\"checked\"],\n validation: [\"valid\", \"invalid\"],\n },\n web: {\n roles: [\"group\", \"checkbox\"],\n keyboard: [\"Tab\", \"Space\"],\n focus: \"native\",\n },\n native: {\n roles: [\"checkbox\"],\n states: [\"disabled\", \"checked\"],\n actions: [\"activate\"],\n },\n scenarios: [\n \"each-enabled-checkbox-is-a-tab-stop\",\n \"space-toggles-only-focused-checkbox\",\n \"group-label-description-and-error-are-linked\",\n \"disabled-selected-item-is-retained-but-not-activated\",\n \"change-emits-a-fresh-set\",\n \"duplicate-and-unknown-ids-are-rejected\",\n \"uncontrolled-selection-reconciles-collection-mutation\",\n \"required-and-invalid-are-announced\",\n \"no-nested-interactive-descendants\",\n ],\n },\n radioGroup: {\n controlled: [\"value\", \"defaultValue\", \"onValueChange\"],\n configuration: {\n orientation: [\"horizontal\", \"vertical\"],\n direction: [\"ltr\", \"rtl\"],\n loop: [\"true\", \"false\"],\n },\n defaults: radioGroupBehaviorDefaults,\n stateAxes: {\n availability: [\"enabled\", \"disabled\", \"readOnly\"],\n value: [\"checked\", \"selected\"],\n validation: [\"valid\", \"invalid\"],\n },\n web: {\n roles: [\"radiogroup\", \"radio\"],\n keyboard: [\n \"Tab\",\n \"Space\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Home\",\n \"End\",\n ],\n focus: \"roving\",\n },\n native: {\n roles: [\"radio\"],\n states: [\"disabled\", \"checked\"],\n actions: [\"activate\"],\n },\n scenarios: [\n \"at-most-one-selection-and-nullable-initial-value\",\n \"checked-or-first-enabled-is-the-only-tab-stop\",\n \"arrow-focuses-and-selects-while-skipping-disabled\",\n \"orientation-direction-and-loop-control-navigation\",\n \"space-selects-focused-radio\",\n \"group-label-description-and-error-are-linked\",\n \"disabled-selected-item-is-retained-with-enabled-tab-stop\",\n \"required-invalid-and-read-only-are-announced\",\n \"controlled-value-never-mutates-internally\",\n \"duplicate-and-unknown-ids-are-rejected\",\n ],\n },\n switch: {\n controlled: [\"checked\", \"defaultChecked\", \"onCheckedChange\"],\n stateAxes: { availability: [\"enabled\", \"disabled\"], value: [\"checked\"] },\n web: { roles: [\"switch\"], keyboard: [\"Tab\", \"Space\"], focus: \"native\" },\n native: { roles: [\"switch\"], states: [\"disabled\", \"checked\"], actions: [\"activate\"] },\n scenarios: [\"row-and-control-are-one-target\", \"checked-announced\", \"disabled-suppresses-change\"],\n },\n segmentedControl: {\n controlled: [\"value\", \"defaultValue\", \"onValueChange\"],\n stateAxes: { availability: [\"enabled\", \"disabled\"], value: [\"selected\"] },\n web: { roles: [\"radiogroup\", \"radio\"], keyboard: [\"Tab\", \"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"], focus: \"roving\" },\n native: { roles: [\"radio\"], states: [\"disabled\", \"checked\"], actions: [\"activate\"] },\n scenarios: [\"exactly-one-selected\", \"one-tab-stop\", \"arrow-selection\", \"selected-plus-focus\"],\n },\n chip: {\n controlled: [\"selected\", \"onPress\"],\n stateAxes: {\n availability: [\"enabled\", \"disabled\"],\n value: [\"selected\"],\n },\n web: {\n roles: [\"button\", \"radio\", \"checkbox\"],\n keyboard: [\"Tab\", \"Enter\", \"Space\"],\n focus: \"native\",\n },\n native: {\n roles: [\"button\", \"radio\", \"checkbox\"],\n states: [\"disabled\", \"checked\"],\n actions: [\"activate\"],\n },\n scenarios: [\n \"action-never-exposes-selection\",\n \"single-selection-uses-radio-checked\",\n \"multiple-selection-uses-checkbox-checked\",\n \"selected-plus-focus\",\n \"selection-indicator-is-not-color-only\",\n \"single-mode-composes-radio-group-behavior\",\n \"multiple-mode-composes-checkbox-group-behavior\",\n ],\n },\n tabs: {\n controlled: [\"value\", \"defaultValue\", \"onValueChange\"],\n configuration: {\n activationMode: [\"automatic\", \"manual\"],\n mountPolicy: [\"active\", \"visited\", \"always\"],\n panelMode: [\"keyed\", \"dynamic\"],\n orientation: [\"horizontal\", \"vertical\"],\n direction: [\"ltr\", \"rtl\"],\n loop: [\"true\", \"false\"],\n },\n defaults: tabsBehaviorDefaults,\n stateAxes: { availability: [\"enabled\", \"disabled\"], value: [\"selected\"] },\n web: { roles: [\"tablist\", \"tab\", \"tabpanel\"], keyboard: [\"Tab\", \"Enter\", \"Space\", \"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"], focus: \"roving\" },\n native: { roles: [\"tab\"], states: [\"disabled\", \"selected\"], actions: [\"activate\"] },\n scenarios: [\n \"tab-controls-panel\",\n \"one-tab-stop\",\n \"disabled-tab-skipped\",\n \"selected-plus-focus\",\n \"automatic-activation-only-for-instant-panels\",\n \"manual-activation-keeps-focus-and-selection-distinct\",\n \"active-mount-removes-inactive-panel\",\n \"always-mount-makes-inactive-panels-inert\",\n \"visited-mount-preserves-visited-panel-state\",\n \"horizontal-arrows-do-not-consume-up-down\",\n \"vertical-arrows-and-aria-orientation\",\n \"web-tablist-has-accessible-name\",\n \"every-tab-controls-an-existing-panel\",\n \"active-panel-labelled-by-selected-tab\",\n \"manual-focus-does-not-relabel-dynamic-panel\",\n \"dynamic-panel-preserves-host-instance\",\n \"dynamic-panel-requires-active-mount\",\n \"panel-enters-tab-order-when-content-has-no-focus-target\",\n \"rtl-navigation-follows-logical-direction\",\n \"first-enabled-tab-is-uncontrolled-default\",\n \"duplicate-and-disabled-selection-are-rejected\",\n \"controlled-selection-never-mutates-internally\",\n \"native-focus-does-not-select-without-activate\",\n \"inactive-mounted-panels-are-hidden-and-inert\",\n \"uncontrolled-selection-reconciles-collection-mutation\",\n ],\n },\n bottomNavigation: {\n controlled: [],\n inputs: [\"items\", \"selectedKey\", \"accessibilityLabel\"],\n events: [\"onActivate\", \"onLongPress\"],\n configuration: {\n direction: [\"ltr\", \"rtl\"],\n keyboardBehavior: [\"hide\", \"remain\"],\n labels: [\"visible\", \"hidden\"],\n },\n defaults: bottomNavigationBehaviorDefaults,\n stateAxes: {\n interaction: [\"idle\", \"hover\", \"focusVisible\", \"pressed\"],\n availability: [\"enabled\", \"disabled\"],\n value: [\"selected\"],\n },\n web: {\n roles: [\"navigation\", \"list\", \"link\"],\n keyboard: [\"Tab\", \"Enter\"],\n focus: \"native\",\n },\n native: {\n roles: [\"tab\", \"button\"],\n states: [\"disabled\", \"selected\"],\n actions: [\"activate\", \"longpress\"],\n },\n scenarios: [\n \"two-to-five-stable-top-level-destinations\",\n \"router-selected-key-is-read-only-input\",\n \"activation-does-not-select-before-router-commit\",\n \"prevented-or-failed-navigation-keeps-current-selection\",\n \"reselect-is-distinct-from-navigation\",\n \"navigator-preserves-each-destination-state\",\n \"disabled-destination-suppresses-activation\",\n \"visible-label-always-names-a-decorative-icon\",\n \"selected-state-uses-icon-emphasis-and-label-weight-not-color-alone\",\n \"selected-content-and-focus-indicator-remain-simultaneously-visible\",\n \"centered-sibling-action-is-excluded-from-destination-collection\",\n \"badge-zero-is-hidden-and-visible-count-is-bounded\",\n \"badge-subtree-is-hidden-and-item-uses-one-resolved-accessibility-name\",\n \"badge-update-does-not-change-focus-selection-or-live-announce\",\n \"web-uses-a-labelled-navigation-landmark-and-real-links\",\n \"web-current-link-uses-aria-current-page\",\n \"web-preserves-modifier-click-and-does-not-use-tab-roles-or-roving-focus\",\n \"native-emits-tab-press-and-respects-default-prevented-before-navigation\",\n \"native-forwards-tab-long-press\",\n \"native-ios-may-use-button-plus-selected-when-tab-role-is-not-reliably-supported\",\n \"safe-area-padding-is-additive\",\n \"software-keyboard-hides-instead-of-lifting-the-navigation\",\n \"two-hundred-percent-text-wraps-without-fixed-item-height\",\n \"rtl-order-and-badge-anchor-follow-logical-direction\",\n \"targets-are-at-least-forty-four-units\",\n \"reduced-motion-removes-transform-without-changing-state\",\n ],\n },\n disclosureGroup: {\n controlled: [\"expandedKeys\", \"defaultExpandedKeys\", \"onExpandedChange\"],\n stateAxes: { availability: [\"enabled\", \"disabled\"], value: [\"expanded\"] },\n web: { roles: [\"heading\", \"button\", \"region\"], keyboard: [\"Tab\", \"Enter\", \"Space\", \"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"], focus: \"native\" },\n native: { roles: [\"button\"], states: [\"disabled\", \"expanded\"], actions: [\"activate\"] },\n scenarios: [\n \"single-and-multiple-invariants\",\n \"each-enabled-trigger-is-a-tab-stop\",\n \"toggle-keeps-trigger-focus\",\n \"panel-removed-when-collapsed\",\n \"disabled-trigger-suppresses-change\",\n \"reduced-motion\",\n ],\n },\n menu: {\n controlled: [\n \"open\",\n \"defaultOpen\",\n \"onOpenChange\",\n \"onAction\",\n \"onActionAfterDismiss\",\n \"selection\",\n \"asyncState\",\n ],\n stateAxes: { availability: [\"enabled\", \"disabled\"], value: [\"open\", \"selected\"], content: [\"idle\", \"loading\", \"loadingMore\", \"empty\", \"error\"] },\n web: { roles: [\"menu\", \"menuitem\", \"menuitemradio\", \"menuitemcheckbox\"], keyboard: [\"Enter\", \"Space\", \"Escape\", \"ArrowUp\", \"ArrowDown\", \"Home\", \"End\", \"Typeahead\"], focus: \"restore\", dismiss: [\"escape\", \"outside\", \"selection\"] },\n native: { roles: [\"menu\", \"menuitem\"], states: [\"disabled\", \"selected\", \"checked\"], actions: [\"activate\"], dismiss: [\"back\", \"outside\", \"selection\"] },\n scenarios: [\n \"action-and-single-close-after-selection\",\n \"on-action-does-not-depend-on-controlled-close\",\n \"after-dismiss-action-sequences-next-surface\",\n \"multiple-selection-keeps-menu-open\",\n \"disabled-item-skipped\",\n \"escape-or-back-restores-trigger\",\n \"danger-item-not-color-only\",\n \"loading-more-preserves-items-and-selection\",\n ],\n },\n dialog: {\n controlled: [\"open\", \"defaultOpen\", \"onOpenChange\"],\n stateAxes: { availability: [\"enabled\", \"busy\"], value: [\"open\"] },\n web: { roles: [\"dialog\"], keyboard: [\"Tab\", \"Escape\"], focus: \"trap\", dismiss: [\"escape\", \"outside\"] },\n native: { roles: [\"dialog\"], states: [\"busy\"], actions: [\"dismiss\"], dismiss: [\"back\", \"outside\"] },\n scenarios: [\"title-description-linkage\", \"focus-trap-and-restore\", \"modal-isolation\", \"single-dismiss-callback\"],\n },\n alertDialog: {\n controlled: [\"open\", \"defaultOpen\", \"onOpenChange\"],\n stateAxes: { availability: [\"enabled\", \"busy\"], value: [\"open\"], content: [\"idle\", \"loading\", \"error\"] },\n web: { roles: [\"alertdialog\"], keyboard: [\"Tab\", \"Escape\"], focus: \"trap\", dismiss: [\"escape\"] },\n native: { roles: [\"alertdialog\"], states: [\"busy\"], actions: [\"confirm\", \"cancel\"], dismiss: [\"back\"] },\n scenarios: [\n \"visible-title-and-description-are-announced\",\n \"modal-isolation-and-tab-trap\",\n \"confirm-mode-cancel-is-initial-focus\",\n \"alert-mode-confirm-is-initial-focus\",\n \"outside-attempt-is-ignored-without-callback\",\n \"escape-or-back-cancels-when-idle\",\n \"busy-blocks-every-dismiss-and-duplicate-confirm\",\n \"confirm-action-runs-once\",\n \"error-is-announced-and-dialog-stays-open\",\n \"controlled-close-settles-programmatic-cancel\",\n \"unmount-settles-interrupted\",\n \"result-settles-once-after-exit\",\n \"focus-restores-after-every-close-path\",\n \"reduced-motion-still-completes-exit\",\n ],\n },\n sheet: {\n controlled: [\"open\", \"defaultOpen\", \"onOpenChange\", \"dismissPolicy\"],\n defaults: sheetBehaviorDefaults,\n stateAxes: { availability: [\"enabled\", \"busy\"], value: [\"open\"] },\n web: { roles: [\"dialog\"], keyboard: [\"Tab\", \"Escape\"], focus: \"trap\", dismiss: [\"escape\", \"outside\"] },\n native: { roles: [\"dialog\"], states: [\"busy\"], actions: [\"dismiss\"], dismiss: [\"back\", \"outside\"] },\n scenarios: [\n \"focus-or-modal-isolation\",\n \"scroll-lock\",\n \"safe-area\",\n \"single-dismiss-callback\",\n \"busy-blocks-dismiss\",\n \"dismiss-reason-is-reported\",\n \"programmatic-owner-close-is-always-allowed\",\n \"swipe-requires-enabled-policy-and-gesture-capability\",\n \"successor-surface-opens-after-exit\",\n \"nested-modal-surfaces-are-forbidden\",\n \"reduced-motion-still-completes-dismiss\",\n ],\n },\n select: {\n controlled: [\n \"selectedKey\",\n \"defaultSelectedKey\",\n \"onSelectionChange\",\n \"open\",\n \"defaultOpen\",\n \"onOpenChange\",\n ],\n inputs: [\"asyncState\", \"selectedItem\"],\n configuration: {\n disallowEmptySelection: [\"true\", \"false\"],\n loop: [\"true\", \"false\"],\n },\n defaults: selectBehaviorDefaults,\n stateAxes: {\n availability: [\"enabled\", \"disabled\", \"readOnly\", \"busy\"],\n value: [\"empty\", \"selected\", \"open\"],\n validation: [\"valid\", \"invalid\"],\n content: [\"idle\", \"loading\", \"loadingMore\", \"empty\", \"error\"],\n },\n web: {\n roles: [\"combobox\", \"listbox\", \"option\"],\n keyboard: [\n \"Tab\",\n \"Enter\",\n \"Space\",\n \"Escape\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\",\n \"Typeahead\",\n ],\n focus: \"activeDescendant\",\n dismiss: [\"selection\", \"escape\", \"outside\", \"blur\"],\n },\n native: {\n roles: [\"button\", \"dialog\", \"radio\"],\n states: [\"disabled\", \"checked\", \"busy\", \"expanded\"],\n actions: [\"activate\", \"dismiss\"],\n dismiss: [\"selection\", \"back\", \"outside\"],\n },\n scenarios: [\n \"visible-label-or-accessibility-label-names-trigger\",\n \"collection-ids-and-text-values-are-validated\",\n \"highlighted-option-is-distinct-from-committed-selection\",\n \"trigger-controls-the-mounted-listbox\",\n \"active-descendant-references-a-mounted-option\",\n \"active-option-scrolls-into-view\",\n \"disabled-options-are-skipped\",\n \"escape-closes-without-commit\",\n \"selection-requests-close-and-restores-trigger-focus\",\n \"controlled-owner-may-defer-a-selection-close-request\",\n \"removed-selection-is-reconciled\",\n \"loading-more-preserves-options-and-selection\",\n \"transient-async-pages-preserve-committed-key-and-copy\",\n \"empty-error-and-loading-are-announced\",\n \"options-have-no-nested-interactive-descendants\",\n ],\n },\n combobox: {\n controlled: [\n \"selectedKey\",\n \"defaultSelectedKey\",\n \"onSelectionChange\",\n \"inputValue\",\n \"defaultInputValue\",\n \"onInputValueChange\",\n \"open\",\n \"defaultOpen\",\n \"onOpenChange\",\n ],\n inputs: [\"asyncState\", \"queryValue\", \"resultQuery\", \"selectedItem\"],\n events: [\"onCommit\"],\n configuration: {\n filtering: [\"local\", \"external\"],\n loop: [\"true\", \"false\"],\n },\n defaults: comboboxBehaviorDefaults,\n stateAxes: {\n availability: [\"enabled\", \"disabled\", \"readOnly\", \"busy\"],\n value: [\"empty\", \"filled\", \"selected\", \"open\"],\n validation: [\"valid\", \"invalid\"],\n content: [\"idle\", \"loading\", \"loadingMore\", \"empty\", \"error\"],\n },\n web: {\n roles: [\"combobox\", \"listbox\", \"option\"],\n keyboard: [\n \"Tab\",\n \"Enter\",\n \"Escape\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\",\n ],\n focus: \"activeDescendant\",\n dismiss: [\"selection\", \"escape\", \"outside\", \"blur\"],\n },\n native: {\n roles: [\"button\", \"text\", \"dialog\", \"radio\"],\n states: [\"disabled\", \"checked\", \"busy\", \"expanded\"],\n actions: [\"focus\", \"setText\", \"activate\", \"dismiss\"],\n dismiss: [\"selection\", \"back\", \"outside\"],\n },\n scenarios: [\n \"selected-key-and-input-value-are-independent\",\n \"input-focus-and-active-option-are-distinct\",\n \"input-controls-the-mounted-listbox\",\n \"active-descendant-references-a-mounted-option\",\n \"active-option-scrolls-into-view\",\n \"ime-composition-does-not-prematurely-filter-or-commit\",\n \"escape-restores-the-committed-label\",\n \"query-edit-never-commits-a-stale-selection\",\n \"external-results-do-not-implicitly-commit\",\n \"committed-item-survives-transient-result-pages\",\n \"stale-external-results-do-not-replace-current-query\",\n \"loading-more-preserves-options-and-active-descendant\",\n \"empty-error-and-loading-are-announced\",\n \"custom-values-are-rejected-without-an-explicit-policy\",\n \"selection-state-updates-before-commit-event-and-close-request\",\n \"options-have-no-nested-interactive-descendants\",\n ],\n },\n toast: {\n controlled: [],\n inputs: [\"descriptor\", \"queueSnapshot\", \"visibleSnapshot\"],\n events: [\"onAction\", \"onDismiss\"],\n configuration: {\n priority: [\"normal\", \"high\"],\n duplicatePolicy: [\"update\", \"ignore\"],\n timerUpdatePolicy: [\"preserve\", \"restart\"],\n overflowPolicy: [\"discard-oldest\", \"discard-newest\"],\n },\n defaults: toastBehaviorDefaults,\n stateAxes: {\n value: [\"open\"],\n content: [\"idle\"],\n },\n web: {\n roles: [\"region\", \"status\", \"alert\", \"button\"],\n keyboard: [\"Tab\", \"Enter\", \"Space\", \"Escape\", \"F8\"],\n focus: \"native\",\n dismiss: [\"timeout\", \"action\", \"close-action\", \"escape\", \"swipe\", \"programmatic\"],\n },\n native: {\n roles: [\"alert\", \"button\"],\n states: [],\n actions: [\"announce\", \"activate\", \"dismiss\"],\n dismiss: [\"timeout\", \"action\", \"close-action\", \"swipe\", \"programmatic\"],\n },\n scenarios: [\n \"stable-id-duplicate-updates-in-place-without-reordering\",\n \"bounded-queue-promotes-items-in-fifo-order\",\n \"queued-time-never-consumes-auto-dismiss-duration\",\n \"visible-timer-pauses-for-pointer-focus-window-and-gesture\",\n \"actionable-toast-is-persistent-unless-duration-is-explicit\",\n \"auto-dismiss-duration-is-never-shorter-than-five-seconds\",\n \"action-and-dismiss-callbacks-run-exactly-once\",\n \"programmatic-close-reports-its-own-dismiss-reason\",\n \"normal-and-high-announcements-use-the-visible-copy-or-explicit-override\",\n \"tone-is-always-paired-with-a-non-color-mark\",\n \"web-hotkey-focuses-the-labelled-viewport-and-last-close-restores-focus\",\n \"exit-completes-once-with-and-without-reduced-motion\",\n \"provider-teardown-interrupts-every-session-without-leaking-a-timer\",\n ],\n },\n loadMore: {\n controlled: [],\n inputs: [\"state\", \"labels\"],\n events: [\"onLoadMore\"],\n configuration: { mode: [\"automatic\", \"manual\"] },\n defaults: loadMoreBehaviorDefaults,\n stateAxes: {\n availability: [\"enabled\", \"busy\"],\n content: [\"idle\", \"loadingMore\", \"error\", \"complete\"],\n },\n web: {\n roles: [\"status\", \"alert\", \"button\"],\n keyboard: [\"Tab\", \"Enter\", \"Space\"],\n focus: \"native\",\n },\n native: {\n roles: [\"progressbar\", \"alert\", \"button\"],\n states: [\"busy\", \"disabled\"],\n actions: [\"activate\"],\n },\n scenarios: [\n \"existing-items-remain-mounted-in-every-footer-state\",\n \"automatic-viewport-request-has-an-accessible-manual-fallback\",\n \"one-request-is-in-flight-per-controller\",\n \"same-request-key-is-never-issued-twice-concurrently\",\n \"loading-and-complete-states-block-new-requests\",\n \"error-state-retries-only-with-retry-reason\",\n \"loading-status-and-error-alert-announce-once\",\n \"retry-and-manual-targets-are-at-least-forty-four-units\",\n ],\n },\n tooltip: {\n controlled: [\"open\", \"defaultOpen\", \"onOpenChange\"],\n inputs: [\"content\"],\n configuration: {\n placement: [\"top\", \"bottom\", \"start\", \"end\"],\n align: [\"start\", \"center\", \"end\"],\n },\n defaults: tooltipBehaviorDefaults,\n stateAxes: {\n interaction: [\"idle\", \"hover\", \"focusVisible\"],\n value: [\"open\"],\n },\n web: {\n roles: [\"tooltip\"],\n keyboard: [\"Tab\", \"Escape\"],\n focus: \"none\",\n dismiss: [\"escape\", \"blur\"],\n },\n native: { roles: [], states: [], actions: [] },\n scenarios: [\n \"plain-localized-copy-never-contains-interaction\",\n \"keyboard-focus-opens-immediately-and-pointer-respects-delay\",\n \"recent-sibling-tooltip-uses-skip-delay\",\n \"one-tooltip-is-visible-per-provider\",\n \"trigger-content-hover-and-pointer-corridor-keep-open\",\n \"escape-dismisses-and-suppresses-reopen-until-input-reset\",\n \"blur-or-pointer-leave-closes-only-after-all-active-inputs-end\",\n \"trigger-activation-closes-without-cancelling-trigger-action\",\n \"trigger-keeps-focus-and-tooltip-has-no-tab-stop\",\n \"existing-aria-describedby-is-preserved\",\n \"touch-pointer-hover-is-ignored\",\n \"controlled-close-rejection-never-exposes-two-tooltips\",\n \"timer-and-global-listener-cleanup-on-unmount\",\n \"reduced-motion-exit-completes-exactly-once\",\n ],\n },\n anchor: anchorBehavior,\n agreement: agreementBehavior,\n top: topBehavior,\n authProviderButton: authProviderButtonBehavior,\n authScreen: authScreenBehavior,\n heading: headingBehavior,\n toggleGroup: toggleGroupBehavior,\n tagsInput: tagsInputBehavior,\n skipNav: skipNavBehavior,\n bottomInfo: bottomInfoBehavior,\n sidebar: sidebarBehavior,\n nativePlatform: nativePlatformBehavior,\n dateRange: dateRangeBehavior,\n textFormat: textFormatBehavior,\n collapsible: collapsibleBehavior,\n asset: assetBehavior,\n menubar: menubarBehavior,\n contextMenu: contextMenuBehavior,\n breadcrumb: breadcrumbBehaviorSpec,\n calendar: calendarBehavior,\n carousel: carouselBehavior,\n commandPalette: {\n controlled: [\n \"open\",\n \"defaultOpen\",\n \"onOpenChange\",\n \"inputValue\",\n \"defaultInputValue\",\n \"onInputValueChange\",\n ],\n inputs: [\"queryValue\", \"resultQuery\", \"asyncState\", \"accessibilityLabel\", \"searchPlaceholder\"],\n events: [\"onActivate\", \"onActivateAfterDismiss\"],\n stateAxes: { value: [\"open\"], content: [\"idle\", \"loading\", \"loadingMore\", \"empty\", \"error\"] },\n // 저작자 명세의 dismiss 사유 \"activation\"은 채택하지 않았다. 같은 뜻의 \"action\"이\n // 이미 유니언에 있고(Menu가 onAction으로 쓴다), 공용 어휘에 동의어를 하나 더 두면\n // 렌더러가 둘을 구별해야 하는지 매번 물어야 한다.\n web: { roles: [\"dialog\", \"listbox\", \"option\"], keyboard: [\"Tab\", \"Enter\", \"Escape\", \"ArrowUp\", \"ArrowDown\"], focus: \"trap\", dismiss: [\"escape\", \"outside\", \"action\"] },\n native: { roles: [], states: [], actions: [] },\n scenarios: [...commandPaletteBehaviorScenarios],\n },\n floatingActionButton: {\n controlled: [],\n inputs: [\"label\", \"icon\", \"layoutMode\", \"scrollSignal\", \"safeAreaInset\"],\n events: [\"onPress\"],\n stateAxes: { interaction: [\"idle\", \"hover\", \"pressed\", \"focusVisible\"] },\n web: { roles: [\"button\"], keyboard: [\"Tab\", \"Enter\", \"Space\"], focus: \"native\" },\n native: { roles: [\"button\"], states: [], actions: [\"activate\"] },\n scenarios: [...floatingActionButtonBehaviorScenarios],\n },\n // 이 항목은 `transfer-list.ts`에서 import하지 않고 여기에 직접 쓴다. 그 모듈은\n // 이 파일에서 **값**을(getCheckboxNextState 등) 가져오므로, 여기서 되받으면\n // 실제 순환이 닫혀 레지스트리가 undefined를 담는다(타입만 가져오는\n // data-table과 다른 점이다). 두 정의가 어긋나지 않는지는 테스트로 잠근다.\n transferList: {\n controlled: [\"targetKeys\", \"defaultTargetKeys\", \"onTargetKeysChange\"],\n inputs: [\"items\"],\n events: [\"onMove\"],\n stateAxes: {\n availability: [\"enabled\", \"disabled\"],\n value: [\"empty\", \"filled\", \"selected\", \"mixed\"],\n },\n web: {\n roles: [\"group\", \"listbox\", \"option\", \"checkbox\", \"button\"],\n keyboard: [\"Tab\", \"Space\", \"Enter\", \"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"],\n focus: \"roving\",\n },\n native: {\n roles: [\"list\", \"checkbox\", \"button\"],\n states: [\"disabled\", \"selected\", \"checked\"],\n actions: [\"toggle\", \"toggleSelectAll\", \"moveSelection\", \"moveItem\"],\n },\n scenarios: [\n \"moving-is-reachable-entirely-by-keyboard-select-with-space-then-activate-the-move-button\",\n \"moving-a-single-focused-row-does-not-require-first-opening-multi-select\",\n \"focus-after-a-move-lands-on-the-item-that-slid-into-the-removed-rows-position\",\n \"focus-after-emptying-a-panel-falls-back-to-its-empty-state-never-lost-to-the-document\",\n \"every-move-emits-which-ids-moved-so-the-product-can-announce-a-formatted-sentence\",\n \"disabled-items-are-never-selectable-and-never-move\",\n \"moved-items-are-cleared-from-the-origin-panels-selection-and-left-unselected-at-the-destination\",\n \"select-all-in-a-panel-excludes-disabled-items-from-both-the-denominator-and-the-count\",\n \"an-item-with-nothing-selected-in-its-panel-still-supports-direct-single-item-move\",\n \"search-and-pagination-inside-a-panel-are-product-composition-not-this-contract\",\n ],\n },\n dataTable: dataTableBehavior,\n tour: {\n controlled: [\"open\", \"defaultOpen\", \"onOpenChange\", \"currentStepId\", \"defaultCurrentStepId\", \"onStepChange\"],\n inputs: [\"steps\", \"labels\", \"anchorId\"],\n events: [\"onClose\"],\n stateAxes: { value: [\"open\", \"currentStep\"] },\n // outside 닫힘이 없다. 실수로 워크스루가 끊기지 않게 하려는 고정 규칙이라\n // 저작자가 policy 객체조차 두지 않았고, 요약에도 그 사실을 그대로 옮긴다.\n web: { roles: [\"dialog\"], keyboard: [\"Tab\", \"Enter\", \"Escape\", \"ArrowLeft\", \"ArrowRight\"], focus: \"trap\", dismiss: [\"escape\", \"close-action\", \"programmatic\"] },\n native: { roles: [], states: [], actions: [] },\n scenarios: [...tourBehaviorScenarios],\n },\n layout: layoutBehavior,\n otpField: otpFieldBehavior,\n passwordField: passwordFieldBehavior,\n splitter: splitterBehavior,\n datePicker: datePickerBehavior,\n sidePanel: sidePanelBehavior,\n filePicker: filePickerBehavior,\n pagination: {\n controlled: [\"currentPage\", \"onPageChange\"],\n inputs: [\"totalCount\", \"totalPages\", \"pageSize\", \"labels\"],\n configuration: { window: [\"siblingCount\", \"boundaryCount\"] },\n stateAxes: {},\n web: {\n roles: [\"navigation\"],\n keyboard: [\"Tab\", \"Enter\", \"Space\"],\n focus: \"native\",\n },\n native: { roles: [], states: [], actions: [] },\n scenarios: [...paginationBehaviorScenarios],\n },\n /*\n 비모달이라 `busy` 축이 없다. Sheet/AlertDialog는 진행 중 dismiss를 막지만 Popover는\n 포커스가 정당하게 밖으로 나갈 수 있어 그 축이 성립하지 않는다 — 대신 나가는 것\n 자체가 dismiss 신호이므로 `outside-focus`를 별도 reason으로 둔다.\n */\n popover: {\n controlled: [\"open\", \"defaultOpen\", \"onOpenChange\"],\n defaults: popoverBehaviorDefaults,\n stateAxes: { value: [\"open\"] },\n /*\n `trap`이 아니라 `restore`다 — Dialog·Sheet·AlertDialog는 모달이라 포커스를 가두지만\n Popover는 비모달이라 Tab이 **정당하게 밖으로 나갈 수 있다.** 그래서 가두지 않고,\n Escape/명시적 닫기는 트리거로 복귀하고, 바깥 클릭·Tab 이동은 새 초점을 보존한다.\n 나가는 것 자체가 dismiss 신호이므로 `outside-focus`를 별도 reason으로 둔다.\n */\n web: {\n roles: [\"dialog\"],\n keyboard: [\"Tab\", \"Escape\"],\n focus: \"restore\",\n dismiss: [\"escape\", \"outside\"],\n },\n native: { roles: [], states: [], actions: [] },\n scenarios: [...popoverBehaviorScenarios],\n },\n tree: treeBehavior,\n uploadItem: uploadItemBehavior,\n form: formBehaviorSpec,\n numberField: numberFieldBehavior,\n slider: sliderBehavior,\n} as const satisfies Record<string, BehaviorContract>;\n\nexport type BehaviorName = keyof typeof behaviorRegistry;\n\nexport type CollectionKey = string;\nexport type CollectionItemTone = \"neutral\" | \"danger\";\n\nexport type CollectionItemDescriptor<Key extends CollectionKey = CollectionKey> = Readonly<{\n id: Key;\n label: string;\n textValue: string;\n description?: string;\n shortcut?: string;\n disabled?: boolean;\n tone?: CollectionItemTone;\n}>;\n\n/** Menu-only extension; danger tone and shortcut do not belong to Select. */\nexport type MenuItemDescriptor<\n Key extends CollectionKey = CollectionKey,\n> = CollectionItemDescriptor<Key>;\n\ntype CollectionSectionLabel =\n | Readonly<{ label: string; accessibilityLabel?: string }>\n | Readonly<{ label?: string; accessibilityLabel: string }>;\n\nexport type CollectionSectionDescriptor<\n Key extends CollectionKey = CollectionKey,\n SectionKey extends CollectionKey = CollectionKey,\n> = Readonly<{\n id: SectionKey;\n items: readonly CollectionItemDescriptor<Key>[];\n}> & CollectionSectionLabel;\n\nexport type MenuSectionDescriptor<\n Key extends CollectionKey = CollectionKey,\n SectionKey extends CollectionKey = CollectionKey,\n> = CollectionSectionDescriptor<Key, SectionKey>;\n\nexport type NoSelectionModel = Readonly<{ mode: \"none\" }>;\nexport type SingleSelectionModel<Key extends CollectionKey = CollectionKey> =\n | Readonly<{\n mode: \"single\";\n selectedKey: Key | null;\n defaultSelectedKey?: never;\n onSelectionChange(key: Key | null): void;\n disallowEmptySelection?: boolean;\n }>\n | Readonly<{\n mode: \"single\";\n selectedKey?: never;\n defaultSelectedKey?: Key | null;\n onSelectionChange?: (key: Key | null) => void;\n disallowEmptySelection?: boolean;\n }>;\nexport type MultipleSelectionModel<Key extends CollectionKey = CollectionKey> =\n | Readonly<{\n mode: \"multiple\";\n selectedKeys: ReadonlySet<Key>;\n defaultSelectedKeys?: never;\n onSelectionChange(keys: ReadonlySet<Key>): void;\n }>\n | Readonly<{\n mode: \"multiple\";\n selectedKeys?: never;\n defaultSelectedKeys?: ReadonlySet<Key>;\n onSelectionChange?: (keys: ReadonlySet<Key>) => void;\n }>;\nexport type CollectionSelectionModel<Key extends CollectionKey = CollectionKey> =\n | NoSelectionModel\n | SingleSelectionModel<Key>\n | MultipleSelectionModel<Key>;\n\nexport type AsyncCollectionState =\n | Readonly<{ status: \"idle\" }>\n | Readonly<{ status: \"loading\"; message: string }>\n | Readonly<{ status: \"loadingMore\"; message: string }>\n | Readonly<{ status: \"empty\"; message: string }>\n | Readonly<{ status: \"error\"; message: string }>;\n\n/**\n * Shared input semantics for future Select/Combobox renderers. Web may render a\n * popup while Native renders a sheet, but both consume the same stable keys.\n */\nexport type SelectItemDescriptor<\n Key extends CollectionKey = CollectionKey,\n> = Omit<CollectionItemDescriptor<Key>, \"shortcut\" | \"tone\"> &\n Readonly<{ shortcut?: never; tone?: never }>;\n\nexport type ControlledSelectSelection<\n Key extends CollectionKey = CollectionKey,\n> = Readonly<{\n selectedKey: Key | null;\n defaultSelectedKey?: never;\n onSelectionChange(key: Key | null): void;\n}>;\n\nexport type UncontrolledSelectSelection<\n Key extends CollectionKey = CollectionKey,\n> = Readonly<{\n selectedKey?: never;\n defaultSelectedKey?: Key | null;\n onSelectionChange?: (key: Key | null) => void;\n}>;\n\nexport type SelectSelection<Key extends CollectionKey = CollectionKey> =\n | ControlledSelectSelection<Key>\n | UncontrolledSelectSelection<Key>;\n\nexport type ControlledComboboxInput = Readonly<{\n inputValue: string;\n defaultInputValue?: never;\n onInputValueChange(value: string): void;\n}>;\n\nexport type UncontrolledComboboxInput = Readonly<{\n inputValue?: never;\n defaultInputValue?: string;\n onInputValueChange?: (value: string) => void;\n}>;\n\nexport type ComboboxInput = ControlledComboboxInput | UncontrolledComboboxInput;\n\nexport type ComboboxFiltering = \"local\" | \"external\";\nexport type ComboboxCommitReason =\n | \"selection\"\n | \"clear\";\n"]}
1
+ {"version":3,"file":"behaviors.js","sourceRoot":"","sources":["../src/behaviors.ts"],"names":[],"mappings":"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","sourcesContent":["import { anchorBehavior } from \"./anchor.js\";\nimport { agreementBehavior } from \"./agreement.js\";\nimport { topBehavior } from \"./top.js\";\nimport { authProviderButtonBehavior } from \"./provider-button.js\";\nimport { authScreenBehavior } from \"./auth-screen.js\";\nimport { headingBehavior } from \"./heading.js\";\nimport { toggleGroupBehavior } from \"./toggle-group.js\";\nimport { tagsInputBehavior } from \"./tags-input.js\";\nimport { skipNavBehavior } from \"./skip-nav.js\";\nimport { bottomInfoBehavior } from \"./bottom-info.js\";\nimport { sidebarBehavior } from \"./sidebar.js\";\nimport { nativePlatformBehavior } from \"./native-platform.js\";\nimport { dateRangeBehavior } from \"./date-range.js\";\nimport { textFormatBehavior } from \"./text-formats.js\";\nimport { collapsibleBehavior } from \"./collapsible.js\";\nimport { assetBehavior } from \"./asset.js\";\nimport { menubarBehavior } from \"./menubar.js\";\nimport { contextMenuBehavior } from \"./context-menu.js\";\nimport { sheetBehaviorDefaults } from \"./sheet.js\";\nimport { loadMoreBehaviorDefaults } from \"./load-more.js\";\nimport { toastBehaviorDefaults } from \"./toast.js\";\nimport { bottomNavigationBehaviorDefaults } from \"./bottom-navigation.js\";\nimport { tooltipBehaviorDefaults } from \"./tooltip.js\";\n/*\n Batch 2 저작 모듈의 행동 계약. 각 컴포넌트가 자기 모듈에 spec을 두고 레지스트리는\n 경로만 모은다 — 여러 저작자가 병렬로 이 파일을 고치면 서로의 변경을 덮어쓴다\n (`docs/authoring-brief.md`).\n*/\nimport { breadcrumbBehaviorSpec } from \"./breadcrumb.js\";\nimport { calendarBehavior } from \"./calendar.js\";\nimport { carouselBehavior } from \"./carousel.js\";\nimport { commandPaletteBehaviorScenarios } from \"./command-palette.js\";\nimport { floatingActionButtonBehaviorScenarios } from \"./floating-action-button.js\";\nimport { tourBehaviorScenarios } from \"./tour.js\";\nimport { dataTableBehavior } from \"./data-table.js\";\nimport { layoutBehavior } from \"./layout.js\";\nimport { otpFieldBehavior } from \"./otp-field.js\";\nimport { passwordFieldBehavior } from \"./password-field.js\";\nimport { splitterBehavior } from \"./splitter.js\";\nimport { datePickerBehavior } from \"./date-picker.js\";\nimport { sidePanelBehavior } from \"./side-panel.js\";\nimport { filePickerBehavior } from \"./file-picker.js\";\nimport { paginationBehaviorScenarios } from \"./pagination.js\";\nimport { popoverBehaviorDefaults, popoverBehaviorScenarios } from \"./popover.js\";\nimport { treeBehavior } from \"./tree.js\";\nimport { uploadItemBehavior } from \"./upload-item.js\";\nimport { formBehaviorSpec } from \"./form.js\";\nimport { numberFieldBehavior } from \"./number-field.js\";\nimport { sliderBehavior } from \"./slider.js\";\nimport type { DesignSystemDirection } from \"./design-system-provider.js\";\nimport {\n checkboxBehaviorDefaults,\n type CheckboxState,\n} from \"./selection-helpers.js\";\n\nexport {\n checkboxBehaviorDefaults,\n getCheckboxNextState,\n reconcileCheckboxSelection,\n toggleCheckboxSelection,\n type CheckboxState,\n type MixedCheckboxActivation,\n} from \"./selection-helpers.js\";\n\n/** Platform-neutral behavior vocabulary shared by renderer acceptance tests. */\nexport type InteractionState =\n | \"idle\"\n | \"hover\"\n | \"focusVisible\"\n | \"pressed\"\n | \"dragged\";\nexport type AvailabilityState = \"enabled\" | \"disabled\" | \"readOnly\" | \"busy\";\nexport type ValueState =\n | \"empty\"\n | \"filled\"\n | \"checked\"\n | \"mixed\"\n | \"selected\"\n | \"open\"\n | \"expanded\";\nexport type ValidationState = \"valid\" | \"invalid\";\nexport type ContentState =\n | \"idle\"\n | \"loading\"\n | \"loadingMore\"\n | \"empty\"\n | \"error\"\n | \"complete\";\nexport type TabsActivationMode = \"automatic\" | \"manual\";\nexport type TabsMountPolicy = \"active\" | \"visited\" | \"always\";\nexport type TabsPanelMode = \"keyed\" | \"dynamic\";\nexport type TabsOrientation = \"horizontal\" | \"vertical\";\nexport type TabsDirection = DesignSystemDirection;\n\nexport type SelectionOrientation = \"horizontal\" | \"vertical\";\nexport type SelectionDirection = DesignSystemDirection;\n\n/** Stable option anatomy shared by CheckboxGroup and RadioGroup renderers. */\nexport type SelectionItemDescriptor<Key extends string = string> = Readonly<{\n id: Key;\n label: string;\n description?: string;\n disabled?: boolean;\n}>;\n\n/** A group needs either visible copy or an explicit accessible name. */\nexport type SelectionGroupLabel =\n | Readonly<{ label: string; accessibilityLabel?: string }>\n | Readonly<{ label?: never; accessibilityLabel: string }>;\n\nexport type ControlledCheckboxState = Readonly<{\n checked: CheckboxState;\n defaultChecked?: never;\n onCheckedChange(checked: boolean): void;\n}>;\nexport type UncontrolledCheckboxState = Readonly<{\n checked?: never;\n defaultChecked?: CheckboxState;\n onCheckedChange?: (checked: boolean) => void;\n}>;\nexport type CheckboxSelection = ControlledCheckboxState | UncontrolledCheckboxState;\n\nexport type ControlledCheckboxGroupSelection<Key extends string = string> = Readonly<{\n value: ReadonlySet<Key>;\n defaultValue?: never;\n onValueChange(value: ReadonlySet<Key>): void;\n}>;\nexport type UncontrolledCheckboxGroupSelection<Key extends string = string> = Readonly<{\n value?: never;\n defaultValue?: ReadonlySet<Key>;\n onValueChange?: (value: ReadonlySet<Key>) => void;\n}>;\nexport type CheckboxGroupSelection<Key extends string = string> =\n | ControlledCheckboxGroupSelection<Key>\n | UncontrolledCheckboxGroupSelection<Key>;\n\nexport type ControlledRadioGroupSelection<Key extends string = string> = Readonly<{\n value: Key | null;\n defaultValue?: never;\n onValueChange(value: Key): void;\n}>;\nexport type UncontrolledRadioGroupSelection<Key extends string = string> = Readonly<{\n value?: never;\n defaultValue?: Key | null;\n onValueChange?: (value: Key) => void;\n}>;\nexport type RadioGroupSelection<Key extends string = string> =\n | ControlledRadioGroupSelection<Key>\n | UncontrolledRadioGroupSelection<Key>;\n\nexport type SelectionNavigationIntent = \"next\" | \"previous\" | \"first\" | \"last\";\n\n/** Resolves a renderer's required name while rejecting type-valid blank copy. */\nexport function resolveControlAccessibleName(\n label: string | undefined,\n accessibilityLabel: string | undefined,\n controlName = \"Control\",\n): string {\n if (label !== undefined && (typeof label !== \"string\" || !label.trim())) {\n throw new TypeError(`${controlName} label must not be empty`);\n }\n if (\n accessibilityLabel !== undefined &&\n (typeof accessibilityLabel !== \"string\" || !accessibilityLabel.trim())\n ) {\n throw new TypeError(`${controlName} accessibilityLabel must not be empty`);\n }\n const resolved = accessibilityLabel?.trim() || label?.trim();\n if (!resolved) {\n throw new TypeError(`${controlName} needs an accessible name`);\n }\n return resolved;\n}\n\nexport const selectionGroupBehaviorDefaults = {\n orientation: \"vertical\",\n direction: \"ltr\",\n} as const satisfies Readonly<{\n orientation: SelectionOrientation;\n direction: SelectionDirection;\n}>;\n\nexport const radioGroupBehaviorDefaults = {\n ...selectionGroupBehaviorDefaults,\n loop: true,\n} as const satisfies Readonly<{\n orientation: SelectionOrientation;\n direction: SelectionDirection;\n loop: boolean;\n}>;\n\nexport const selectBehaviorDefaults = {\n disallowEmptySelection: false,\n loop: false,\n} as const satisfies Readonly<{\n disallowEmptySelection: boolean;\n loop: boolean;\n}>;\n\nexport const comboboxBehaviorDefaults = {\n filtering: \"local\",\n loop: false,\n} as const satisfies Readonly<{\n filtering: ComboboxFiltering;\n loop: boolean;\n}>;\n\n/** Throws before a renderer can expose ambiguous or unreachable selection state. */\nexport function validateSelectionItems<Key extends string>(\n items: readonly SelectionItemDescriptor<Key>[],\n): void {\n const ids = new Set<Key>();\n for (const item of items) {\n if (typeof item.id !== \"string\" || item.id.trim().length === 0) {\n throw new TypeError(\"Selection item id must not be empty\");\n }\n if (typeof item.label !== \"string\" || item.label.trim().length === 0) {\n throw new TypeError(`Selection item ${item.id} label must not be empty`);\n }\n if (\n item.description !== undefined &&\n (typeof item.description !== \"string\" ||\n item.description.trim().length === 0)\n ) {\n throw new TypeError(\n `Selection item ${item.id} description must not be empty when provided`,\n );\n }\n if (ids.has(item.id)) {\n throw new TypeError(`Duplicate selection item id: ${item.id}`);\n }\n ids.add(item.id);\n }\n}\n\nexport function validateCheckboxSelection<Key extends string>(\n items: readonly SelectionItemDescriptor<Key>[],\n current: ReadonlySet<Key>,\n): void {\n validateSelectionItems(items);\n const knownIds = new Set(items.map((item) => item.id));\n for (const selectedId of current) {\n if (!knownIds.has(selectedId)) {\n throw new RangeError(`Selected checkbox must exist: ${selectedId}`);\n }\n }\n}\n\nexport function resolveInitialRadioValue<Key extends string>(\n items: readonly SelectionItemDescriptor<Key>[],\n requestedValue: Key | null | undefined,\n required = false,\n): Key | null {\n validateSelectionItems(items);\n if (requestedValue != null) {\n if (!items.some((item) => item.id === requestedValue)) {\n throw new RangeError(`Selected radio must exist: ${requestedValue}`);\n }\n return requestedValue;\n }\n return required ? (items.find((item) => !item.disabled)?.id ?? null) : null;\n}\n\nexport function validateRadioSelection<Key extends string>(\n items: readonly SelectionItemDescriptor<Key>[],\n current: Key | null,\n): void {\n validateSelectionItems(items);\n if (current != null && !items.some((item) => item.id === current)) {\n throw new RangeError(`Selected radio must exist: ${current}`);\n }\n}\n\n/** Returns the only enabled radio that may enter the Web tab order. */\nexport function resolveRadioTabStop<Key extends string>(\n items: readonly SelectionItemDescriptor<Key>[],\n selectedValue: Key | null,\n): Key | undefined {\n validateSelectionItems(items);\n const selected = items.find((item) => item.id === selectedValue);\n if (selected && !selected.disabled) return selected.id;\n return items.find((item) => !item.disabled)?.id;\n}\n\n/** Reconciles an uncontrolled radio when its selected item leaves the collection. */\nexport function reconcileRadioSelection<Key extends string>(\n items: readonly SelectionItemDescriptor<Key>[],\n current: Key | null,\n required = false,\n): Key | null {\n validateSelectionItems(items);\n if (current != null && items.some((item) => item.id === current)) return current;\n return required ? (items.find((item) => !item.disabled)?.id ?? null) : null;\n}\n\nexport function getSelectionNavigationIntent(\n key: WebKeyboardKey,\n orientation: SelectionOrientation,\n direction: SelectionDirection,\n): SelectionNavigationIntent | undefined {\n if (key === \"Home\") return \"first\";\n if (key === \"End\") return \"last\";\n if (orientation === \"vertical\") {\n if (key === \"ArrowDown\") return \"next\";\n if (key === \"ArrowUp\") return \"previous\";\n return undefined;\n }\n if (key === \"ArrowRight\") return direction === \"rtl\" ? \"previous\" : \"next\";\n if (key === \"ArrowLeft\") return direction === \"rtl\" ? \"next\" : \"previous\";\n return undefined;\n}\n\nexport function getRadioNavigationTarget<Key extends string>(\n items: readonly SelectionItemDescriptor<Key>[],\n currentId: Key | null | undefined,\n intent: SelectionNavigationIntent,\n loop = true,\n): Key | undefined {\n validateSelectionItems(items);\n const enabled = items.filter((item) => !item.disabled);\n if (enabled.length === 0) return undefined;\n if (intent === \"first\") return enabled[0]?.id;\n if (intent === \"last\") return enabled.at(-1)?.id;\n const currentIndex = enabled.findIndex((item) => item.id === currentId);\n if (currentIndex < 0) return enabled[0]?.id;\n const delta = intent === \"next\" ? 1 : -1;\n const nextIndex = currentIndex + delta;\n if (!loop && (nextIndex < 0 || nextIndex >= enabled.length)) return currentId ?? enabled[0]?.id;\n return enabled[(nextIndex + enabled.length) % enabled.length]?.id;\n}\n\n/** Platform-neutral item anatomy shared by Web and native Tabs renderers. */\nexport type TabDescriptor<Key extends string = string> = Readonly<{\n id: Key;\n label: string;\n disabled?: boolean;\n}>;\nexport type ControlledTabsSelection<Key extends string = string> = Readonly<{\n value: Key;\n defaultValue?: never;\n onValueChange(value: Key): void;\n}>;\nexport type UncontrolledTabsSelection<Key extends string = string> = Readonly<{\n value?: never;\n defaultValue?: Key;\n onValueChange?: (value: Key) => void;\n}>;\nexport type TabsSelection<Key extends string = string> =\n | ControlledTabsSelection<Key>\n | UncontrolledTabsSelection<Key>;\nexport type TabNavigationIntent = \"next\" | \"previous\" | \"first\" | \"last\";\n\nexport function getTabNavigationIntent(\n key: WebKeyboardKey,\n orientation: TabsOrientation,\n direction: TabsDirection,\n): TabNavigationIntent | undefined {\n if (key === \"Home\") return \"first\";\n if (key === \"End\") return \"last\";\n if (orientation === \"vertical\") {\n if (key === \"ArrowDown\") return \"next\";\n if (key === \"ArrowUp\") return \"previous\";\n return undefined;\n }\n if (key === \"ArrowRight\") return direction === \"rtl\" ? \"previous\" : \"next\";\n if (key === \"ArrowLeft\") return direction === \"rtl\" ? \"next\" : \"previous\";\n return undefined;\n}\n\n/** Validates collection identity and resolves the only safe initial selection. */\nexport function resolveInitialTabValue<Key extends string>(\n items: readonly TabDescriptor<Key>[],\n requestedValue?: Key,\n): Key | undefined {\n const ids = new Set<Key>();\n for (const item of items) {\n if (ids.has(item.id)) {\n throw new TypeError(`Duplicate tab id: ${item.id}`);\n }\n ids.add(item.id);\n }\n if (requestedValue !== undefined) {\n const requested = items.find((item) => item.id === requestedValue);\n if (!requested || requested.disabled) {\n throw new RangeError(`Selected tab must exist and be enabled: ${requestedValue}`);\n }\n return requestedValue;\n }\n return items.find((item) => !item.disabled)?.id;\n}\n\n/** Shared roving-focus math; renderers still own DOM/native focus APIs. */\nexport function getTabNavigationTarget<Key extends string>(\n items: readonly TabDescriptor<Key>[],\n currentId: Key,\n intent: TabNavigationIntent,\n loop = true,\n): Key | undefined {\n const enabled = items.filter((item) => !item.disabled);\n if (enabled.length === 0) return undefined;\n if (intent === \"first\") return enabled[0]?.id;\n if (intent === \"last\") return enabled.at(-1)?.id;\n const currentIndex = enabled.findIndex((item) => item.id === currentId);\n if (currentIndex < 0) return enabled[0]?.id;\n const delta = intent === \"next\" ? 1 : -1;\n const nextIndex = currentIndex + delta;\n if (!loop && (nextIndex < 0 || nextIndex >= enabled.length)) return currentId;\n return enabled[(nextIndex + enabled.length) % enabled.length]?.id;\n}\n\nexport type BehaviorStateAxis =\n | \"interaction\"\n | \"availability\"\n | \"value\"\n | \"validation\"\n | \"content\";\n\nexport type WebKeyboardKey =\n | \"Tab\"\n | \"Enter\"\n | \"Space\"\n | \"Escape\"\n | \"ArrowUp\"\n | \"ArrowDown\"\n | \"ArrowLeft\"\n | \"ArrowRight\"\n | \"Home\"\n | \"End\"\n /** TagsInput removes the previous tag with it; no other contract needed it before. */\n | \"Backspace\"\n | \"PageUp\"\n | \"PageDown\"\n | \"F8\"\n | \"Typeahead\";\n\nexport type NativeAccessibilityState =\n | \"disabled\"\n | \"selected\"\n | \"checked\"\n | \"busy\"\n | \"expanded\";\n\nexport type BehaviorContract = Readonly<{\n /** Controlled/uncontrolled state triplets only. */\n controlled: readonly string[];\n /** Read-only inputs which do not form a controlled state axis. */\n inputs?: readonly string[];\n /** Emitted events which do not themselves own state. */\n events?: readonly string[];\n configuration?: Readonly<Record<string, readonly string[]>>;\n defaults?: Readonly<Record<string, string | number | boolean>>;\n stateAxes: Readonly<Partial<Record<BehaviorStateAxis, readonly string[]>>>;\n web: Readonly<{\n roles: readonly string[];\n keyboard: readonly WebKeyboardKey[];\n focus:\n | \"native\"\n | \"roving\"\n | \"activeDescendant\"\n | \"trap\"\n | \"restore\"\n | \"none\";\n dismiss?: readonly (\n | \"escape\"\n | \"outside\"\n | \"selection\"\n | \"blur\"\n | \"timeout\"\n | \"action\"\n | \"press\"\n | \"close-action\"\n | \"swipe\"\n | \"programmatic\"\n )[];\n }>;\n native: Readonly<{\n roles: readonly string[];\n states: readonly NativeAccessibilityState[];\n actions: readonly string[];\n dismiss?: readonly (\n | \"back\"\n | \"swipe\"\n | \"outside\"\n | \"selection\"\n | \"timeout\"\n | \"action\"\n | \"press\"\n | \"close-action\"\n | \"programmatic\"\n )[];\n }>;\n scenarios: readonly string[];\n}>;\n\n/** Safe behavior defaults: automatic activation is opt-in for instant panels. */\nexport const tabsBehaviorDefaults = {\n activationMode: \"manual\",\n mountPolicy: \"active\",\n panelMode: \"keyed\",\n orientation: \"horizontal\",\n direction: \"ltr\",\n loop: true,\n} as const satisfies Readonly<{\n activationMode: TabsActivationMode;\n mountPolicy: TabsMountPolicy;\n panelMode: TabsPanelMode;\n orientation: TabsOrientation;\n direction: TabsDirection;\n loop: boolean;\n}>;\n\n/**\n * Behavior is data, not a React implementation. Web/RN renderers can use any\n * suitable primitive while running the same scenarios and exposing the same\n * controlled state names.\n */\nexport const behaviorRegistry = {\n link: {\n controlled: [],\n inputs: [\"destination\", \"label\"],\n stateAxes: {\n interaction: [\"idle\", \"hover\", \"focusVisible\", \"pressed\"],\n },\n web: {\n roles: [\"link\"],\n keyboard: [\"Tab\", \"Enter\"],\n focus: \"native\",\n },\n native: {\n roles: [\"link\"],\n states: [],\n actions: [\"activate\"],\n },\n scenarios: [\n \"href-is-the-destination-source-of-truth\",\n \"web-renders-a-real-anchor-and-preserves-modifier-context-navigation\",\n \"native-internal-destination-uses-router-link-semantics\",\n \"native-external-destination-uses-platform-linking-and-reports-failure\",\n \"link-never-exposes-disabled-action-or-visited-application-state\",\n \"download-remains-a-separate-platform-workflow\",\n \"visible-label-owns-one-accessible-name\",\n \"leading-and-trailing-icons-are-decorative-semantic-icons\",\n \"logical-icon-direction-follows-rtl\",\n \"inline-link-has-a-persistent-non-color-cue\",\n \"standalone-link-target-is-at-least-forty-four-units\",\n \"destination-link-never-contains-another-interactive-descendant\",\n ],\n },\n field: {\n controlled: [\"value\", \"defaultValue\", \"onValueChange\"],\n stateAxes: {\n availability: [\"enabled\", \"disabled\", \"readOnly\"],\n validation: [\"valid\", \"invalid\"],\n content: [\"idle\", \"loading\", \"error\"],\n },\n web: { roles: [\"textbox\"], keyboard: [\"Tab\"], focus: \"native\" },\n native: { roles: [\"text\"], states: [\"disabled\"], actions: [\"focus\", \"setText\"] },\n scenarios: [\"label-description-error-linkage\", \"invalid-plus-focus\", \"disabled-suppresses-edit\"],\n },\n searchField: {\n controlled: [\"value\", \"defaultValue\", \"onValueChange\", \"onClear\"],\n stateAxes: {\n availability: [\"enabled\", \"disabled\", \"busy\"],\n value: [\"empty\", \"filled\"],\n validation: [\"valid\", \"invalid\"],\n content: [\"idle\", \"loading\", \"error\"],\n },\n web: { roles: [\"searchbox\", \"button\"], keyboard: [\"Tab\", \"Enter\"], focus: \"native\" },\n native: { roles: [\"text\", \"button\"], states: [\"disabled\", \"busy\"], actions: [\"focus\", \"setText\", \"clear\"] },\n scenarios: [\"clear-has-name\", \"empty-hides-clear\", \"invalid-plus-focus\", \"busy-preserves-query\"],\n },\n checkbox: {\n controlled: [\"checked\", \"defaultChecked\", \"onCheckedChange\"],\n configuration: { mixedActivation: [\"check\", \"uncheck\"] },\n defaults: checkboxBehaviorDefaults,\n stateAxes: {\n availability: [\"enabled\", \"disabled\", \"readOnly\"],\n value: [\"checked\", \"mixed\"],\n validation: [\"valid\", \"invalid\"],\n },\n web: { roles: [\"checkbox\"], keyboard: [\"Tab\", \"Space\"], focus: \"native\" },\n native: {\n roles: [\"checkbox\"],\n states: [\"disabled\", \"checked\"],\n actions: [\"activate\"],\n },\n scenarios: [\n \"visible-label-is-accessible-name\",\n \"mixed-is-announced-and-activates-to-default\",\n \"disabled-and-read-only-suppress-change\",\n \"controlled-value-never-mutates-internally\",\n \"required-and-invalid-support-are-linked\",\n ],\n },\n checkboxGroup: {\n controlled: [\"value\", \"defaultValue\", \"onValueChange\"],\n configuration: {\n orientation: [\"horizontal\", \"vertical\"],\n direction: [\"ltr\", \"rtl\"],\n },\n defaults: selectionGroupBehaviorDefaults,\n stateAxes: {\n availability: [\"enabled\", \"disabled\", \"readOnly\"],\n value: [\"checked\"],\n validation: [\"valid\", \"invalid\"],\n },\n web: {\n roles: [\"group\", \"checkbox\"],\n keyboard: [\"Tab\", \"Space\"],\n focus: \"native\",\n },\n native: {\n roles: [\"checkbox\"],\n states: [\"disabled\", \"checked\"],\n actions: [\"activate\"],\n },\n scenarios: [\n \"each-enabled-checkbox-is-a-tab-stop\",\n \"space-toggles-only-focused-checkbox\",\n \"group-label-description-and-error-are-linked\",\n \"disabled-selected-item-is-retained-but-not-activated\",\n \"change-emits-a-fresh-set\",\n \"duplicate-and-unknown-ids-are-rejected\",\n \"uncontrolled-selection-reconciles-collection-mutation\",\n \"required-and-invalid-are-announced\",\n \"no-nested-interactive-descendants\",\n ],\n },\n radioGroup: {\n controlled: [\"value\", \"defaultValue\", \"onValueChange\"],\n configuration: {\n orientation: [\"horizontal\", \"vertical\"],\n direction: [\"ltr\", \"rtl\"],\n loop: [\"true\", \"false\"],\n },\n defaults: radioGroupBehaviorDefaults,\n stateAxes: {\n availability: [\"enabled\", \"disabled\", \"readOnly\"],\n value: [\"checked\", \"selected\"],\n validation: [\"valid\", \"invalid\"],\n },\n web: {\n roles: [\"radiogroup\", \"radio\"],\n keyboard: [\n \"Tab\",\n \"Space\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Home\",\n \"End\",\n ],\n focus: \"roving\",\n },\n native: {\n roles: [\"radio\"],\n states: [\"disabled\", \"checked\"],\n actions: [\"activate\"],\n },\n scenarios: [\n \"at-most-one-selection-and-nullable-initial-value\",\n \"checked-or-first-enabled-is-the-only-tab-stop\",\n \"arrow-focuses-and-selects-while-skipping-disabled\",\n \"orientation-direction-and-loop-control-navigation\",\n \"space-selects-focused-radio\",\n \"group-label-description-and-error-are-linked\",\n \"disabled-selected-item-is-retained-with-enabled-tab-stop\",\n \"required-invalid-and-read-only-are-announced\",\n \"controlled-value-never-mutates-internally\",\n \"duplicate-and-unknown-ids-are-rejected\",\n ],\n },\n switch: {\n controlled: [\"checked\", \"defaultChecked\", \"onCheckedChange\"],\n stateAxes: { availability: [\"enabled\", \"disabled\"], value: [\"checked\"] },\n web: { roles: [\"switch\"], keyboard: [\"Tab\", \"Space\"], focus: \"native\" },\n native: { roles: [\"switch\"], states: [\"disabled\", \"checked\"], actions: [\"activate\"] },\n scenarios: [\"row-and-control-are-one-target\", \"checked-announced\", \"disabled-suppresses-change\"],\n },\n segmentedControl: {\n controlled: [\"value\", \"defaultValue\", \"onValueChange\"],\n stateAxes: { availability: [\"enabled\", \"disabled\"], value: [\"selected\"] },\n web: { roles: [\"radiogroup\", \"radio\"], keyboard: [\"Tab\", \"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"], focus: \"roving\" },\n native: { roles: [\"radio\"], states: [\"disabled\", \"checked\"], actions: [\"activate\"] },\n scenarios: [\"exactly-one-selected\", \"one-tab-stop\", \"arrow-selection\", \"selected-plus-focus\"],\n },\n chip: {\n controlled: [\"selected\", \"onPress\"],\n stateAxes: {\n availability: [\"enabled\", \"disabled\"],\n value: [\"selected\"],\n },\n web: {\n roles: [\"button\", \"radio\", \"checkbox\"],\n keyboard: [\"Tab\", \"Enter\", \"Space\"],\n focus: \"native\",\n },\n native: {\n roles: [\"button\", \"radio\", \"checkbox\"],\n states: [\"disabled\", \"checked\"],\n actions: [\"activate\"],\n },\n scenarios: [\n \"action-never-exposes-selection\",\n \"single-selection-uses-radio-checked\",\n \"multiple-selection-uses-checkbox-checked\",\n \"selected-plus-focus\",\n \"selection-indicator-is-not-color-only\",\n \"single-mode-composes-radio-group-behavior\",\n \"multiple-mode-composes-checkbox-group-behavior\",\n ],\n },\n tabs: {\n controlled: [\"value\", \"defaultValue\", \"onValueChange\"],\n configuration: {\n activationMode: [\"automatic\", \"manual\"],\n mountPolicy: [\"active\", \"visited\", \"always\"],\n panelMode: [\"keyed\", \"dynamic\"],\n orientation: [\"horizontal\", \"vertical\"],\n direction: [\"ltr\", \"rtl\"],\n loop: [\"true\", \"false\"],\n },\n defaults: tabsBehaviorDefaults,\n stateAxes: { availability: [\"enabled\", \"disabled\"], value: [\"selected\"] },\n web: { roles: [\"tablist\", \"tab\", \"tabpanel\"], keyboard: [\"Tab\", \"Enter\", \"Space\", \"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"], focus: \"roving\" },\n native: { roles: [\"tab\"], states: [\"disabled\", \"selected\"], actions: [\"activate\"] },\n scenarios: [\n \"tab-controls-panel\",\n \"one-tab-stop\",\n \"disabled-tab-skipped\",\n \"selected-plus-focus\",\n \"automatic-activation-only-for-instant-panels\",\n \"manual-activation-keeps-focus-and-selection-distinct\",\n \"active-mount-removes-inactive-panel\",\n \"always-mount-makes-inactive-panels-inert\",\n \"visited-mount-preserves-visited-panel-state\",\n \"horizontal-arrows-do-not-consume-up-down\",\n \"vertical-arrows-and-aria-orientation\",\n \"web-tablist-has-accessible-name\",\n \"every-tab-controls-an-existing-panel\",\n \"active-panel-labelled-by-selected-tab\",\n \"manual-focus-does-not-relabel-dynamic-panel\",\n \"dynamic-panel-preserves-host-instance\",\n \"dynamic-panel-requires-active-mount\",\n \"panel-enters-tab-order-when-content-has-no-focus-target\",\n \"rtl-navigation-follows-logical-direction\",\n \"first-enabled-tab-is-uncontrolled-default\",\n \"duplicate-and-disabled-selection-are-rejected\",\n \"controlled-selection-never-mutates-internally\",\n \"native-focus-does-not-select-without-activate\",\n \"inactive-mounted-panels-are-hidden-and-inert\",\n \"uncontrolled-selection-reconciles-collection-mutation\",\n ],\n },\n bottomNavigation: {\n controlled: [],\n inputs: [\"items\", \"selectedKey\", \"accessibilityLabel\"],\n events: [\"onActivate\", \"onLongPress\"],\n configuration: {\n direction: [\"ltr\", \"rtl\"],\n keyboardBehavior: [\"hide\", \"remain\"],\n labels: [\"visible\", \"hidden\"],\n },\n defaults: bottomNavigationBehaviorDefaults,\n stateAxes: {\n interaction: [\"idle\", \"hover\", \"focusVisible\", \"pressed\"],\n availability: [\"enabled\", \"disabled\"],\n value: [\"selected\"],\n },\n web: {\n roles: [\"navigation\", \"list\", \"link\"],\n keyboard: [\"Tab\", \"Enter\"],\n focus: \"native\",\n },\n native: {\n roles: [\"tab\", \"button\"],\n states: [\"disabled\", \"selected\"],\n actions: [\"activate\", \"longpress\"],\n },\n scenarios: [\n \"two-to-five-stable-top-level-destinations\",\n \"router-selected-key-is-read-only-input\",\n \"activation-does-not-select-before-router-commit\",\n \"prevented-or-failed-navigation-keeps-current-selection\",\n \"reselect-is-distinct-from-navigation\",\n \"navigator-preserves-each-destination-state\",\n \"disabled-destination-suppresses-activation\",\n \"visible-label-always-names-a-decorative-icon\",\n \"selected-state-uses-icon-emphasis-and-label-weight-not-color-alone\",\n \"selected-content-and-focus-indicator-remain-simultaneously-visible\",\n \"centered-sibling-action-is-excluded-from-destination-collection\",\n \"badge-zero-is-hidden-and-visible-count-is-bounded\",\n \"badge-subtree-is-hidden-and-item-uses-one-resolved-accessibility-name\",\n \"badge-update-does-not-change-focus-selection-or-live-announce\",\n \"web-uses-a-labelled-navigation-landmark-and-real-links\",\n \"web-current-link-uses-aria-current-page\",\n \"web-preserves-modifier-click-and-does-not-use-tab-roles-or-roving-focus\",\n \"native-emits-tab-press-and-respects-default-prevented-before-navigation\",\n \"native-forwards-tab-long-press\",\n \"native-ios-may-use-button-plus-selected-when-tab-role-is-not-reliably-supported\",\n \"safe-area-padding-is-additive\",\n \"software-keyboard-hides-instead-of-lifting-the-navigation\",\n \"two-hundred-percent-text-wraps-without-fixed-item-height\",\n \"rtl-order-and-badge-anchor-follow-logical-direction\",\n \"targets-are-at-least-forty-four-units\",\n \"reduced-motion-removes-transform-without-changing-state\",\n ],\n },\n disclosureGroup: {\n controlled: [\"expandedKeys\", \"defaultExpandedKeys\", \"onExpandedChange\"],\n stateAxes: { availability: [\"enabled\", \"disabled\"], value: [\"expanded\"] },\n web: { roles: [\"heading\", \"button\", \"region\"], keyboard: [\"Tab\", \"Enter\", \"Space\", \"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"], focus: \"native\" },\n native: { roles: [\"button\"], states: [\"disabled\", \"expanded\"], actions: [\"activate\"] },\n scenarios: [\n \"single-and-multiple-invariants\",\n \"each-enabled-trigger-is-a-tab-stop\",\n \"toggle-keeps-trigger-focus\",\n \"panel-removed-when-collapsed\",\n \"disabled-trigger-suppresses-change\",\n \"reduced-motion\",\n ],\n },\n menu: {\n controlled: [\n \"open\",\n \"defaultOpen\",\n \"onOpenChange\",\n \"onAction\",\n \"onActionAfterDismiss\",\n \"selection\",\n \"asyncState\",\n ],\n stateAxes: { availability: [\"enabled\", \"disabled\"], value: [\"open\", \"selected\"], content: [\"idle\", \"loading\", \"loadingMore\", \"empty\", \"error\"] },\n web: { roles: [\"menu\", \"menuitem\", \"menuitemradio\", \"menuitemcheckbox\"], keyboard: [\"Enter\", \"Space\", \"Escape\", \"ArrowUp\", \"ArrowDown\", \"Home\", \"End\", \"Typeahead\"], focus: \"restore\", dismiss: [\"escape\", \"outside\", \"selection\"] },\n native: { roles: [\"menu\", \"menuitem\"], states: [\"disabled\", \"selected\", \"checked\"], actions: [\"activate\"], dismiss: [\"back\", \"outside\", \"selection\"] },\n scenarios: [\n \"action-and-single-close-after-selection\",\n \"on-action-does-not-depend-on-controlled-close\",\n \"after-dismiss-action-sequences-next-surface\",\n \"multiple-selection-keeps-menu-open\",\n \"disabled-item-skipped\",\n \"escape-or-back-restores-trigger\",\n \"danger-item-not-color-only\",\n \"loading-more-preserves-items-and-selection\",\n ],\n },\n dialog: {\n controlled: [\"open\", \"defaultOpen\", \"onOpenChange\"],\n stateAxes: { availability: [\"enabled\", \"busy\"], value: [\"open\"] },\n web: { roles: [\"dialog\"], keyboard: [\"Tab\", \"Escape\"], focus: \"trap\", dismiss: [\"escape\", \"outside\"] },\n native: { roles: [\"dialog\"], states: [\"busy\"], actions: [\"dismiss\"], dismiss: [\"back\", \"outside\"] },\n scenarios: [\"title-description-linkage\", \"focus-trap-and-restore\", \"modal-isolation\", \"single-dismiss-callback\"],\n },\n alertDialog: {\n controlled: [\"open\", \"defaultOpen\", \"onOpenChange\"],\n stateAxes: { availability: [\"enabled\", \"busy\"], value: [\"open\"], content: [\"idle\", \"loading\", \"error\"] },\n web: { roles: [\"alertdialog\"], keyboard: [\"Tab\", \"Escape\"], focus: \"trap\", dismiss: [\"escape\"] },\n native: { roles: [\"alertdialog\"], states: [\"busy\"], actions: [\"confirm\", \"cancel\"], dismiss: [\"back\"] },\n scenarios: [\n \"visible-title-and-description-are-announced\",\n \"modal-isolation-and-tab-trap\",\n \"confirm-mode-cancel-is-initial-focus\",\n \"alert-mode-confirm-is-initial-focus\",\n \"outside-attempt-is-ignored-without-callback\",\n \"escape-or-back-cancels-when-idle\",\n \"busy-blocks-every-dismiss-and-duplicate-confirm\",\n \"confirm-action-runs-once\",\n \"error-is-announced-and-dialog-stays-open\",\n \"controlled-close-settles-programmatic-cancel\",\n \"unmount-settles-interrupted\",\n \"result-settles-once-after-exit\",\n \"focus-restores-after-every-close-path\",\n \"reduced-motion-still-completes-exit\",\n ],\n },\n sheet: {\n controlled: [\"open\", \"defaultOpen\", \"onOpenChange\", \"dismissPolicy\"],\n defaults: sheetBehaviorDefaults,\n stateAxes: { availability: [\"enabled\", \"busy\"], value: [\"open\"] },\n web: { roles: [\"dialog\"], keyboard: [\"Tab\", \"Escape\"], focus: \"trap\", dismiss: [\"escape\", \"outside\"] },\n native: { roles: [\"dialog\"], states: [\"busy\"], actions: [\"dismiss\"], dismiss: [\"back\", \"outside\"] },\n scenarios: [\n \"focus-or-modal-isolation\",\n \"scroll-lock\",\n \"safe-area\",\n \"single-dismiss-callback\",\n \"busy-blocks-dismiss\",\n \"dismiss-reason-is-reported\",\n \"programmatic-owner-close-is-always-allowed\",\n \"swipe-requires-enabled-policy-and-gesture-capability\",\n \"successor-surface-opens-after-exit\",\n \"nested-modal-surfaces-are-forbidden\",\n \"reduced-motion-still-completes-dismiss\",\n ],\n },\n select: {\n controlled: [\n \"selectedKey\",\n \"defaultSelectedKey\",\n \"onSelectionChange\",\n \"open\",\n \"defaultOpen\",\n \"onOpenChange\",\n ],\n inputs: [\"asyncState\", \"selectedItem\"],\n configuration: {\n disallowEmptySelection: [\"true\", \"false\"],\n loop: [\"true\", \"false\"],\n },\n defaults: selectBehaviorDefaults,\n stateAxes: {\n availability: [\"enabled\", \"disabled\", \"readOnly\", \"busy\"],\n value: [\"empty\", \"selected\", \"open\"],\n validation: [\"valid\", \"invalid\"],\n content: [\"idle\", \"loading\", \"loadingMore\", \"empty\", \"error\"],\n },\n web: {\n roles: [\"combobox\", \"listbox\", \"option\"],\n keyboard: [\n \"Tab\",\n \"Enter\",\n \"Space\",\n \"Escape\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\",\n \"Typeahead\",\n ],\n focus: \"activeDescendant\",\n dismiss: [\"selection\", \"escape\", \"outside\", \"blur\"],\n },\n native: {\n roles: [\"button\", \"dialog\", \"radio\"],\n states: [\"disabled\", \"checked\", \"busy\", \"expanded\"],\n actions: [\"activate\", \"dismiss\"],\n dismiss: [\"selection\", \"back\", \"outside\"],\n },\n scenarios: [\n \"visible-label-or-accessibility-label-names-trigger\",\n \"collection-ids-and-text-values-are-validated\",\n \"highlighted-option-is-distinct-from-committed-selection\",\n \"trigger-controls-the-mounted-listbox\",\n \"active-descendant-references-a-mounted-option\",\n \"active-option-scrolls-into-view\",\n \"disabled-options-are-skipped\",\n \"escape-closes-without-commit\",\n \"selection-requests-close-and-restores-trigger-focus\",\n \"controlled-owner-may-defer-a-selection-close-request\",\n \"removed-selection-is-reconciled\",\n \"loading-more-preserves-options-and-selection\",\n \"transient-async-pages-preserve-committed-key-and-copy\",\n \"empty-error-and-loading-are-announced\",\n \"options-have-no-nested-interactive-descendants\",\n ],\n },\n combobox: {\n controlled: [\n \"selectedKey\",\n \"defaultSelectedKey\",\n \"onSelectionChange\",\n \"inputValue\",\n \"defaultInputValue\",\n \"onInputValueChange\",\n \"open\",\n \"defaultOpen\",\n \"onOpenChange\",\n ],\n inputs: [\"asyncState\", \"queryValue\", \"resultQuery\", \"selectedItem\"],\n events: [\"onCommit\"],\n configuration: {\n filtering: [\"local\", \"external\"],\n loop: [\"true\", \"false\"],\n },\n defaults: comboboxBehaviorDefaults,\n stateAxes: {\n availability: [\"enabled\", \"disabled\", \"readOnly\", \"busy\"],\n value: [\"empty\", \"filled\", \"selected\", \"open\"],\n validation: [\"valid\", \"invalid\"],\n content: [\"idle\", \"loading\", \"loadingMore\", \"empty\", \"error\"],\n },\n web: {\n roles: [\"combobox\", \"listbox\", \"option\"],\n keyboard: [\n \"Tab\",\n \"Enter\",\n \"Escape\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\",\n ],\n focus: \"activeDescendant\",\n dismiss: [\"selection\", \"escape\", \"outside\", \"blur\"],\n },\n native: {\n roles: [\"button\", \"text\", \"dialog\", \"radio\"],\n states: [\"disabled\", \"checked\", \"busy\", \"expanded\"],\n actions: [\"focus\", \"setText\", \"activate\", \"dismiss\"],\n dismiss: [\"selection\", \"back\", \"outside\"],\n },\n scenarios: [\n \"selected-key-and-input-value-are-independent\",\n \"input-focus-and-active-option-are-distinct\",\n \"input-controls-the-mounted-listbox\",\n \"active-descendant-references-a-mounted-option\",\n \"active-option-scrolls-into-view\",\n \"ime-composition-does-not-prematurely-filter-or-commit\",\n \"escape-restores-the-committed-label\",\n \"query-edit-never-commits-a-stale-selection\",\n \"external-results-do-not-implicitly-commit\",\n \"committed-item-survives-transient-result-pages\",\n \"stale-external-results-do-not-replace-current-query\",\n \"loading-more-preserves-options-and-active-descendant\",\n \"empty-error-and-loading-are-announced\",\n \"custom-values-are-rejected-without-an-explicit-policy\",\n \"selection-state-updates-before-commit-event-and-close-request\",\n \"options-have-no-nested-interactive-descendants\",\n ],\n },\n toast: {\n controlled: [],\n inputs: [\"descriptor\", \"queueSnapshot\", \"visibleSnapshot\"],\n events: [\"onAction\", \"onPress\", \"onDismiss\"],\n configuration: {\n priority: [\"normal\", \"high\"],\n duplicatePolicy: [\"update\", \"ignore\"],\n timerUpdatePolicy: [\"preserve\", \"restart\"],\n overflowPolicy: [\"discard-oldest\", \"discard-newest\"],\n },\n defaults: toastBehaviorDefaults,\n stateAxes: {\n value: [\"open\"],\n content: [\"idle\"],\n },\n web: {\n roles: [\"region\", \"status\", \"alert\", \"button\"],\n keyboard: [\"Tab\", \"Enter\", \"Space\", \"Escape\", \"F8\"],\n focus: \"native\",\n dismiss: [\"timeout\", \"action\", \"press\", \"close-action\", \"escape\", \"swipe\", \"programmatic\"],\n },\n native: {\n roles: [\"alert\", \"button\"],\n states: [],\n actions: [\"announce\", \"activate\", \"dismiss\"],\n dismiss: [\"timeout\", \"action\", \"press\", \"close-action\", \"swipe\", \"programmatic\"],\n },\n scenarios: [\n \"stable-id-duplicate-updates-in-place-without-reordering\",\n \"bounded-queue-promotes-items-in-fifo-order\",\n \"queued-time-never-consumes-auto-dismiss-duration\",\n \"visible-timer-pauses-for-pointer-focus-window-and-gesture\",\n \"actionable-toast-is-persistent-unless-duration-is-explicit\",\n \"auto-dismiss-duration-is-never-shorter-than-five-seconds\",\n \"action-and-dismiss-callbacks-run-exactly-once\",\n \"card-press-runs-once-before-dismiss-and-excludes-action-close-and-swipe\",\n \"programmatic-close-reports-its-own-dismiss-reason\",\n \"normal-and-high-announcements-use-the-visible-copy-or-explicit-override\",\n \"tone-is-always-paired-with-a-non-color-mark\",\n \"web-hotkey-focuses-the-labelled-viewport-and-last-close-restores-focus\",\n \"exit-completes-once-with-and-without-reduced-motion\",\n \"provider-teardown-interrupts-every-session-without-leaking-a-timer\",\n ],\n },\n loadMore: {\n controlled: [],\n inputs: [\"state\", \"labels\"],\n events: [\"onLoadMore\"],\n configuration: { mode: [\"automatic\", \"manual\"] },\n defaults: loadMoreBehaviorDefaults,\n stateAxes: {\n availability: [\"enabled\", \"busy\"],\n content: [\"idle\", \"loadingMore\", \"error\", \"complete\"],\n },\n web: {\n roles: [\"status\", \"alert\", \"button\"],\n keyboard: [\"Tab\", \"Enter\", \"Space\"],\n focus: \"native\",\n },\n native: {\n roles: [\"progressbar\", \"alert\", \"button\"],\n states: [\"busy\", \"disabled\"],\n actions: [\"activate\"],\n },\n scenarios: [\n \"existing-items-remain-mounted-in-every-footer-state\",\n \"automatic-viewport-request-has-an-accessible-manual-fallback\",\n \"one-request-is-in-flight-per-controller\",\n \"same-request-key-is-never-issued-twice-concurrently\",\n \"loading-and-complete-states-block-new-requests\",\n \"error-state-retries-only-with-retry-reason\",\n \"loading-status-and-error-alert-announce-once\",\n \"retry-and-manual-targets-are-at-least-forty-four-units\",\n ],\n },\n tooltip: {\n controlled: [\"open\", \"defaultOpen\", \"onOpenChange\"],\n inputs: [\"content\"],\n configuration: {\n placement: [\"top\", \"bottom\", \"start\", \"end\"],\n align: [\"start\", \"center\", \"end\"],\n },\n defaults: tooltipBehaviorDefaults,\n stateAxes: {\n interaction: [\"idle\", \"hover\", \"focusVisible\"],\n value: [\"open\"],\n },\n web: {\n roles: [\"tooltip\"],\n keyboard: [\"Tab\", \"Escape\"],\n focus: \"none\",\n dismiss: [\"escape\", \"blur\"],\n },\n native: { roles: [], states: [], actions: [] },\n scenarios: [\n \"plain-localized-copy-never-contains-interaction\",\n \"keyboard-focus-opens-immediately-and-pointer-respects-delay\",\n \"recent-sibling-tooltip-uses-skip-delay\",\n \"one-tooltip-is-visible-per-provider\",\n \"trigger-content-hover-and-pointer-corridor-keep-open\",\n \"escape-dismisses-and-suppresses-reopen-until-input-reset\",\n \"blur-or-pointer-leave-closes-only-after-all-active-inputs-end\",\n \"trigger-activation-closes-without-cancelling-trigger-action\",\n \"trigger-keeps-focus-and-tooltip-has-no-tab-stop\",\n \"existing-aria-describedby-is-preserved\",\n \"touch-pointer-hover-is-ignored\",\n \"controlled-close-rejection-never-exposes-two-tooltips\",\n \"timer-and-global-listener-cleanup-on-unmount\",\n \"reduced-motion-exit-completes-exactly-once\",\n ],\n },\n anchor: anchorBehavior,\n agreement: agreementBehavior,\n top: topBehavior,\n authProviderButton: authProviderButtonBehavior,\n authScreen: authScreenBehavior,\n heading: headingBehavior,\n toggleGroup: toggleGroupBehavior,\n tagsInput: tagsInputBehavior,\n skipNav: skipNavBehavior,\n bottomInfo: bottomInfoBehavior,\n sidebar: sidebarBehavior,\n nativePlatform: nativePlatformBehavior,\n dateRange: dateRangeBehavior,\n textFormat: textFormatBehavior,\n collapsible: collapsibleBehavior,\n asset: assetBehavior,\n menubar: menubarBehavior,\n contextMenu: contextMenuBehavior,\n breadcrumb: breadcrumbBehaviorSpec,\n calendar: calendarBehavior,\n carousel: carouselBehavior,\n commandPalette: {\n controlled: [\n \"open\",\n \"defaultOpen\",\n \"onOpenChange\",\n \"inputValue\",\n \"defaultInputValue\",\n \"onInputValueChange\",\n ],\n inputs: [\"queryValue\", \"resultQuery\", \"asyncState\", \"accessibilityLabel\", \"searchPlaceholder\"],\n events: [\"onActivate\", \"onActivateAfterDismiss\"],\n stateAxes: { value: [\"open\"], content: [\"idle\", \"loading\", \"loadingMore\", \"empty\", \"error\"] },\n // 저작자 명세의 dismiss 사유 \"activation\"은 채택하지 않았다. 같은 뜻의 \"action\"이\n // 이미 유니언에 있고(Menu가 onAction으로 쓴다), 공용 어휘에 동의어를 하나 더 두면\n // 렌더러가 둘을 구별해야 하는지 매번 물어야 한다.\n web: { roles: [\"dialog\", \"listbox\", \"option\"], keyboard: [\"Tab\", \"Enter\", \"Escape\", \"ArrowUp\", \"ArrowDown\"], focus: \"trap\", dismiss: [\"escape\", \"outside\", \"action\"] },\n native: { roles: [], states: [], actions: [] },\n scenarios: [...commandPaletteBehaviorScenarios],\n },\n floatingActionButton: {\n controlled: [],\n inputs: [\"label\", \"icon\", \"layoutMode\", \"scrollSignal\", \"safeAreaInset\"],\n events: [\"onPress\"],\n stateAxes: { interaction: [\"idle\", \"hover\", \"pressed\", \"focusVisible\"] },\n web: { roles: [\"button\"], keyboard: [\"Tab\", \"Enter\", \"Space\"], focus: \"native\" },\n native: { roles: [\"button\"], states: [], actions: [\"activate\"] },\n scenarios: [...floatingActionButtonBehaviorScenarios],\n },\n // 이 항목은 `transfer-list.ts`에서 import하지 않고 여기에 직접 쓴다. 그 모듈은\n // 이 파일에서 **값**을(getCheckboxNextState 등) 가져오므로, 여기서 되받으면\n // 실제 순환이 닫혀 레지스트리가 undefined를 담는다(타입만 가져오는\n // data-table과 다른 점이다). 두 정의가 어긋나지 않는지는 테스트로 잠근다.\n transferList: {\n controlled: [\"targetKeys\", \"defaultTargetKeys\", \"onTargetKeysChange\"],\n inputs: [\"items\"],\n events: [\"onMove\"],\n stateAxes: {\n availability: [\"enabled\", \"disabled\"],\n value: [\"empty\", \"filled\", \"selected\", \"mixed\"],\n },\n web: {\n roles: [\"group\", \"listbox\", \"option\", \"checkbox\", \"button\"],\n keyboard: [\"Tab\", \"Space\", \"Enter\", \"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"],\n focus: \"roving\",\n },\n native: {\n roles: [\"list\", \"checkbox\", \"button\"],\n states: [\"disabled\", \"selected\", \"checked\"],\n actions: [\"toggle\", \"toggleSelectAll\", \"moveSelection\", \"moveItem\"],\n },\n scenarios: [\n \"moving-is-reachable-entirely-by-keyboard-select-with-space-then-activate-the-move-button\",\n \"moving-a-single-focused-row-does-not-require-first-opening-multi-select\",\n \"focus-after-a-move-lands-on-the-item-that-slid-into-the-removed-rows-position\",\n \"focus-after-emptying-a-panel-falls-back-to-its-empty-state-never-lost-to-the-document\",\n \"every-move-emits-which-ids-moved-so-the-product-can-announce-a-formatted-sentence\",\n \"disabled-items-are-never-selectable-and-never-move\",\n \"moved-items-are-cleared-from-the-origin-panels-selection-and-left-unselected-at-the-destination\",\n \"select-all-in-a-panel-excludes-disabled-items-from-both-the-denominator-and-the-count\",\n \"an-item-with-nothing-selected-in-its-panel-still-supports-direct-single-item-move\",\n \"search-and-pagination-inside-a-panel-are-product-composition-not-this-contract\",\n ],\n },\n dataTable: dataTableBehavior,\n tour: {\n controlled: [\"open\", \"defaultOpen\", \"onOpenChange\", \"currentStepId\", \"defaultCurrentStepId\", \"onStepChange\"],\n inputs: [\"steps\", \"labels\", \"anchorId\"],\n events: [\"onClose\"],\n stateAxes: { value: [\"open\", \"currentStep\"] },\n // outside 닫힘이 없다. 실수로 워크스루가 끊기지 않게 하려는 고정 규칙이라\n // 저작자가 policy 객체조차 두지 않았고, 요약에도 그 사실을 그대로 옮긴다.\n web: { roles: [\"dialog\"], keyboard: [\"Tab\", \"Enter\", \"Escape\", \"ArrowLeft\", \"ArrowRight\"], focus: \"trap\", dismiss: [\"escape\", \"close-action\", \"programmatic\"] },\n native: { roles: [], states: [], actions: [] },\n scenarios: [...tourBehaviorScenarios],\n },\n layout: layoutBehavior,\n otpField: otpFieldBehavior,\n passwordField: passwordFieldBehavior,\n splitter: splitterBehavior,\n datePicker: datePickerBehavior,\n sidePanel: sidePanelBehavior,\n filePicker: filePickerBehavior,\n pagination: {\n controlled: [\"currentPage\", \"onPageChange\"],\n inputs: [\"totalCount\", \"totalPages\", \"pageSize\", \"labels\"],\n configuration: { window: [\"siblingCount\", \"boundaryCount\"] },\n stateAxes: {},\n web: {\n roles: [\"navigation\"],\n keyboard: [\"Tab\", \"Enter\", \"Space\"],\n focus: \"native\",\n },\n native: { roles: [], states: [], actions: [] },\n scenarios: [...paginationBehaviorScenarios],\n },\n /*\n 비모달이라 `busy` 축이 없다. Sheet/AlertDialog는 진행 중 dismiss를 막지만 Popover는\n 포커스가 정당하게 밖으로 나갈 수 있어 그 축이 성립하지 않는다 — 대신 나가는 것\n 자체가 dismiss 신호이므로 `outside-focus`를 별도 reason으로 둔다.\n */\n popover: {\n controlled: [\"open\", \"defaultOpen\", \"onOpenChange\"],\n defaults: popoverBehaviorDefaults,\n stateAxes: { value: [\"open\"] },\n /*\n `trap`이 아니라 `restore`다 — Dialog·Sheet·AlertDialog는 모달이라 포커스를 가두지만\n Popover는 비모달이라 Tab이 **정당하게 밖으로 나갈 수 있다.** 그래서 가두지 않고,\n Escape/명시적 닫기는 트리거로 복귀하고, 바깥 클릭·Tab 이동은 새 초점을 보존한다.\n 나가는 것 자체가 dismiss 신호이므로 `outside-focus`를 별도 reason으로 둔다.\n */\n web: {\n roles: [\"dialog\"],\n keyboard: [\"Tab\", \"Escape\"],\n focus: \"restore\",\n dismiss: [\"escape\", \"outside\"],\n },\n native: { roles: [], states: [], actions: [] },\n scenarios: [...popoverBehaviorScenarios],\n },\n tree: treeBehavior,\n uploadItem: uploadItemBehavior,\n form: formBehaviorSpec,\n numberField: numberFieldBehavior,\n slider: sliderBehavior,\n} as const satisfies Record<string, BehaviorContract>;\n\nexport type BehaviorName = keyof typeof behaviorRegistry;\n\nexport type CollectionKey = string;\nexport type CollectionItemTone = \"neutral\" | \"danger\";\n\nexport type CollectionItemDescriptor<Key extends CollectionKey = CollectionKey> = Readonly<{\n id: Key;\n label: string;\n textValue: string;\n description?: string;\n shortcut?: string;\n disabled?: boolean;\n tone?: CollectionItemTone;\n}>;\n\n/** Menu-only extension; danger tone and shortcut do not belong to Select. */\nexport type MenuItemDescriptor<\n Key extends CollectionKey = CollectionKey,\n> = CollectionItemDescriptor<Key>;\n\ntype CollectionSectionLabel =\n | Readonly<{ label: string; accessibilityLabel?: string }>\n | Readonly<{ label?: string; accessibilityLabel: string }>;\n\nexport type CollectionSectionDescriptor<\n Key extends CollectionKey = CollectionKey,\n SectionKey extends CollectionKey = CollectionKey,\n> = Readonly<{\n id: SectionKey;\n items: readonly CollectionItemDescriptor<Key>[];\n}> & CollectionSectionLabel;\n\nexport type MenuSectionDescriptor<\n Key extends CollectionKey = CollectionKey,\n SectionKey extends CollectionKey = CollectionKey,\n> = CollectionSectionDescriptor<Key, SectionKey>;\n\nexport type NoSelectionModel = Readonly<{ mode: \"none\" }>;\nexport type SingleSelectionModel<Key extends CollectionKey = CollectionKey> =\n | Readonly<{\n mode: \"single\";\n selectedKey: Key | null;\n defaultSelectedKey?: never;\n onSelectionChange(key: Key | null): void;\n disallowEmptySelection?: boolean;\n }>\n | Readonly<{\n mode: \"single\";\n selectedKey?: never;\n defaultSelectedKey?: Key | null;\n onSelectionChange?: (key: Key | null) => void;\n disallowEmptySelection?: boolean;\n }>;\nexport type MultipleSelectionModel<Key extends CollectionKey = CollectionKey> =\n | Readonly<{\n mode: \"multiple\";\n selectedKeys: ReadonlySet<Key>;\n defaultSelectedKeys?: never;\n onSelectionChange(keys: ReadonlySet<Key>): void;\n }>\n | Readonly<{\n mode: \"multiple\";\n selectedKeys?: never;\n defaultSelectedKeys?: ReadonlySet<Key>;\n onSelectionChange?: (keys: ReadonlySet<Key>) => void;\n }>;\nexport type CollectionSelectionModel<Key extends CollectionKey = CollectionKey> =\n | NoSelectionModel\n | SingleSelectionModel<Key>\n | MultipleSelectionModel<Key>;\n\nexport type AsyncCollectionState =\n | Readonly<{ status: \"idle\" }>\n | Readonly<{ status: \"loading\"; message: string }>\n | Readonly<{ status: \"loadingMore\"; message: string }>\n | Readonly<{ status: \"empty\"; message: string }>\n | Readonly<{ status: \"error\"; message: string }>;\n\n/**\n * Shared input semantics for future Select/Combobox renderers. Web may render a\n * popup while Native renders a sheet, but both consume the same stable keys.\n */\nexport type SelectItemDescriptor<\n Key extends CollectionKey = CollectionKey,\n> = Omit<CollectionItemDescriptor<Key>, \"shortcut\" | \"tone\"> &\n Readonly<{ shortcut?: never; tone?: never }>;\n\nexport type ControlledSelectSelection<\n Key extends CollectionKey = CollectionKey,\n> = Readonly<{\n selectedKey: Key | null;\n defaultSelectedKey?: never;\n onSelectionChange(key: Key | null): void;\n}>;\n\nexport type UncontrolledSelectSelection<\n Key extends CollectionKey = CollectionKey,\n> = Readonly<{\n selectedKey?: never;\n defaultSelectedKey?: Key | null;\n onSelectionChange?: (key: Key | null) => void;\n}>;\n\nexport type SelectSelection<Key extends CollectionKey = CollectionKey> =\n | ControlledSelectSelection<Key>\n | UncontrolledSelectSelection<Key>;\n\nexport type ControlledComboboxInput = Readonly<{\n inputValue: string;\n defaultInputValue?: never;\n onInputValueChange(value: string): void;\n}>;\n\nexport type UncontrolledComboboxInput = Readonly<{\n inputValue?: never;\n defaultInputValue?: string;\n onInputValueChange?: (value: string) => void;\n}>;\n\nexport type ComboboxInput = ControlledComboboxInput | UncontrolledComboboxInput;\n\nexport type ComboboxFiltering = \"local\" | \"external\";\nexport type ComboboxCommitReason =\n | \"selection\"\n | \"clear\";\n"]}
@@ -19,7 +19,17 @@ export type BottomNavigationConfiguration = Readonly<{
19
19
  direction?: BottomNavigationDirection;
20
20
  keyboardBehavior?: BottomNavigationKeyboardBehavior;
21
21
  labels?: BottomNavigationLabels;
22
+ /** Inset selected destination card, with equal widths and persistent labels. Floating only. */
23
+ selection?: "emphasis" | "tile";
24
+ /**
25
+ * `raised` paints the tile bar as a thick plank: a sunken surface role with a
26
+ * control-colored lower edge, and a darker lower edge under the selected tile.
27
+ * Tile selection only. Added 2026-10-13 for Spint's wooden-sign tab bar so the
28
+ * product supplies colors through palette roles instead of deprecated styles.
29
+ */
30
+ surface?: BottomNavigationSurface;
22
31
  }>;
32
+ export type BottomNavigationSurface = "flat" | "raised";
23
33
  export type ResolvedBottomNavigationConfiguration = Readonly<{
24
34
  presentation: BottomNavigationPresentation;
25
35
  distribution: BottomNavigationDistribution;
@@ -27,6 +37,8 @@ export type ResolvedBottomNavigationConfiguration = Readonly<{
27
37
  direction: BottomNavigationDirection;
28
38
  keyboardBehavior: BottomNavigationKeyboardBehavior;
29
39
  labels: BottomNavigationLabels;
40
+ selection: "emphasis" | "tile";
41
+ surface: BottomNavigationSurface;
30
42
  }>;
31
43
  /**
32
44
  * Bottom navigation only accepts numeric counters. A silent status dot is too
@@ -110,6 +122,8 @@ export declare const bottomNavigationBehaviorDefaults: {
110
122
  readonly direction: "ltr";
111
123
  readonly keyboardBehavior: "hide";
112
124
  readonly labels: "visible";
125
+ readonly selection: "emphasis";
126
+ readonly surface: "flat";
113
127
  readonly minItems: 2;
114
128
  readonly maxItems: 6;
115
129
  };
@@ -1 +1 @@
1
- {"version":3,"file":"bottom-navigation.d.ts","sourceRoot":"","sources":["../src/bottom-navigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bottom-navigation.d.ts","sourceRoot":"","sources":["../src/bottom-navigation.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ export const bottomNavigationBehaviorDefaults = {
11
11
  direction: "ltr",
12
12
  keyboardBehavior: "hide",
13
13
  labels: "visible",
14
+ selection: "emphasis",
15
+ surface: "flat",
14
16
  minItems: 2,
15
17
  maxItems: 6,
16
18
  };
@@ -32,6 +34,8 @@ const configurationKeys = new Set([
32
34
  "direction",
33
35
  "keyboardBehavior",
34
36
  "labels",
37
+ "selection",
38
+ "surface",
35
39
  ]);
36
40
  const descriptorKeys = new Set(["accessibilityLabel", "items", "selectedKey"]);
37
41
  const itemKeys = new Set([
@@ -136,6 +140,21 @@ export function validateBottomNavigationConfiguration(configuration, itemCount)
136
140
  if (configuration.labels !== undefined && !labelModes.has(configuration.labels)) {
137
141
  throw new TypeError(`Unsupported BottomNavigation labels: ${String(configuration.labels)}`);
138
142
  }
143
+ if (configuration.selection !== undefined && !["emphasis", "tile"].includes(configuration.selection)) {
144
+ throw new TypeError("Unsupported BottomNavigation selection");
145
+ }
146
+ // Spint's selected card must not inherit capsule's hidden names or unequal widths.
147
+ if (configuration.selection === "tile" &&
148
+ (configuration.presentation !== "floating" || configuration.distribution === "center-gap" || configuration.labels === "hidden")) {
149
+ throw new TypeError("BottomNavigation tile selection requires floating, equal distribution and visible labels");
150
+ }
151
+ if (configuration.surface !== undefined && !["flat", "raised"].includes(configuration.surface)) {
152
+ throw new TypeError("Unsupported BottomNavigation surface");
153
+ }
154
+ // The lower edges belong to the tile row; an emphasis bar has no selected card to lift.
155
+ if (configuration.surface === "raised" && configuration.selection !== "tile") {
156
+ throw new TypeError("BottomNavigation raised surface requires tile selection");
157
+ }
139
158
  // Capsule actions sit beside the destination surface, so reserving a central gap would duplicate their space.
140
159
  if (configuration.presentation === "capsule" && configuration.distribution === "center-gap") {
141
160
  throw new TypeError("BottomNavigation capsule uses an adjacent action, not center-gap");
@@ -154,6 +173,8 @@ export function resolveBottomNavigationConfiguration(configuration, itemCount) {
154
173
  keyboardBehavior: configuration.keyboardBehavior ??
155
174
  bottomNavigationBehaviorDefaults.keyboardBehavior,
156
175
  labels: configuration.labels ?? bottomNavigationBehaviorDefaults.labels,
176
+ selection: configuration.selection ?? bottomNavigationBehaviorDefaults.selection,
177
+ surface: configuration.surface ?? bottomNavigationBehaviorDefaults.surface,
157
178
  };
158
179
  }
159
180
  export function validateBottomNavigationDescriptor(descriptor) {