@nordhealth/components 4.26.2 → 5.0.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 (583) hide show
  1. package/custom-elements.json +51620 -18552
  2. package/lib/Accordion.js +2 -0
  3. package/lib/Accordion.js.map +1 -0
  4. package/lib/AccordionHeader.js +2 -0
  5. package/lib/AccordionHeader.js.map +1 -0
  6. package/lib/AccordionItem.js +2 -0
  7. package/lib/AccordionItem.js.map +1 -0
  8. package/lib/AccordionPanel.js +2 -0
  9. package/lib/AccordionPanel.js.map +1 -0
  10. package/lib/AccordionTrigger.js +2 -0
  11. package/lib/AccordionTrigger.js.map +1 -0
  12. package/lib/ActiveDescendantController-BnMqM79O.js +2 -0
  13. package/lib/ActiveDescendantController-BnMqM79O.js.map +1 -0
  14. package/lib/Aside.js +5 -7
  15. package/lib/Aside.js.map +1 -1
  16. package/lib/AsideDrawer.js +7 -11
  17. package/lib/AsideDrawer.js.map +1 -1
  18. package/lib/AsideTrigger.js +3 -4
  19. package/lib/AsideTrigger.js.map +1 -1
  20. package/lib/Autocomplete.js +2 -0
  21. package/lib/Autocomplete.js.map +1 -0
  22. package/lib/Avatar.js +1 -1
  23. package/lib/Avatar.js.map +1 -1
  24. package/lib/Badge.js +1 -1
  25. package/lib/Badge.js.map +1 -1
  26. package/lib/Banner.js +1 -1
  27. package/lib/Banner.js.map +1 -1
  28. package/lib/Button.js +7 -12
  29. package/lib/Button.js.map +1 -1
  30. package/lib/ButtonGroup.js +1 -1
  31. package/lib/ButtonGroup.js.map +1 -1
  32. package/lib/Calendar-D47b20IT.js +2 -0
  33. package/lib/Calendar-D47b20IT.js.map +1 -0
  34. package/lib/Calendar.js +1 -1
  35. package/lib/Card.js +1 -1
  36. package/lib/Card.js.map +1 -1
  37. package/lib/Checkbox.js +1 -1
  38. package/lib/Checkbox.js.map +1 -1
  39. package/lib/CollapseController-BtKNFNyJ.js +2 -0
  40. package/lib/CollapseController-BtKNFNyJ.js.map +1 -0
  41. package/lib/Collapsible.js +2 -0
  42. package/lib/Collapsible.js.map +1 -0
  43. package/lib/CollapsiblePanel.js +2 -0
  44. package/lib/CollapsiblePanel.js.map +1 -0
  45. package/lib/CollapsibleTrigger.js +2 -0
  46. package/lib/CollapsibleTrigger.js.map +1 -0
  47. package/lib/Combobox-DBxXlbY7.js +2 -0
  48. package/lib/Combobox-DBxXlbY7.js.map +1 -0
  49. package/lib/Combobox.js +2 -0
  50. package/lib/Combobox.js.map +1 -0
  51. package/lib/ComboboxBase.js +2 -0
  52. package/lib/ComboboxBase.js.map +1 -0
  53. package/lib/ComboboxEvents.js +2 -0
  54. package/lib/ComboboxEvents.js.map +1 -0
  55. package/lib/ComboboxGroup.js +2 -0
  56. package/lib/ComboboxGroup.js.map +1 -0
  57. package/lib/ComboboxOption.js +2 -0
  58. package/lib/ComboboxOption.js.map +1 -0
  59. package/lib/CommandMenu.js +1 -1
  60. package/lib/CommandMenu.js.map +1 -1
  61. package/lib/CommandMenuAction.js +1 -1
  62. package/lib/CommandMenuAction.js.map +1 -1
  63. package/lib/Component-BJ5O5n8k.js +2 -0
  64. package/lib/Component-BJ5O5n8k.js.map +1 -0
  65. package/lib/DatePicker.js +1 -1
  66. package/lib/DatePicker.js.map +1 -1
  67. package/lib/DateRangeChangeEvent.js +2 -0
  68. package/lib/DateRangeChangeEvent.js.map +1 -0
  69. package/lib/DateRangePicker.js +2 -0
  70. package/lib/DateRangePicker.js.map +1 -0
  71. package/lib/DateRangeSelectEvent.js +2 -0
  72. package/lib/DateRangeSelectEvent.js.map +1 -0
  73. package/lib/Divider.js +1 -1
  74. package/lib/Divider.js.map +1 -1
  75. package/lib/DraftComponentMixin-4qug5Rky.js +2 -0
  76. package/lib/DraftComponentMixin-4qug5Rky.js.map +1 -0
  77. package/lib/Drawer.js +1 -1
  78. package/lib/Drawer.js.map +1 -1
  79. package/lib/Dropdown.js +1 -1
  80. package/lib/Dropdown.js.map +1 -1
  81. package/lib/DropdownGroup.js +1 -1
  82. package/lib/DropdownGroup.js.map +1 -1
  83. package/lib/DropdownItem-BYbOLth6.js +2 -0
  84. package/lib/DropdownItem-BYbOLth6.js.map +1 -0
  85. package/lib/DropdownItem.js +1 -1
  86. package/lib/DropdownItem.js.map +1 -1
  87. package/lib/DropdownSubmenu.js +1 -1
  88. package/lib/DropdownSubmenu.js.map +1 -1
  89. package/lib/EmptyState.js +1 -1
  90. package/lib/EmptyState.js.map +1 -1
  91. package/lib/Field.js +2 -0
  92. package/lib/Field.js.map +1 -0
  93. package/lib/FieldContent.js +2 -0
  94. package/lib/FieldContent.js.map +1 -0
  95. package/lib/FieldControlMixin-BXNZJXu9.js +2 -0
  96. package/lib/FieldControlMixin-BXNZJXu9.js.map +1 -0
  97. package/lib/FieldDescription.js +2 -0
  98. package/lib/FieldDescription.js.map +1 -0
  99. package/lib/FieldError.js +2 -0
  100. package/lib/FieldError.js.map +1 -0
  101. package/lib/FieldGroup.js +2 -0
  102. package/lib/FieldGroup.js.map +1 -0
  103. package/lib/FieldLabel.js +2 -0
  104. package/lib/FieldLabel.js.map +1 -0
  105. package/lib/FieldLegend.js +2 -0
  106. package/lib/FieldLegend.js.map +1 -0
  107. package/lib/FieldSeparator.js +2 -0
  108. package/lib/FieldSeparator.js.map +1 -0
  109. package/lib/FieldSet.js +2 -0
  110. package/lib/FieldSet.js.map +1 -0
  111. package/lib/FieldTitle.js +2 -0
  112. package/lib/FieldTitle.js.map +1 -0
  113. package/lib/Fieldset2.js +2 -0
  114. package/lib/Fieldset2.js.map +1 -0
  115. package/lib/FilterAddButton.js +2 -0
  116. package/lib/FilterAddButton.js.map +1 -0
  117. package/lib/FilterAddButtonEvents.js +2 -0
  118. package/lib/FilterAddButtonEvents.js.map +1 -0
  119. package/lib/FilterBar.js +2 -0
  120. package/lib/FilterBar.js.map +1 -0
  121. package/lib/FilterDateRange.js +2 -0
  122. package/lib/FilterDateRange.js.map +1 -0
  123. package/lib/FilterDateRangeEvents.js +2 -0
  124. package/lib/FilterDateRangeEvents.js.map +1 -0
  125. package/lib/FilterDropdown.js +2 -0
  126. package/lib/FilterDropdown.js.map +1 -0
  127. package/lib/FilterDropdownEvents.js +2 -0
  128. package/lib/FilterDropdownEvents.js.map +1 -0
  129. package/lib/FilterField.js +2 -0
  130. package/lib/FilterField.js.map +1 -0
  131. package/lib/FilterFieldEvents.js +2 -0
  132. package/lib/FilterFieldEvents.js.map +1 -0
  133. package/lib/FilterInput.js +2 -0
  134. package/lib/FilterInput.js.map +1 -0
  135. package/lib/FilterResetButton.js +2 -0
  136. package/lib/FilterResetButton.js.map +1 -0
  137. package/lib/FocusableWhenDisabledController-C_Mn1mfN.js +2 -0
  138. package/lib/FocusableWhenDisabledController-C_Mn1mfN.js.map +1 -0
  139. package/lib/Footer.js +1 -1
  140. package/lib/Footer.js.map +1 -1
  141. package/lib/FormAssociatedMixin-D9aPREgv.js +2 -0
  142. package/lib/FormAssociatedMixin-D9aPREgv.js.map +1 -0
  143. package/lib/FormField-CMgEFZCK.js +2 -0
  144. package/lib/FormField-CMgEFZCK.js.map +1 -0
  145. package/lib/Header.js +1 -1
  146. package/lib/Header.js.map +1 -1
  147. package/lib/Icon.js +1 -1
  148. package/lib/Icon.js.map +1 -1
  149. package/lib/Input.js +1 -1
  150. package/lib/Input.js.map +1 -1
  151. package/lib/Item.js +2 -0
  152. package/lib/Item.js.map +1 -0
  153. package/lib/ItemActions.js +2 -0
  154. package/lib/ItemActions.js.map +1 -0
  155. package/lib/ItemContent.js +2 -0
  156. package/lib/ItemContent.js.map +1 -0
  157. package/lib/ItemDescription.js +2 -0
  158. package/lib/ItemDescription.js.map +1 -0
  159. package/lib/ItemFooter.js +2 -0
  160. package/lib/ItemFooter.js.map +1 -0
  161. package/lib/ItemGroup.js +2 -0
  162. package/lib/ItemGroup.js.map +1 -0
  163. package/lib/ItemHeader.js +2 -0
  164. package/lib/ItemHeader.js.map +1 -0
  165. package/lib/ItemMedia.js +2 -0
  166. package/lib/ItemMedia.js.map +1 -0
  167. package/lib/ItemSeparator.js +2 -0
  168. package/lib/ItemSeparator.js.map +1 -0
  169. package/lib/ItemTitle.js +2 -0
  170. package/lib/ItemTitle.js.map +1 -0
  171. package/lib/Kbd.js +2 -0
  172. package/lib/Kbd.js.map +1 -0
  173. package/lib/KbdGroup.js +2 -0
  174. package/lib/KbdGroup.js.map +1 -0
  175. package/lib/KeyboardController.js +1 -1
  176. package/lib/KeyboardController.js.map +1 -1
  177. package/lib/Layout.js +1 -3
  178. package/lib/Layout.js.map +1 -1
  179. package/lib/{LightDismissController-4pH8cdko.js → LightDismissController-wcL1ziJa.js} +2 -2
  180. package/lib/{LightDismissController-4pH8cdko.js.map → LightDismissController-wcL1ziJa.js.map} +1 -1
  181. package/lib/LocalizeController.js +1 -1
  182. package/lib/LocalizeController.js.map +1 -1
  183. package/lib/Message.js +1 -1
  184. package/lib/Message.js.map +1 -1
  185. package/lib/Meter.js +2 -0
  186. package/lib/Meter.js.map +1 -0
  187. package/lib/Modal.js +1 -1
  188. package/lib/Modal.js.map +1 -1
  189. package/lib/ModalController.js +1 -1
  190. package/lib/ModalController.js.map +1 -1
  191. package/lib/NavGroup.js +1 -1
  192. package/lib/NavGroup.js.map +1 -1
  193. package/lib/NavItem.js +1 -1
  194. package/lib/NavItem.js.map +1 -1
  195. package/lib/NavToggle-BY83xpx0.js +2 -0
  196. package/lib/NavToggle-BY83xpx0.js.map +1 -0
  197. package/lib/NavToggle.js +1 -1
  198. package/lib/Navigation.js +1 -1
  199. package/lib/Navigation.js.map +1 -1
  200. package/lib/Notification.js +1 -1
  201. package/lib/Notification.js.map +1 -1
  202. package/lib/NotificationGroup.js +1 -1
  203. package/lib/NotificationGroup.js.map +1 -1
  204. package/lib/NumberField.js +2 -0
  205. package/lib/NumberField.js.map +1 -0
  206. package/lib/NumberFieldEvents.js +2 -0
  207. package/lib/NumberFieldEvents.js.map +1 -0
  208. package/lib/OpenStateController-CCnZ7up6.js +2 -0
  209. package/lib/OpenStateController-CCnZ7up6.js.map +1 -0
  210. package/lib/OtpField.js +2 -0
  211. package/lib/OtpField.js.map +1 -0
  212. package/lib/OtpFieldEvents.js +2 -0
  213. package/lib/OtpFieldEvents.js.map +1 -0
  214. package/lib/Outline.js +2 -0
  215. package/lib/Outline.js.map +1 -0
  216. package/lib/OutlineItem.js +2 -0
  217. package/lib/OutlineItem.js.map +1 -0
  218. package/lib/Pagination.js +2 -0
  219. package/lib/Pagination.js.map +1 -0
  220. package/lib/PaginationContent.js +2 -0
  221. package/lib/PaginationContent.js.map +1 -0
  222. package/lib/PaginationEllipsis.js +2 -0
  223. package/lib/PaginationEllipsis.js.map +1 -0
  224. package/lib/PaginationItem.js +2 -0
  225. package/lib/PaginationItem.js.map +1 -0
  226. package/lib/PaginationLink.js +2 -0
  227. package/lib/PaginationLink.js.map +1 -0
  228. package/lib/PaginationNext.js +2 -0
  229. package/lib/PaginationNext.js.map +1 -0
  230. package/lib/PaginationPrevious.js +2 -0
  231. package/lib/PaginationPrevious.js.map +1 -0
  232. package/lib/Popout-CFtFoCaA.js +2 -0
  233. package/lib/Popout-CFtFoCaA.js.map +1 -0
  234. package/lib/Popout.js +1 -1
  235. package/lib/Progress.js +1 -1
  236. package/lib/Progress.js.map +1 -1
  237. package/lib/ProgressBar.js +1 -1
  238. package/lib/ProgressBar.js.map +1 -1
  239. package/lib/Qrcode.js +2 -2
  240. package/lib/Qrcode.js.map +1 -1
  241. package/lib/Radio.js +1 -1
  242. package/lib/Radio.js.map +1 -1
  243. package/lib/Range.js +1 -1
  244. package/lib/Range.js.map +1 -1
  245. package/lib/ReadonlyMixin-BdJPGtQ3.js +2 -0
  246. package/lib/ReadonlyMixin-BdJPGtQ3.js.map +1 -0
  247. package/lib/ResizeController-14PUwRQy.js +2 -0
  248. package/lib/ResizeController-14PUwRQy.js.map +1 -0
  249. package/lib/ScrollArea.js +2 -0
  250. package/lib/ScrollArea.js.map +1 -0
  251. package/lib/SegmentedControl.js +1 -1
  252. package/lib/SegmentedControl.js.map +1 -1
  253. package/lib/SegmentedControlItem.js +23 -40
  254. package/lib/SegmentedControlItem.js.map +1 -1
  255. package/lib/Select.js +1 -1
  256. package/lib/Select.js.map +1 -1
  257. package/lib/ShortcutController-CV5b0BZl.js +2 -0
  258. package/lib/ShortcutController-CV5b0BZl.js.map +1 -0
  259. package/lib/Skeleton.js +1 -1
  260. package/lib/Skeleton.js.map +1 -1
  261. package/lib/Spinner.js +1 -1
  262. package/lib/Spinner.js.map +1 -1
  263. package/lib/Stack.js +1 -1
  264. package/lib/Stack.js.map +1 -1
  265. package/lib/StateAttributesController-BIh96sXZ.js +2 -0
  266. package/lib/StateAttributesController-BIh96sXZ.js.map +1 -0
  267. package/lib/Sticky-CZImMrGj.js +2 -0
  268. package/lib/Sticky-CZImMrGj.js.map +1 -0
  269. package/lib/Tab.js +1 -1
  270. package/lib/Tab.js.map +1 -1
  271. package/lib/TabGroup.js +1 -1
  272. package/lib/TabGroup.js.map +1 -1
  273. package/lib/TabPanel.js +1 -1
  274. package/lib/TabPanel.js.map +1 -1
  275. package/lib/Table.js +1 -1
  276. package/lib/Table.js.map +1 -1
  277. package/lib/Tag.js +1 -1
  278. package/lib/Tag.js.map +1 -1
  279. package/lib/TagGroup.js +1 -1
  280. package/lib/TagGroup.js.map +1 -1
  281. package/lib/TextField-CSKvieoG.js +2 -0
  282. package/lib/TextField-CSKvieoG.js.map +1 -0
  283. package/lib/TextSelectableMixin-Cfv__lHS.js.map +1 -1
  284. package/lib/Textarea.js +1 -1
  285. package/lib/Textarea.js.map +1 -1
  286. package/lib/TimePicker.js +2 -0
  287. package/lib/TimePicker.js.map +1 -0
  288. package/lib/Toast.js +1 -1
  289. package/lib/Toast.js.map +1 -1
  290. package/lib/ToastGroup.js +1 -1
  291. package/lib/ToastGroup.js.map +1 -1
  292. package/lib/Toggle.js +1 -1
  293. package/lib/Toggle.js.map +1 -1
  294. package/lib/Tooltip.js +1 -1
  295. package/lib/Tooltip.js.map +1 -1
  296. package/lib/TopBar.js +1 -1
  297. package/lib/TopBar.js.map +1 -1
  298. package/lib/Truncate.js +1 -1
  299. package/lib/Truncate.js.map +1 -1
  300. package/lib/VisuallyHidden.js +1 -1
  301. package/lib/VisuallyHidden.js.map +1 -1
  302. package/lib/bundle.js +91 -91
  303. package/lib/bundle.js.map +1 -1
  304. package/lib/combobox-context.js +2 -0
  305. package/lib/combobox-context.js.map +1 -0
  306. package/lib/context-consumer-BJVUulGf.js +7 -0
  307. package/lib/context-consumer-BJVUulGf.js.map +1 -0
  308. package/lib/context-provider-D8lrPLVi.js +12 -0
  309. package/lib/context-provider-D8lrPLVi.js.map +1 -0
  310. package/lib/context-request-event-CCRlXoeR.js +7 -0
  311. package/lib/context-request-event-CCRlXoeR.js.map +1 -0
  312. package/lib/create-context-CJ69ntlY.js +7 -0
  313. package/lib/create-context-CJ69ntlY.js.map +1 -0
  314. package/lib/currency.js +2 -0
  315. package/lib/currency.js.map +1 -0
  316. package/lib/date-adapter.js +1 -1
  317. package/lib/dates-C-ZvzXaC.js +2 -0
  318. package/lib/dates-C-ZvzXaC.js.map +1 -0
  319. package/lib/dates.js +2 -0
  320. package/lib/dates.js.map +1 -0
  321. package/lib/dismiss.js +2 -0
  322. package/lib/dismiss.js.map +1 -0
  323. package/lib/en-us.js +1 -1
  324. package/lib/en-us.js.map +1 -1
  325. package/lib/fi-fi.js +1 -1
  326. package/lib/fi-fi.js.map +1 -1
  327. package/lib/field-context.js +2 -0
  328. package/lib/field-context.js.map +1 -0
  329. package/lib/filter-chip-C97zd4PT.js +2 -0
  330. package/lib/filter-chip-C97zd4PT.js.map +1 -0
  331. package/lib/format.js +2 -0
  332. package/lib/format.js.map +1 -0
  333. package/lib/index.js +1 -1
  334. package/lib/interface-add-small-B-hv2v9J.js +2 -0
  335. package/lib/interface-add-small-B-hv2v9J.js.map +1 -0
  336. package/lib/interface-calendar-Cw2bJfbS.js +2 -0
  337. package/lib/interface-calendar-Cw2bJfbS.js.map +1 -0
  338. package/lib/interface-close-BvKnv9eh.js +2 -0
  339. package/lib/interface-close-BvKnv9eh.js.map +1 -0
  340. package/lib/interface-dropdown-small-CYvgxudU.js +2 -0
  341. package/lib/interface-dropdown-small-CYvgxudU.js.map +1 -0
  342. package/lib/interface-filter-CCsx9-u6.js +2 -0
  343. package/lib/interface-filter-CCsx9-u6.js.map +1 -0
  344. package/lib/interface-remove-small-DUaWSs90.js +2 -0
  345. package/lib/interface-remove-small-DUaWSs90.js.map +1 -0
  346. package/lib/light-dom-styles-DXsbiKU9.js +2 -0
  347. package/lib/light-dom-styles-DXsbiKU9.js.map +1 -0
  348. package/lib/localization.js +1 -1
  349. package/lib/localization.js.map +1 -1
  350. package/lib/localization10.js +2 -0
  351. package/lib/localization10.js.map +1 -0
  352. package/lib/localization11.js +2 -0
  353. package/lib/localization11.js.map +1 -0
  354. package/lib/localization12.js +2 -0
  355. package/lib/localization12.js.map +1 -0
  356. package/lib/localization13.js +2 -0
  357. package/lib/localization13.js.map +1 -0
  358. package/lib/localization14.js +2 -0
  359. package/lib/localization14.js.map +1 -0
  360. package/lib/localization15.js +2 -0
  361. package/lib/localization15.js.map +1 -0
  362. package/lib/localization16.js +2 -0
  363. package/lib/localization16.js.map +1 -0
  364. package/lib/localization17.js +2 -0
  365. package/lib/localization17.js.map +1 -0
  366. package/lib/localization18.js +2 -0
  367. package/lib/localization18.js.map +1 -0
  368. package/lib/localization19.js +2 -0
  369. package/lib/localization19.js.map +1 -0
  370. package/lib/localization2.js +1 -1
  371. package/lib/localization2.js.map +1 -1
  372. package/lib/localization20.js +2 -0
  373. package/lib/localization20.js.map +1 -0
  374. package/lib/localization21.js +2 -0
  375. package/lib/localization21.js.map +1 -0
  376. package/lib/localization22.js +2 -0
  377. package/lib/localization22.js.map +1 -0
  378. package/lib/localization23.js +2 -0
  379. package/lib/localization23.js.map +1 -0
  380. package/lib/localization3.js +1 -1
  381. package/lib/localization3.js.map +1 -1
  382. package/lib/localization4.js +1 -1
  383. package/lib/localization4.js.map +1 -1
  384. package/lib/localization5.js +1 -1
  385. package/lib/localization5.js.map +1 -1
  386. package/lib/localization6.js +1 -1
  387. package/lib/localization6.js.map +1 -1
  388. package/lib/localization7.js +1 -1
  389. package/lib/localization7.js.map +1 -1
  390. package/lib/localization8.js +1 -1
  391. package/lib/localization8.js.map +1 -1
  392. package/lib/localization9.js +1 -1
  393. package/lib/localization9.js.map +1 -1
  394. package/lib/navigation-search-CBbIGzo2.js +2 -0
  395. package/lib/navigation-search-CBbIGzo2.js.map +1 -0
  396. package/lib/paginate.js +2 -0
  397. package/lib/paginate.js.map +1 -0
  398. package/lib/parse.js +2 -0
  399. package/lib/parse.js.map +1 -0
  400. package/lib/primitives-Dj0vyf1-.js +2 -0
  401. package/lib/primitives-Dj0vyf1-.js.map +1 -0
  402. package/lib/react.d.ts +520 -0
  403. package/lib/src/accordion/Accordion.d.ts +121 -0
  404. package/lib/src/accordion/AccordionHeader.d.ts +28 -0
  405. package/lib/src/accordion/AccordionItem.d.ts +68 -0
  406. package/lib/src/accordion/AccordionPanel.d.ts +35 -0
  407. package/lib/src/accordion/AccordionTrigger.d.ts +48 -0
  408. package/lib/src/aside/Aside.d.ts +1 -1
  409. package/lib/src/aside-drawer/AsideDrawer.d.ts +3 -1
  410. package/lib/src/aside-trigger/AsideTrigger.d.ts +2 -0
  411. package/lib/src/autocomplete/Autocomplete.d.ts +190 -0
  412. package/lib/src/autocomplete/localization.d.ts +5 -0
  413. package/lib/src/avatar/Avatar.d.ts +1 -1
  414. package/lib/src/badge/Badge.d.ts +1 -1
  415. package/lib/src/banner/Banner.d.ts +3 -0
  416. package/lib/src/button-group/ButtonGroup.d.ts +1 -1
  417. package/lib/src/calendar/Calendar.d.ts +45 -1
  418. package/lib/src/calendar/DateRangeSelectEvent.d.ts +16 -0
  419. package/lib/src/card/Card.d.ts +1 -1
  420. package/lib/src/collapsible/Collapsible.d.ts +69 -0
  421. package/lib/src/collapsible/CollapsiblePanel.d.ts +35 -0
  422. package/lib/src/collapsible/CollapsibleTrigger.d.ts +38 -0
  423. package/lib/src/combobox/Combobox.d.ts +131 -0
  424. package/lib/src/combobox/ComboboxBase.d.ts +421 -0
  425. package/lib/src/combobox/ComboboxEvents.d.ts +25 -0
  426. package/lib/src/combobox/ComboboxGroup.d.ts +34 -0
  427. package/lib/src/combobox/ComboboxOption.d.ts +47 -0
  428. package/lib/src/combobox/combobox-context.d.ts +18 -0
  429. package/lib/src/combobox/localization.d.ts +6 -0
  430. package/lib/src/common/controllers/ActiveDescendantController.d.ts +45 -0
  431. package/lib/src/common/controllers/CollapseController.d.ts +50 -0
  432. package/lib/src/common/controllers/FocusableWhenDisabledController.d.ts +29 -0
  433. package/lib/src/common/controllers/OpenStateController.d.ts +58 -0
  434. package/lib/src/common/controllers/RovingFocusController.d.ts +40 -0
  435. package/lib/src/common/controllers/ShortcutController.d.ts +5 -5
  436. package/lib/src/common/controllers/StateAttributesController.d.ts +47 -0
  437. package/lib/src/common/controllers/TransitionStatusController.d.ts +48 -0
  438. package/lib/src/common/dates.d.ts +13 -0
  439. package/lib/src/common/light-dom-styles.d.ts +17 -0
  440. package/lib/src/common/mixins/FieldControlMixin.d.ts +60 -0
  441. package/lib/src/common/mixins/FormAssociatedMixin.d.ts +8 -25
  442. package/lib/src/common/mixins/TextSelectableMixin.d.ts +1 -0
  443. package/lib/src/common/prefers-reduced-motion.d.ts +7 -0
  444. package/lib/src/date-picker/DatePicker.d.ts +2 -0
  445. package/lib/src/date-range-picker/DateRangeChangeEvent.d.ts +27 -0
  446. package/lib/src/date-range-picker/DateRangePicker.d.ts +307 -0
  447. package/lib/src/date-range-picker/localization.d.ts +42 -0
  448. package/lib/src/divider/Divider.d.ts +1 -1
  449. package/lib/src/drawer/Drawer.d.ts +1 -1
  450. package/lib/src/dropdown/Dropdown.d.ts +1 -1
  451. package/lib/src/dropdown-group/DropdownGroup.d.ts +3 -1
  452. package/lib/src/dropdown-item/DropdownItem.d.ts +3 -1
  453. package/lib/src/dropdown-submenu/DropdownSubmenu.d.ts +2 -0
  454. package/lib/src/field/Field.d.ts +102 -0
  455. package/lib/src/field/FieldContent.d.ts +22 -0
  456. package/lib/src/field/FieldDescription.d.ts +21 -0
  457. package/lib/src/field/FieldError.d.ts +25 -0
  458. package/lib/src/field/FieldGroup.d.ts +25 -0
  459. package/lib/src/field/FieldLabel.d.ts +41 -0
  460. package/lib/src/field/FieldLegend.d.ts +20 -0
  461. package/lib/src/field/FieldSeparator.d.ts +21 -0
  462. package/lib/src/field/FieldSet.d.ts +28 -0
  463. package/lib/src/field/FieldTitle.d.ts +21 -0
  464. package/lib/src/field/field-context.d.ts +47 -0
  465. package/lib/src/fieldset/Fieldset.d.ts +12 -4
  466. package/lib/src/filter-add-button/FilterAddButton.d.ts +91 -0
  467. package/lib/src/filter-add-button/FilterAddButtonEvents.d.ts +17 -0
  468. package/lib/src/filter-add-button/localization.d.ts +4 -0
  469. package/lib/src/filter-bar/FilterBar.d.ts +37 -0
  470. package/lib/src/filter-date-range/FilterDateRange.d.ts +96 -0
  471. package/lib/src/filter-date-range/FilterDateRangeEvents.d.ts +37 -0
  472. package/lib/src/filter-date-range/localization.d.ts +11 -0
  473. package/lib/src/filter-dropdown/FilterDropdown.d.ts +247 -0
  474. package/lib/src/filter-dropdown/FilterDropdownEvents.d.ts +57 -0
  475. package/lib/src/filter-dropdown/localization.d.ts +14 -0
  476. package/lib/src/filter-field/FilterField.d.ts +89 -0
  477. package/lib/src/filter-field/FilterFieldEvents.d.ts +18 -0
  478. package/lib/src/filter-field/localization.d.ts +8 -0
  479. package/lib/src/filter-input/FilterInput.d.ts +102 -0
  480. package/lib/src/filter-input/localization.d.ts +5 -0
  481. package/lib/src/filter-reset-button/FilterResetButton.d.ts +50 -0
  482. package/lib/src/filter-reset-button/localization.d.ts +4 -0
  483. package/lib/src/footer/Footer.d.ts +1 -1
  484. package/lib/src/header/Header.d.ts +1 -1
  485. package/lib/src/icon/Icon.d.ts +1 -1
  486. package/lib/src/index.d.ts +61 -0
  487. package/lib/src/input/Input.d.ts +2 -1
  488. package/lib/src/item/Item.d.ts +44 -0
  489. package/lib/src/item/ItemActions.d.ts +20 -0
  490. package/lib/src/item/ItemContent.d.ts +22 -0
  491. package/lib/src/item/ItemDescription.d.ts +20 -0
  492. package/lib/src/item/ItemFooter.d.ts +20 -0
  493. package/lib/src/item/ItemGroup.d.ts +22 -0
  494. package/lib/src/item/ItemHeader.d.ts +20 -0
  495. package/lib/src/item/ItemMedia.d.ts +28 -0
  496. package/lib/src/item/ItemSeparator.d.ts +21 -0
  497. package/lib/src/item/ItemTitle.d.ts +19 -0
  498. package/lib/src/kbd/Kbd.d.ts +54 -0
  499. package/lib/src/kbd/KbdGroup.d.ts +22 -0
  500. package/lib/src/layout/Layout.d.ts +3 -3
  501. package/lib/src/localization/en-us.d.ts +88 -0
  502. package/lib/src/localization/translation.d.ts +88 -0
  503. package/lib/src/meter/Meter.d.ts +76 -0
  504. package/lib/src/nav-group/NavGroup.d.ts +2 -0
  505. package/lib/src/nav-item/NavItem.d.ts +2 -0
  506. package/lib/src/nav-toggle/NavToggle.d.ts +3 -1
  507. package/lib/src/notification-group/NotificationGroup.d.ts +2 -0
  508. package/lib/src/number-field/NumberField.d.ts +377 -0
  509. package/lib/src/number-field/NumberFieldEvents.d.ts +37 -0
  510. package/lib/src/number-field/currency.d.ts +24 -0
  511. package/lib/src/number-field/format.d.ts +8 -0
  512. package/lib/src/number-field/localization.d.ts +6 -0
  513. package/lib/src/number-field/parse.d.ts +44 -0
  514. package/lib/src/number-field/validate.d.ts +24 -0
  515. package/lib/src/otp-field/OtpField.d.ts +188 -0
  516. package/lib/src/otp-field/OtpFieldEvents.d.ts +38 -0
  517. package/lib/src/otp-field/localization.d.ts +4 -0
  518. package/lib/src/outline/Outline.d.ts +111 -0
  519. package/lib/src/outline/OutlineItem.d.ts +42 -0
  520. package/lib/src/outline/localization.d.ts +4 -0
  521. package/lib/src/pagination/Pagination.d.ts +51 -0
  522. package/lib/src/pagination/PaginationContent.d.ts +27 -0
  523. package/lib/src/pagination/PaginationEllipsis.d.ts +27 -0
  524. package/lib/src/pagination/PaginationItem.d.ts +24 -0
  525. package/lib/src/pagination/PaginationLink.d.ts +30 -0
  526. package/lib/src/pagination/PaginationNext.d.ts +24 -0
  527. package/lib/src/pagination/PaginationPrevious.d.ts +24 -0
  528. package/lib/src/pagination/localization.d.ts +4 -0
  529. package/lib/src/pagination/paginate.d.ts +20 -0
  530. package/lib/src/popout/Popout.d.ts +9 -0
  531. package/lib/src/qrcode/Qrcode.d.ts +1 -1
  532. package/lib/src/scroll-area/ScrollArea.d.ts +101 -0
  533. package/lib/src/segmented-control-item/SegmentedControlItem.d.ts +2 -0
  534. package/lib/src/stack/Stack.d.ts +1 -1
  535. package/lib/src/storybook-utils/dates.d.ts +2 -0
  536. package/lib/src/storybook-utils/dismiss.d.ts +1 -0
  537. package/lib/src/storybook-utils/story-descriptions.d.ts +2 -0
  538. package/lib/src/tab-group/TabGroup.d.ts +2 -0
  539. package/lib/src/tab-panel/TabPanel.d.ts +2 -0
  540. package/lib/src/tag/Tag.d.ts +1 -1
  541. package/lib/src/tag-group/TagGroup.d.ts +3 -1
  542. package/lib/src/time-picker/TimePicker.d.ts +105 -0
  543. package/lib/src/time-picker/localization.d.ts +4 -0
  544. package/lib/src/toast-group/ToastGroup.d.ts +11 -0
  545. package/lib/src/top-bar/TopBar.d.ts +1 -1
  546. package/lib/src/truncate/Truncate.d.ts +1 -1
  547. package/lib/src/visually-hidden/VisuallyHidden.d.ts +1 -1
  548. package/lib/story-descriptions.js +2 -0
  549. package/lib/story-descriptions.js.map +1 -0
  550. package/lib/tinykeys-DwvDXsEb.js +2 -0
  551. package/lib/tinykeys-DwvDXsEb.js.map +1 -0
  552. package/lib/translation.js +1 -1
  553. package/lib/translation.js.map +1 -1
  554. package/lib/validate.js +2 -0
  555. package/lib/validate.js.map +1 -0
  556. package/lib/vue.d.ts +418 -0
  557. package/package.json +10 -13
  558. package/lib/Calendar-ChNZdVRO.js +0 -2
  559. package/lib/Calendar-ChNZdVRO.js.map +0 -1
  560. package/lib/Component-DSU3Qp0O.js +0 -2
  561. package/lib/Component-DSU3Qp0O.js.map +0 -1
  562. package/lib/DropdownItem-Cb-7cHMg.js +0 -2
  563. package/lib/DropdownItem-Cb-7cHMg.js.map +0 -1
  564. package/lib/Fieldset.js +0 -2
  565. package/lib/Fieldset.js.map +0 -1
  566. package/lib/FormAssociatedMixin-B4Qj-CQN.js +0 -2
  567. package/lib/FormAssociatedMixin-B4Qj-CQN.js.map +0 -1
  568. package/lib/FormField-BFaVzUjk.js +0 -2
  569. package/lib/FormField-BFaVzUjk.js.map +0 -1
  570. package/lib/NavToggle-DzKbd-El.js +0 -2
  571. package/lib/NavToggle-DzKbd-El.js.map +0 -1
  572. package/lib/Popout-CYqn_dZu.js +0 -2
  573. package/lib/Popout-CYqn_dZu.js.map +0 -1
  574. package/lib/ShortcutController-BIb3WGzH.js +0 -2
  575. package/lib/ShortcutController-BIb3WGzH.js.map +0 -1
  576. package/lib/Sticky-DqnqENYN.js +0 -2
  577. package/lib/Sticky-DqnqENYN.js.map +0 -1
  578. package/lib/TextField-B955GOhe.js +0 -2
  579. package/lib/TextField-B955GOhe.js.map +0 -1
  580. package/lib/dates-CAAlPKZi.js +0 -2
  581. package/lib/dates-CAAlPKZi.js.map +0 -1
  582. package/lib/tinykeys.module-_6MZt7MP.js +0 -2
  583. package/lib/tinykeys.module-_6MZt7MP.js.map +0 -1
