@ni/nimble-components 32.13.0 → 33.0.1

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 (776) hide show
  1. package/dist/all-components-bundle.js +998 -1041
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +5002 -5022
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/anchor/index.js +2 -2
  6. package/dist/esm/anchor/index.js.map +1 -1
  7. package/dist/esm/anchor/styles.d.ts +1 -1
  8. package/dist/esm/anchor/styles.js +1 -1
  9. package/dist/esm/anchor/styles.js.map +1 -1
  10. package/dist/esm/anchor/template.d.ts +2 -2
  11. package/dist/esm/anchor/template.js +1 -1
  12. package/dist/esm/anchor/template.js.map +1 -1
  13. package/dist/esm/anchor-base/index.d.ts +1 -1
  14. package/dist/esm/anchor-base/index.js +1 -1
  15. package/dist/esm/anchor-base/index.js.map +1 -1
  16. package/dist/esm/anchor-button/index.js +2 -2
  17. package/dist/esm/anchor-button/index.js.map +1 -1
  18. package/dist/esm/anchor-button/styles.d.ts +1 -1
  19. package/dist/esm/anchor-button/styles.js +1 -1
  20. package/dist/esm/anchor-button/styles.js.map +1 -1
  21. package/dist/esm/anchor-button/template.d.ts +2 -2
  22. package/dist/esm/anchor-button/template.js +2 -2
  23. package/dist/esm/anchor-button/template.js.map +1 -1
  24. package/dist/esm/anchor-menu-item/index.d.ts +1 -1
  25. package/dist/esm/anchor-menu-item/index.js +3 -3
  26. package/dist/esm/anchor-menu-item/index.js.map +1 -1
  27. package/dist/esm/anchor-menu-item/styles.d.ts +1 -1
  28. package/dist/esm/anchor-menu-item/styles.js +1 -1
  29. package/dist/esm/anchor-menu-item/styles.js.map +1 -1
  30. package/dist/esm/anchor-menu-item/template.d.ts +2 -2
  31. package/dist/esm/anchor-menu-item/template.js +2 -2
  32. package/dist/esm/anchor-menu-item/template.js.map +1 -1
  33. package/dist/esm/anchor-tab/index.d.ts +1 -1
  34. package/dist/esm/anchor-tab/index.js +2 -2
  35. package/dist/esm/anchor-tab/index.js.map +1 -1
  36. package/dist/esm/anchor-tab/styles.d.ts +1 -1
  37. package/dist/esm/anchor-tab/styles.js +1 -1
  38. package/dist/esm/anchor-tab/styles.js.map +1 -1
  39. package/dist/esm/anchor-tab/template.d.ts +2 -2
  40. package/dist/esm/anchor-tab/template.js +2 -2
  41. package/dist/esm/anchor-tab/template.js.map +1 -1
  42. package/dist/esm/anchor-tabs/index.d.ts +1 -1
  43. package/dist/esm/anchor-tabs/index.js +3 -3
  44. package/dist/esm/anchor-tabs/index.js.map +1 -1
  45. package/dist/esm/anchor-tree-item/index.js +3 -3
  46. package/dist/esm/anchor-tree-item/index.js.map +1 -1
  47. package/dist/esm/anchor-tree-item/styles.d.ts +1 -1
  48. package/dist/esm/anchor-tree-item/styles.js +1 -1
  49. package/dist/esm/anchor-tree-item/styles.js.map +1 -1
  50. package/dist/esm/anchor-tree-item/template.d.ts +2 -2
  51. package/dist/esm/anchor-tree-item/template.js +2 -2
  52. package/dist/esm/anchor-tree-item/template.js.map +1 -1
  53. package/dist/esm/anchored-region/index.d.ts +1 -1
  54. package/dist/esm/anchored-region/index.js +1 -1
  55. package/dist/esm/anchored-region/index.js.map +1 -1
  56. package/dist/esm/anchored-region/styles.d.ts +1 -1
  57. package/dist/esm/anchored-region/styles.js +1 -1
  58. package/dist/esm/anchored-region/styles.js.map +1 -1
  59. package/dist/esm/banner/index.d.ts +1 -1
  60. package/dist/esm/banner/index.js +2 -2
  61. package/dist/esm/banner/index.js.map +1 -1
  62. package/dist/esm/banner/styles.d.ts +1 -1
  63. package/dist/esm/banner/styles.js +1 -1
  64. package/dist/esm/banner/styles.js.map +1 -1
  65. package/dist/esm/banner/template.d.ts +1 -1
  66. package/dist/esm/banner/template.js +1 -1
  67. package/dist/esm/banner/template.js.map +1 -1
  68. package/dist/esm/breadcrumb/index.d.ts +1 -1
  69. package/dist/esm/breadcrumb/index.js +2 -2
  70. package/dist/esm/breadcrumb/index.js.map +1 -1
  71. package/dist/esm/breadcrumb/styles.d.ts +1 -1
  72. package/dist/esm/breadcrumb/styles.js +1 -1
  73. package/dist/esm/breadcrumb/styles.js.map +1 -1
  74. package/dist/esm/breadcrumb-item/index.d.ts +1 -1
  75. package/dist/esm/breadcrumb-item/index.js +1 -1
  76. package/dist/esm/breadcrumb-item/index.js.map +1 -1
  77. package/dist/esm/breadcrumb-item/styles.d.ts +1 -1
  78. package/dist/esm/breadcrumb-item/styles.js +1 -1
  79. package/dist/esm/breadcrumb-item/styles.js.map +1 -1
  80. package/dist/esm/button/index.d.ts +1 -1
  81. package/dist/esm/button/index.js +3 -3
  82. package/dist/esm/button/index.js.map +1 -1
  83. package/dist/esm/button/styles.d.ts +1 -1
  84. package/dist/esm/button/styles.js +1 -1
  85. package/dist/esm/button/styles.js.map +1 -1
  86. package/dist/esm/button/template.d.ts +2 -2
  87. package/dist/esm/button/template.js +2 -2
  88. package/dist/esm/button/template.js.map +1 -1
  89. package/dist/esm/button/types.d.ts +1 -1
  90. package/dist/esm/button/types.js.map +1 -1
  91. package/dist/esm/card/index.d.ts +1 -1
  92. package/dist/esm/card/index.js +1 -1
  93. package/dist/esm/card/index.js.map +1 -1
  94. package/dist/esm/card/styles.d.ts +1 -1
  95. package/dist/esm/card/styles.js +1 -1
  96. package/dist/esm/card/styles.js.map +1 -1
  97. package/dist/esm/card/template.d.ts +1 -1
  98. package/dist/esm/card/template.js +1 -1
  99. package/dist/esm/card/template.js.map +1 -1
  100. package/dist/esm/card-button/index.d.ts +1 -1
  101. package/dist/esm/card-button/index.js +3 -3
  102. package/dist/esm/card-button/index.js.map +1 -1
  103. package/dist/esm/card-button/styles.d.ts +1 -1
  104. package/dist/esm/card-button/styles.js +1 -1
  105. package/dist/esm/card-button/styles.js.map +1 -1
  106. package/dist/esm/checkbox/index.d.ts +2 -2
  107. package/dist/esm/checkbox/index.js +2 -2
  108. package/dist/esm/checkbox/index.js.map +1 -1
  109. package/dist/esm/checkbox/styles.d.ts +1 -1
  110. package/dist/esm/checkbox/styles.js +1 -1
  111. package/dist/esm/checkbox/styles.js.map +1 -1
  112. package/dist/esm/checkbox/template.d.ts +2 -2
  113. package/dist/esm/checkbox/template.js +1 -1
  114. package/dist/esm/checkbox/template.js.map +1 -1
  115. package/dist/esm/combobox/index.d.ts +3 -3
  116. package/dist/esm/combobox/index.js +3 -3
  117. package/dist/esm/combobox/index.js.map +1 -1
  118. package/dist/esm/combobox/models/combobox-form-associated.d.ts +1 -1
  119. package/dist/esm/combobox/models/combobox-form-associated.js +1 -1
  120. package/dist/esm/combobox/models/combobox-form-associated.js.map +1 -1
  121. package/dist/esm/combobox/styles.d.ts +1 -1
  122. package/dist/esm/combobox/styles.js +1 -1
  123. package/dist/esm/combobox/styles.js.map +1 -1
  124. package/dist/esm/combobox/template.d.ts +2 -2
  125. package/dist/esm/combobox/template.js +2 -2
  126. package/dist/esm/combobox/template.js.map +1 -1
  127. package/dist/esm/combobox/testing/combobox.pageobject.js +1 -1
  128. package/dist/esm/combobox/testing/combobox.pageobject.js.map +1 -1
  129. package/dist/esm/combobox/types.d.ts +1 -1
  130. package/dist/esm/combobox/types.js +1 -1
  131. package/dist/esm/combobox/types.js.map +1 -1
  132. package/dist/esm/dialog/index.d.ts +1 -1
  133. package/dist/esm/dialog/index.js +2 -2
  134. package/dist/esm/dialog/index.js.map +1 -1
  135. package/dist/esm/dialog/styles.d.ts +1 -1
  136. package/dist/esm/dialog/styles.js +1 -1
  137. package/dist/esm/dialog/styles.js.map +1 -1
  138. package/dist/esm/dialog/template.d.ts +1 -1
  139. package/dist/esm/dialog/template.js +1 -1
  140. package/dist/esm/dialog/template.js.map +1 -1
  141. package/dist/esm/drawer/index.d.ts +1 -1
  142. package/dist/esm/drawer/index.js +3 -3
  143. package/dist/esm/drawer/index.js.map +1 -1
  144. package/dist/esm/drawer/styles.d.ts +1 -1
  145. package/dist/esm/drawer/styles.js +1 -1
  146. package/dist/esm/drawer/styles.js.map +1 -1
  147. package/dist/esm/drawer/template.d.ts +1 -1
  148. package/dist/esm/drawer/template.js +1 -1
  149. package/dist/esm/drawer/template.js.map +1 -1
  150. package/dist/esm/icon-base/index.d.ts +1 -1
  151. package/dist/esm/icon-base/index.js +2 -2
  152. package/dist/esm/icon-base/index.js.map +1 -1
  153. package/dist/esm/icon-base/styles.d.ts +1 -1
  154. package/dist/esm/icon-base/styles.js +1 -1
  155. package/dist/esm/icon-base/styles.js.map +1 -1
  156. package/dist/esm/icon-base/template.d.ts +1 -1
  157. package/dist/esm/icon-base/template.js +1 -1
  158. package/dist/esm/icon-base/template.js.map +1 -1
  159. package/dist/esm/label-provider/base/index.d.ts +2 -2
  160. package/dist/esm/label-provider/base/index.js +2 -2
  161. package/dist/esm/label-provider/base/index.js.map +1 -1
  162. package/dist/esm/label-provider/base/styles.d.ts +1 -1
  163. package/dist/esm/label-provider/base/styles.js +1 -1
  164. package/dist/esm/label-provider/base/styles.js.map +1 -1
  165. package/dist/esm/label-provider/core/index.d.ts +22 -22
  166. package/dist/esm/label-provider/core/index.js +2 -2
  167. package/dist/esm/label-provider/core/index.js.map +1 -1
  168. package/dist/esm/label-provider/core/label-tokens.d.ts +1 -1
  169. package/dist/esm/label-provider/core/label-tokens.js +1 -1
  170. package/dist/esm/label-provider/core/label-tokens.js.map +1 -1
  171. package/dist/esm/label-provider/rich-text/index.d.ts +8 -8
  172. package/dist/esm/label-provider/rich-text/index.js +2 -2
  173. package/dist/esm/label-provider/rich-text/index.js.map +1 -1
  174. package/dist/esm/label-provider/rich-text/label-tokens.d.ts +1 -1
  175. package/dist/esm/label-provider/rich-text/label-tokens.js +1 -1
  176. package/dist/esm/label-provider/rich-text/label-tokens.js.map +1 -1
  177. package/dist/esm/label-provider/table/index.d.ts +32 -32
  178. package/dist/esm/label-provider/table/index.js +2 -2
  179. package/dist/esm/label-provider/table/index.js.map +1 -1
  180. package/dist/esm/label-provider/table/label-tokens.d.ts +1 -1
  181. package/dist/esm/label-provider/table/label-tokens.js +1 -1
  182. package/dist/esm/label-provider/table/label-tokens.js.map +1 -1
  183. package/dist/esm/list-option/index.d.ts +1 -1
  184. package/dist/esm/list-option/index.js +2 -2
  185. package/dist/esm/list-option/index.js.map +1 -1
  186. package/dist/esm/list-option/styles.d.ts +1 -1
  187. package/dist/esm/list-option/styles.js +1 -1
  188. package/dist/esm/list-option/styles.js.map +1 -1
  189. package/dist/esm/list-option/template.d.ts +3 -3
  190. package/dist/esm/list-option/template.js +3 -3
  191. package/dist/esm/list-option/template.js.map +1 -1
  192. package/dist/esm/list-option-group/index.d.ts +1 -1
  193. package/dist/esm/list-option-group/index.js +2 -2
  194. package/dist/esm/list-option-group/index.js.map +1 -1
  195. package/dist/esm/list-option-group/styles.d.ts +1 -1
  196. package/dist/esm/list-option-group/styles.js +1 -1
  197. package/dist/esm/list-option-group/styles.js.map +1 -1
  198. package/dist/esm/list-option-group/template.d.ts +1 -1
  199. package/dist/esm/list-option-group/template.js +1 -1
  200. package/dist/esm/list-option-group/template.js.map +1 -1
  201. package/dist/esm/mapping/base/index.d.ts +1 -1
  202. package/dist/esm/mapping/base/index.js +2 -2
  203. package/dist/esm/mapping/base/index.js.map +1 -1
  204. package/dist/esm/mapping/base/styles.d.ts +1 -1
  205. package/dist/esm/mapping/base/styles.js +1 -1
  206. package/dist/esm/mapping/base/styles.js.map +1 -1
  207. package/dist/esm/mapping/base/template.d.ts +1 -1
  208. package/dist/esm/mapping/base/template.js +1 -1
  209. package/dist/esm/mapping/base/template.js.map +1 -1
  210. package/dist/esm/mapping/empty/index.js +2 -2
  211. package/dist/esm/mapping/empty/index.js.map +1 -1
  212. package/dist/esm/mapping/icon/index.js +2 -2
  213. package/dist/esm/mapping/icon/index.js.map +1 -1
  214. package/dist/esm/mapping/spinner/index.js +2 -2
  215. package/dist/esm/mapping/spinner/index.js.map +1 -1
  216. package/dist/esm/mapping/text/index.js +2 -2
  217. package/dist/esm/mapping/text/index.js.map +1 -1
  218. package/dist/esm/mapping/user/index.js +2 -2
  219. package/dist/esm/mapping/user/index.js.map +1 -1
  220. package/dist/esm/menu/index.js +2 -2
  221. package/dist/esm/menu/index.js.map +1 -1
  222. package/dist/esm/menu/menu.foundation.d.ts +1 -1
  223. package/dist/esm/menu/menu.foundation.js +3 -3
  224. package/dist/esm/menu/menu.foundation.js.map +1 -1
  225. package/dist/esm/menu/styles.d.ts +1 -1
  226. package/dist/esm/menu/styles.js +1 -1
  227. package/dist/esm/menu/styles.js.map +1 -1
  228. package/dist/esm/menu/template.d.ts +2 -2
  229. package/dist/esm/menu/template.js +1 -1
  230. package/dist/esm/menu/template.js.map +1 -1
  231. package/dist/esm/menu-button/index.d.ts +1 -1
  232. package/dist/esm/menu-button/index.js +3 -3
  233. package/dist/esm/menu-button/index.js.map +1 -1
  234. package/dist/esm/menu-button/styles.d.ts +1 -1
  235. package/dist/esm/menu-button/styles.js +1 -1
  236. package/dist/esm/menu-button/styles.js.map +1 -1
  237. package/dist/esm/menu-button/template.d.ts +1 -1
  238. package/dist/esm/menu-button/template.js +1 -1
  239. package/dist/esm/menu-button/template.js.map +1 -1
  240. package/dist/esm/menu-button/testing/menu-button.pageobject.js +1 -1
  241. package/dist/esm/menu-button/testing/menu-button.pageobject.js.map +1 -1
  242. package/dist/esm/menu-item/index.d.ts +1 -1
  243. package/dist/esm/menu-item/index.js +2 -2
  244. package/dist/esm/menu-item/index.js.map +1 -1
  245. package/dist/esm/menu-item/styles.d.ts +1 -1
  246. package/dist/esm/menu-item/styles.js +1 -1
  247. package/dist/esm/menu-item/styles.js.map +1 -1
  248. package/dist/esm/number-field/index.d.ts +3 -3
  249. package/dist/esm/number-field/index.js +2 -2
  250. package/dist/esm/number-field/index.js.map +1 -1
  251. package/dist/esm/number-field/styles.d.ts +1 -1
  252. package/dist/esm/number-field/styles.js +1 -1
  253. package/dist/esm/number-field/styles.js.map +1 -1
  254. package/dist/esm/number-field/template.d.ts +3 -3
  255. package/dist/esm/number-field/template.js +3 -3
  256. package/dist/esm/number-field/template.js.map +1 -1
  257. package/dist/esm/patterns/button/styles.d.ts +2 -2
  258. package/dist/esm/patterns/button/styles.js +1 -1
  259. package/dist/esm/patterns/button/styles.js.map +1 -1
  260. package/dist/esm/patterns/dropdown/styles.d.ts +1 -1
  261. package/dist/esm/patterns/dropdown/styles.js +1 -1
  262. package/dist/esm/patterns/dropdown/styles.js.map +1 -1
  263. package/dist/esm/patterns/error/styles.d.ts +1 -1
  264. package/dist/esm/patterns/error/styles.js +1 -1
  265. package/dist/esm/patterns/error/styles.js.map +1 -1
  266. package/dist/esm/patterns/error/template.d.ts +1 -1
  267. package/dist/esm/patterns/error/template.js +1 -1
  268. package/dist/esm/patterns/error/template.js.map +1 -1
  269. package/dist/esm/patterns/error/testing/error-pattern.pageobject.d.ts +1 -1
  270. package/dist/esm/patterns/error/testing/error-pattern.pageobject.js.map +1 -1
  271. package/dist/esm/patterns/error/types.d.ts +2 -2
  272. package/dist/esm/patterns/error/types.js +1 -1
  273. package/dist/esm/patterns/error/types.js.map +1 -1
  274. package/dist/esm/patterns/expand-collapse/styles.d.ts +1 -1
  275. package/dist/esm/patterns/expand-collapse/styles.js +1 -1
  276. package/dist/esm/patterns/expand-collapse/styles.js.map +1 -1
  277. package/dist/esm/patterns/required-visible/styles.d.ts +1 -1
  278. package/dist/esm/patterns/required-visible/styles.js +1 -1
  279. package/dist/esm/patterns/required-visible/styles.js.map +1 -1
  280. package/dist/esm/patterns/required-visible/template.d.ts +1 -1
  281. package/dist/esm/patterns/required-visible/template.js +1 -1
  282. package/dist/esm/patterns/required-visible/template.js.map +1 -1
  283. package/dist/esm/patterns/required-visible/testing/required-visible-pattern.pageobject.d.ts +1 -1
  284. package/dist/esm/patterns/required-visible/testing/required-visible-pattern.pageobject.js.map +1 -1
  285. package/dist/esm/patterns/required-visible/types.d.ts +2 -2
  286. package/dist/esm/patterns/required-visible/types.js +1 -1
  287. package/dist/esm/patterns/required-visible/types.js.map +1 -1
  288. package/dist/esm/patterns/tabs/styles.d.ts +1 -1
  289. package/dist/esm/patterns/tabs/styles.js +1 -1
  290. package/dist/esm/patterns/tabs/styles.js.map +1 -1
  291. package/dist/esm/patterns/tabs/template.d.ts +2 -2
  292. package/dist/esm/patterns/tabs/template.js +2 -2
  293. package/dist/esm/patterns/tabs/template.js.map +1 -1
  294. package/dist/esm/radio/index.d.ts +1 -1
  295. package/dist/esm/radio/index.js +1 -1
  296. package/dist/esm/radio/index.js.map +1 -1
  297. package/dist/esm/radio/styles.d.ts +1 -1
  298. package/dist/esm/radio/styles.js +1 -1
  299. package/dist/esm/radio/styles.js.map +1 -1
  300. package/dist/esm/radio-group/index.d.ts +4 -4
  301. package/dist/esm/radio-group/index.js +2 -2
  302. package/dist/esm/radio-group/index.js.map +1 -1
  303. package/dist/esm/radio-group/styles.d.ts +1 -1
  304. package/dist/esm/radio-group/styles.js +1 -1
  305. package/dist/esm/radio-group/styles.js.map +1 -1
  306. package/dist/esm/radio-group/template.d.ts +1 -1
  307. package/dist/esm/radio-group/template.js +2 -2
  308. package/dist/esm/radio-group/template.js.map +1 -1
  309. package/dist/esm/rich-text/base/index.d.ts +2 -2
  310. package/dist/esm/rich-text/base/index.js +2 -2
  311. package/dist/esm/rich-text/base/index.js.map +1 -1
  312. package/dist/esm/rich-text/editor/index.d.ts +2 -2
  313. package/dist/esm/rich-text/editor/index.js +3 -3
  314. package/dist/esm/rich-text/editor/index.js.map +1 -1
  315. package/dist/esm/rich-text/editor/models/create-tiptap-editor.js +1 -1
  316. package/dist/esm/rich-text/editor/models/create-tiptap-editor.js.map +1 -1
  317. package/dist/esm/rich-text/editor/styles.d.ts +1 -1
  318. package/dist/esm/rich-text/editor/styles.js +1 -1
  319. package/dist/esm/rich-text/editor/styles.js.map +1 -1
  320. package/dist/esm/rich-text/editor/template.d.ts +1 -1
  321. package/dist/esm/rich-text/editor/template.js +1 -1
  322. package/dist/esm/rich-text/editor/template.js.map +1 -1
  323. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js +1 -1
  324. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js.map +1 -1
  325. package/dist/esm/rich-text/editor/testing/types.js +1 -1
  326. package/dist/esm/rich-text/editor/testing/types.js.map +1 -1
  327. package/dist/esm/rich-text/mention-listbox/index.d.ts +1 -1
  328. package/dist/esm/rich-text/mention-listbox/index.js +3 -3
  329. package/dist/esm/rich-text/mention-listbox/index.js.map +1 -1
  330. package/dist/esm/rich-text/mention-listbox/styles.d.ts +1 -1
  331. package/dist/esm/rich-text/mention-listbox/styles.js +1 -1
  332. package/dist/esm/rich-text/mention-listbox/styles.js.map +1 -1
  333. package/dist/esm/rich-text/mention-listbox/template.d.ts +1 -1
  334. package/dist/esm/rich-text/mention-listbox/template.js +2 -2
  335. package/dist/esm/rich-text/mention-listbox/template.js.map +1 -1
  336. package/dist/esm/rich-text/models/mention-extension-configuration.d.ts +1 -1
  337. package/dist/esm/rich-text/models/mention-extension-configuration.js.map +1 -1
  338. package/dist/esm/rich-text/models/rich-text-tracker.js +1 -1
  339. package/dist/esm/rich-text/models/rich-text-tracker.js.map +1 -1
  340. package/dist/esm/rich-text/viewer/index.js +2 -2
  341. package/dist/esm/rich-text/viewer/index.js.map +1 -1
  342. package/dist/esm/rich-text/viewer/styles.d.ts +1 -1
  343. package/dist/esm/rich-text/viewer/styles.js +1 -1
  344. package/dist/esm/rich-text/viewer/styles.js.map +1 -1
  345. package/dist/esm/rich-text/viewer/template.d.ts +1 -1
  346. package/dist/esm/rich-text/viewer/template.js +1 -1
  347. package/dist/esm/rich-text/viewer/template.js.map +1 -1
  348. package/dist/esm/rich-text-mention/base/index.d.ts +2 -2
  349. package/dist/esm/rich-text-mention/base/index.js +2 -2
  350. package/dist/esm/rich-text-mention/base/index.js.map +1 -1
  351. package/dist/esm/rich-text-mention/base/models/mention-internals.d.ts +1 -1
  352. package/dist/esm/rich-text-mention/base/models/mention-internals.js +1 -1
  353. package/dist/esm/rich-text-mention/base/models/mention-internals.js.map +1 -1
  354. package/dist/esm/rich-text-mention/base/styles.d.ts +1 -1
  355. package/dist/esm/rich-text-mention/base/styles.js +1 -1
  356. package/dist/esm/rich-text-mention/base/styles.js.map +1 -1
  357. package/dist/esm/rich-text-mention/base/template.d.ts +1 -1
  358. package/dist/esm/rich-text-mention/base/template.js +1 -1
  359. package/dist/esm/rich-text-mention/base/template.js.map +1 -1
  360. package/dist/esm/rich-text-mention/base/view/index.d.ts +1 -1
  361. package/dist/esm/rich-text-mention/base/view/index.js +2 -2
  362. package/dist/esm/rich-text-mention/base/view/index.js.map +1 -1
  363. package/dist/esm/rich-text-mention/users/index.js +1 -1
  364. package/dist/esm/rich-text-mention/users/index.js.map +1 -1
  365. package/dist/esm/rich-text-mention/users/view/index.js +1 -1
  366. package/dist/esm/rich-text-mention/users/view/index.js.map +1 -1
  367. package/dist/esm/rich-text-mention/users/view/styles.d.ts +1 -1
  368. package/dist/esm/rich-text-mention/users/view/styles.js +1 -1
  369. package/dist/esm/rich-text-mention/users/view/styles.js.map +1 -1
  370. package/dist/esm/rich-text-mention/users/view/template.d.ts +1 -1
  371. package/dist/esm/rich-text-mention/users/view/template.js +1 -1
  372. package/dist/esm/rich-text-mention/users/view/template.js.map +1 -1
  373. package/dist/esm/select/index.d.ts +3 -3
  374. package/dist/esm/select/index.js +3 -3
  375. package/dist/esm/select/index.js.map +1 -1
  376. package/dist/esm/select/models/select-form-associated.d.ts +1 -1
  377. package/dist/esm/select/models/select-form-associated.js +1 -1
  378. package/dist/esm/select/models/select-form-associated.js.map +1 -1
  379. package/dist/esm/select/styles.d.ts +1 -1
  380. package/dist/esm/select/styles.js +1 -1
  381. package/dist/esm/select/styles.js.map +1 -1
  382. package/dist/esm/select/template.d.ts +2 -2
  383. package/dist/esm/select/template.js +2 -2
  384. package/dist/esm/select/template.js.map +1 -1
  385. package/dist/esm/select/testing/select.pageobject.js +1 -1
  386. package/dist/esm/select/testing/select.pageobject.js.map +1 -1
  387. package/dist/esm/spinner/index.d.ts +1 -1
  388. package/dist/esm/spinner/index.js +2 -2
  389. package/dist/esm/spinner/index.js.map +1 -1
  390. package/dist/esm/spinner/styles.d.ts +1 -1
  391. package/dist/esm/spinner/styles.js +1 -1
  392. package/dist/esm/spinner/styles.js.map +1 -1
  393. package/dist/esm/spinner/template.d.ts +1 -1
  394. package/dist/esm/spinner/template.js +1 -1
  395. package/dist/esm/spinner/template.js.map +1 -1
  396. package/dist/esm/switch/index.d.ts +1 -1
  397. package/dist/esm/switch/index.js +1 -1
  398. package/dist/esm/switch/index.js.map +1 -1
  399. package/dist/esm/switch/styles.d.ts +1 -1
  400. package/dist/esm/switch/styles.js +1 -1
  401. package/dist/esm/switch/styles.js.map +1 -1
  402. package/dist/esm/switch/template.d.ts +1 -1
  403. package/dist/esm/switch/template.js +1 -1
  404. package/dist/esm/switch/template.js.map +1 -1
  405. package/dist/esm/tab/index.d.ts +1 -1
  406. package/dist/esm/tab/index.js +1 -1
  407. package/dist/esm/tab/index.js.map +1 -1
  408. package/dist/esm/tab/styles.d.ts +1 -1
  409. package/dist/esm/tab/styles.js +1 -1
  410. package/dist/esm/tab/styles.js.map +1 -1
  411. package/dist/esm/tab-panel/index.d.ts +1 -1
  412. package/dist/esm/tab-panel/index.js +1 -1
  413. package/dist/esm/tab-panel/index.js.map +1 -1
  414. package/dist/esm/tab-panel/styles.d.ts +1 -1
  415. package/dist/esm/tab-panel/styles.js +1 -1
  416. package/dist/esm/tab-panel/styles.js.map +1 -1
  417. package/dist/esm/table/components/cell/index.d.ts +2 -2
  418. package/dist/esm/table/components/cell/index.js +2 -2
  419. package/dist/esm/table/components/cell/index.js.map +1 -1
  420. package/dist/esm/table/components/cell/styles.d.ts +1 -1
  421. package/dist/esm/table/components/cell/styles.js +1 -1
  422. package/dist/esm/table/components/cell/styles.js.map +1 -1
  423. package/dist/esm/table/components/cell/template.d.ts +1 -1
  424. package/dist/esm/table/components/cell/template.js +1 -1
  425. package/dist/esm/table/components/cell/template.js.map +1 -1
  426. package/dist/esm/table/components/group-row/index.d.ts +1 -1
  427. package/dist/esm/table/components/group-row/index.js +2 -2
  428. package/dist/esm/table/components/group-row/index.js.map +1 -1
  429. package/dist/esm/table/components/group-row/styles.d.ts +1 -1
  430. package/dist/esm/table/components/group-row/styles.js +1 -1
  431. package/dist/esm/table/components/group-row/styles.js.map +1 -1
  432. package/dist/esm/table/components/group-row/template.d.ts +1 -1
  433. package/dist/esm/table/components/group-row/template.js +1 -1
  434. package/dist/esm/table/components/group-row/template.js.map +1 -1
  435. package/dist/esm/table/components/header/index.d.ts +1 -1
  436. package/dist/esm/table/components/header/index.js +2 -2
  437. package/dist/esm/table/components/header/index.js.map +1 -1
  438. package/dist/esm/table/components/header/styles.d.ts +1 -1
  439. package/dist/esm/table/components/header/styles.js +1 -1
  440. package/dist/esm/table/components/header/styles.js.map +1 -1
  441. package/dist/esm/table/components/header/template.d.ts +1 -1
  442. package/dist/esm/table/components/header/template.js +1 -1
  443. package/dist/esm/table/components/header/template.js.map +1 -1
  444. package/dist/esm/table/components/row/index.d.ts +2 -2
  445. package/dist/esm/table/components/row/index.js +2 -2
  446. package/dist/esm/table/components/row/index.js.map +1 -1
  447. package/dist/esm/table/components/row/styles.d.ts +1 -1
  448. package/dist/esm/table/components/row/styles.js +1 -1
  449. package/dist/esm/table/components/row/styles.js.map +1 -1
  450. package/dist/esm/table/components/row/template.d.ts +1 -1
  451. package/dist/esm/table/components/row/template.js +1 -1
  452. package/dist/esm/table/components/row/template.js.map +1 -1
  453. package/dist/esm/table/index.d.ts +1 -1
  454. package/dist/esm/table/index.js +3 -3
  455. package/dist/esm/table/index.js.map +1 -1
  456. package/dist/esm/table/models/keyboard-navigation-manager.d.ts +1 -1
  457. package/dist/esm/table/models/keyboard-navigation-manager.js +3 -3
  458. package/dist/esm/table/models/keyboard-navigation-manager.js.map +1 -1
  459. package/dist/esm/table/models/table-layout-manager.js +1 -1
  460. package/dist/esm/table/models/table-layout-manager.js.map +1 -1
  461. package/dist/esm/table/models/table-update-tracker.js +1 -1
  462. package/dist/esm/table/models/table-update-tracker.js.map +1 -1
  463. package/dist/esm/table/models/virtualizer.js +1 -1
  464. package/dist/esm/table/models/virtualizer.js.map +1 -1
  465. package/dist/esm/table/styles.d.ts +1 -1
  466. package/dist/esm/table/styles.js +1 -1
  467. package/dist/esm/table/styles.js.map +1 -1
  468. package/dist/esm/table/template.d.ts +1 -1
  469. package/dist/esm/table/template.js +1 -1
  470. package/dist/esm/table/template.js.map +1 -1
  471. package/dist/esm/table/testing/table.pageobject.js +1 -1
  472. package/dist/esm/table/testing/table.pageobject.js.map +1 -1
  473. package/dist/esm/table-column/anchor/cell-view/index.js +2 -2
  474. package/dist/esm/table-column/anchor/cell-view/index.js.map +1 -1
  475. package/dist/esm/table-column/anchor/cell-view/styles.d.ts +1 -1
  476. package/dist/esm/table-column/anchor/cell-view/styles.js +1 -1
  477. package/dist/esm/table-column/anchor/cell-view/styles.js.map +1 -1
  478. package/dist/esm/table-column/anchor/cell-view/template.d.ts +1 -1
  479. package/dist/esm/table-column/anchor/cell-view/template.js +1 -1
  480. package/dist/esm/table-column/anchor/cell-view/template.js.map +1 -1
  481. package/dist/esm/table-column/anchor/index.d.ts +4 -4
  482. package/dist/esm/table-column/anchor/index.js +2 -2
  483. package/dist/esm/table-column/anchor/index.js.map +1 -1
  484. package/dist/esm/table-column/base/cell-view/index.d.ts +1 -1
  485. package/dist/esm/table-column/base/cell-view/index.js +2 -2
  486. package/dist/esm/table-column/base/cell-view/index.js.map +1 -1
  487. package/dist/esm/table-column/base/cell-view/template.d.ts +1 -1
  488. package/dist/esm/table-column/base/cell-view/template.js +1 -1
  489. package/dist/esm/table-column/base/cell-view/template.js.map +1 -1
  490. package/dist/esm/table-column/base/group-header-view/index.d.ts +1 -1
  491. package/dist/esm/table-column/base/group-header-view/index.js +2 -2
  492. package/dist/esm/table-column/base/group-header-view/index.js.map +1 -1
  493. package/dist/esm/table-column/base/group-header-view/template.d.ts +1 -1
  494. package/dist/esm/table-column/base/group-header-view/template.js +1 -1
  495. package/dist/esm/table-column/base/group-header-view/template.js.map +1 -1
  496. package/dist/esm/table-column/base/index.d.ts +1 -1
  497. package/dist/esm/table-column/base/index.js +2 -2
  498. package/dist/esm/table-column/base/index.js.map +1 -1
  499. package/dist/esm/table-column/base/models/column-internals.d.ts +1 -1
  500. package/dist/esm/table-column/base/models/column-internals.js +2 -2
  501. package/dist/esm/table-column/base/models/column-internals.js.map +1 -1
  502. package/dist/esm/table-column/base/models/column-validator.js +1 -1
  503. package/dist/esm/table-column/base/models/column-validator.js.map +1 -1
  504. package/dist/esm/table-column/base/styles.d.ts +1 -1
  505. package/dist/esm/table-column/base/styles.js +1 -1
  506. package/dist/esm/table-column/base/styles.js.map +1 -1
  507. package/dist/esm/table-column/base/template.d.ts +1 -1
  508. package/dist/esm/table-column/base/template.js +1 -1
  509. package/dist/esm/table-column/base/template.js.map +1 -1
  510. package/dist/esm/table-column/date-text/cell-view/index.js +1 -1
  511. package/dist/esm/table-column/date-text/cell-view/index.js.map +1 -1
  512. package/dist/esm/table-column/date-text/group-header-view/index.js +1 -1
  513. package/dist/esm/table-column/date-text/group-header-view/index.js.map +1 -1
  514. package/dist/esm/table-column/date-text/index.d.ts +3 -3
  515. package/dist/esm/table-column/date-text/index.js +2 -2
  516. package/dist/esm/table-column/date-text/index.js.map +1 -1
  517. package/dist/esm/table-column/duration-text/cell-view/index.js +1 -1
  518. package/dist/esm/table-column/duration-text/cell-view/index.js.map +1 -1
  519. package/dist/esm/table-column/duration-text/group-header-view/index.js +1 -1
  520. package/dist/esm/table-column/duration-text/group-header-view/index.js.map +1 -1
  521. package/dist/esm/table-column/duration-text/index.d.ts +3 -3
  522. package/dist/esm/table-column/duration-text/index.js +1 -1
  523. package/dist/esm/table-column/duration-text/index.js.map +1 -1
  524. package/dist/esm/table-column/enum-base/index.d.ts +1 -1
  525. package/dist/esm/table-column/enum-base/index.js +1 -1
  526. package/dist/esm/table-column/enum-base/index.js.map +1 -1
  527. package/dist/esm/table-column/enum-base/models/mapping-icon-config.d.ts +1 -1
  528. package/dist/esm/table-column/enum-base/models/mapping-icon-config.js +1 -1
  529. package/dist/esm/table-column/enum-base/models/mapping-icon-config.js.map +1 -1
  530. package/dist/esm/table-column/enum-base/models/mapping-key-resolver.js +1 -1
  531. package/dist/esm/table-column/enum-base/models/mapping-key-resolver.js.map +1 -1
  532. package/dist/esm/table-column/enum-base/models/mapping-spinner-config.d.ts +1 -1
  533. package/dist/esm/table-column/enum-base/models/mapping-spinner-config.js +1 -1
  534. package/dist/esm/table-column/enum-base/models/mapping-spinner-config.js.map +1 -1
  535. package/dist/esm/table-column/enum-base/styles.d.ts +1 -1
  536. package/dist/esm/table-column/enum-base/styles.js +1 -1
  537. package/dist/esm/table-column/enum-base/styles.js.map +1 -1
  538. package/dist/esm/table-column/enum-base/template.d.ts +1 -1
  539. package/dist/esm/table-column/enum-base/template.js +1 -1
  540. package/dist/esm/table-column/enum-base/template.js.map +1 -1
  541. package/dist/esm/table-column/mapping/cell-view/index.d.ts +1 -1
  542. package/dist/esm/table-column/mapping/cell-view/index.js +2 -2
  543. package/dist/esm/table-column/mapping/cell-view/index.js.map +1 -1
  544. package/dist/esm/table-column/mapping/cell-view/styles.d.ts +1 -1
  545. package/dist/esm/table-column/mapping/cell-view/styles.js +1 -1
  546. package/dist/esm/table-column/mapping/cell-view/styles.js.map +1 -1
  547. package/dist/esm/table-column/mapping/cell-view/template.d.ts +1 -1
  548. package/dist/esm/table-column/mapping/cell-view/template.js +1 -1
  549. package/dist/esm/table-column/mapping/cell-view/template.js.map +1 -1
  550. package/dist/esm/table-column/mapping/group-header-view/index.d.ts +1 -1
  551. package/dist/esm/table-column/mapping/group-header-view/index.js +2 -2
  552. package/dist/esm/table-column/mapping/group-header-view/index.js.map +1 -1
  553. package/dist/esm/table-column/mapping/group-header-view/styles.d.ts +1 -1
  554. package/dist/esm/table-column/mapping/group-header-view/styles.js +1 -1
  555. package/dist/esm/table-column/mapping/group-header-view/styles.js.map +1 -1
  556. package/dist/esm/table-column/mapping/group-header-view/template.d.ts +1 -1
  557. package/dist/esm/table-column/mapping/group-header-view/template.js +1 -1
  558. package/dist/esm/table-column/mapping/group-header-view/template.js.map +1 -1
  559. package/dist/esm/table-column/mapping/index.d.ts +3 -3
  560. package/dist/esm/table-column/mapping/index.js +2 -2
  561. package/dist/esm/table-column/mapping/index.js.map +1 -1
  562. package/dist/esm/table-column/menu-button/cell-view/index.js +2 -2
  563. package/dist/esm/table-column/menu-button/cell-view/index.js.map +1 -1
  564. package/dist/esm/table-column/menu-button/cell-view/styles.d.ts +1 -1
  565. package/dist/esm/table-column/menu-button/cell-view/styles.js +1 -1
  566. package/dist/esm/table-column/menu-button/cell-view/styles.js.map +1 -1
  567. package/dist/esm/table-column/menu-button/cell-view/templates.d.ts +1 -1
  568. package/dist/esm/table-column/menu-button/cell-view/templates.js +1 -1
  569. package/dist/esm/table-column/menu-button/cell-view/templates.js.map +1 -1
  570. package/dist/esm/table-column/menu-button/index.d.ts +3 -3
  571. package/dist/esm/table-column/menu-button/index.js +2 -2
  572. package/dist/esm/table-column/menu-button/index.js.map +1 -1
  573. package/dist/esm/table-column/menu-button/template.d.ts +1 -1
  574. package/dist/esm/table-column/menu-button/template.js +1 -1
  575. package/dist/esm/table-column/menu-button/template.js.map +1 -1
  576. package/dist/esm/table-column/mixins/custom-sort-order.d.ts +1 -1
  577. package/dist/esm/table-column/mixins/custom-sort-order.js +1 -1
  578. package/dist/esm/table-column/mixins/custom-sort-order.js.map +1 -1
  579. package/dist/esm/table-column/mixins/fractional-width-column.js +1 -1
  580. package/dist/esm/table-column/mixins/fractional-width-column.js.map +1 -1
  581. package/dist/esm/table-column/mixins/groupable-column.js +1 -1
  582. package/dist/esm/table-column/mixins/groupable-column.js.map +1 -1
  583. package/dist/esm/table-column/mixins/placeholder.js +1 -1
  584. package/dist/esm/table-column/mixins/placeholder.js.map +1 -1
  585. package/dist/esm/table-column/mixins/sortable-column.js +1 -1
  586. package/dist/esm/table-column/mixins/sortable-column.js.map +1 -1
  587. package/dist/esm/table-column/number-text/cell-view/index.js +1 -1
  588. package/dist/esm/table-column/number-text/cell-view/index.js.map +1 -1
  589. package/dist/esm/table-column/number-text/group-header-view/index.js +1 -1
  590. package/dist/esm/table-column/number-text/group-header-view/index.js.map +1 -1
  591. package/dist/esm/table-column/number-text/index.d.ts +3 -3
  592. package/dist/esm/table-column/number-text/index.js +2 -2
  593. package/dist/esm/table-column/number-text/index.js.map +1 -1
  594. package/dist/esm/table-column/number-text/template.d.ts +1 -1
  595. package/dist/esm/table-column/number-text/template.js +1 -1
  596. package/dist/esm/table-column/number-text/template.js.map +1 -1
  597. package/dist/esm/table-column/text/cell-view/index.js +1 -1
  598. package/dist/esm/table-column/text/cell-view/index.js.map +1 -1
  599. package/dist/esm/table-column/text/group-header-view/index.js +1 -1
  600. package/dist/esm/table-column/text/group-header-view/index.js.map +1 -1
  601. package/dist/esm/table-column/text/index.d.ts +4 -4
  602. package/dist/esm/table-column/text/index.js +1 -1
  603. package/dist/esm/table-column/text/index.js.map +1 -1
  604. package/dist/esm/table-column/text-base/cell-view/index.js +1 -1
  605. package/dist/esm/table-column/text-base/cell-view/index.js.map +1 -1
  606. package/dist/esm/table-column/text-base/cell-view/styles.d.ts +1 -1
  607. package/dist/esm/table-column/text-base/cell-view/styles.js +1 -1
  608. package/dist/esm/table-column/text-base/cell-view/styles.js.map +1 -1
  609. package/dist/esm/table-column/text-base/cell-view/template.d.ts +1 -1
  610. package/dist/esm/table-column/text-base/cell-view/template.js +1 -1
  611. package/dist/esm/table-column/text-base/cell-view/template.js.map +1 -1
  612. package/dist/esm/table-column/text-base/group-header-view/index.js +1 -1
  613. package/dist/esm/table-column/text-base/group-header-view/index.js.map +1 -1
  614. package/dist/esm/table-column/text-base/group-header-view/styles.d.ts +1 -1
  615. package/dist/esm/table-column/text-base/group-header-view/styles.js +1 -1
  616. package/dist/esm/table-column/text-base/group-header-view/styles.js.map +1 -1
  617. package/dist/esm/table-column/text-base/group-header-view/template.d.ts +1 -1
  618. package/dist/esm/table-column/text-base/group-header-view/template.js +1 -1
  619. package/dist/esm/table-column/text-base/group-header-view/template.js.map +1 -1
  620. package/dist/esm/table-column/text-base/index.js +1 -1
  621. package/dist/esm/table-column/text-base/index.js.map +1 -1
  622. package/dist/esm/tabs/index.d.ts +1 -1
  623. package/dist/esm/tabs/index.js +2 -2
  624. package/dist/esm/tabs/index.js.map +1 -1
  625. package/dist/esm/tabs/styles.d.ts +1 -1
  626. package/dist/esm/tabs/styles.js +1 -1
  627. package/dist/esm/tabs/styles.js.map +1 -1
  628. package/dist/esm/tabs-toolbar/index.d.ts +1 -1
  629. package/dist/esm/tabs-toolbar/index.js +1 -1
  630. package/dist/esm/tabs-toolbar/index.js.map +1 -1
  631. package/dist/esm/tabs-toolbar/styles.d.ts +1 -1
  632. package/dist/esm/tabs-toolbar/styles.js +1 -1
  633. package/dist/esm/tabs-toolbar/styles.js.map +1 -1
  634. package/dist/esm/tabs-toolbar/template.d.ts +1 -1
  635. package/dist/esm/tabs-toolbar/template.js +1 -1
  636. package/dist/esm/tabs-toolbar/template.js.map +1 -1
  637. package/dist/esm/testing/async-helpers.js +1 -1
  638. package/dist/esm/testing/async-helpers.js.map +1 -1
  639. package/dist/esm/text-area/index.d.ts +3 -7
  640. package/dist/esm/text-area/index.js +2 -2
  641. package/dist/esm/text-area/index.js.map +1 -1
  642. package/dist/esm/text-area/styles.d.ts +1 -1
  643. package/dist/esm/text-area/styles.js +1 -1
  644. package/dist/esm/text-area/styles.js.map +1 -1
  645. package/dist/esm/text-area/template.d.ts +2 -2
  646. package/dist/esm/text-area/template.js +1 -1
  647. package/dist/esm/text-area/template.js.map +1 -1
  648. package/dist/esm/text-area/types.d.ts +1 -1
  649. package/dist/esm/text-area/types.js +1 -1
  650. package/dist/esm/text-area/types.js.map +1 -1
  651. package/dist/esm/text-field/index.d.ts +3 -3
  652. package/dist/esm/text-field/index.js +2 -2
  653. package/dist/esm/text-field/index.js.map +1 -1
  654. package/dist/esm/text-field/styles.d.ts +1 -1
  655. package/dist/esm/text-field/styles.js +1 -1
  656. package/dist/esm/text-field/styles.js.map +1 -1
  657. package/dist/esm/text-field/template.d.ts +3 -3
  658. package/dist/esm/text-field/template.js +3 -3
  659. package/dist/esm/text-field/template.js.map +1 -1
  660. package/dist/esm/text-field/types.d.ts +1 -1
  661. package/dist/esm/text-field/types.js +1 -1
  662. package/dist/esm/text-field/types.js.map +1 -1
  663. package/dist/esm/theme-provider/design-tokens.d.ts +1 -1
  664. package/dist/esm/theme-provider/design-tokens.js +2 -2
  665. package/dist/esm/theme-provider/design-tokens.js.map +1 -1
  666. package/dist/esm/theme-provider/index.d.ts +2 -2
  667. package/dist/esm/theme-provider/index.js +3 -3
  668. package/dist/esm/theme-provider/index.js.map +1 -1
  669. package/dist/esm/theme-provider/styles.d.ts +1 -1
  670. package/dist/esm/theme-provider/styles.js +1 -1
  671. package/dist/esm/theme-provider/styles.js.map +1 -1
  672. package/dist/esm/theme-provider/template.d.ts +1 -1
  673. package/dist/esm/theme-provider/template.js +1 -1
  674. package/dist/esm/theme-provider/template.js.map +1 -1
  675. package/dist/esm/toggle-button/index.d.ts +1 -1
  676. package/dist/esm/toggle-button/index.js +2 -2
  677. package/dist/esm/toggle-button/index.js.map +1 -1
  678. package/dist/esm/toggle-button/styles.d.ts +1 -1
  679. package/dist/esm/toggle-button/styles.js +1 -1
  680. package/dist/esm/toggle-button/styles.js.map +1 -1
  681. package/dist/esm/toggle-button/template.d.ts +2 -2
  682. package/dist/esm/toggle-button/template.js +2 -2
  683. package/dist/esm/toggle-button/template.js.map +1 -1
  684. package/dist/esm/toolbar/index.d.ts +1 -1
  685. package/dist/esm/toolbar/index.js +1 -1
  686. package/dist/esm/toolbar/index.js.map +1 -1
  687. package/dist/esm/toolbar/styles.d.ts +1 -1
  688. package/dist/esm/toolbar/styles.js +1 -1
  689. package/dist/esm/toolbar/styles.js.map +1 -1
  690. package/dist/esm/tooltip/index.d.ts +1 -1
  691. package/dist/esm/tooltip/index.js +2 -2
  692. package/dist/esm/tooltip/index.js.map +1 -1
  693. package/dist/esm/tooltip/styles.d.ts +1 -1
  694. package/dist/esm/tooltip/styles.js +1 -1
  695. package/dist/esm/tooltip/styles.js.map +1 -1
  696. package/dist/esm/tooltip/template.d.ts +1 -1
  697. package/dist/esm/tooltip/template.js +1 -1
  698. package/dist/esm/tooltip/template.js.map +1 -1
  699. package/dist/esm/tree-item/index.d.ts +2 -2
  700. package/dist/esm/tree-item/index.js +3 -3
  701. package/dist/esm/tree-item/index.js.map +1 -1
  702. package/dist/esm/tree-item/styles.d.ts +1 -1
  703. package/dist/esm/tree-item/styles.js +1 -1
  704. package/dist/esm/tree-item/styles.js.map +1 -1
  705. package/dist/esm/tree-view/index.d.ts +2 -2
  706. package/dist/esm/tree-view/index.js +3 -3
  707. package/dist/esm/tree-view/index.js.map +1 -1
  708. package/dist/esm/tree-view/styles.d.ts +1 -1
  709. package/dist/esm/tree-view/styles.js +1 -1
  710. package/dist/esm/tree-view/styles.js.map +1 -1
  711. package/dist/esm/tree-view/template.d.ts +1 -1
  712. package/dist/esm/tree-view/template.js +1 -1
  713. package/dist/esm/tree-view/template.js.map +1 -1
  714. package/dist/esm/unit/base/styles.d.ts +1 -1
  715. package/dist/esm/unit/base/styles.js +1 -1
  716. package/dist/esm/unit/base/styles.js.map +1 -1
  717. package/dist/esm/unit/base/template.d.ts +1 -1
  718. package/dist/esm/unit/base/template.js +1 -1
  719. package/dist/esm/unit/base/template.js.map +1 -1
  720. package/dist/esm/unit/base/unit.d.ts +1 -1
  721. package/dist/esm/unit/base/unit.js +2 -2
  722. package/dist/esm/unit/base/unit.js.map +1 -1
  723. package/dist/esm/unit/byte/index.js +2 -2
  724. package/dist/esm/unit/byte/index.js.map +1 -1
  725. package/dist/esm/unit/celsius/index.js +1 -1
  726. package/dist/esm/unit/celsius/index.js.map +1 -1
  727. package/dist/esm/unit/fahrenheit/index.js +1 -1
  728. package/dist/esm/unit/fahrenheit/index.js.map +1 -1
  729. package/dist/esm/unit/volt/index.js +1 -1
  730. package/dist/esm/unit/volt/index.js.map +1 -1
  731. package/dist/esm/utilities/directive/overflow.d.ts +1 -1
  732. package/dist/esm/utilities/directive/overflow.js +1 -1
  733. package/dist/esm/utilities/directive/overflow.js.map +1 -1
  734. package/dist/esm/utilities/models/converter.d.ts +1 -1
  735. package/dist/esm/utilities/models/converter.js.map +1 -1
  736. package/dist/esm/utilities/models/document-element-lang.js +1 -1
  737. package/dist/esm/utilities/models/document-element-lang.js.map +1 -1
  738. package/dist/esm/utilities/style/accessibly-hidden.d.ts +1 -1
  739. package/dist/esm/utilities/style/accessibly-hidden.js +1 -1
  740. package/dist/esm/utilities/style/accessibly-hidden.js.map +1 -1
  741. package/dist/esm/utilities/style/appearance.d.ts +1 -1
  742. package/dist/esm/utilities/style/appearance.js.map +1 -1
  743. package/dist/esm/utilities/style/colors.js +1 -1
  744. package/dist/esm/utilities/style/colors.js.map +1 -1
  745. package/dist/esm/utilities/style/direction.d.ts +3 -3
  746. package/dist/esm/utilities/style/direction.js +2 -2
  747. package/dist/esm/utilities/style/direction.js.map +1 -1
  748. package/dist/esm/utilities/style/display.d.ts +1 -1
  749. package/dist/esm/utilities/style/display.js +1 -1
  750. package/dist/esm/utilities/style/display.js.map +1 -1
  751. package/dist/esm/utilities/style/focus.js +1 -1
  752. package/dist/esm/utilities/style/focus.js.map +1 -1
  753. package/dist/esm/utilities/style/multivalue-property-stylesheet-behavior.d.ts +1 -1
  754. package/dist/esm/utilities/style/multivalue-property-stylesheet-behavior.js +1 -1
  755. package/dist/esm/utilities/style/multivalue-property-stylesheet-behavior.js.map +1 -1
  756. package/dist/esm/utilities/style/theme.d.ts +1 -1
  757. package/dist/esm/utilities/style/theme.js.map +1 -1
  758. package/dist/esm/utilities/style/user-select.d.ts +1 -1
  759. package/dist/esm/utilities/style/user-select.js +1 -1
  760. package/dist/esm/utilities/style/user-select.js.map +1 -1
  761. package/dist/esm/wafer-map/index.d.ts +1 -1
  762. package/dist/esm/wafer-map/index.js +2 -2
  763. package/dist/esm/wafer-map/index.js.map +1 -1
  764. package/dist/esm/wafer-map/modules/prerendering.js +1 -1
  765. package/dist/esm/wafer-map/modules/prerendering.js.map +1 -1
  766. package/dist/esm/wafer-map/modules/wafer-map-update-tracker.js +1 -1
  767. package/dist/esm/wafer-map/modules/wafer-map-update-tracker.js.map +1 -1
  768. package/dist/esm/wafer-map/modules/zoom-handler.js +1 -1
  769. package/dist/esm/wafer-map/modules/zoom-handler.js.map +1 -1
  770. package/dist/esm/wafer-map/styles.d.ts +1 -1
  771. package/dist/esm/wafer-map/styles.js +1 -1
  772. package/dist/esm/wafer-map/styles.js.map +1 -1
  773. package/dist/esm/wafer-map/template.d.ts +1 -1
  774. package/dist/esm/wafer-map/template.js +1 -1
  775. package/dist/esm/wafer-map/template.js.map +1 -1
  776. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/select/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Based on: https://github.com/microsoft/fast/blob/%40microsoft/fast-foundation_v2.49.5/packages/web-components/fast-foundation/src/select/select.ts\nimport {\n attr,\n html,\n observable,\n Observable,\n volatile\n} from '@microsoft/fast-element';\nimport {\n AnchoredRegion,\n DesignSystem,\n Select as FoundationSelect,\n ListboxOption,\n type SelectOptions,\n SelectPosition,\n applyMixins,\n StartEnd,\n DelegatesARIASelect\n} from '@microsoft/fast-foundation';\nimport {\n findLastIndex,\n keyArrowDown,\n keyArrowUp,\n keyEnd,\n keyEnter,\n keyEscape,\n keyHome,\n keySpace,\n uniqueId\n} from '@microsoft/fast-web-utilities';\nimport { arrowExpanderDown16X16 } from '@ni/nimble-tokens/dist/icons/js';\nimport { styles } from './styles';\nimport {\n DropdownAppearance,\n type ListOptionOwner\n} from '../patterns/dropdown/types';\nimport { errorTextTemplate } from '../patterns/error/template';\nimport { mixinErrorPattern } from '../patterns/error/types';\nimport { iconExclamationMarkTag } from '../icons/exclamation-mark';\nimport { isListOption, isListOptionGroup, template } from './template';\nimport type { ListOption } from '../list-option';\nimport { FilterMode, type SelectFilterInputEventDetail } from './types';\nimport { diacriticInsensitiveStringNormalizer } from '../utilities/models/string-normalizers';\nimport { FormAssociatedSelect } from './models/select-form-associated';\nimport type { ListOptionGroup } from '../list-option-group';\nimport { slotTextContent } from '../utilities/models/slot-text-content';\nimport { mixinRequiredVisiblePattern } from '../patterns/required-visible/types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-select': Select;\n }\n}\n\n// Used in overrides of base class methods\n// eslint-disable-next-line @typescript-eslint/no-invalid-void-type\ntype BooleanOrVoid = boolean | void;\n\nconst isOptionSelectable = (el: ListOption): boolean => {\n return !el.visuallyHidden && !el.disabled && !el.hidden;\n};\n\nconst isOptionPlaceholder = (el: ListboxOption): boolean => {\n return el.disabled && el.hidden;\n};\n\nconst isOptionOrGroupVisible = (el: ListOption | ListOptionGroup): boolean => {\n return !el.visuallyHidden && !el.hidden;\n};\n\n/**\n * A nimble-styled HTML select.\n */\nexport class Select\n extends mixinErrorPattern(mixinRequiredVisiblePattern(FormAssociatedSelect))\n implements ListOptionOwner {\n @attr\n public appearance: DropdownAppearance = DropdownAppearance.underline;\n\n /**\n * Reflects the placement for the listbox when the select is open.\n *\n * @public\n */\n @attr({ attribute: 'position' })\n public positionAttribute?: SelectPosition;\n\n @attr({ attribute: 'filter-mode' })\n public filterMode: FilterMode = FilterMode.none;\n\n @attr({ attribute: 'clearable', mode: 'boolean' })\n public clearable = false;\n\n @attr({ attribute: 'loading-visible', mode: 'boolean' })\n public loadingVisible = false;\n\n /**\n * @internal\n */\n @observable\n public displayPlaceholder = false;\n\n /**\n * @internal\n */\n @attr({ attribute: 'open', mode: 'boolean' })\n public open = false;\n\n /**\n * Holds the current state for the calculated position of the listbox.\n *\n * @public\n */\n @observable\n public position?: SelectPosition;\n\n /**\n * The ref to the internal `.control` element.\n *\n * @internal\n */\n @observable\n public control!: HTMLElement;\n\n /**\n * Reference to the internal listbox element.\n *\n * @internal\n */\n public listbox!: HTMLDivElement;\n\n /**\n * The unique id for the internal listbox element.\n *\n * @internal\n */\n public listboxId: string = uniqueId('listbox-');\n\n /**\n * @internal\n */\n @observable\n public scrollableRegion!: HTMLElement;\n\n /**\n * @internal\n */\n @observable\n public filterInput?: HTMLInputElement;\n\n /**\n * @internal\n */\n @observable\n public anchoredRegion!: AnchoredRegion;\n\n /** @internal */\n @observable\n public hasOverflow = false;\n\n /**\n * @internal\n */\n @observable\n public filteredOptions: ListboxOption[] = [];\n\n /**\n * @internal\n */\n @observable\n public filter = '';\n\n /**\n * The space available in the viewport for the listbox when opened.\n *\n * @internal\n */\n @observable\n public availableViewportHeight = 0;\n\n /**\n * The component is collapsible when in single-selection mode with no size attribute.\n *\n * @internal\n */\n @volatile\n public get collapsible(): boolean {\n return !(this.multiple || typeof this.size === 'number');\n }\n\n /** @internal */\n public labelSlot!: HTMLSlotElement;\n\n /** @internal */\n @volatile\n public get labelContent(): string {\n if (!this.$fastController.isConnected) {\n return '';\n }\n\n return slotTextContent(this.labelSlot);\n }\n\n private _value = '';\n private forcedPosition = false;\n private openActiveIndex?: number;\n private readonly selectedOptionObserver? = new MutationObserver(() => {\n this.updateDisplayValue();\n });\n\n /**\n * @internal\n */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.forcedPosition = !!this.positionAttribute;\n if (this.open) {\n this.initializeOpenState();\n }\n\n this.observeSelectedOptionTextContent();\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.selectedOptionObserver?.disconnect();\n }\n\n public override get value(): string {\n Observable.track(this, 'value');\n return this._value;\n }\n\n public override set value(next: string) {\n const prev = this._value;\n let newValue = next;\n\n if (this.options?.length) {\n const newValueIndex = this.options.findIndex(\n el => el.value === newValue\n );\n const prevSelectedValue = this.options[this.selectedIndex]?.value ?? null;\n const nextSelectedValue = this.options[newValueIndex]?.value ?? null;\n\n if (\n newValueIndex === -1\n || prevSelectedValue !== nextSelectedValue\n ) {\n newValue = '';\n this.selectedIndex = newValueIndex;\n }\n\n newValue = this.firstSelectedOption?.value ?? newValue;\n }\n\n if (prev !== newValue) {\n this._value = newValue;\n super.valueChanged(prev, newValue);\n Observable.notify(this, 'value');\n this.updateDisplayValue();\n }\n }\n\n /**\n * @internal\n */\n @volatile\n public get displayValue(): string {\n Observable.track(this, 'displayValue');\n return this.firstSelectedOption?.text ?? '';\n }\n\n /**\n * @internal\n */\n public anchoredRegionChanged(\n _prev: AnchoredRegion | undefined,\n _next: AnchoredRegion | undefined\n ): void {\n if (this.anchoredRegion && this.control) {\n this.anchoredRegion.anchorElement = this.control;\n }\n }\n\n /**\n * @internal\n */\n public controlChanged(\n _prev: HTMLElement | undefined,\n _next: HTMLElement | undefined\n ): void {\n if (this.anchoredRegion && this.control) {\n this.anchoredRegion.anchorElement = this.control;\n }\n }\n\n /**\n * @internal\n */\n public override slottedOptionsChanged(\n prev: Element[] | undefined,\n next: Element[] | undefined\n ): void {\n const value = this.value;\n this.options.forEach(o => {\n const notifier = Observable.getNotifier(o);\n notifier.unsubscribe(this, 'value');\n notifier.unsubscribe(this, 'hidden');\n notifier.unsubscribe(this, 'disabled');\n });\n\n prev?.filter<ListOptionGroup>(isListOptionGroup).forEach(el => {\n const notifier = Observable.getNotifier(el);\n notifier.unsubscribe(this, 'hidden');\n notifier.unsubscribe(this, 'visuallyHidden');\n notifier.unsubscribe(this, 'listOptions');\n });\n const options = this.getSlottedOptions(next);\n super.slottedOptionsChanged(prev, options);\n\n options.forEach(o => {\n const notifier = Observable.getNotifier(o);\n notifier.subscribe(this, 'value');\n notifier.subscribe(this, 'hidden');\n notifier.subscribe(this, 'disabled');\n });\n next?.filter<ListOptionGroup>(isListOptionGroup).forEach(el => {\n this.updateAdjacentSeparatorState(el);\n const notifier = Observable.getNotifier(el);\n notifier.subscribe(this, 'hidden');\n notifier.subscribe(this, 'visuallyHidden');\n notifier.subscribe(this, 'listOptions');\n });\n this.setProxyOptions();\n this.updateValue();\n // We need to force an update to the filteredOptions observable\n // (by calling 'filterOptions()) so that the template correctly updates.\n this.filterOptions();\n if (value) {\n this.value = value;\n }\n }\n\n /**\n * @internal\n */\n public override clickHandler(e: MouseEvent): BooleanOrVoid {\n // do nothing if the select is disabled\n if (this.disabled) {\n return;\n }\n\n let optionClicked = false;\n if (this.open) {\n const captured = (e.target as HTMLElement).closest<ListOption>(\n 'option,[role=option]'\n );\n optionClicked = captured !== null;\n\n if (captured?.disabled) {\n return;\n }\n }\n\n const previousSelectedIndex = this.selectedIndex;\n super.clickHandler(e);\n\n if (\n this.open\n && this.selectedIndex !== previousSelectedIndex\n && optionClicked\n ) {\n this.updateValue(true);\n }\n this.open = this.collapsible && !this.open;\n }\n\n /**\n * Updates the value when an option's value changes.\n *\n * @param source - the source object\n * @param propertyName - the property to evaluate\n *\n * @internal\n * @override\n */\n public override handleChange(source: unknown, propertyName: string): void {\n // don't call super.handleChange so hidden options can be selected programmatically\n const sourceElement = source as Element;\n switch (propertyName) {\n case 'value': {\n this.updateValue();\n break;\n }\n case 'selected': {\n if (isListOption(sourceElement) && sourceElement.selected) {\n this.selectedIndex = this.options.indexOf(sourceElement);\n } else {\n this.clearSelect();\n }\n break;\n }\n case 'hidden': {\n if (isListOption(sourceElement)) {\n sourceElement.visuallyHidden = sourceElement.hidden;\n this.updateAdjacentSeparatorState(sourceElement);\n } else if (isListOptionGroup(sourceElement)) {\n sourceElement.listOptions.forEach(e => {\n e.visuallyHidden = sourceElement.hidden;\n });\n this.updateAdjacentSeparatorState(sourceElement);\n }\n this.filterOptions();\n this.updateDisplayValue();\n break;\n }\n case 'visuallyHidden': {\n if (\n isListOptionGroup(sourceElement)\n || isListOption(sourceElement)\n ) {\n this.updateAdjacentSeparatorState(sourceElement);\n }\n break;\n }\n case 'disabled': {\n this.updateDisplayValue();\n break;\n }\n case 'listOptions': {\n // force refresh of slotted options for groups\n this.slottedOptionsChanged(\n this.slottedOptions,\n this.slottedOptions\n );\n break;\n }\n default:\n break;\n }\n }\n\n /**\n * Prevents focus when size is set and a scrollbar is clicked.\n *\n * @param e - the mouse event object\n *\n * @override\n * @internal\n */\n public override mousedownHandler(e: MouseEvent): BooleanOrVoid {\n if (e.offsetX >= 0 && e.offsetX <= this.listbox?.scrollWidth) {\n return super.mousedownHandler(e);\n }\n\n return this.collapsible;\n }\n\n /**\n * @internal\n */\n public regionLoadedHandler(): void {\n this.focusAndScrollOptionIntoView();\n }\n\n /**\n * Sets the multiple property on the proxy element.\n *\n * @param prev - the previous multiple value\n * @param next - the current multiple value\n */\n public override multipleChanged(\n prev: boolean | undefined,\n next: boolean\n ): void {\n super.multipleChanged(prev, next);\n\n if (this.proxy) {\n this.proxy.multiple = next;\n }\n }\n\n /**\n * @internal\n */\n public ignoreClickHandler(e: MouseEvent): void {\n e.stopPropagation();\n }\n\n /**\n * @internal\n */\n public clearClickHandler(e: MouseEvent): void {\n this.open = false;\n this.clearSelect();\n this.updateValue(true);\n e.stopPropagation();\n }\n\n /**\n * @internal\n */\n public updateDisplayValue(): void {\n const placeholderOption = this.getPlaceholderOption();\n if (\n placeholderOption\n && this.firstSelectedOption === placeholderOption\n ) {\n this.displayPlaceholder = true;\n } else {\n this.displayPlaceholder = false;\n }\n\n Observable.notify(this, 'displayValue');\n }\n\n /**\n * Handle content changes on the control input.\n *\n * @param e - the input event\n * @internal\n */\n public inputHandler(e: InputEvent): boolean {\n this.filter = this.filterInput?.value ?? '';\n if (this.filterMode === FilterMode.standard) {\n this.filterOptions();\n\n const enabledOptions = this.filteredOptions.filter(\n o => !o.disabled\n );\n let activeOptionIndex = this.filter !== ''\n ? (this.openActiveIndex ?? this.selectedIndex)\n : this.selectedIndex;\n\n if (\n enabledOptions.length > 0\n && !enabledOptions.find(o => o === this.options[activeOptionIndex])\n ) {\n activeOptionIndex = this.options.indexOf(enabledOptions[0]!);\n } else if (enabledOptions.length === 0) {\n activeOptionIndex = -1;\n }\n this.setActiveOption(activeOptionIndex);\n }\n\n if (this.filterMode !== FilterMode.none) {\n this.emitFilterInputEvent();\n }\n\n if (e.inputType.includes('deleteContent') || !this.filter.length) {\n return true;\n }\n\n e.stopPropagation();\n return true;\n }\n\n /**\n * @internal\n */\n public override focusoutHandler(e: FocusEvent): BooleanOrVoid {\n super.focusoutHandler(e);\n if (!this.open) {\n return true;\n }\n\n this.open = false;\n const focusTarget = e.relatedTarget as HTMLElement;\n if (this.isSameNode(focusTarget)) {\n this.focus();\n return true;\n }\n\n return true;\n }\n\n /**\n * @internal\n */\n public override keydownHandler(e: KeyboardEvent): BooleanOrVoid {\n const initialSelectedIndex = this.selectedIndex;\n const key = e.key;\n if (e.ctrlKey || e.shiftKey) {\n return true;\n }\n\n if (key !== keyArrowDown && key !== keyArrowUp) {\n super.keydownHandler(e);\n }\n\n let currentActiveIndex = this.openActiveIndex ?? this.selectedIndex;\n let commitValueThenClose = false;\n switch (key) {\n case keyArrowDown: {\n const selectedOption = this.options[this.selectedIndex];\n if (\n this.open\n && isListOption(selectedOption)\n && !isOptionOrGroupVisible(selectedOption)\n ) {\n if (this.openActiveIndex === this.selectedIndex) {\n this.selectFirstOption();\n } else {\n this.selectNextOption();\n }\n } else {\n super.keydownHandler(e);\n }\n\n // update currentActiveIndex again as dependent state may have changed\n currentActiveIndex = this.openActiveIndex ?? this.selectedIndex;\n break;\n }\n case keyArrowUp: {\n const selectedOption = this.options[this.selectedIndex];\n if (\n this.open\n && isListOption(selectedOption)\n && !isOptionOrGroupVisible(selectedOption)\n ) {\n if (this.openActiveIndex === this.selectedIndex) {\n this.selectLastOption();\n } else {\n this.selectPreviousOption();\n }\n } else {\n super.keydownHandler(e);\n }\n\n // update currentActiveIndex again as dependent state may have changed\n currentActiveIndex = this.openActiveIndex ?? this.selectedIndex;\n break;\n }\n case keySpace: {\n // when dropdown is open allow user to enter a space for filter text\n if (this.open && this.filterMode !== FilterMode.none) {\n break;\n }\n\n e.preventDefault();\n if (this.collapsible && this.typeAheadExpired) {\n this.open = !this.open;\n }\n if (!this.open) {\n this.focus();\n }\n break;\n }\n case keyHome:\n case keyEnd: {\n e.preventDefault();\n break;\n }\n case keyEnter: {\n e.preventDefault();\n if (\n this.filteredOptions.length === 0\n || this.filteredOptions.every(o => o.disabled)\n ) {\n return false;\n }\n if (this.open) {\n commitValueThenClose = true;\n } else {\n this.open = true;\n }\n\n if (commitValueThenClose) {\n this.focus();\n }\n break;\n }\n case keyEscape: {\n if (!this.open) {\n if (this.clearable) {\n this.clearSelect();\n this.updateValue(true);\n return true;\n }\n\n break;\n }\n\n if (this.collapsible && this.open) {\n e.preventDefault();\n this.open = false;\n }\n\n currentActiveIndex = this.selectedIndex;\n this.focus();\n break;\n }\n\n default: {\n break;\n }\n }\n\n if (!this.open || commitValueThenClose) {\n if (this.selectedIndex !== currentActiveIndex) {\n this.selectedIndex = currentActiveIndex;\n }\n\n if (initialSelectedIndex !== this.selectedIndex) {\n this.updateValue(true);\n }\n }\n\n if (commitValueThenClose) {\n this.open = false;\n }\n\n return !(key === keyArrowDown || key === keyArrowUp);\n }\n\n /**\n * Updates the proxy value when the selected index changes.\n *\n * @param prev - the previous selected index\n * @param next - the next selected index\n *\n * @internal\n */\n public override selectedIndexChanged(\n _: number | undefined,\n __: number\n ): void {\n // Don't call super.selectedIndexChanged as this will disallow disabled options\n // from being valid initial selected values. Our setDefaultSelectedOption\n // implementation handles skipping non-selected disabled options for the initial\n // selected value.\n this.setSelectedOptions();\n if (this.open) {\n this.setActiveOption(this.selectedIndex);\n }\n this.updateValue();\n }\n\n /**\n * @internal\n * Fork of Listbox implementation, so that the selectedIndex is not changed while the dropdown\n * is open.\n */\n public override typeaheadBufferChanged(_: string, __: string): void {\n if (this.$fastController.isConnected) {\n const typeaheadMatches = this.getTypeaheadMatches();\n\n if (typeaheadMatches.length) {\n const activeOptionIndex = this.options.indexOf(\n typeaheadMatches[0] as ListOption\n );\n if (!(this.open && this.filterMode !== FilterMode.none)) {\n this.setActiveOption(activeOptionIndex);\n }\n }\n\n this.typeaheadExpired = false;\n }\n }\n\n /**\n * Synchronize the `aria-disabled` property when the `disabled` property changes.\n *\n * @param prev - The previous disabled value\n * @param next - The next disabled value\n *\n * @internal\n */\n public override disabledChanged(prev: boolean, next: boolean): void {\n if (super.disabledChanged) {\n super.disabledChanged(prev, next);\n }\n this.ariaDisabled = this.disabled ? 'true' : 'false';\n }\n\n /**\n * Reset the element to its first selectable option when its parent form is reset.\n *\n * @internal\n */\n public override formResetCallback(): void {\n this.setProxyOptions();\n // Call the base class's implementation setDefaultSelectedOption instead of the select's\n // override, in order to reset the selectedIndex without using the value property.\n super.setDefaultSelectedOption();\n if (this.selectedIndex === -1) {\n this.selectedIndex = 0;\n }\n }\n\n /**\n * @internal\n */\n public override selectNextOption(): void {\n // don't call super.selectNextOption as that relies on side-effecty\n // behavior to not select disabled option (which no longer works)\n const startIndex = this.openActiveIndex ?? this.selectedIndex;\n for (let i = startIndex + 1; i < this.options.length; i++) {\n const listOption = this.options[i]!;\n if (isListOption(listOption) && isOptionSelectable(listOption)) {\n this.setActiveOption(i);\n break;\n }\n }\n }\n\n /**\n * @internal\n */\n public override selectPreviousOption(): void {\n // don't call super.selectPreviousOption as that relies on side-effecty\n // behavior to not select disabled option (which no longer works)\n const startIndex = this.openActiveIndex ?? this.selectedIndex;\n for (let i = startIndex - 1; i >= 0; i--) {\n const listOption = this.options[i]!;\n if (isListOption(listOption) && isOptionSelectable(listOption)) {\n this.setActiveOption(i);\n break;\n }\n }\n }\n\n /**\n * @internal\n */\n public override selectFirstOption(): void {\n const newActiveOptionIndex = this.options.findIndex(\n o => isListOption(o) && isOptionSelectable(o)\n );\n this.setActiveOption(newActiveOptionIndex);\n }\n\n /**\n * @internal\n */\n public override selectLastOption(): void {\n const newActiveOptionIndex = findLastIndex(\n this.options,\n o => isListOption(o) && isOptionSelectable(o)\n );\n this.setActiveOption(newActiveOptionIndex);\n }\n\n /**\n * @internal\n */\n public registerOption(option: ListOption): void {\n if (this.options.includes(option)) {\n return;\n }\n\n // Adding an option to the end, ultimately, isn't the correct\n // thing to do, as this will mean the option's index in the options,\n // at least temporarily, does not match the DOM order. However, it\n // is expected that a successive run of `slottedOptionsChanged` will\n // correct this order issue. See 'https://github.com/ni/nimble/issues/1915'\n // for more info.\n this.options.push(option);\n }\n\n protected override setSelectedOptions(): void {\n // Prevents parent classes from resetting selectedIndex to a positive\n // value while filtering, which can result in a disabled option being\n // selected.\n if (this.open && this.selectedIndex === -1) {\n return;\n }\n super.setSelectedOptions();\n }\n\n protected override focusAndScrollOptionIntoView(): void {\n if (this.open) {\n super.focusAndScrollOptionIntoView();\n window.requestAnimationFrame(() => {\n this.filterInput?.focus();\n });\n }\n }\n\n protected override getTypeaheadMatches(): ListboxOption[] {\n const matches = super.getTypeaheadMatches();\n // Don't allow placeholder to be matched\n return matches.filter(o => !o.hidden && !o.disabled);\n }\n\n protected positionChanged(\n _: SelectPosition | undefined,\n next: SelectPosition | undefined\n ): void {\n this.positionAttribute = next;\n this.setPositioning();\n }\n\n /**\n * Updates the proxy's size property when the size attribute changes.\n *\n * @param prev - the previous size\n * @param next - the current size\n *\n * @override\n * @internal\n */\n protected override sizeChanged(\n prev: number | undefined,\n next: number\n ): void {\n super.sizeChanged(prev, next);\n\n if (this.proxy) {\n this.proxy.size = next;\n }\n }\n\n protected openChanged(): void {\n if (!this.collapsible) {\n return;\n }\n\n if (this.open) {\n this.initializeOpenState();\n return;\n }\n\n const activeOption = this.options[this.openActiveIndex ?? this.selectedIndex];\n if (isListOption(activeOption)) {\n activeOption.activeOption = false;\n }\n this.openActiveIndex = undefined;\n this.filter = '';\n if (this.filterInput) {\n this.filterInput.value = '';\n }\n\n if (this.filterMode !== FilterMode.none) {\n this.emitFilterInputEvent();\n }\n this.ariaControls = '';\n this.ariaExpanded = 'false';\n }\n\n /**\n * Updates the selectedness of each option when the list of selected options changes.\n *\n * @param prev - the previous list of selected options\n * @param next - the current list of selected options\n *\n * @override\n * @internal\n */\n protected override selectedOptionsChanged(\n _prev: ListboxOption[] | undefined,\n next: ListboxOption[]\n ): void {\n // don't call super.selectedOptionsChanged so we don't filter out hidden elements\n // when updating 'selected' state (copied relevant super implementation)\n this.options?.forEach((o, i) => {\n const notifier = Observable.getNotifier(o);\n notifier.unsubscribe(this, 'selected');\n o.selected = next.includes(o);\n notifier.subscribe(this, 'selected');\n const proxyOption = this.proxy?.options.item(i);\n if (proxyOption) {\n proxyOption.selected = o.selected;\n }\n });\n }\n\n /**\n * Sets the selected index to match the first option with the selected attribute, or\n * the first selectable option.\n *\n * @override\n * @internal\n */\n protected override setDefaultSelectedOption(): void {\n const options: ListboxOption[] = this.options\n ?? Array.from(this.children).filter(o => isListOption(o));\n\n const optionIsSelected = (option: ListboxOption): boolean => {\n return option.hasAttribute('selected') || option.selected;\n };\n let selectedIndex = -1;\n let firstValidOptionIndex = -1;\n let placeholderIndex = -1;\n for (let i = 0; i < options?.length; i++) {\n const option = options[i]!;\n if (optionIsSelected(option) || option.value === this.value) {\n selectedIndex = i;\n break;\n } else if (placeholderIndex === -1 && isOptionPlaceholder(option)) {\n placeholderIndex = i;\n } else if (\n firstValidOptionIndex === -1\n && isOptionSelectable(option as ListOption)\n ) {\n firstValidOptionIndex = i;\n }\n }\n\n if (selectedIndex !== -1) {\n this.selectedIndex = selectedIndex;\n } else if (placeholderIndex !== -1) {\n this.selectedIndex = placeholderIndex;\n } else if (firstValidOptionIndex !== -1) {\n this.selectedIndex = firstValidOptionIndex;\n } else {\n this.selectedIndex = 0;\n }\n }\n\n private getSlottedOptions(\n slottedElements: Element[] | undefined\n ): ListboxOption[] {\n const options: ListOption[] = [];\n slottedElements?.forEach(el => {\n if (isListOption(el)) {\n options.push(el);\n } else if (isListOptionGroup(el)) {\n options.push(...this.getGroupOptions(el));\n }\n });\n\n return options;\n }\n\n private setActiveOption(newActiveIndex: number): void {\n const activeOption = this.options[newActiveIndex];\n if (this.open) {\n if (isListOption(activeOption)) {\n activeOption.activeOption = true;\n }\n\n const previousActiveIndex = this.openActiveIndex ?? this.selectedIndex;\n const previousActiveOption = this.options[previousActiveIndex];\n if (\n previousActiveIndex !== newActiveIndex\n && isListOption(previousActiveOption)\n ) {\n previousActiveOption.activeOption = false;\n }\n\n this.openActiveIndex = newActiveIndex;\n this.focusAndScrollActiveOptionIntoView();\n } else {\n this.selectedIndex = newActiveIndex;\n }\n\n this.ariaActiveDescendant = activeOption?.id ?? '';\n }\n\n private focusAndScrollActiveOptionIntoView(): void {\n const optionToFocus = this.options[this.openActiveIndex ?? this.selectedIndex];\n // Copied from FAST: To ensure that the browser handles both `focus()` and\n // `scrollIntoView()`, the timing here needs to guarantee that they happen on\n // different frames. Since this function is typically called from the `openChanged`\n // observer, `DOM.queueUpdate` causes the calls to be grouped into the same frame.\n // To prevent this, `requestAnimationFrame` is used instead of `DOM.queueUpdate`.\n if (optionToFocus !== undefined && this.contains(optionToFocus)) {\n optionToFocus.focus();\n requestAnimationFrame(() => {\n optionToFocus.scrollIntoView({ block: 'nearest' });\n });\n }\n }\n\n private getPlaceholderOption(): ListOption | undefined {\n return this.options.find(o => o.hidden && o.disabled) as ListOption;\n }\n\n private setPositioning(): void {\n if (!this.$fastController.isConnected) {\n // Don't call setPositioning() until we're connected,\n // since this.forcedPosition isn't initialized yet.\n return;\n }\n const currentBox = this.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n const availableBottom = viewportHeight - currentBox.bottom;\n\n if (this.forcedPosition) {\n this.position = this.positionAttribute;\n } else if (currentBox.top > availableBottom) {\n this.position = SelectPosition.above;\n } else {\n this.position = SelectPosition.below;\n }\n\n this.positionAttribute = this.forcedPosition\n ? this.positionAttribute\n : this.position;\n\n this.availableViewportHeight = this.position === SelectPosition.above\n ? Math.trunc(currentBox.top)\n : Math.trunc(availableBottom);\n }\n\n private updateAdjacentSeparatorState(\n element: ListOptionGroup | ListOption\n ): void {\n const previousElement = this.getPreviousVisibleOptionOrGroup(element);\n const nextElement = this.getNextVisibleOptionOrGroup(element);\n\n if (isOptionOrGroupVisible(element)) {\n const topSeparatorVisible = isListOption(previousElement);\n this.setTopSeparatorState(element, topSeparatorVisible);\n const bottomSeparatorVisible = nextElement !== null;\n this.setBottomSeparatorState(element, bottomSeparatorVisible);\n this.setBottomSeparatorState(previousElement, true);\n } else {\n const nextTopSeparatorVisible = isListOption(previousElement);\n this.setTopSeparatorState(nextElement, nextTopSeparatorVisible);\n const previousBottomSeparatorVisible = nextElement !== null;\n this.setBottomSeparatorState(\n previousElement,\n previousBottomSeparatorVisible\n );\n }\n }\n\n private setTopSeparatorState(\n element: ListOptionGroup | ListOption | null,\n visible: boolean\n ): void {\n if (isListOptionGroup(element)) {\n element.topSeparatorVisible = visible;\n }\n }\n\n private setBottomSeparatorState(\n element: ListOptionGroup | ListOption | null,\n visible: boolean\n ): void {\n if (isListOptionGroup(element)) {\n element.bottomSeparatorVisible = visible;\n }\n }\n\n private getPreviousVisibleOptionOrGroup(\n element: HTMLElement\n ): ListOption | ListOptionGroup | null {\n let previousElement = element.previousElementSibling;\n while (previousElement) {\n if (\n (isListOption(previousElement)\n || isListOptionGroup(previousElement))\n && isOptionOrGroupVisible(previousElement)\n ) {\n return previousElement;\n }\n previousElement = previousElement.previousElementSibling;\n }\n return null;\n }\n\n private getNextVisibleOptionOrGroup(\n element: HTMLElement\n ): ListOption | ListOptionGroup | null {\n let nextElement = element.nextElementSibling;\n while (nextElement) {\n if (\n (isListOption(nextElement) || isListOptionGroup(nextElement))\n && isOptionOrGroupVisible(nextElement)\n ) {\n return nextElement;\n }\n nextElement = nextElement.nextElementSibling;\n }\n return null;\n }\n\n private isOptionHiddenOrFilteredOut(option: ListOption): boolean {\n if (option.hidden) {\n return true;\n }\n return this.filterMode === FilterMode.standard\n ? !this.filterMatchesText(option.text)\n : false;\n }\n\n private filterMatchesText(text: string): boolean {\n const filter = this.filter.toLowerCase();\n const normalizedFilter = diacriticInsensitiveStringNormalizer(filter);\n return diacriticInsensitiveStringNormalizer(text).includes(\n normalizedFilter\n );\n }\n\n /**\n * Filter available options by text value.\n *\n * @public\n */\n private filterOptions(): void {\n if (!this.$fastController.isConnected) {\n return;\n }\n\n const filteredOptions: ListOption[] = [];\n for (const element of this.slottedOptions) {\n if (isListOptionGroup(element)) {\n if (element.hidden) {\n continue; // no need to process hidden groups\n }\n const groupOptions = this.getGroupOptions(element);\n const groupMatchesFilter = this.filterMatchesText(\n element.labelContent\n );\n groupOptions.forEach(option => {\n option.visuallyHidden = groupMatchesFilter\n ? false\n : this.isOptionHiddenOrFilteredOut(option);\n if (!option.visuallyHidden) {\n filteredOptions.push(option);\n }\n });\n } else if (isListOption(element)) {\n element.visuallyHidden = this.isOptionHiddenOrFilteredOut(element);\n if (!element.visuallyHidden) {\n filteredOptions.push(element);\n }\n }\n }\n\n this.filteredOptions = filteredOptions;\n }\n\n private getGroupOptions(group: ListOptionGroup): ListOption[] {\n return Array.from(group.children)\n .filter(el => isListOption(el))\n .map(el => {\n if (group.hidden && isListOption(el)) {\n el.visuallyHidden = true;\n }\n\n return el;\n }) as ListOption[];\n }\n\n /**\n * Sets the value and display value to match the first selected option.\n *\n * @param shouldEmit - if true, the input and change events will be emitted\n *\n * @internal\n */\n private updateValue(shouldEmit?: boolean): void {\n if (this.$fastController.isConnected) {\n this.value = this.firstSelectedOption?.value ?? '';\n this.observeSelectedOptionTextContent();\n }\n\n if (shouldEmit) {\n this.$emit('input');\n this.$emit('change', this, {\n bubbles: true,\n composed: undefined\n });\n }\n }\n\n private clearSelect(): void {\n const placeholder = this.getPlaceholderOption();\n this.selectedIndex = placeholder\n ? this.options.indexOf(placeholder)\n : -1;\n }\n\n /**\n * Resets and fills the proxy to match the component's options.\n *\n * @internal\n */\n private setProxyOptions(): void {\n if (this.proxy instanceof HTMLSelectElement && this.options) {\n this.proxy.options.length = 0;\n this.options.forEach(option => {\n const proxyOption = option.proxy\n || (option instanceof HTMLOptionElement\n ? option.cloneNode()\n : null);\n\n if (proxyOption) {\n this.proxy.options.add(proxyOption);\n }\n });\n }\n }\n\n private filterChanged(): void {\n this.filterOptions();\n }\n\n private emitFilterInputEvent(): void {\n const eventDetail: SelectFilterInputEventDetail = {\n filterText: this.filter\n };\n\n this.$emit('filter-input', eventDetail, { bubbles: true });\n }\n\n private initializeOpenState(): void {\n this.setActiveOption(this.selectedIndex);\n this.ariaControls = this.listboxId;\n this.ariaExpanded = 'true';\n\n this.setPositioning();\n this.focusAndScrollOptionIntoView();\n }\n\n private observeSelectedOptionTextContent(): void {\n this.selectedOptionObserver?.disconnect();\n\n if (this.selectedIndex === -1) {\n return;\n }\n\n const selectedOption = this.firstSelectedOption;\n if (selectedOption) {\n this.selectedOptionObserver?.observe(selectedOption, {\n characterData: true,\n subtree: true,\n childList: true\n });\n }\n }\n}\n\nconst nimbleSelect = Select.compose<SelectOptions>({\n baseName: 'select',\n baseClass: FoundationSelect,\n template,\n styles,\n indicator: arrowExpanderDown16X16.data,\n end: html<Select>`\n <${iconExclamationMarkTag}\n severity=\"error\"\n class=\"error-icon\"\n ></${iconExclamationMarkTag}>\n ${errorTextTemplate}\n `\n});\n\napplyMixins(Select, StartEnd, DelegatesARIASelect);\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSelect());\nexport const selectTag = 'nimble-select';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/select/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Based on: https://github.com/microsoft/fast/blob/%40microsoft/fast-foundation_v2.49.5/packages/web-components/fast-foundation/src/select/select.ts\nimport { attr, html, observable, Observable, volatile } from '@ni/fast-element';\nimport {\n AnchoredRegion,\n DesignSystem,\n Select as FoundationSelect,\n ListboxOption,\n type SelectOptions,\n SelectPosition,\n applyMixins,\n StartEnd,\n DelegatesARIASelect\n} from '@ni/fast-foundation';\nimport {\n findLastIndex,\n keyArrowDown,\n keyArrowUp,\n keyEnd,\n keyEnter,\n keyEscape,\n keyHome,\n keySpace,\n uniqueId\n} from '@ni/fast-web-utilities';\nimport { arrowExpanderDown16X16 } from '@ni/nimble-tokens/dist/icons/js';\nimport { styles } from './styles';\nimport {\n DropdownAppearance,\n type ListOptionOwner\n} from '../patterns/dropdown/types';\nimport { errorTextTemplate } from '../patterns/error/template';\nimport { mixinErrorPattern } from '../patterns/error/types';\nimport { iconExclamationMarkTag } from '../icons/exclamation-mark';\nimport { isListOption, isListOptionGroup, template } from './template';\nimport type { ListOption } from '../list-option';\nimport { FilterMode, type SelectFilterInputEventDetail } from './types';\nimport { diacriticInsensitiveStringNormalizer } from '../utilities/models/string-normalizers';\nimport { FormAssociatedSelect } from './models/select-form-associated';\nimport type { ListOptionGroup } from '../list-option-group';\nimport { slotTextContent } from '../utilities/models/slot-text-content';\nimport { mixinRequiredVisiblePattern } from '../patterns/required-visible/types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-select': Select;\n }\n}\n\n// Used in overrides of base class methods\n// eslint-disable-next-line @typescript-eslint/no-invalid-void-type\ntype BooleanOrVoid = boolean | void;\n\nconst isOptionSelectable = (el: ListOption): boolean => {\n return !el.visuallyHidden && !el.disabled && !el.hidden;\n};\n\nconst isOptionPlaceholder = (el: ListboxOption): boolean => {\n return el.disabled && el.hidden;\n};\n\nconst isOptionOrGroupVisible = (el: ListOption | ListOptionGroup): boolean => {\n return !el.visuallyHidden && !el.hidden;\n};\n\n/**\n * A nimble-styled HTML select.\n */\nexport class Select\n extends mixinErrorPattern(mixinRequiredVisiblePattern(FormAssociatedSelect))\n implements ListOptionOwner {\n @attr\n public appearance: DropdownAppearance = DropdownAppearance.underline;\n\n /**\n * Reflects the placement for the listbox when the select is open.\n *\n * @public\n */\n @attr({ attribute: 'position' })\n public positionAttribute?: SelectPosition;\n\n @attr({ attribute: 'filter-mode' })\n public filterMode: FilterMode = FilterMode.none;\n\n @attr({ attribute: 'clearable', mode: 'boolean' })\n public clearable = false;\n\n @attr({ attribute: 'loading-visible', mode: 'boolean' })\n public loadingVisible = false;\n\n /**\n * @internal\n */\n @observable\n public displayPlaceholder = false;\n\n /**\n * @internal\n */\n @attr({ attribute: 'open', mode: 'boolean' })\n public open = false;\n\n /**\n * Holds the current state for the calculated position of the listbox.\n *\n * @public\n */\n @observable\n public position?: SelectPosition;\n\n /**\n * The ref to the internal `.control` element.\n *\n * @internal\n */\n @observable\n public control!: HTMLElement;\n\n /**\n * Reference to the internal listbox element.\n *\n * @internal\n */\n public listbox!: HTMLDivElement;\n\n /**\n * The unique id for the internal listbox element.\n *\n * @internal\n */\n public listboxId: string = uniqueId('listbox-');\n\n /**\n * @internal\n */\n @observable\n public scrollableRegion!: HTMLElement;\n\n /**\n * @internal\n */\n @observable\n public filterInput?: HTMLInputElement;\n\n /**\n * @internal\n */\n @observable\n public anchoredRegion!: AnchoredRegion;\n\n /** @internal */\n @observable\n public hasOverflow = false;\n\n /**\n * @internal\n */\n @observable\n public filteredOptions: ListboxOption[] = [];\n\n /**\n * @internal\n */\n @observable\n public filter = '';\n\n /**\n * The space available in the viewport for the listbox when opened.\n *\n * @internal\n */\n @observable\n public availableViewportHeight = 0;\n\n /**\n * The component is collapsible when in single-selection mode with no size attribute.\n *\n * @internal\n */\n @volatile\n public get collapsible(): boolean {\n return !(this.multiple || typeof this.size === 'number');\n }\n\n /** @internal */\n public labelSlot!: HTMLSlotElement;\n\n /** @internal */\n @volatile\n public get labelContent(): string {\n if (!this.$fastController.isConnected) {\n return '';\n }\n\n return slotTextContent(this.labelSlot);\n }\n\n private _value = '';\n private forcedPosition = false;\n private openActiveIndex?: number;\n private readonly selectedOptionObserver? = new MutationObserver(() => {\n this.updateDisplayValue();\n });\n\n /**\n * @internal\n */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.forcedPosition = !!this.positionAttribute;\n if (this.open) {\n this.initializeOpenState();\n }\n\n this.observeSelectedOptionTextContent();\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.selectedOptionObserver?.disconnect();\n }\n\n public override get value(): string {\n Observable.track(this, 'value');\n return this._value;\n }\n\n public override set value(next: string) {\n const prev = this._value;\n let newValue = next;\n\n if (this.options?.length) {\n const newValueIndex = this.options.findIndex(\n el => el.value === newValue\n );\n const prevSelectedValue = this.options[this.selectedIndex]?.value ?? null;\n const nextSelectedValue = this.options[newValueIndex]?.value ?? null;\n\n if (\n newValueIndex === -1\n || prevSelectedValue !== nextSelectedValue\n ) {\n newValue = '';\n this.selectedIndex = newValueIndex;\n }\n\n newValue = this.firstSelectedOption?.value ?? newValue;\n }\n\n if (prev !== newValue) {\n this._value = newValue;\n super.valueChanged(prev, newValue);\n Observable.notify(this, 'value');\n this.updateDisplayValue();\n }\n }\n\n /**\n * @internal\n */\n @volatile\n public get displayValue(): string {\n Observable.track(this, 'displayValue');\n return this.firstSelectedOption?.text ?? '';\n }\n\n /**\n * @internal\n */\n public anchoredRegionChanged(\n _prev: AnchoredRegion | undefined,\n _next: AnchoredRegion | undefined\n ): void {\n if (this.anchoredRegion && this.control) {\n this.anchoredRegion.anchorElement = this.control;\n }\n }\n\n /**\n * @internal\n */\n public controlChanged(\n _prev: HTMLElement | undefined,\n _next: HTMLElement | undefined\n ): void {\n if (this.anchoredRegion && this.control) {\n this.anchoredRegion.anchorElement = this.control;\n }\n }\n\n /**\n * @internal\n */\n public override slottedOptionsChanged(\n prev: Element[] | undefined,\n next: Element[] | undefined\n ): void {\n const value = this.value;\n this.options.forEach(o => {\n const notifier = Observable.getNotifier(o);\n notifier.unsubscribe(this, 'value');\n notifier.unsubscribe(this, 'hidden');\n notifier.unsubscribe(this, 'disabled');\n });\n\n prev?.filter<ListOptionGroup>(isListOptionGroup).forEach(el => {\n const notifier = Observable.getNotifier(el);\n notifier.unsubscribe(this, 'hidden');\n notifier.unsubscribe(this, 'visuallyHidden');\n notifier.unsubscribe(this, 'listOptions');\n });\n const options = this.getSlottedOptions(next);\n super.slottedOptionsChanged(prev, options);\n\n options.forEach(o => {\n const notifier = Observable.getNotifier(o);\n notifier.subscribe(this, 'value');\n notifier.subscribe(this, 'hidden');\n notifier.subscribe(this, 'disabled');\n });\n next?.filter<ListOptionGroup>(isListOptionGroup).forEach(el => {\n this.updateAdjacentSeparatorState(el);\n const notifier = Observable.getNotifier(el);\n notifier.subscribe(this, 'hidden');\n notifier.subscribe(this, 'visuallyHidden');\n notifier.subscribe(this, 'listOptions');\n });\n this.setProxyOptions();\n this.updateValue();\n // We need to force an update to the filteredOptions observable\n // (by calling 'filterOptions()) so that the template correctly updates.\n this.filterOptions();\n if (value) {\n this.value = value;\n }\n }\n\n /**\n * @internal\n */\n public override clickHandler(e: MouseEvent): BooleanOrVoid {\n // do nothing if the select is disabled\n if (this.disabled) {\n return;\n }\n\n let optionClicked = false;\n if (this.open) {\n const captured = (e.target as HTMLElement).closest<ListOption>(\n 'option,[role=option]'\n );\n optionClicked = captured !== null;\n\n if (captured?.disabled) {\n return;\n }\n }\n\n const previousSelectedIndex = this.selectedIndex;\n super.clickHandler(e);\n\n if (\n this.open\n && this.selectedIndex !== previousSelectedIndex\n && optionClicked\n ) {\n this.updateValue(true);\n }\n this.open = this.collapsible && !this.open;\n }\n\n /**\n * Updates the value when an option's value changes.\n *\n * @param source - the source object\n * @param propertyName - the property to evaluate\n *\n * @internal\n * @override\n */\n public override handleChange(source: unknown, propertyName: string): void {\n // don't call super.handleChange so hidden options can be selected programmatically\n const sourceElement = source as Element;\n switch (propertyName) {\n case 'value': {\n this.updateValue();\n break;\n }\n case 'selected': {\n if (isListOption(sourceElement) && sourceElement.selected) {\n this.selectedIndex = this.options.indexOf(sourceElement);\n } else {\n this.clearSelect();\n }\n break;\n }\n case 'hidden': {\n if (isListOption(sourceElement)) {\n sourceElement.visuallyHidden = sourceElement.hidden;\n this.updateAdjacentSeparatorState(sourceElement);\n } else if (isListOptionGroup(sourceElement)) {\n sourceElement.listOptions.forEach(e => {\n e.visuallyHidden = sourceElement.hidden;\n });\n this.updateAdjacentSeparatorState(sourceElement);\n }\n this.filterOptions();\n this.updateDisplayValue();\n break;\n }\n case 'visuallyHidden': {\n if (\n isListOptionGroup(sourceElement)\n || isListOption(sourceElement)\n ) {\n this.updateAdjacentSeparatorState(sourceElement);\n }\n break;\n }\n case 'disabled': {\n this.updateDisplayValue();\n break;\n }\n case 'listOptions': {\n // force refresh of slotted options for groups\n this.slottedOptionsChanged(\n this.slottedOptions,\n this.slottedOptions\n );\n break;\n }\n default:\n break;\n }\n }\n\n /**\n * Prevents focus when size is set and a scrollbar is clicked.\n *\n * @param e - the mouse event object\n *\n * @override\n * @internal\n */\n public override mousedownHandler(e: MouseEvent): BooleanOrVoid {\n if (e.offsetX >= 0 && e.offsetX <= this.listbox?.scrollWidth) {\n return super.mousedownHandler(e);\n }\n\n return this.collapsible;\n }\n\n /**\n * @internal\n */\n public regionLoadedHandler(): void {\n this.focusAndScrollOptionIntoView();\n }\n\n /**\n * Sets the multiple property on the proxy element.\n *\n * @param prev - the previous multiple value\n * @param next - the current multiple value\n */\n public override multipleChanged(\n prev: boolean | undefined,\n next: boolean\n ): void {\n super.multipleChanged(prev, next);\n\n if (this.proxy) {\n this.proxy.multiple = next;\n }\n }\n\n /**\n * @internal\n */\n public ignoreClickHandler(e: MouseEvent): void {\n e.stopPropagation();\n }\n\n /**\n * @internal\n */\n public clearClickHandler(e: MouseEvent): void {\n this.open = false;\n this.clearSelect();\n this.updateValue(true);\n e.stopPropagation();\n }\n\n /**\n * @internal\n */\n public updateDisplayValue(): void {\n const placeholderOption = this.getPlaceholderOption();\n if (\n placeholderOption\n && this.firstSelectedOption === placeholderOption\n ) {\n this.displayPlaceholder = true;\n } else {\n this.displayPlaceholder = false;\n }\n\n Observable.notify(this, 'displayValue');\n }\n\n /**\n * Handle content changes on the control input.\n *\n * @param e - the input event\n * @internal\n */\n public inputHandler(e: InputEvent): boolean {\n this.filter = this.filterInput?.value ?? '';\n if (this.filterMode === FilterMode.standard) {\n this.filterOptions();\n\n const enabledOptions = this.filteredOptions.filter(\n o => !o.disabled\n );\n let activeOptionIndex = this.filter !== ''\n ? (this.openActiveIndex ?? this.selectedIndex)\n : this.selectedIndex;\n\n if (\n enabledOptions.length > 0\n && !enabledOptions.find(o => o === this.options[activeOptionIndex])\n ) {\n activeOptionIndex = this.options.indexOf(enabledOptions[0]!);\n } else if (enabledOptions.length === 0) {\n activeOptionIndex = -1;\n }\n this.setActiveOption(activeOptionIndex);\n }\n\n if (this.filterMode !== FilterMode.none) {\n this.emitFilterInputEvent();\n }\n\n if (e.inputType.includes('deleteContent') || !this.filter.length) {\n return true;\n }\n\n e.stopPropagation();\n return true;\n }\n\n /**\n * @internal\n */\n public override focusoutHandler(e: FocusEvent): BooleanOrVoid {\n super.focusoutHandler(e);\n if (!this.open) {\n return true;\n }\n\n this.open = false;\n const focusTarget = e.relatedTarget as HTMLElement;\n if (this.isSameNode(focusTarget)) {\n this.focus();\n return true;\n }\n\n return true;\n }\n\n /**\n * @internal\n */\n public override keydownHandler(e: KeyboardEvent): BooleanOrVoid {\n const initialSelectedIndex = this.selectedIndex;\n const key = e.key;\n if (e.ctrlKey || e.shiftKey) {\n return true;\n }\n\n if (key !== keyArrowDown && key !== keyArrowUp) {\n super.keydownHandler(e);\n }\n\n let currentActiveIndex = this.openActiveIndex ?? this.selectedIndex;\n let commitValueThenClose = false;\n switch (key) {\n case keyArrowDown: {\n const selectedOption = this.options[this.selectedIndex];\n if (\n this.open\n && isListOption(selectedOption)\n && !isOptionOrGroupVisible(selectedOption)\n ) {\n if (this.openActiveIndex === this.selectedIndex) {\n this.selectFirstOption();\n } else {\n this.selectNextOption();\n }\n } else {\n super.keydownHandler(e);\n }\n\n // update currentActiveIndex again as dependent state may have changed\n currentActiveIndex = this.openActiveIndex ?? this.selectedIndex;\n break;\n }\n case keyArrowUp: {\n const selectedOption = this.options[this.selectedIndex];\n if (\n this.open\n && isListOption(selectedOption)\n && !isOptionOrGroupVisible(selectedOption)\n ) {\n if (this.openActiveIndex === this.selectedIndex) {\n this.selectLastOption();\n } else {\n this.selectPreviousOption();\n }\n } else {\n super.keydownHandler(e);\n }\n\n // update currentActiveIndex again as dependent state may have changed\n currentActiveIndex = this.openActiveIndex ?? this.selectedIndex;\n break;\n }\n case keySpace: {\n // when dropdown is open allow user to enter a space for filter text\n if (this.open && this.filterMode !== FilterMode.none) {\n break;\n }\n\n e.preventDefault();\n if (this.collapsible && this.typeAheadExpired) {\n this.open = !this.open;\n }\n if (!this.open) {\n this.focus();\n }\n break;\n }\n case keyHome:\n case keyEnd: {\n e.preventDefault();\n break;\n }\n case keyEnter: {\n e.preventDefault();\n if (\n this.filteredOptions.length === 0\n || this.filteredOptions.every(o => o.disabled)\n ) {\n return false;\n }\n if (this.open) {\n commitValueThenClose = true;\n } else {\n this.open = true;\n }\n\n if (commitValueThenClose) {\n this.focus();\n }\n break;\n }\n case keyEscape: {\n if (!this.open) {\n if (this.clearable) {\n this.clearSelect();\n this.updateValue(true);\n return true;\n }\n\n break;\n }\n\n if (this.collapsible && this.open) {\n e.preventDefault();\n this.open = false;\n }\n\n currentActiveIndex = this.selectedIndex;\n this.focus();\n break;\n }\n\n default: {\n break;\n }\n }\n\n if (!this.open || commitValueThenClose) {\n if (this.selectedIndex !== currentActiveIndex) {\n this.selectedIndex = currentActiveIndex;\n }\n\n if (initialSelectedIndex !== this.selectedIndex) {\n this.updateValue(true);\n }\n }\n\n if (commitValueThenClose) {\n this.open = false;\n }\n\n return !(key === keyArrowDown || key === keyArrowUp);\n }\n\n /**\n * Updates the proxy value when the selected index changes.\n *\n * @param prev - the previous selected index\n * @param next - the next selected index\n *\n * @internal\n */\n public override selectedIndexChanged(\n _: number | undefined,\n __: number\n ): void {\n // Don't call super.selectedIndexChanged as this will disallow disabled options\n // from being valid initial selected values. Our setDefaultSelectedOption\n // implementation handles skipping non-selected disabled options for the initial\n // selected value.\n this.setSelectedOptions();\n if (this.open) {\n this.setActiveOption(this.selectedIndex);\n }\n this.updateValue();\n }\n\n /**\n * @internal\n * Fork of Listbox implementation, so that the selectedIndex is not changed while the dropdown\n * is open.\n */\n public override typeaheadBufferChanged(_: string, __: string): void {\n if (this.$fastController.isConnected) {\n const typeaheadMatches = this.getTypeaheadMatches();\n\n if (typeaheadMatches.length) {\n const activeOptionIndex = this.options.indexOf(\n typeaheadMatches[0] as ListOption\n );\n if (!(this.open && this.filterMode !== FilterMode.none)) {\n this.setActiveOption(activeOptionIndex);\n }\n }\n\n this.typeaheadExpired = false;\n }\n }\n\n /**\n * Synchronize the `aria-disabled` property when the `disabled` property changes.\n *\n * @param prev - The previous disabled value\n * @param next - The next disabled value\n *\n * @internal\n */\n public override disabledChanged(prev: boolean, next: boolean): void {\n if (super.disabledChanged) {\n super.disabledChanged(prev, next);\n }\n this.ariaDisabled = this.disabled ? 'true' : 'false';\n }\n\n /**\n * Reset the element to its first selectable option when its parent form is reset.\n *\n * @internal\n */\n public override formResetCallback(): void {\n this.setProxyOptions();\n // Call the base class's implementation setDefaultSelectedOption instead of the select's\n // override, in order to reset the selectedIndex without using the value property.\n super.setDefaultSelectedOption();\n if (this.selectedIndex === -1) {\n this.selectedIndex = 0;\n }\n }\n\n /**\n * @internal\n */\n public override selectNextOption(): void {\n // don't call super.selectNextOption as that relies on side-effecty\n // behavior to not select disabled option (which no longer works)\n const startIndex = this.openActiveIndex ?? this.selectedIndex;\n for (let i = startIndex + 1; i < this.options.length; i++) {\n const listOption = this.options[i]!;\n if (isListOption(listOption) && isOptionSelectable(listOption)) {\n this.setActiveOption(i);\n break;\n }\n }\n }\n\n /**\n * @internal\n */\n public override selectPreviousOption(): void {\n // don't call super.selectPreviousOption as that relies on side-effecty\n // behavior to not select disabled option (which no longer works)\n const startIndex = this.openActiveIndex ?? this.selectedIndex;\n for (let i = startIndex - 1; i >= 0; i--) {\n const listOption = this.options[i]!;\n if (isListOption(listOption) && isOptionSelectable(listOption)) {\n this.setActiveOption(i);\n break;\n }\n }\n }\n\n /**\n * @internal\n */\n public override selectFirstOption(): void {\n const newActiveOptionIndex = this.options.findIndex(\n o => isListOption(o) && isOptionSelectable(o)\n );\n this.setActiveOption(newActiveOptionIndex);\n }\n\n /**\n * @internal\n */\n public override selectLastOption(): void {\n const newActiveOptionIndex = findLastIndex(\n this.options,\n o => isListOption(o) && isOptionSelectable(o)\n );\n this.setActiveOption(newActiveOptionIndex);\n }\n\n /**\n * @internal\n */\n public registerOption(option: ListOption): void {\n if (this.options.includes(option)) {\n return;\n }\n\n // Adding an option to the end, ultimately, isn't the correct\n // thing to do, as this will mean the option's index in the options,\n // at least temporarily, does not match the DOM order. However, it\n // is expected that a successive run of `slottedOptionsChanged` will\n // correct this order issue. See 'https://github.com/ni/nimble/issues/1915'\n // for more info.\n this.options.push(option);\n }\n\n protected override setSelectedOptions(): void {\n // Prevents parent classes from resetting selectedIndex to a positive\n // value while filtering, which can result in a disabled option being\n // selected.\n if (this.open && this.selectedIndex === -1) {\n return;\n }\n super.setSelectedOptions();\n }\n\n protected override focusAndScrollOptionIntoView(): void {\n if (this.open) {\n super.focusAndScrollOptionIntoView();\n window.requestAnimationFrame(() => {\n this.filterInput?.focus();\n });\n }\n }\n\n protected override getTypeaheadMatches(): ListboxOption[] {\n const matches = super.getTypeaheadMatches();\n // Don't allow placeholder to be matched\n return matches.filter(o => !o.hidden && !o.disabled);\n }\n\n protected positionChanged(\n _: SelectPosition | undefined,\n next: SelectPosition | undefined\n ): void {\n this.positionAttribute = next;\n this.setPositioning();\n }\n\n /**\n * Updates the proxy's size property when the size attribute changes.\n *\n * @param prev - the previous size\n * @param next - the current size\n *\n * @override\n * @internal\n */\n protected override sizeChanged(\n prev: number | undefined,\n next: number\n ): void {\n super.sizeChanged(prev, next);\n\n if (this.proxy) {\n this.proxy.size = next;\n }\n }\n\n protected openChanged(): void {\n if (!this.collapsible) {\n return;\n }\n\n if (this.open) {\n this.initializeOpenState();\n return;\n }\n\n const activeOption = this.options[this.openActiveIndex ?? this.selectedIndex];\n if (isListOption(activeOption)) {\n activeOption.activeOption = false;\n }\n this.openActiveIndex = undefined;\n this.filter = '';\n if (this.filterInput) {\n this.filterInput.value = '';\n }\n\n if (this.filterMode !== FilterMode.none) {\n this.emitFilterInputEvent();\n }\n this.ariaControls = '';\n this.ariaExpanded = 'false';\n }\n\n /**\n * Updates the selectedness of each option when the list of selected options changes.\n *\n * @param prev - the previous list of selected options\n * @param next - the current list of selected options\n *\n * @override\n * @internal\n */\n protected override selectedOptionsChanged(\n _prev: ListboxOption[] | undefined,\n next: ListboxOption[]\n ): void {\n // don't call super.selectedOptionsChanged so we don't filter out hidden elements\n // when updating 'selected' state (copied relevant super implementation)\n this.options?.forEach((o, i) => {\n const notifier = Observable.getNotifier(o);\n notifier.unsubscribe(this, 'selected');\n o.selected = next.includes(o);\n notifier.subscribe(this, 'selected');\n const proxyOption = this.proxy?.options.item(i);\n if (proxyOption) {\n proxyOption.selected = o.selected;\n }\n });\n }\n\n /**\n * Sets the selected index to match the first option with the selected attribute, or\n * the first selectable option.\n *\n * @override\n * @internal\n */\n protected override setDefaultSelectedOption(): void {\n const options: ListboxOption[] = this.options\n ?? Array.from(this.children).filter(o => isListOption(o));\n\n const optionIsSelected = (option: ListboxOption): boolean => {\n return option.hasAttribute('selected') || option.selected;\n };\n let selectedIndex = -1;\n let firstValidOptionIndex = -1;\n let placeholderIndex = -1;\n for (let i = 0; i < options?.length; i++) {\n const option = options[i]!;\n if (optionIsSelected(option) || option.value === this.value) {\n selectedIndex = i;\n break;\n } else if (placeholderIndex === -1 && isOptionPlaceholder(option)) {\n placeholderIndex = i;\n } else if (\n firstValidOptionIndex === -1\n && isOptionSelectable(option as ListOption)\n ) {\n firstValidOptionIndex = i;\n }\n }\n\n if (selectedIndex !== -1) {\n this.selectedIndex = selectedIndex;\n } else if (placeholderIndex !== -1) {\n this.selectedIndex = placeholderIndex;\n } else if (firstValidOptionIndex !== -1) {\n this.selectedIndex = firstValidOptionIndex;\n } else {\n this.selectedIndex = 0;\n }\n }\n\n private getSlottedOptions(\n slottedElements: Element[] | undefined\n ): ListboxOption[] {\n const options: ListOption[] = [];\n slottedElements?.forEach(el => {\n if (isListOption(el)) {\n options.push(el);\n } else if (isListOptionGroup(el)) {\n options.push(...this.getGroupOptions(el));\n }\n });\n\n return options;\n }\n\n private setActiveOption(newActiveIndex: number): void {\n const activeOption = this.options[newActiveIndex];\n if (this.open) {\n if (isListOption(activeOption)) {\n activeOption.activeOption = true;\n }\n\n const previousActiveIndex = this.openActiveIndex ?? this.selectedIndex;\n const previousActiveOption = this.options[previousActiveIndex];\n if (\n previousActiveIndex !== newActiveIndex\n && isListOption(previousActiveOption)\n ) {\n previousActiveOption.activeOption = false;\n }\n\n this.openActiveIndex = newActiveIndex;\n this.focusAndScrollActiveOptionIntoView();\n } else {\n this.selectedIndex = newActiveIndex;\n }\n\n this.ariaActiveDescendant = activeOption?.id ?? '';\n }\n\n private focusAndScrollActiveOptionIntoView(): void {\n const optionToFocus = this.options[this.openActiveIndex ?? this.selectedIndex];\n // Copied from FAST: To ensure that the browser handles both `focus()` and\n // `scrollIntoView()`, the timing here needs to guarantee that they happen on\n // different frames. Since this function is typically called from the `openChanged`\n // observer, `DOM.queueUpdate` causes the calls to be grouped into the same frame.\n // To prevent this, `requestAnimationFrame` is used instead of `DOM.queueUpdate`.\n if (optionToFocus !== undefined && this.contains(optionToFocus)) {\n optionToFocus.focus();\n requestAnimationFrame(() => {\n optionToFocus.scrollIntoView({ block: 'nearest' });\n });\n }\n }\n\n private getPlaceholderOption(): ListOption | undefined {\n return this.options.find(o => o.hidden && o.disabled) as ListOption;\n }\n\n private setPositioning(): void {\n if (!this.$fastController.isConnected) {\n // Don't call setPositioning() until we're connected,\n // since this.forcedPosition isn't initialized yet.\n return;\n }\n const currentBox = this.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n const availableBottom = viewportHeight - currentBox.bottom;\n\n if (this.forcedPosition) {\n this.position = this.positionAttribute;\n } else if (currentBox.top > availableBottom) {\n this.position = SelectPosition.above;\n } else {\n this.position = SelectPosition.below;\n }\n\n this.positionAttribute = this.forcedPosition\n ? this.positionAttribute\n : this.position;\n\n this.availableViewportHeight = this.position === SelectPosition.above\n ? Math.trunc(currentBox.top)\n : Math.trunc(availableBottom);\n }\n\n private updateAdjacentSeparatorState(\n element: ListOptionGroup | ListOption\n ): void {\n const previousElement = this.getPreviousVisibleOptionOrGroup(element);\n const nextElement = this.getNextVisibleOptionOrGroup(element);\n\n if (isOptionOrGroupVisible(element)) {\n const topSeparatorVisible = isListOption(previousElement);\n this.setTopSeparatorState(element, topSeparatorVisible);\n const bottomSeparatorVisible = nextElement !== null;\n this.setBottomSeparatorState(element, bottomSeparatorVisible);\n this.setBottomSeparatorState(previousElement, true);\n } else {\n const nextTopSeparatorVisible = isListOption(previousElement);\n this.setTopSeparatorState(nextElement, nextTopSeparatorVisible);\n const previousBottomSeparatorVisible = nextElement !== null;\n this.setBottomSeparatorState(\n previousElement,\n previousBottomSeparatorVisible\n );\n }\n }\n\n private setTopSeparatorState(\n element: ListOptionGroup | ListOption | null,\n visible: boolean\n ): void {\n if (isListOptionGroup(element)) {\n element.topSeparatorVisible = visible;\n }\n }\n\n private setBottomSeparatorState(\n element: ListOptionGroup | ListOption | null,\n visible: boolean\n ): void {\n if (isListOptionGroup(element)) {\n element.bottomSeparatorVisible = visible;\n }\n }\n\n private getPreviousVisibleOptionOrGroup(\n element: HTMLElement\n ): ListOption | ListOptionGroup | null {\n let previousElement = element.previousElementSibling;\n while (previousElement) {\n if (\n (isListOption(previousElement)\n || isListOptionGroup(previousElement))\n && isOptionOrGroupVisible(previousElement)\n ) {\n return previousElement;\n }\n previousElement = previousElement.previousElementSibling;\n }\n return null;\n }\n\n private getNextVisibleOptionOrGroup(\n element: HTMLElement\n ): ListOption | ListOptionGroup | null {\n let nextElement = element.nextElementSibling;\n while (nextElement) {\n if (\n (isListOption(nextElement) || isListOptionGroup(nextElement))\n && isOptionOrGroupVisible(nextElement)\n ) {\n return nextElement;\n }\n nextElement = nextElement.nextElementSibling;\n }\n return null;\n }\n\n private isOptionHiddenOrFilteredOut(option: ListOption): boolean {\n if (option.hidden) {\n return true;\n }\n return this.filterMode === FilterMode.standard\n ? !this.filterMatchesText(option.text)\n : false;\n }\n\n private filterMatchesText(text: string): boolean {\n const filter = this.filter.toLowerCase();\n const normalizedFilter = diacriticInsensitiveStringNormalizer(filter);\n return diacriticInsensitiveStringNormalizer(text).includes(\n normalizedFilter\n );\n }\n\n /**\n * Filter available options by text value.\n *\n * @public\n */\n private filterOptions(): void {\n if (!this.$fastController.isConnected) {\n return;\n }\n\n const filteredOptions: ListOption[] = [];\n for (const element of this.slottedOptions) {\n if (isListOptionGroup(element)) {\n if (element.hidden) {\n continue; // no need to process hidden groups\n }\n const groupOptions = this.getGroupOptions(element);\n const groupMatchesFilter = this.filterMatchesText(\n element.labelContent\n );\n groupOptions.forEach(option => {\n option.visuallyHidden = groupMatchesFilter\n ? false\n : this.isOptionHiddenOrFilteredOut(option);\n if (!option.visuallyHidden) {\n filteredOptions.push(option);\n }\n });\n } else if (isListOption(element)) {\n element.visuallyHidden = this.isOptionHiddenOrFilteredOut(element);\n if (!element.visuallyHidden) {\n filteredOptions.push(element);\n }\n }\n }\n\n this.filteredOptions = filteredOptions;\n }\n\n private getGroupOptions(group: ListOptionGroup): ListOption[] {\n return Array.from(group.children)\n .filter(el => isListOption(el))\n .map(el => {\n if (group.hidden && isListOption(el)) {\n el.visuallyHidden = true;\n }\n\n return el;\n }) as ListOption[];\n }\n\n /**\n * Sets the value and display value to match the first selected option.\n *\n * @param shouldEmit - if true, the input and change events will be emitted\n *\n * @internal\n */\n private updateValue(shouldEmit?: boolean): void {\n if (this.$fastController.isConnected) {\n this.value = this.firstSelectedOption?.value ?? '';\n this.observeSelectedOptionTextContent();\n }\n\n if (shouldEmit) {\n this.$emit('input');\n this.$emit('change', this, {\n bubbles: true,\n composed: undefined\n });\n }\n }\n\n private clearSelect(): void {\n const placeholder = this.getPlaceholderOption();\n this.selectedIndex = placeholder\n ? this.options.indexOf(placeholder)\n : -1;\n }\n\n /**\n * Resets and fills the proxy to match the component's options.\n *\n * @internal\n */\n private setProxyOptions(): void {\n if (this.proxy instanceof HTMLSelectElement && this.options) {\n this.proxy.options.length = 0;\n this.options.forEach(option => {\n const proxyOption = option.proxy\n || (option instanceof HTMLOptionElement\n ? option.cloneNode()\n : null);\n\n if (proxyOption) {\n this.proxy.options.add(proxyOption);\n }\n });\n }\n }\n\n private filterChanged(): void {\n this.filterOptions();\n }\n\n private emitFilterInputEvent(): void {\n const eventDetail: SelectFilterInputEventDetail = {\n filterText: this.filter\n };\n\n this.$emit('filter-input', eventDetail, { bubbles: true });\n }\n\n private initializeOpenState(): void {\n this.setActiveOption(this.selectedIndex);\n this.ariaControls = this.listboxId;\n this.ariaExpanded = 'true';\n\n this.setPositioning();\n this.focusAndScrollOptionIntoView();\n }\n\n private observeSelectedOptionTextContent(): void {\n this.selectedOptionObserver?.disconnect();\n\n if (this.selectedIndex === -1) {\n return;\n }\n\n const selectedOption = this.firstSelectedOption;\n if (selectedOption) {\n this.selectedOptionObserver?.observe(selectedOption, {\n characterData: true,\n subtree: true,\n childList: true\n });\n }\n }\n}\n\nconst nimbleSelect = Select.compose<SelectOptions>({\n baseName: 'select',\n baseClass: FoundationSelect,\n template,\n styles,\n indicator: arrowExpanderDown16X16.data,\n end: html<Select>`\n <${iconExclamationMarkTag}\n severity=\"error\"\n class=\"error-icon\"\n ></${iconExclamationMarkTag}>\n ${errorTextTemplate}\n `\n});\n\napplyMixins(Select, StartEnd, DelegatesARIASelect);\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSelect());\nexport const selectTag = 'nimble-select';\n"]}