@@ -0,0 +1,421 @@
1
+ import type { CSSResult, PropertyValues, TemplateResult } from 'lit';
2
+ import { LitElement, nothing } from 'lit';
3
+ import { ActiveDescendantController } from '../common/controllers/ActiveDescendantController.js';
4
+ import { LocalizeController } from '../localization/LocalizeController.js';
5
+ import '../popout/Popout.js';
6
+ import '../spinner/Spinner.js';
7
+ /**
8
+ * A single option in a combobox.
9
+ */
10
+ export interface ComboboxOption {
11
+ /** The value submitted with the form and tracked in `value`. */
12
+ value: string;
13
+ /** The human-readable text shown in the list and the input. */
14
+ label: string;
15
+ /** Optional group heading used to cluster related options together. */
16
+ group?: string;
17
+ /** When `true`, the option cannot be selected. */
18
+ disabled?: boolean;
19
+ /** Optional rich HTML rendered instead of the plain `label` text. */
20
+ html?: string;
21
+ /** Arbitrary data attached to the option, passed back to `renderOption`. */
22
+ [key: string]: unknown;
23
+ }
24
+ /**
25
+ * Re-prefixes an authored, tag-scoped stylesheet for another tag name so a
26
+ * sibling light-DOM component (e.g. `nord-autocomplete`) can reuse the exact
27
+ * same `.n-*` rules without duplicating them. `Combobox.css` is the single
28
+ * source of truth; this swaps the top-level `nord-combobox` selector token.
29
+ */
30
+ export declare function retagComboboxStyles(styles: CSSResult, tag: string): CSSResult;
31
+ declare const ComboboxBase_base: (new (...args: any[]) => import("../common/mixins/SizeMixin.js").SizeMixinInterface) & (new (...args: any[]) => import("../common/mixins/AutocompleteMixin.js").AutocompleteMixinInterface) & (new (...args: any[]) => import("../common/mixins/FieldControlMixin.js").FieldControlMixinInterface) & (new (...args: any[]) => import("../common/mixins/InputMixin.js").InputMixinInterface) & (new (...args: any[]) => import("../common/mixins/FloatingComponentMixin.js").FloatingMixinInterface) & typeof LitElement;
32
+ /**
33
+ * `ComboboxBase` is the (unregistered) shared base for `nord-combobox` (pick an
34
+ * option, or several) and `nord-autocomplete` (free-text input with suggestions
35
+ * where the typed text is the value). It owns every piece of the dropdown that
36
+ * the two share — options, filtering, virtualization, keyboard navigation, the
37
+ * popout, light-dismiss, ARIA wiring and rendering — and exposes a set of
38
+ * protected hooks for the handful of behaviours that differ between a select and
39
+ * a free-text control.
40
+ *
41
+ * Base UI parity: Autocomplete is the Combobox primitive with
42
+ * `selectionMode="none"` + `fillInputOnItemPress`.
43
+ *
44
+ * Subclasses MUST `injectLightDomStyles(this, <their stylesheet>)` in
45
+ * `connectedCallback` (the base does not import a stylesheet, since the rules are
46
+ * tag-scoped and each tag needs its own copy — see `retagComboboxStyles`).
47
+ *
48
+ * Not a registered custom element: it has no `@customElement` decorator and no
49
+ * tag name, so the manifest config marks it `internal` and the React/Vue type
50
+ * generators skip it.
51
+ */
52
+ export default abstract class ComboboxBase extends ComboboxBase_base {
53
+ /** Stable, unique id base for the light-DOM ARIA wiring of this instance. */
54
+ private comboboxId;
55
+ protected inputId: string;
56
+ protected inputRef: import("lit/directives/ref.js").Ref<HTMLInputElement>;
57
+ private formData;
58
+ /**
59
+ * Remembers value→label pairs seen from any option so a preselected value
60
+ * that has since left the loaded options still renders its label.
61
+ */
62
+ protected labelCache: Map<string, string>;
63
+ protected localize: LocalizeController<"nord-combobox">;
64
+ /** Re-renders when the host's forwarded ARIA labelling attributes change. */
65
+ private ariaObserver?;
66
+ private widthObserver?;
67
+ private popout?;
68
+ private dismiss;
69
+ /**
70
+ * Reflects the control's state to Base-UI-style `data-*` attributes
71
+ * (`data-invalid`, `data-focused`) so consumers can style the whole control.
72
+ * `trackFocus` keeps `data-focused` present while focus stays within the host
73
+ * — e.g. moving between the input and the clear button.
74
+ */
75
+ private stateAttributes;
76
+ /**
77
+ * The options to show in the combobox.
78
+ */
79
+ options: ComboboxOption[];
80
+ /**
81
+ * Placeholder text to display within the input.
82
+ */
83
+ placeholder?: string;
84
+ /**
85
+ * Use external filtering mode. When set to `true`, the component will not
86
+ * perform internal text-based filtering and expects the consumer to update
87
+ * the `options` in response to the `input` event.
88
+ */
89
+ externalFiltering: boolean;
90
+ /**
91
+ * Shows a spinner in the control and listbox while asynchronous results are
92
+ * loading. Pair with `external-filtering` for async search.
93
+ */
94
+ loading: boolean;
95
+ /**
96
+ * Highlights the first option after filtering so pressing Enter selects it.
97
+ */
98
+ autoHighlight: boolean;
99
+ /**
100
+ * Marks the control as invalid, applying error styling and setting
101
+ * `aria-invalid` on the input.
102
+ */
103
+ invalid: boolean;
104
+ protected get ownInvalid(): boolean;
105
+ /**
106
+ * Marks the control read-only: the value stays visible, focusable and
107
+ * submitted with the form, but the listbox can't be opened and the value can't
108
+ * be changed (no typing, navigation, selection or clearing). Unlike `disabled`,
109
+ * a read-only control still participates in form submission.
110
+ */
111
+ readonly: boolean;
112
+ /**
113
+ * Whether clicking the input opens the listbox. Defaults to `true`. Set to
114
+ * `false` to only open on typing or a trigger (chevron) click. Focusing the
115
+ * input (e.g. tabbing in) never opens the list on its own. Mirrors Base UI's
116
+ * `openOnInputClick`.
117
+ */
118
+ openOnInputClick: boolean;
119
+ /**
120
+ * Message shown when no options match the query. Defaults to "No items found.".
121
+ */
122
+ noResultsText?: string;
123
+ /**
124
+ * Virtualizes (windows) the option list so only the rows in view are rendered,
125
+ * keeping very large lists (thousands of options) fast. Rows are assumed to be a
126
+ * uniform height, which is measured from the first option. Virtualization is
127
+ * skipped for grouped lists, whose labels and separators break that assumption —
128
+ * grouped lists are expected to be short and curated.
129
+ */
130
+ virtualized: boolean;
131
+ /**
132
+ * Custom renderer for the content of each option. Receives the option and
133
+ * should return a Lit `TemplateResult` or a string. When omitted, the
134
+ * option's `html` (if present) or `label` is rendered.
135
+ */
136
+ renderOption?: (option: ComboboxOption) => TemplateResult | string;
137
+ /** The current search query in the combobox input. */
138
+ protected search: string;
139
+ /**
140
+ * Whether the user has actually typed into the input since it was last
141
+ * opened/committed. Until they do, a single-select shows the committed
142
+ * selection's label in the input (editable) rather than an empty filter —
143
+ * matching Base UI, where reopening keeps the selected label visible and the
144
+ * list unfiltered until the first keystroke. Set on typing; cleared on commit
145
+ * and on close.
146
+ */
147
+ protected queryDirty: boolean;
148
+ /**
149
+ * Tracks the active (highlighted) row of the virtual-focus listbox: the focus
150
+ * stays on the input while this roams the rows and surfaces as
151
+ * `aria-activedescendant`. Owns the wrap / skip-disabled / move math the
152
+ * combobox previously duplicated. The out-of-range create row (index ===
153
+ * `filteredOptions.length`) reports as enabled (`filteredOptions[i]` is
154
+ * `undefined`, so `!undefined?.disabled` is `true`) and maps to its create-row
155
+ * id, matching the create-row semantics.
156
+ */
157
+ protected activeDescendant: ActiveDescendantController;
158
+ /** The scroll container for the options; the virtualizer's scroll element. */
159
+ private listboxEl?;
160
+ /**
161
+ * Containers for the `start`/`end` slot content. The control renders into the
162
+ * light DOM, so real `<slot>` elements don't project; instead these act as
163
+ * landing zones and the matching host children (`slot="start"`/`slot="end"`)
164
+ * are relocated into them. A `ResizeController` per zone feeds the measured
165
+ * inline size into a custom property so the input padding can clear the slot
166
+ * (mirrors `nord-input`).
167
+ */
168
+ private startSlot?;
169
+ private endSlot?;
170
+ private startObserver;
171
+ private endObserver;
172
+ /** Re-renders when the host's `slot="start"`/`slot="end"` children change. */
173
+ private slotObserver?;
174
+ /** Set when a keyboard move should scroll the active option into view. */
175
+ protected scrollActivePending: boolean;
176
+ /** Row-height estimate used until the uniform row height is measured once. */
177
+ private static readonly VIRTUAL_ROW_ESTIMATE;
178
+ /** Extra rows rendered above and below the viewport to smooth scrolling. */
179
+ private static readonly VIRTUAL_OVERSCAN;
180
+ /**
181
+ * The measured uniform row height, sampled once from the first rendered row.
182
+ * Option rows are a fixed height, so a single sample feeds `estimateSize` for
183
+ * the whole list — far cheaper and more stable than re-measuring every row on
184
+ * every render, which fed a `measure → onChange → re-render → measure` loop
185
+ * that could peg the main thread.
186
+ */
187
+ private measuredRowSize?;
188
+ /**
189
+ * Windows the flat option list (see `virtualized`) with TanStack Virtual: only
190
+ * the rows in view are rendered, sized from the measured uniform row height,
191
+ * and the active option is kept on-screen via `scrollToIndex`. Its `onChange`
192
+ * re-renders the host on scroll/resize; `count` is kept in sync in `willUpdate`.
193
+ */
194
+ private virtualizer;
195
+ /**
196
+ * Whether the user has moved the active option with the keyboard since the
197
+ * last filter change. Used to decide if a bare Enter (no navigation) selects
198
+ * the highlighted option — only when `autoHighlight` is set, the first option
199
+ * becomes implicitly selectable.
200
+ */
201
+ protected navigated: boolean;
202
+ /**
203
+ * Whether the input currently shows the transient query rather than the
204
+ * committed selection's label. A single-select shows the query only once the
205
+ * user starts typing (`queryDirty`); until then — including right after
206
+ * reopening — the input keeps the selected option's label visible and
207
+ * editable, matching Base UI. `multiple` shows the query always (the
208
+ * selections live in chips, not the input).
209
+ */
210
+ protected get showsQueryInInput(): boolean;
211
+ /** The text shown in the input. Select: query while open, label when closed. */
212
+ protected get displayValue(): string;
213
+ /** The placeholder forwarded to the inner input. */
214
+ protected get inputPlaceholder(): string | undefined;
215
+ /** The transient search text the list is filtered against. */
216
+ protected get filterQuery(): string;
217
+ /** Whether an option is selected (drives `aria-selected` and the check icon). */
218
+ protected isSelected(option: ComboboxOption): boolean;
219
+ /** Serialises `value` for the form. */
220
+ protected get formValue(): string | undefined;
221
+ /** Whether there is any committed value (drives the clear affordance). */
222
+ protected get hasValue(): boolean;
223
+ /** The index of the create row, or `-1` when it isn't shown. Select-only. */
224
+ protected get createIndex(): number;
225
+ /** Whether the "Create" affordance should be offered for the current query. */
226
+ protected get canCreate(): boolean;
227
+ /** Leading content inside the control (e.g. chips). None by default. */
228
+ protected renderLeadingControl(): unknown;
229
+ /** The `aria-autocomplete` value for the inner input. */
230
+ protected get ariaAutocomplete(): string;
231
+ /** Commit the active option. Select: set value, close, restore focus. */
232
+ protected selectOption(option: ComboboxOption): void;
233
+ /**
234
+ * Hook for the Enter key when the listbox is open and the create/option
235
+ * branches have not handled it. Default: no-op (the base handles option
236
+ * selection in `handleKeydown`). Subclasses (autocomplete) return `true` to
237
+ * signal they fully handled Enter.
238
+ */
239
+ protected handleEnter(_e: KeyboardEvent): boolean;
240
+ /** Hook invoked when a key is pressed (before the switch). Autocomplete uses it. */
241
+ protected onKeydown(_e: KeyboardEvent): void;
242
+ /** Hook invoked on input blur. Autocomplete reverts inline ghosts here. */
243
+ protected onBlur(): void;
244
+ /** Hook invoked after each render (for inline-ghost selection, etc.). */
245
+ protected afterUpdate(): void;
246
+ /** Hook invoked when the pointer hovers an option (autocomplete clears ghost state). */
247
+ protected onOptionHover(): void;
248
+ /** Hook invoked when ArrowUp/ArrowDown moves the active option. */
249
+ protected onMove(): void;
250
+ /** Normalises `value` to an array regardless of single/multiple shape. */
251
+ protected get values(): string[];
252
+ /** Upper bound on the label cache so long async sessions don't grow it forever. */
253
+ private static labelCacheLimit;
254
+ /** Records value→label pairs so labels survive options leaving the result set. */
255
+ protected cacheLabels(options: ComboboxOption[]): void;
256
+ /**
257
+ * Memoised filter result. `filteredOptions` is read many times per render (and
258
+ * per keyboard/scroll event via rowCount/activeOption/isVirtual), so the O(n)
259
+ * filter + groupBy must not re-run on every access — that would defeat the
260
+ * point of virtualizing a large list. Recomputed only when the options, the
261
+ * query, or the filtering mode change; the group map is cached alongside.
262
+ */
263
+ private filteredCache?;
264
+ /**
265
+ * The options the control filters and renders from. The base uses the
266
+ * `options` property directly; `Combobox` overrides this to merge declarative
267
+ * `<nord-combobox-option>` children and auto-created options.
268
+ */
269
+ protected get resolvedOptions(): ComboboxOption[];
270
+ protected get filtered(): {
271
+ options: ComboboxOption[];
272
+ query: string;
273
+ external: boolean;
274
+ result: ComboboxOption[];
275
+ hasGroups: boolean;
276
+ groups?: Map<string | undefined, ComboboxOption[]>;
277
+ };
278
+ /** The options remaining after filtering by the current query. */
279
+ protected get filteredOptions(): ComboboxOption[];
280
+ /** Total number of keyboard-navigable rows, including the create row. */
281
+ protected get rowCount(): number;
282
+ /** The currently active option, used for `aria-activedescendant` and Enter. */
283
+ protected get activeOption(): ComboboxOption | undefined;
284
+ /**
285
+ * Whether the option list is currently windowed. Only flat (non-grouped) lists
286
+ * with at least one option are virtualized.
287
+ */
288
+ protected get isVirtual(): boolean;
289
+ connectedCallback(): void;
290
+ disconnectedCallback(): void;
291
+ /**
292
+ * Relocates the host's `slot="start"`/`slot="end"` children into the matching
293
+ * landing zone inside the control. Only direct host children are considered,
294
+ * and a child already sitting in its zone is left untouched, so repeated
295
+ * updates are idempotent and don't disturb focus or pointer state.
296
+ */
297
+ private relocateSlots;
298
+ /** Mirrors the host (control) width into `--_n-combobox-anchor-inline-size`. */
299
+ protected syncAnchorInlineSize(): void;
300
+ protected createRenderRoot(): HTMLDivElement;
301
+ /**
302
+ * Show the listbox programmatically.
303
+ */
304
+ show(): void;
305
+ /**
306
+ * Hide the listbox programmatically.
307
+ */
308
+ hide(): void;
309
+ /**
310
+ * Hook for what happens to the transient query when the listbox closes.
311
+ * Select mode discards an abandoned filter query so the next open shows the
312
+ * full list and the selected option's label, not the stale search.
313
+ */
314
+ protected onHide(): void;
315
+ /**
316
+ * Focus the control's input.
317
+ */
318
+ focus(options?: FocusOptions): void;
319
+ protected handleOpenChange(): void;
320
+ /**
321
+ * Disabling the control while the listbox is open must close it. `show()`
322
+ * guards against opening when disabled, but nothing closes an already-open
323
+ * popout when `disabled` flips to `true` at runtime.
324
+ */
325
+ protected handleDisabledChange(): void;
326
+ /** Row height changes with the size variant, so re-sample it on the next render. */
327
+ protected resetRowSample(): void;
328
+ protected updated(changedProperties: PropertyValues): void;
329
+ /** Keeps `count` in sync with the filtered list before each render. */
330
+ protected willUpdate(changed: PropertyValues): void;
331
+ /**
332
+ * Keeps the active row visible after a keyboard move. Virtualized option rows
333
+ * ask the virtualizer to scroll the index into view (the row may not be in the
334
+ * DOM yet); the create row and plain lists defer to the browser since their
335
+ * element is always rendered.
336
+ */
337
+ private scrollActiveIntoView;
338
+ /** Keeps `open` in sync if the popout closes itself (e.g. light dismiss). */
339
+ private handlePopoutClose;
340
+ /** Swallows the popout's own `open` so the combobox emits a single `open`. */
341
+ private handlePopoutOpen;
342
+ /** Re-clamps the active index so it stays within the navigable rows. */
343
+ protected resetActiveIndex(): void;
344
+ protected handleInput(e: Event): void;
345
+ /** Hook after the search query updates from typing. Autocomplete commits live. */
346
+ protected onInput(_input: HTMLInputElement): void;
347
+ private handleBlur;
348
+ protected handleKeydown(e: KeyboardEvent): void;
349
+ /** Hook for keys the base switch does not handle (Backspace chips, etc.). */
350
+ protected onUnhandledKeydown(_e: KeyboardEvent): void;
351
+ /**
352
+ * Fires the create affordance. Default is a no-op; the select combobox
353
+ * overrides this to dispatch its `create` event.
354
+ */
355
+ protected emitCreate(): void;
356
+ private move;
357
+ protected commit(): void;
358
+ /** Resolves a value to its best-known label (current options, then cache). */
359
+ protected labelFor(value: string): string;
360
+ render(): TemplateResult<1>;
361
+ /** Whether the clear (✕) affordance shows. Off by default (no `clearable`). */
362
+ protected get showClear(): boolean;
363
+ /**
364
+ * Whether the dropdown chevron toggle (and the divider before it) renders. On
365
+ * by default — the combobox is a picker that opens its full list on click —
366
+ * but hidden while `readonly`, where the value is shown but not interactive.
367
+ * Autocomplete overrides this to `false`: like Base UI's autocomplete (which
368
+ * renders no `Trigger`), it is a search input whose list appears on typing.
369
+ */
370
+ protected get showToggle(): boolean;
371
+ /**
372
+ * Drives the listbox `aria-multiselectable`. Single-select by default;
373
+ * autocomplete overrides this to `undefined` so the attribute is omitted (it
374
+ * has no selection model).
375
+ */
376
+ protected get ariaMultiselectable(): 'true' | 'false' | undefined;
377
+ protected renderGroup(group: string | undefined, groupOptions: ComboboxOption[], indexByValue: Map<string, number>): TemplateResult<1>;
378
+ /** Resolves the content shown for a single option. */
379
+ protected optionContent(option: ComboboxOption): TemplateResult | unknown;
380
+ /**
381
+ * Samples the uniform row height once from the first rendered virtual row, then
382
+ * re-measures the virtualizer so the window is sized from the real height rather
383
+ * than the estimate. Runs only while the sample is missing and a laid-out row is
384
+ * present, so it never becomes a per-render measurement loop.
385
+ */
386
+ private sampleRowSize;
387
+ /**
388
+ * Renders only the virtual items currently in view, absolutely positioned
389
+ * inside a full-height sizer so the scrollbar reflects the whole list. Rows take
390
+ * a fixed height from the virtualizer (uniform rows), so no per-row measurement
391
+ * is needed. `setSize`/`posinset` give assistive tech the true total even though
392
+ * most rows aren't in the DOM.
393
+ */
394
+ private renderVirtualOptions;
395
+ protected renderListOption(option: ComboboxOption, index: number, setSize?: number): TemplateResult<1>;
396
+ /** The option's `aria-selected` value. Autocomplete omits it (returns nothing). */
397
+ protected optionAriaSelected(selected: boolean): string | typeof nothing;
398
+ /** Whether the selected-check icon shows. Autocomplete never shows it. */
399
+ protected showCheck(selected: boolean): boolean;
400
+ /**
401
+ * Whether the leading check gutter is rendered. Combobox reserves it so the
402
+ * selected tick sits on the left and every label lines up (matching the
403
+ * filter dropdown); autocomplete has no selection, so it omits the gutter to
404
+ * avoid indenting every suggestion.
405
+ */
406
+ protected get rendersCheck(): boolean;
407
+ /** The create row. Rendered only when `canCreate`; base returns nothing. */
408
+ protected renderCreate(): unknown;
409
+ protected renderEmpty(): TemplateResult<1>;
410
+ protected optionId(index: number): string;
411
+ /** The id used for the create row (so subclasses can reference it). */
412
+ protected get createId(): string;
413
+ /** Pointer hover highlights an option (without marking it as keyboard-navigated). */
414
+ protected handleOptionHover(index: number): void;
415
+ protected handleControlClick(): void;
416
+ protected handleClearClick(e: Event): void;
417
+ /** Clear the current value. Overridden by clearable variants. */
418
+ clear(): void;
419
+ protected handleToggleClick(e: Event): void;
420
+ }
421
+ export {};
@@ -0,0 +1,25 @@
1
+ import { NordEvent } from '../common/events.js';
2
+ /**
3
+ * Dispatched when the user chooses the "Create" affordance in a `creatable`
4
+ * combobox. Carries the current search query. By default the combobox then adds
5
+ * the value as an option and selects it; the event is cancelable, so calling
6
+ * `preventDefault()` opts out and lets the consumer handle creation manually.
7
+ */
8
+ export declare class ComboboxCreateEvent extends NordEvent {
9
+ /** The search query the user typed, offered as the new option's label. */
10
+ readonly value: string;
11
+ static eventName: string;
12
+ constructor(
13
+ /** The search query the user typed, offered as the new option's label. */
14
+ value: string);
15
+ /** Convenience accessor mirroring `CustomEvent.detail`. */
16
+ get detail(): string;
17
+ }
18
+ /**
19
+ * Dispatched when the value is cleared via the clear button or the `clear()`
20
+ * method, before the accompanying `change` event.
21
+ */
22
+ export declare class ComboboxClearEvent extends NordEvent {
23
+ static eventName: string;
24
+ constructor();
25
+ }
@@ -0,0 +1,34 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * Groups declarative `<nord-combobox-option>` children under a heading inside a
4
+ * [Combobox](/components/combobox/):
5
+ *
6
+ * ```html
7
+ * <nord-combobox>
8
+ * <nord-combobox-group label="Frameworks">
9
+ * <nord-combobox-option value="next">Next.js</nord-combobox-option>
10
+ * </nord-combobox-group>
11
+ * </nord-combobox>
12
+ * ```
13
+ *
14
+ * Contained options inherit this `label` as their group. The element renders
15
+ * nothing itself and is hidden with `display: none`.
16
+ *
17
+ * @status draft
18
+ * @category form
19
+ * @lightDom true
20
+ *
21
+ * @slot - The group's `<nord-combobox-option>` children.
22
+ */
23
+ export default class ComboboxGroup extends LitElement {
24
+ /** The group heading shown above its options. */
25
+ label: string;
26
+ private registry;
27
+ protected createRenderRoot(): this;
28
+ protected updated(): void;
29
+ }
30
+ declare global {
31
+ interface HTMLElementTagNameMap {
32
+ 'nord-combobox-group': ComboboxGroup;
33
+ }
34
+ }
@@ -0,0 +1,47 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * A declarative option for a [Combobox](/components/combobox/). Place these as
4
+ * children of `<nord-combobox>` instead of (or as an alternative to) setting the
5
+ * `.options` property:
6
+ *
7
+ * ```html
8
+ * <nord-combobox>
9
+ * <nord-combobox-option value="bug">Bug</nord-combobox-option>
10
+ * <nord-combobox-option value="feature">Feature</nord-combobox-option>
11
+ * </nord-combobox>
12
+ * ```
13
+ *
14
+ * The option's child markup becomes the rendered row, so you can author custom
15
+ * items (e.g. an avatar + text) without an `html` string or a render function.
16
+ * Set the `label` attribute when the visible markup isn't plain text, so
17
+ * filtering and the accessible name have something to match on.
18
+ *
19
+ * The element renders nothing itself — it is a data source the combobox reads via
20
+ * context and is hidden with `display: none`.
21
+ *
22
+ * @status draft
23
+ * @category form
24
+ * @lightDom true
25
+ *
26
+ * @slot - The option's label / custom content.
27
+ */
28
+ export default class ComboboxOption extends LitElement {
29
+ /** The value submitted with the form and tracked in the combobox's `value`. */
30
+ value: string;
31
+ /** Whether the option is selectable. */
32
+ disabled: boolean;
33
+ /** Text used for filtering and the accessible name. Defaults to the text content. */
34
+ label?: string;
35
+ private registry;
36
+ /** Re-sync when the option's child content (custom markup) changes. */
37
+ private contentObserver?;
38
+ protected createRenderRoot(): this;
39
+ connectedCallback(): void;
40
+ disconnectedCallback(): void;
41
+ protected updated(): void;
42
+ }
43
+ declare global {
44
+ interface HTMLElementTagNameMap {
45
+ 'nord-combobox-option': ComboboxOption;
46
+ }
47
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The API a [Combobox](/components/combobox/) shares with its declarative
3
+ * `<nord-combobox-option>` / `<nord-combobox-group>` children so they can
4
+ * register themselves as options (provide/inject), instead of the combobox
5
+ * polling the DOM.
6
+ */
7
+ export interface ComboboxRegistry {
8
+ /** Register an option element as a selectable option. */
9
+ add: (option: Element) => void;
10
+ /** Remove a previously-registered option element. */
11
+ remove: (option: Element) => void;
12
+ /** Re-read the registered options (after an attribute/content/group change). */
13
+ notify: () => void;
14
+ }
15
+ /** Context the combobox provides to its option/group children. */
16
+ export declare const comboboxRegistryContext: {
17
+ __context__: ComboboxRegistry | undefined;
18
+ };
@@ -0,0 +1,6 @@
1
+ declare const comboboxLocalization: {
2
+ clearLabel: string;
3
+ createLabel: (query: string) => string;
4
+ noResults: string;
5
+ };
6
+ export default comboboxLocalization;
@@ -0,0 +1,45 @@
1
+ import type { ReactiveControllerHost } from 'lit';
2
+ export interface ActiveDescendantOptions {
3
+ /** The number of navigable rows. */
4
+ count: () => number;
5
+ /** Whether the row at `index` can be activated (skip disabled rows). */
6
+ isEnabled: (index: number) => boolean;
7
+ /** Wrap at the ends. Defaults to `true`. */
8
+ loop?: () => boolean;
9
+ /** The DOM id of the row at `index`, used for `aria-activedescendant`. */
10
+ optionId?: (index: number) => string | undefined;
11
+ }
12
+ /**
13
+ * Tracks the active row of a virtual-focus listbox (combobox / filter dropdown):
14
+ * the focus stays on the input/trigger while an `activeIndex` roams the rows and
15
+ * is surfaced as `aria-activedescendant`. Centralises the `nextEnabledIndex` /
16
+ * `move` / wrap math the combobox and filter-dropdown previously duplicated.
17
+ */
18
+ export declare class ActiveDescendantController {
19
+ private host;
20
+ private options;
21
+ private _activeIndex;
22
+ constructor(host: ReactiveControllerHost & HTMLElement, options: ActiveDescendantOptions);
23
+ /** The active row index, or `-1` when nothing is active. */
24
+ get activeIndex(): number;
25
+ /** The active row's id for `aria-activedescendant`, or `undefined`. */
26
+ get activeDescendant(): string | undefined;
27
+ /** Set the active index, requesting a host update when it changes. */
28
+ setActiveIndex(index: number): void;
29
+ /** Clear the active row. */
30
+ reset(): void;
31
+ /**
32
+ * The next enabled row from `from` stepping by `dir`, wrapping (when looping)
33
+ * and skipping disabled rows. Returns `-1` if no row is enabled.
34
+ */
35
+ nextEnabledIndex(from: number, dir: 1 | -1): number;
36
+ /**
37
+ * Move the active row by `delta` (its sign is the direction). Starts from the
38
+ * matching end when nothing is active. Returns `true` if it moved.
39
+ */
40
+ move(delta: number): boolean;
41
+ /** Activate the first enabled row (Home). Returns `true` if one was found. */
42
+ first(): boolean;
43
+ /** Activate the last enabled row (End). Returns `true` if one was found. */
44
+ last(): boolean;
45
+ }
@@ -0,0 +1,50 @@
1
+ import type { ReactiveController, ReactiveControllerHost } from 'lit';
2
+ export interface CollapseOptions {
3
+ /** Reads the host's open state; diffed after every host update. */
4
+ open: () => boolean;
5
+ /**
6
+ * The CSS custom property set to the measured content height during the
7
+ * animation (e.g. `--n-accordion-panel-height`), for consumers to read.
8
+ */
9
+ heightVar: string;
10
+ /** The element to animate. Defaults to the host. */
11
+ target?: () => HTMLElement;
12
+ }
13
+ /**
14
+ * Animates a host's `block-size` between `0` and its measured content height as
15
+ * its `open` state toggles — the shared engine behind the accordion and
16
+ * collapsible panels. It measures the live rendered height (so rapid re-toggles
17
+ * continue smoothly rather than snapping), respects reduced motion, and cleans
18
+ * up on disconnect.
19
+ *
20
+ * It owns a {@link TransitionStatusController} (+ a {@link StateAttributesController})
21
+ * so the host also gains `data-open` / `data-closed` / `data-starting-style` /
22
+ * `data-ending-style` state hooks, driven off the same `block-size` transition.
23
+ */
24
+ export declare class CollapseController implements ReactiveController {
25
+ private host;
26
+ private options;
27
+ private _animating;
28
+ private previousOpen?;
29
+ /** Exposes the transition status (and reflects the state attributes). */
30
+ private transitionStatus;
31
+ private stateAttributes;
32
+ constructor(host: ReactiveControllerHost & HTMLElement, options: CollapseOptions);
33
+ /** Whether a `block-size` transition is currently running. */
34
+ get animating(): boolean;
35
+ get status(): import("./TransitionStatusController.js").TransitionStatus;
36
+ private get target();
37
+ hostConnected(): void;
38
+ hostDisconnected(): void;
39
+ hostUpdated(): void;
40
+ /**
41
+ * Measure the height to animate from. While a transition is in flight the box
42
+ * is mid-collapse/expand, so `scrollHeight` is clipped — use the live rendered
43
+ * height instead so we never snap to a stale full/zero height.
44
+ */
45
+ private currentHeight;
46
+ private animateOpen;
47
+ private animateClose;
48
+ private handleTransitionEnd;
49
+ private handleTransitionCancel;
50
+ }