@@ -1,4 +1,4 @@
1
- import { FormAssociated, ListboxElement } from '@microsoft/fast-foundation';
1
+ import { FormAssociated, ListboxElement } from '@ni/fast-foundation';
2
2
  declare class Select extends ListboxElement {
3
3
  }
4
4
  interface Select extends FormAssociated {
@@ -1,6 +1,6 @@
1
1
  // Based on: https://github.com/microsoft/fast/blob/%40microsoft/fast-foundation_v2.49.5/packages/web-components/fast-foundation/src/select/select.form-associated.ts
2
2
  /* eslint-disable max-classes-per-file */
3
- import { FormAssociated, ListboxElement } from '@microsoft/fast-foundation';
3
+ import { FormAssociated, ListboxElement } from '@ni/fast-foundation';
4
4
  // eslint-disable-next-line jsdoc/require-jsdoc
5
5
  class Select extends ListboxElement {
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"select-form-associated.js","sourceRoot":"","sources":["../../../../src/select/models/select-form-associated.ts"],"names":[],"mappings":"AAAA,qKAAqK;AACrK,yCAAyC;AACzC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5E,+CAA+C;AAC/C,MAAM,MAAO,SAAQ,cAAc;CAAG;AAItC;;;;;GAKG;AACH,MAAM,OAAO,oBAAqB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAAhE;;QACW,UAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;CAAA;AACD,wCAAwC","sourcesContent":["// Based on: https://github.com/microsoft/fast/blob/%40microsoft/fast-foundation_v2.49.5/packages/web-components/fast-foundation/src/select/select.form-associated.ts\n/* eslint-disable max-classes-per-file */\nimport { FormAssociated, ListboxElement } from '@microsoft/fast-foundation';\n\n// eslint-disable-next-line jsdoc/require-jsdoc\nclass Select extends ListboxElement {}\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\ninterface Select extends FormAssociated {}\n\n/**\n * A form-associated base class for the Select component. This was copied from the\n * FAST FormAssociatedSelect (which is not exported by fast-foundation)\n *\n * @internal\n */\nexport class FormAssociatedSelect extends FormAssociated(Select) {\n public proxy = document.createElement('select');\n}\n/* eslint-enable max-classes-per-file */\n"]}
1
+ {"version":3,"file":"select-form-associated.js","sourceRoot":"","sources":["../../../../src/select/models/select-form-associated.ts"],"names":[],"mappings":"AAAA,qKAAqK;AACrK,yCAAyC;AACzC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErE,+CAA+C;AAC/C,MAAM,MAAO,SAAQ,cAAc;CAAG;AAItC;;;;;GAKG;AACH,MAAM,OAAO,oBAAqB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAAhE;;QACW,UAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;CAAA;AACD,wCAAwC","sourcesContent":["// Based on: https://github.com/microsoft/fast/blob/%40microsoft/fast-foundation_v2.49.5/packages/web-components/fast-foundation/src/select/select.form-associated.ts\n/* eslint-disable max-classes-per-file */\nimport { FormAssociated, ListboxElement } from '@ni/fast-foundation';\n\n// eslint-disable-next-line jsdoc/require-jsdoc\nclass Select extends ListboxElement {}\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\ninterface Select extends FormAssociated {}\n\n/**\n * A form-associated base class for the Select component. This was copied from the\n * FAST FormAssociatedSelect (which is not exported by fast-foundation)\n *\n * @internal\n */\nexport class FormAssociatedSelect extends FormAssociated(Select) {\n public proxy = document.createElement('select');\n}\n/* eslint-enable max-classes-per-file */\n"]}
@@ -1 +1 @@
1
- export declare const styles: import("@microsoft/fast-element").ElementStyles;
1
+ export declare const styles: import("@ni/fast-element").ElementStyles;
@@ -1,4 +1,4 @@
1
- import { css } from '@microsoft/fast-element';
1
+ import { css } from '@ni/fast-element';
2
2
  import { White } from '@ni/nimble-tokens/dist/styledictionary/js/tokens';
3
3
  import { styles as dropdownStyles } from '../patterns/dropdown/styles';
4
4
  import { styles as errorStyles } from '../patterns/error/styles';
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/select/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,kDAAkD,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,EACH,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,YAAY,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,cAAc;MACd,WAAW;MACX,qBAAqB;;MAErB;AACE;gGACgG,CAAC,EACrG;;;iBAGa,oBAAoB;;;;;;;;;kBASnB,iBAAiB;uBACZ,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2BjB,aAAa;;;;;;;;8BAQD,qBAAqB;uBAC5B,aAAa,MAAM,YAAY,MAAM,WAAW;;;;kCAIrC,WAAW;;;;;;;8BAOf,qBAAqB;oBAC/B,aAAa,MAAM,YAAY,MAAM,WAAW;;;;kCAIlC,WAAW;;;;;uBAKtB,YAAY;UACzB,SAAS,CAAC,iBAAiB,KAAK,oBAAoB;;;;;;;;;qBASzC,YAAY,MAAM,aAAa;;;;;iBAKnC,oBAAoB;;;mBAGlB,YAAY;;;;;;;;;4BASH,cAAc;;;;4BAId,iBAAiB;;;;4BAIjB,sBAAsB;;;;wBAI1B,aAAa;yBACZ,aAAa;;kBAEpB,aAAa;;;;;;0BAML,YAAY;;;;;uBAKf,YAAY;;;;mBAIhB,YAAY,IAAI,aAAa;;;;;iBAK/B,oBAAoB;;;;;;CAMpC,CAAC,aAAa,CACX,kBAAkB,CACd,kBAAkB,CAAC,KAAK,EACxB,GAAG,CAAA;;uCAE4B,WAAW;;;SAGzC,CACJ,EACD,aAAa,CACT,KAAK,CAAC,KAAK,EACX,GAAG,CAAA;;;;8BAImB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;;SAEnD,CACJ,CACJ,CAAC","sourcesContent":["import { css } from '@microsoft/fast-element';\nimport { White } from '@ni/nimble-tokens/dist/styledictionary/js/tokens';\nimport { styles as dropdownStyles } from '../patterns/dropdown/styles';\nimport { styles as errorStyles } from '../patterns/error/styles';\nimport { styles as requiredVisibleStyles } from '../patterns/required-visible/styles';\nimport {\n borderRgbPartialColor,\n borderWidth,\n controlHeight,\n controlSlimHeight,\n fillHoverColor,\n fillHoverSelectedColor,\n fillSelectedColor,\n iconColor,\n mediumPadding,\n placeholderFontColor,\n smallPadding\n} from '../theme-provider/design-tokens';\nimport { appearanceBehavior } from '../utilities/style/appearance';\nimport { DropdownAppearance } from './types';\nimport { focusVisible } from '../utilities/style/focus';\nimport { themeBehavior } from '../utilities/style/theme';\nimport { Theme } from '../theme-provider/types';\nimport { hexToRgbaCssColor } from '../utilities/style/colors';\n\nexport const styles = css`\n ${dropdownStyles}\n ${errorStyles}\n ${requiredVisibleStyles}\n\n ${\n /* We are using flex `order` to define the visual ordering of the selected value,\n error icon, and dropdown arrow because they are not \"interactive\" i.e. part of the tab order */ ''\n }\n\n .selected-value.placeholder {\n color: ${placeholderFontColor};\n }\n\n .selected-value {\n order: 1;\n }\n\n .clear-button {\n order: 3;\n height: ${controlSlimHeight};\n margin-left: ${smallPadding};\n }\n\n [part='indicator'] {\n order: 4;\n }\n\n .error-icon {\n order: 2;\n }\n\n [part='end'] {\n display: contents;\n }\n\n .listbox {\n overflow-x: clip;\n }\n\n .listbox.above {\n flex-flow: column-reverse;\n }\n\n .filter-field {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: ${controlHeight};\n background: transparent;\n }\n\n .filter-field::before {\n content: '';\n position: absolute;\n height: 0px;\n border-bottom: rgba(${borderRgbPartialColor}, 0.1) 2px solid;\n bottom: calc(${controlHeight} + ${smallPadding} - ${borderWidth});\n }\n\n .filter-field.above::before {\n width: calc(100% - (2 * ${borderWidth}));\n }\n\n .filter-field::after {\n content: '';\n position: absolute;\n height: 0px;\n border-bottom: rgba(${borderRgbPartialColor}, 0.1) 2px solid;\n top: calc(${controlHeight} + ${smallPadding} - ${borderWidth});\n }\n\n .filter-field:not(.above)::after {\n width: calc(100% - (2 * ${borderWidth}));\n }\n\n .filter-icon {\n flex-shrink: 0;\n margin-left: ${smallPadding};\n ${iconColor.cssCustomProperty}: ${placeholderFontColor};\n }\n\n .filter-input {\n background: transparent;\n border: none;\n color: inherit;\n font: inherit;\n height: var(--ni-nimble-control-height);\n padding: 0 ${smallPadding} 0 ${mediumPadding};\n width: 100%;\n }\n\n .filter-input::placeholder {\n color: ${placeholderFontColor};\n }\n\n .filter-input${focusVisible} {\n outline: 0px;\n }\n\n ::slotted([role='option']) {\n background-color: transparent;\n }\n\n ::slotted([role='option']:hover) {\n background-color: ${fillHoverColor};\n }\n\n ::slotted([role='option'][active-option]) {\n background-color: ${fillSelectedColor};\n }\n\n ::slotted([role='option'][active-option]:hover) {\n background-color: ${fillHoverSelectedColor};\n }\n\n .loading-container {\n padding-left: ${mediumPadding};\n padding-right: ${mediumPadding};\n display: flex;\n height: ${controlHeight};\n flex: 1 0 auto;\n }\n\n .loading-container.above {\n align-items: end;\n padding-bottom: ${smallPadding};\n }\n\n .loading-container.below {\n align-items: normal;\n padding-top: ${smallPadding};\n }\n\n .loading-container.empty {\n padding: ${smallPadding} ${mediumPadding};\n align-items: center;\n }\n\n .loading-label {\n color: ${placeholderFontColor};\n }\n\n .loading-spinner {\n margin-left: auto;\n }\n`.withBehaviors(\n appearanceBehavior(\n DropdownAppearance.block,\n css`\n :host([error-visible]) .control {\n border-bottom-width: ${borderWidth};\n padding-bottom: 0;\n }\n `\n ),\n themeBehavior(\n Theme.color,\n css`\n .filter-field,\n .no-results-label,\n .loading-container {\n background: ${hexToRgbaCssColor(White, 0.15)};\n }\n `\n )\n);\n"]}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/select/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,kDAAkD,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,EACH,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,YAAY,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,cAAc;MACd,WAAW;MACX,qBAAqB;;MAErB;AACE;gGACgG,CAAC,EACrG;;;iBAGa,oBAAoB;;;;;;;;;kBASnB,iBAAiB;uBACZ,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2BjB,aAAa;;;;;;;;8BAQD,qBAAqB;uBAC5B,aAAa,MAAM,YAAY,MAAM,WAAW;;;;kCAIrC,WAAW;;;;;;;8BAOf,qBAAqB;oBAC/B,aAAa,MAAM,YAAY,MAAM,WAAW;;;;kCAIlC,WAAW;;;;;uBAKtB,YAAY;UACzB,SAAS,CAAC,iBAAiB,KAAK,oBAAoB;;;;;;;;;qBASzC,YAAY,MAAM,aAAa;;;;;iBAKnC,oBAAoB;;;mBAGlB,YAAY;;;;;;;;;4BASH,cAAc;;;;4BAId,iBAAiB;;;;4BAIjB,sBAAsB;;;;wBAI1B,aAAa;yBACZ,aAAa;;kBAEpB,aAAa;;;;;;0BAML,YAAY;;;;;uBAKf,YAAY;;;;mBAIhB,YAAY,IAAI,aAAa;;;;;iBAK/B,oBAAoB;;;;;;CAMpC,CAAC,aAAa,CACX,kBAAkB,CACd,kBAAkB,CAAC,KAAK,EACxB,GAAG,CAAA;;uCAE4B,WAAW;;;SAGzC,CACJ,EACD,aAAa,CACT,KAAK,CAAC,KAAK,EACX,GAAG,CAAA;;;;8BAImB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;;SAEnD,CACJ,CACJ,CAAC","sourcesContent":["import { css } from '@ni/fast-element';\nimport { White } from '@ni/nimble-tokens/dist/styledictionary/js/tokens';\nimport { styles as dropdownStyles } from '../patterns/dropdown/styles';\nimport { styles as errorStyles } from '../patterns/error/styles';\nimport { styles as requiredVisibleStyles } from '../patterns/required-visible/styles';\nimport {\n borderRgbPartialColor,\n borderWidth,\n controlHeight,\n controlSlimHeight,\n fillHoverColor,\n fillHoverSelectedColor,\n fillSelectedColor,\n iconColor,\n mediumPadding,\n placeholderFontColor,\n smallPadding\n} from '../theme-provider/design-tokens';\nimport { appearanceBehavior } from '../utilities/style/appearance';\nimport { DropdownAppearance } from './types';\nimport { focusVisible } from '../utilities/style/focus';\nimport { themeBehavior } from '../utilities/style/theme';\nimport { Theme } from '../theme-provider/types';\nimport { hexToRgbaCssColor } from '../utilities/style/colors';\n\nexport const styles = css`\n ${dropdownStyles}\n ${errorStyles}\n ${requiredVisibleStyles}\n\n ${\n /* We are using flex `order` to define the visual ordering of the selected value,\n error icon, and dropdown arrow because they are not \"interactive\" i.e. part of the tab order */ ''\n }\n\n .selected-value.placeholder {\n color: ${placeholderFontColor};\n }\n\n .selected-value {\n order: 1;\n }\n\n .clear-button {\n order: 3;\n height: ${controlSlimHeight};\n margin-left: ${smallPadding};\n }\n\n [part='indicator'] {\n order: 4;\n }\n\n .error-icon {\n order: 2;\n }\n\n [part='end'] {\n display: contents;\n }\n\n .listbox {\n overflow-x: clip;\n }\n\n .listbox.above {\n flex-flow: column-reverse;\n }\n\n .filter-field {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: ${controlHeight};\n background: transparent;\n }\n\n .filter-field::before {\n content: '';\n position: absolute;\n height: 0px;\n border-bottom: rgba(${borderRgbPartialColor}, 0.1) 2px solid;\n bottom: calc(${controlHeight} + ${smallPadding} - ${borderWidth});\n }\n\n .filter-field.above::before {\n width: calc(100% - (2 * ${borderWidth}));\n }\n\n .filter-field::after {\n content: '';\n position: absolute;\n height: 0px;\n border-bottom: rgba(${borderRgbPartialColor}, 0.1) 2px solid;\n top: calc(${controlHeight} + ${smallPadding} - ${borderWidth});\n }\n\n .filter-field:not(.above)::after {\n width: calc(100% - (2 * ${borderWidth}));\n }\n\n .filter-icon {\n flex-shrink: 0;\n margin-left: ${smallPadding};\n ${iconColor.cssCustomProperty}: ${placeholderFontColor};\n }\n\n .filter-input {\n background: transparent;\n border: none;\n color: inherit;\n font: inherit;\n height: var(--ni-nimble-control-height);\n padding: 0 ${smallPadding} 0 ${mediumPadding};\n width: 100%;\n }\n\n .filter-input::placeholder {\n color: ${placeholderFontColor};\n }\n\n .filter-input${focusVisible} {\n outline: 0px;\n }\n\n ::slotted([role='option']) {\n background-color: transparent;\n }\n\n ::slotted([role='option']:hover) {\n background-color: ${fillHoverColor};\n }\n\n ::slotted([role='option'][active-option]) {\n background-color: ${fillSelectedColor};\n }\n\n ::slotted([role='option'][active-option]:hover) {\n background-color: ${fillHoverSelectedColor};\n }\n\n .loading-container {\n padding-left: ${mediumPadding};\n padding-right: ${mediumPadding};\n display: flex;\n height: ${controlHeight};\n flex: 1 0 auto;\n }\n\n .loading-container.above {\n align-items: end;\n padding-bottom: ${smallPadding};\n }\n\n .loading-container.below {\n align-items: normal;\n padding-top: ${smallPadding};\n }\n\n .loading-container.empty {\n padding: ${smallPadding} ${mediumPadding};\n align-items: center;\n }\n\n .loading-label {\n color: ${placeholderFontColor};\n }\n\n .loading-spinner {\n margin-left: auto;\n }\n`.withBehaviors(\n appearanceBehavior(\n DropdownAppearance.block,\n css`\n :host([error-visible]) .control {\n border-bottom-width: ${borderWidth};\n padding-bottom: 0;\n }\n `\n ),\n themeBehavior(\n Theme.color,\n css`\n .filter-field,\n .no-results-label,\n .loading-container {\n background: ${hexToRgbaCssColor(White, 0.15)};\n }\n `\n )\n);\n"]}
@@ -1,5 +1,5 @@
1
- import { ViewTemplate } from '@microsoft/fast-element';
2
- import { type FoundationElementTemplate, type SelectOptions } from '@microsoft/fast-foundation';
1
+ import { ViewTemplate } from '@ni/fast-element';
2
+ import { type FoundationElementTemplate, type SelectOptions } from '@ni/fast-foundation';
3
3
  import type { Select } from '.';
4
4
  import { ListOptionGroup } from '../list-option-group';
5
5
  import { ListOption } from '../list-option';
@@ -1,5 +1,5 @@
1
- import { html, ref, slotted, ViewTemplate, when } from '@microsoft/fast-element';
2
- import { endSlotTemplate, startSlotTemplate } from '@microsoft/fast-foundation';
1
+ import { html, ref, slotted, ViewTemplate, when } from '@ni/fast-element';
2
+ import { endSlotTemplate, startSlotTemplate } from '@ni/fast-foundation';
3
3
  import { anchoredRegionTag } from '../anchored-region';
4
4
  import { DropdownPosition } from '../patterns/dropdown/types';
5
5
  import { overflow } from '../utilities/directive/overflow';
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/select/template.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n html,\n ref,\n slotted,\n ViewTemplate,\n when\n} from '@microsoft/fast-element';\nimport {\n endSlotTemplate,\n type FoundationElementTemplate,\n type SelectOptions,\n startSlotTemplate\n} from '@microsoft/fast-foundation';\nimport type { Select } from '.';\nimport { anchoredRegionTag } from '../anchored-region';\nimport { DropdownPosition } from '../patterns/dropdown/types';\nimport { overflow } from '../utilities/directive/overflow';\nimport { iconMagnifyingGlassTag } from '../icons/magnifying-glass';\nimport {\n filterNoResultsLabel,\n filterSearchLabel,\n loadingLabel\n} from '../label-provider/core/label-tokens';\nimport { FilterMode } from './types';\nimport { ListOptionGroup } from '../list-option-group';\nimport { buttonTag } from '../button';\nimport { iconTimesTag } from '../icons/times';\nimport { ListOption } from '../list-option';\nimport { spinnerTag } from '../spinner';\nimport { createRequiredVisibleLabelTemplate } from '../patterns/required-visible/template';\n\nexport const isListOption = (\n el: Element | undefined | null\n): el is ListOption => {\n return el instanceof ListOption;\n};\n\nexport const isListOptionGroup = (\n n: Element | undefined | null\n): n is ListOptionGroup => {\n return n instanceof ListOptionGroup;\n};\n\nconst labelTemplate = createRequiredVisibleLabelTemplate(html<Select>`\n <label part=\"label\" class=\"label\" aria-hidden=\"true\">\n <slot ${ref('labelSlot')}></slot>\n </label>\n`);\n\n/* eslint-disable @typescript-eslint/indent */\n// prettier-ignore\nexport const template: FoundationElementTemplate<\nViewTemplate<Select>,\nSelectOptions\n> = (context, definition) => html<Select>`\n <template\n class=\"${x => [\n x.collapsible && 'collapsible',\n x.collapsible && x.open && 'open',\n x.disabled && 'disabled',\n x.collapsible && x.position,\n ].filter(Boolean).join(' ')}\"\n aria-activedescendant=\"${x => (x.filterMode === FilterMode.none ? x.ariaActiveDescendant : null)}\"\n aria-controls=\"${x => (x.filterMode === FilterMode.none ? x.ariaControls : null)}\"\n aria-disabled=\"${x => x.ariaDisabled}\"\n aria-expanded=\"${x => x.ariaExpanded}\"\n aria-haspopup=\"${x => (x.collapsible ? 'listbox' : null)}\"\n aria-label=\"${x => x.labelContent}\"\n aria-multiselectable=\"${x => x.ariaMultiSelectable}\"\n aria-required=\"${x => x.requiredVisible}\"\n ?open=\"${x => x.open}\"\n role=\"combobox\"\n tabindex=\"${x => (!x.disabled ? '0' : null)}\"\n @click=\"${(x, c) => x.clickHandler(c.event as MouseEvent)}\"\n @contentchange=\"${x => x.updateDisplayValue()}\"\n @focusin=\"${(x, c) => x.focusinHandler(c.event as FocusEvent)}\"\n @focusout=\"${(x, c) => x.focusoutHandler(c.event as FocusEvent)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event as KeyboardEvent)}\"\n @mousedown=\"${(x, c) => x.mousedownHandler(c.event as MouseEvent)}\"\n >\n ${labelTemplate}\n ${when(x => x.collapsible, html<Select>`\n <div\n class=\"control\"\n part=\"control\"\n ?disabled=\"${x => x.disabled}\"\n ${ref('control')}\n >\n ${startSlotTemplate(context, definition)}\n <slot name=\"button-container\">\n <div class=\"selected-value ${x => (x.displayPlaceholder ? 'placeholder' : '')}\" part=\"selected-value\" ${overflow('hasOverflow')} title=${x => (x.hasOverflow && x.displayValue ? x.displayValue : null)}>\n <slot name=\"selected-value\">${x => x.displayValue}</slot>\n </div>\n ${when(x => !x.disabled && x.clearable && !x.displayPlaceholder && x.selectedIndex >= 0, html<Select>`\n <${buttonTag} \n class=\"clear-button\"\n tabindex=\"-1\"\n part=\"clear-button\"\n content-hidden\n appearance=\"ghost\"\n @click=\"${(x, c) => x.clearClickHandler(c.event as MouseEvent)}\">\n <${iconTimesTag} slot=\"start\"></${iconTimesTag}>\n </${buttonTag}>\n `)}\n <div aria-hidden=\"true\" class=\"indicator\" part=\"indicator\">\n <slot name=\"indicator\">\n ${definition.indicator || ''}\n </slot>\n </div>\n </slot>\n ${endSlotTemplate(context, definition)}\n </div>\n `)\n }\n <${anchoredRegionTag}\n ${ref('anchoredRegion')}\n class=\"anchored-region\"\n fixed-placement\n auto-update-mode=\"auto\"\n vertical-default-position=\"${x => (x.positionAttribute === DropdownPosition.above ? 'top' : 'bottom')}\"\n vertical-positioning-mode=\"${x => (!x.positionAttribute ? 'dynamic' : 'locktodefault')}\"\n horizontal-default-position=\"center\"\n horizontal-positioning-mode=\"locktodefault\"\n horizontal-scaling=\"anchor\"\n @loaded=\"${x => x.regionLoadedHandler()}\"\n ?hidden=\"${x => (x.collapsible ? !x.open : false)}\">\n <div class=\"listbox-background\">\n <div\n class=\"\n listbox\n ${x => (x.filteredOptions.length === 0 ? 'empty' : '')}\n ${x => x.positionAttribute}\n \"\n id=\"${x => x.listboxId}\"\n part=\"listbox\"\n role=\"listbox\"\n ?disabled=\"${x => x.disabled}\"\n style=\"--ni-private-listbox-available-viewport-height: ${x => x.availableViewportHeight}px;\"\n ${ref('listbox')}\n >\n ${when(x => x.filterMode !== FilterMode.none, html<Select>`\n <div class=\"filter-field ${x => x.positionAttribute}\">\n <${iconMagnifyingGlassTag} class=\"filter-icon\"></${iconMagnifyingGlassTag}>\n <input\n ${ref('filterInput')}\n class=\"filter-input\"\n aria-controls=\"${x => x.ariaControls}\"\n aria-activedescendant=\"${x => x.ariaActiveDescendant}\"\n @input=\"${(x, c) => x.inputHandler(c.event as InputEvent)}\"\n @click=\"${(x, c) => x.ignoreClickHandler(c.event as MouseEvent)}\"\n placeholder=\"${x => filterSearchLabel.getValueFor(x)}\"\n value=\"${x => x.filter}\"\n />\n </div>\n `)}\n <div ${ref('scrollableRegion')}\n class=\"scrollable-region\">\n <slot\n name=\"option\"\n ${slotted({\n filter: (n: Node) => n instanceof HTMLElement && (isListOption(n) || isListOptionGroup(n)),\n flatten: true,\n property: 'slottedOptions',\n })}\n ></slot>\n ${when(x => (x.filterMode !== FilterMode.none && x.filteredOptions.length === 0 && !x.loadingVisible), html<Select>`\n <span class=\"no-results-label\">\n ${x => filterNoResultsLabel.getValueFor(x)}\n </span>\n `)}\n </div>\n ${when(x => x.loadingVisible, html<Select>`\n <div class=\"loading-container ${x => x.positionAttribute} ${x => (x.filteredOptions.length === 0 ? 'empty' : '')}\"\n @click=\"${(x, c) => x.ignoreClickHandler(c.event as MouseEvent)}\">\n <span class=\"loading-label\">\n ${x => loadingLabel.getValueFor(x)}\n </span>\n <${spinnerTag} class=\"loading-spinner\" appearance=\"accent\"></${spinnerTag}>\n </div>\n `)}\n </div>\n </div>\n </${anchoredRegionTag}>\n </template>\n`;\n/* eslint-enable @typescript-eslint/indent */\n"]}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/select/template.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, ref, slotted, ViewTemplate, when } from '@ni/fast-element';\nimport {\n endSlotTemplate,\n type FoundationElementTemplate,\n type SelectOptions,\n startSlotTemplate\n} from '@ni/fast-foundation';\nimport type { Select } from '.';\nimport { anchoredRegionTag } from '../anchored-region';\nimport { DropdownPosition } from '../patterns/dropdown/types';\nimport { overflow } from '../utilities/directive/overflow';\nimport { iconMagnifyingGlassTag } from '../icons/magnifying-glass';\nimport {\n filterNoResultsLabel,\n filterSearchLabel,\n loadingLabel\n} from '../label-provider/core/label-tokens';\nimport { FilterMode } from './types';\nimport { ListOptionGroup } from '../list-option-group';\nimport { buttonTag } from '../button';\nimport { iconTimesTag } from '../icons/times';\nimport { ListOption } from '../list-option';\nimport { spinnerTag } from '../spinner';\nimport { createRequiredVisibleLabelTemplate } from '../patterns/required-visible/template';\n\nexport const isListOption = (\n el: Element | undefined | null\n): el is ListOption => {\n return el instanceof ListOption;\n};\n\nexport const isListOptionGroup = (\n n: Element | undefined | null\n): n is ListOptionGroup => {\n return n instanceof ListOptionGroup;\n};\n\nconst labelTemplate = createRequiredVisibleLabelTemplate(html<Select>`\n <label part=\"label\" class=\"label\" aria-hidden=\"true\">\n <slot ${ref('labelSlot')}></slot>\n </label>\n`);\n\n/* eslint-disable @typescript-eslint/indent */\n// prettier-ignore\nexport const template: FoundationElementTemplate<\nViewTemplate<Select>,\nSelectOptions\n> = (context, definition) => html<Select>`\n <template\n class=\"${x => [\n x.collapsible && 'collapsible',\n x.collapsible && x.open && 'open',\n x.disabled && 'disabled',\n x.collapsible && x.position,\n ].filter(Boolean).join(' ')}\"\n aria-activedescendant=\"${x => (x.filterMode === FilterMode.none ? x.ariaActiveDescendant : null)}\"\n aria-controls=\"${x => (x.filterMode === FilterMode.none ? x.ariaControls : null)}\"\n aria-disabled=\"${x => x.ariaDisabled}\"\n aria-expanded=\"${x => x.ariaExpanded}\"\n aria-haspopup=\"${x => (x.collapsible ? 'listbox' : null)}\"\n aria-label=\"${x => x.labelContent}\"\n aria-multiselectable=\"${x => x.ariaMultiSelectable}\"\n aria-required=\"${x => x.requiredVisible}\"\n ?open=\"${x => x.open}\"\n role=\"combobox\"\n tabindex=\"${x => (!x.disabled ? '0' : null)}\"\n @click=\"${(x, c) => x.clickHandler(c.event as MouseEvent)}\"\n @contentchange=\"${x => x.updateDisplayValue()}\"\n @focusin=\"${(x, c) => x.focusinHandler(c.event as FocusEvent)}\"\n @focusout=\"${(x, c) => x.focusoutHandler(c.event as FocusEvent)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event as KeyboardEvent)}\"\n @mousedown=\"${(x, c) => x.mousedownHandler(c.event as MouseEvent)}\"\n >\n ${labelTemplate}\n ${when(x => x.collapsible, html<Select>`\n <div\n class=\"control\"\n part=\"control\"\n ?disabled=\"${x => x.disabled}\"\n ${ref('control')}\n >\n ${startSlotTemplate(context, definition)}\n <slot name=\"button-container\">\n <div class=\"selected-value ${x => (x.displayPlaceholder ? 'placeholder' : '')}\" part=\"selected-value\" ${overflow('hasOverflow')} title=${x => (x.hasOverflow && x.displayValue ? x.displayValue : null)}>\n <slot name=\"selected-value\">${x => x.displayValue}</slot>\n </div>\n ${when(x => !x.disabled && x.clearable && !x.displayPlaceholder && x.selectedIndex >= 0, html<Select>`\n <${buttonTag} \n class=\"clear-button\"\n tabindex=\"-1\"\n part=\"clear-button\"\n content-hidden\n appearance=\"ghost\"\n @click=\"${(x, c) => x.clearClickHandler(c.event as MouseEvent)}\">\n <${iconTimesTag} slot=\"start\"></${iconTimesTag}>\n </${buttonTag}>\n `)}\n <div aria-hidden=\"true\" class=\"indicator\" part=\"indicator\">\n <slot name=\"indicator\">\n ${definition.indicator || ''}\n </slot>\n </div>\n </slot>\n ${endSlotTemplate(context, definition)}\n </div>\n `)\n }\n <${anchoredRegionTag}\n ${ref('anchoredRegion')}\n class=\"anchored-region\"\n fixed-placement\n auto-update-mode=\"auto\"\n vertical-default-position=\"${x => (x.positionAttribute === DropdownPosition.above ? 'top' : 'bottom')}\"\n vertical-positioning-mode=\"${x => (!x.positionAttribute ? 'dynamic' : 'locktodefault')}\"\n horizontal-default-position=\"center\"\n horizontal-positioning-mode=\"locktodefault\"\n horizontal-scaling=\"anchor\"\n @loaded=\"${x => x.regionLoadedHandler()}\"\n ?hidden=\"${x => (x.collapsible ? !x.open : false)}\">\n <div class=\"listbox-background\">\n <div\n class=\"\n listbox\n ${x => (x.filteredOptions.length === 0 ? 'empty' : '')}\n ${x => x.positionAttribute}\n \"\n id=\"${x => x.listboxId}\"\n part=\"listbox\"\n role=\"listbox\"\n ?disabled=\"${x => x.disabled}\"\n style=\"--ni-private-listbox-available-viewport-height: ${x => x.availableViewportHeight}px;\"\n ${ref('listbox')}\n >\n ${when(x => x.filterMode !== FilterMode.none, html<Select>`\n <div class=\"filter-field ${x => x.positionAttribute}\">\n <${iconMagnifyingGlassTag} class=\"filter-icon\"></${iconMagnifyingGlassTag}>\n <input\n ${ref('filterInput')}\n class=\"filter-input\"\n aria-controls=\"${x => x.ariaControls}\"\n aria-activedescendant=\"${x => x.ariaActiveDescendant}\"\n @input=\"${(x, c) => x.inputHandler(c.event as InputEvent)}\"\n @click=\"${(x, c) => x.ignoreClickHandler(c.event as MouseEvent)}\"\n placeholder=\"${x => filterSearchLabel.getValueFor(x)}\"\n value=\"${x => x.filter}\"\n />\n </div>\n `)}\n <div ${ref('scrollableRegion')}\n class=\"scrollable-region\">\n <slot\n name=\"option\"\n ${slotted({\n filter: (n: Node) => n instanceof HTMLElement && (isListOption(n) || isListOptionGroup(n)),\n flatten: true,\n property: 'slottedOptions',\n })}\n ></slot>\n ${when(x => (x.filterMode !== FilterMode.none && x.filteredOptions.length === 0 && !x.loadingVisible), html<Select>`\n <span class=\"no-results-label\">\n ${x => filterNoResultsLabel.getValueFor(x)}\n </span>\n `)}\n </div>\n ${when(x => x.loadingVisible, html<Select>`\n <div class=\"loading-container ${x => x.positionAttribute} ${x => (x.filteredOptions.length === 0 ? 'empty' : '')}\"\n @click=\"${(x, c) => x.ignoreClickHandler(c.event as MouseEvent)}\">\n <span class=\"loading-label\">\n ${x => loadingLabel.getValueFor(x)}\n </span>\n <${spinnerTag} class=\"loading-spinner\" appearance=\"accent\"></${spinnerTag}>\n </div>\n `)}\n </div>\n </div>\n </${anchoredRegionTag}>\n </template>\n`;\n/* eslint-enable @typescript-eslint/indent */\n"]}
@@ -1,4 +1,4 @@
1
- import { keyEnter, keyEscape, keyArrowDown, keyArrowUp, keySpace, keyTab } from '@microsoft/fast-web-utilities';
1
+ import { keyEnter, keyEscape, keyArrowDown, keyArrowUp, keySpace, keyTab } from '@ni/fast-web-utilities';
2
2
  import { listOptionTag } from '../../list-option';
3
3
  import { processUpdates, waitForUpdatesAsync } from '../../testing/async-helpers';
4
4
  import { FilterMode } from '../types';