@ni/nimble-components 32.13.0 → 33.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (776) hide show
  1. package/dist/all-components-bundle.js +996 -1039
  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/mapping/base/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D;;GAEG;AACH,MAAM,OAAgB,OAAW,SAAQ,iBAAiB;CAMzD;AADU;IADN,IAAI,EAAE;oCACQ","sourcesContent":["import { attr } from '@microsoft/fast-element';\nimport { FoundationElement } from '@microsoft/fast-foundation';\n\n/**\n * Base class for mapping configuration elements\n */\nexport abstract class Mapping<T> extends FoundationElement {\n /**\n * The data value that is mapped to another representation\n */\n @attr()\n public key?: T;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mapping/base/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,MAAM,OAAgB,OAAW,SAAQ,iBAAiB;CAMzD;AADU;IADN,IAAI,EAAE;oCACQ","sourcesContent":["import { attr } from '@ni/fast-element';\nimport { FoundationElement } from '@ni/fast-foundation';\n\n/**\n * Base class for mapping configuration elements\n */\nexport abstract class Mapping<T> extends FoundationElement {\n /**\n * The data value that is mapped to another representation\n */\n @attr()\n public key?: T;\n}\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 { display } from '../../utilities/style/display';
3
3
  export const styles = css `
4
4
  ${display('none')}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/mapping/base/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;CACpB,CAAC","sourcesContent":["import { css } from '@microsoft/fast-element';\nimport { display } from '../../utilities/style/display';\n\nexport const styles = css`\n ${display('none')}\n`;\n"]}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/mapping/base/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;CACpB,CAAC","sourcesContent":["import { css } from '@ni/fast-element';\nimport { display } from '../../utilities/style/display';\n\nexport const styles = css`\n ${display('none')}\n`;\n"]}
@@ -1 +1 @@
1
- export declare const template: import("@microsoft/fast-element").ViewTemplate<any, any>;
1
+ export declare const template: import("@ni/fast-element").ViewTemplate<any, any>;
@@ -1,3 +1,3 @@
1
- import { html } from '@microsoft/fast-element';
1
+ import { html } from '@ni/fast-element';
2
2
  export const template = html `<template slot="mapping"></template>`;
3
3
  //# sourceMappingURL=template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/mapping/base/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAA,sCAAsC,CAAC","sourcesContent":["import { html } from '@microsoft/fast-element';\n\nexport const template = html`<template slot=\"mapping\"></template>`;\n"]}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/mapping/base/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAA,sCAAsC,CAAC","sourcesContent":["import { html } from '@ni/fast-element';\n\nexport const template = html`<template slot=\"mapping\"></template>`;\n"]}
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
- import { DesignSystem } from '@microsoft/fast-foundation';
3
- import { attr } from '@microsoft/fast-element';
2
+ import { DesignSystem } from '@ni/fast-foundation';
3
+ import { attr } from '@ni/fast-element';
4
4
  import { Mapping } from '../base';
5
5
  import { template } from '../base/template';
6
6
  import { styles } from '../base/styles';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mapping/empty/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAQxC;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAmB;CAGpD;AADU;IADN,IAAI,EAAE;0CACc;AAGzB,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC;IACtC,QAAQ,EAAE,eAAe;IACzB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC","sourcesContent":["import { DesignSystem } from '@microsoft/fast-foundation';\nimport { attr } from '@microsoft/fast-element';\nimport { Mapping } from '../base';\nimport { template } from '../base/template';\nimport type { MappingKey } from '../base/types';\nimport { styles } from '../base/styles';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-mapping-empty': MappingEmpty;\n }\n}\n\n/**\n * Maps data values to text.\n * One or more may be added as children of a nimble-table-column-mapping element. The\n * mapping displays an empty cell and text-only group rows.\n */\nexport class MappingEmpty extends Mapping<MappingKey> {\n @attr()\n public text?: string;\n}\n\nconst emptyMapping = MappingEmpty.compose({\n baseName: 'mapping-empty',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(emptyMapping());\nexport const mappingEmptyTag = 'nimble-mapping-empty';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mapping/empty/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAQxC;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAmB;CAGpD;AADU;IADN,IAAI,EAAE;0CACc;AAGzB,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC;IACtC,QAAQ,EAAE,eAAe;IACzB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC","sourcesContent":["import { DesignSystem } from '@ni/fast-foundation';\nimport { attr } from '@ni/fast-element';\nimport { Mapping } from '../base';\nimport { template } from '../base/template';\nimport type { MappingKey } from '../base/types';\nimport { styles } from '../base/styles';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-mapping-empty': MappingEmpty;\n }\n}\n\n/**\n * Maps data values to text.\n * One or more may be added as children of a nimble-table-column-mapping element. The\n * mapping displays an empty cell and text-only group rows.\n */\nexport class MappingEmpty extends Mapping<MappingKey> {\n @attr()\n public text?: string;\n}\n\nconst emptyMapping = MappingEmpty.compose({\n baseName: 'mapping-empty',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(emptyMapping());\nexport const mappingEmptyTag = 'nimble-mapping-empty';\n"]}
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
- import { attr, observable } from '@microsoft/fast-element';
3
- import { DesignSystem } from '@microsoft/fast-foundation';
2
+ import { attr, observable } from '@ni/fast-element';
3
+ import { DesignSystem } from '@ni/fast-foundation';
4
4
  import { Mapping } from '../base';
5
5
  import { template } from '../base/template';
6
6
  import { Icon } from '../../icon-base';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mapping/icon/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAQxC,SAAS,WAAW,CAAC,YAAsC;IACvD,OAAO,YAAY,CAAC,SAAS,YAAY,IAAI,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,OAAmB;IAApD;;QAWW,eAAU,GAAG,KAAK,CAAC;IA+C9B,CAAC;IArCG,gFAAgF;IACxE,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACvC,IAAI,CAAC;YACD,kEAAkE;YAClE,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACV,iEAAiE;YACjE,2FAA2F;YAC3F,iDAAiD;YACjD,OAAO;QACX,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,mEAAmE;YACnE,2FAA2F;YAC3F,iDAAiD;YACjD,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IAEO,WAAW;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,OAAO;QACX,CAAC;QACD,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,OAAO;QACX,CAAC;QACD,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACJ;AAxDU;IADN,IAAI,EAAE;yCACc;AAGd;IADN,IAAI,EAAE;6CACuB;AAGvB;IADN,IAAI,EAAE;yCACc;AAGd;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;+CAC1B;AAQnB;IADN,UAAU;iDACkB;AAyCjC,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;IACpC,QAAQ,EAAE,cAAc;IACxB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAC","sourcesContent":["import { attr, observable } from '@microsoft/fast-element';\nimport { DesignSystem } from '@microsoft/fast-foundation';\nimport { Mapping } from '../base';\nimport { template } from '../base/template';\nimport type { IconSeverity } from '../../icon-base/types';\nimport { Icon } from '../../icon-base';\nimport type { MappingKey } from '../base/types';\nimport { styles } from '../base/styles';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-mapping-icon': MappingIcon;\n }\n}\n\nfunction isIconClass(elementClass: CustomElementConstructor): boolean {\n return elementClass.prototype instanceof Icon;\n}\n\n/**\n * Maps a data value to an icon.\n * One or more may be added as children of a nimble-table-column-mapping element to define\n * how specific data values should be displayed as icons in that column's cells.\n */\nexport class MappingIcon extends Mapping<MappingKey> {\n @attr()\n public icon?: string;\n\n @attr()\n public severity: IconSeverity;\n\n @attr()\n public text?: string;\n\n @attr({ attribute: 'text-hidden', mode: 'boolean' })\n public textHidden = false;\n\n /**\n * @internal\n * Calculated asynchronously by the icon mapping based on the configured icon value.\n * When assigned, it corresponds to an element name that is resolved to type of Nimble Icon.\n */\n @observable\n public resolvedIcon?: string;\n\n // Allow icons to be defined asynchronously from when the property is configured\n private async resolveIconAsync(icon: string): Promise<void> {\n try {\n // Clear the current resolution while waiting for async resolution\n this.resolvedIcon = undefined;\n await customElements.whenDefined(icon);\n } catch (ex) {\n // If any error (i.e. invalid custom element name) don't continue\n // Don't update the resolvedIcon as it was already set to undefined before async resolution\n // (in case other async resolutions were started)\n return;\n }\n\n if (icon !== this.icon) {\n // Possible the icon has changed while waiting for async resolution\n // Don't update the resolvedIcon as it was already set to undefined before async resolution\n // (in case other async resolutions were started)\n return;\n }\n\n const elementClass = customElements.get(icon)!;\n this.resolvedIcon = isIconClass(elementClass) ? icon : undefined;\n }\n\n private iconChanged(): void {\n const icon = this.icon;\n if (!icon) {\n this.resolvedIcon = undefined;\n return;\n }\n const elementClass = customElements.get(icon);\n if (elementClass) {\n this.resolvedIcon = isIconClass(elementClass) ? icon : undefined;\n return;\n }\n void this.resolveIconAsync(icon);\n }\n}\n\nconst iconMapping = MappingIcon.compose({\n baseName: 'mapping-icon',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(iconMapping());\nexport const mappingIconTag = 'nimble-mapping-icon';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mapping/icon/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAQxC,SAAS,WAAW,CAAC,YAAsC;IACvD,OAAO,YAAY,CAAC,SAAS,YAAY,IAAI,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,OAAmB;IAApD;;QAWW,eAAU,GAAG,KAAK,CAAC;IA+C9B,CAAC;IArCG,gFAAgF;IACxE,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACvC,IAAI,CAAC;YACD,kEAAkE;YAClE,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACV,iEAAiE;YACjE,2FAA2F;YAC3F,iDAAiD;YACjD,OAAO;QACX,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,mEAAmE;YACnE,2FAA2F;YAC3F,iDAAiD;YACjD,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IAEO,WAAW;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,OAAO;QACX,CAAC;QACD,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,OAAO;QACX,CAAC;QACD,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACJ;AAxDU;IADN,IAAI,EAAE;yCACc;AAGd;IADN,IAAI,EAAE;6CACuB;AAGvB;IADN,IAAI,EAAE;yCACc;AAGd;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;+CAC1B;AAQnB;IADN,UAAU;iDACkB;AAyCjC,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;IACpC,QAAQ,EAAE,cAAc;IACxB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAC","sourcesContent":["import { attr, observable } from '@ni/fast-element';\nimport { DesignSystem } from '@ni/fast-foundation';\nimport { Mapping } from '../base';\nimport { template } from '../base/template';\nimport type { IconSeverity } from '../../icon-base/types';\nimport { Icon } from '../../icon-base';\nimport type { MappingKey } from '../base/types';\nimport { styles } from '../base/styles';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-mapping-icon': MappingIcon;\n }\n}\n\nfunction isIconClass(elementClass: CustomElementConstructor): boolean {\n return elementClass.prototype instanceof Icon;\n}\n\n/**\n * Maps a data value to an icon.\n * One or more may be added as children of a nimble-table-column-mapping element to define\n * how specific data values should be displayed as icons in that column's cells.\n */\nexport class MappingIcon extends Mapping<MappingKey> {\n @attr()\n public icon?: string;\n\n @attr()\n public severity: IconSeverity;\n\n @attr()\n public text?: string;\n\n @attr({ attribute: 'text-hidden', mode: 'boolean' })\n public textHidden = false;\n\n /**\n * @internal\n * Calculated asynchronously by the icon mapping based on the configured icon value.\n * When assigned, it corresponds to an element name that is resolved to type of Nimble Icon.\n */\n @observable\n public resolvedIcon?: string;\n\n // Allow icons to be defined asynchronously from when the property is configured\n private async resolveIconAsync(icon: string): Promise<void> {\n try {\n // Clear the current resolution while waiting for async resolution\n this.resolvedIcon = undefined;\n await customElements.whenDefined(icon);\n } catch (ex) {\n // If any error (i.e. invalid custom element name) don't continue\n // Don't update the resolvedIcon as it was already set to undefined before async resolution\n // (in case other async resolutions were started)\n return;\n }\n\n if (icon !== this.icon) {\n // Possible the icon has changed while waiting for async resolution\n // Don't update the resolvedIcon as it was already set to undefined before async resolution\n // (in case other async resolutions were started)\n return;\n }\n\n const elementClass = customElements.get(icon)!;\n this.resolvedIcon = isIconClass(elementClass) ? icon : undefined;\n }\n\n private iconChanged(): void {\n const icon = this.icon;\n if (!icon) {\n this.resolvedIcon = undefined;\n return;\n }\n const elementClass = customElements.get(icon);\n if (elementClass) {\n this.resolvedIcon = isIconClass(elementClass) ? icon : undefined;\n return;\n }\n void this.resolveIconAsync(icon);\n }\n}\n\nconst iconMapping = MappingIcon.compose({\n baseName: 'mapping-icon',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(iconMapping());\nexport const mappingIconTag = 'nimble-mapping-icon';\n"]}
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
- import { DesignSystem } from '@microsoft/fast-foundation';
3
- import { attr } from '@microsoft/fast-element';
2
+ import { DesignSystem } from '@ni/fast-foundation';
3
+ import { attr } from '@ni/fast-element';
4
4
  import { Mapping } from '../base';
5
5
  import { template } from '../base/template';
6
6
  import { styles } from '../base/styles';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mapping/spinner/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAQxC;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,OAAmB;IAAvD;;QAKW,eAAU,GAAG,KAAK,CAAC;IAC9B,CAAC;CAAA;AAJU;IADN,IAAI,EAAE;4CACc;AAGd;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;kDAC1B;AAG9B,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC;IAC1C,QAAQ,EAAE,iBAAiB;IAC3B,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC","sourcesContent":["import { DesignSystem } from '@microsoft/fast-foundation';\nimport { attr } from '@microsoft/fast-element';\nimport { Mapping } from '../base';\nimport { template } from '../base/template';\nimport type { MappingKey } from '../base/types';\nimport { styles } from '../base/styles';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-mapping-spinner': MappingSpinner;\n }\n}\n\n/**\n * Maps data values to a spinner.\n * One or more may be added as children of a nimble-table-column-mapping element to define\n * which specific data values should be displayed as spinners in that column's cells.\n */\nexport class MappingSpinner extends Mapping<MappingKey> {\n @attr()\n public text?: string;\n\n @attr({ attribute: 'text-hidden', mode: 'boolean' })\n public textHidden = false;\n}\n\nconst spinnerMapping = MappingSpinner.compose({\n baseName: 'mapping-spinner',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(spinnerMapping());\nexport const mappingSpinnerTag = 'nimble-mapping-spinner';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mapping/spinner/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAQxC;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,OAAmB;IAAvD;;QAKW,eAAU,GAAG,KAAK,CAAC;IAC9B,CAAC;CAAA;AAJU;IADN,IAAI,EAAE;4CACc;AAGd;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;kDAC1B;AAG9B,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC;IAC1C,QAAQ,EAAE,iBAAiB;IAC3B,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC","sourcesContent":["import { DesignSystem } from '@ni/fast-foundation';\nimport { attr } from '@ni/fast-element';\nimport { Mapping } from '../base';\nimport { template } from '../base/template';\nimport type { MappingKey } from '../base/types';\nimport { styles } from '../base/styles';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-mapping-spinner': MappingSpinner;\n }\n}\n\n/**\n * Maps data values to a spinner.\n * One or more may be added as children of a nimble-table-column-mapping element to define\n * which specific data values should be displayed as spinners in that column's cells.\n */\nexport class MappingSpinner extends Mapping<MappingKey> {\n @attr()\n public text?: string;\n\n @attr({ attribute: 'text-hidden', mode: 'boolean' })\n public textHidden = false;\n}\n\nconst spinnerMapping = MappingSpinner.compose({\n baseName: 'mapping-spinner',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(spinnerMapping());\nexport const mappingSpinnerTag = 'nimble-mapping-spinner';\n"]}
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
- import { DesignSystem } from '@microsoft/fast-foundation';
3
- import { attr } from '@microsoft/fast-element';
2
+ import { DesignSystem } from '@ni/fast-foundation';
3
+ import { attr } from '@ni/fast-element';
4
4
  import { Mapping } from '../base';
5
5
  import { template } from '../base/template';
6
6
  import { styles } from '../base/styles';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mapping/text/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAQxC;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,OAAmB;CAGnD;AADU;IADN,IAAI,EAAE;yCACc;AAGzB,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;IACpC,QAAQ,EAAE,cAAc;IACxB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAC","sourcesContent":["import { DesignSystem } from '@microsoft/fast-foundation';\nimport { attr } from '@microsoft/fast-element';\nimport { Mapping } from '../base';\nimport { template } from '../base/template';\nimport type { MappingKey } from '../base/types';\nimport { styles } from '../base/styles';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-mapping-text': MappingText;\n }\n}\n\n/**\n * Defines a mapping from one data value ('key' property) to display text ('text' property).\n * One or more may be added as children of a nimble-table-column-mapping element to define\n * how a specific data value should be displayed as text in that column's cells.\n */\nexport class MappingText extends Mapping<MappingKey> {\n @attr()\n public text?: string;\n}\n\nconst textMapping = MappingText.compose({\n baseName: 'mapping-text',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(textMapping());\nexport const mappingTextTag = 'nimble-mapping-text';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mapping/text/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAQxC;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,OAAmB;CAGnD;AADU;IADN,IAAI,EAAE;yCACc;AAGzB,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;IACpC,QAAQ,EAAE,cAAc;IACxB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAC","sourcesContent":["import { DesignSystem } from '@ni/fast-foundation';\nimport { attr } from '@ni/fast-element';\nimport { Mapping } from '../base';\nimport { template } from '../base/template';\nimport type { MappingKey } from '../base/types';\nimport { styles } from '../base/styles';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-mapping-text': MappingText;\n }\n}\n\n/**\n * Defines a mapping from one data value ('key' property) to display text ('text' property).\n * One or more may be added as children of a nimble-table-column-mapping element to define\n * how a specific data value should be displayed as text in that column's cells.\n */\nexport class MappingText extends Mapping<MappingKey> {\n @attr()\n public text?: string;\n}\n\nconst textMapping = MappingText.compose({\n baseName: 'mapping-text',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(textMapping());\nexport const mappingTextTag = 'nimble-mapping-text';\n"]}
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
- import { attr } from '@microsoft/fast-element';
3
- import { DesignSystem } from '@microsoft/fast-foundation';
2
+ import { attr } from '@ni/fast-element';
3
+ import { DesignSystem } from '@ni/fast-foundation';
4
4
  import { Mapping } from '../base';
5
5
  import { template } from '../base/template';
6
6
  import { styles } from '../base/styles';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mapping/user/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAOxC;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,OAAuB;CAGvD;AADU;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;gDACR;AAEhC,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;IACpC,QAAQ,EAAE,cAAc;IACxB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAC","sourcesContent":["import { attr } from '@microsoft/fast-element';\nimport { DesignSystem } from '@microsoft/fast-foundation';\nimport { Mapping } from '../base';\nimport type { MappingUserKey } from '../base/types';\nimport { template } from '../base/template';\nimport { styles } from '../base/styles';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-mapping-user': MappingUser;\n }\n}\n/**\n * Maps key (url) to a user\n * Non-visible configuration element for mapping rich text user mention keys to a user\n */\nexport class MappingUser extends Mapping<MappingUserKey> {\n @attr({ attribute: 'display-name' })\n public displayName?: string;\n}\nconst mappingUser = MappingUser.compose({\n baseName: 'mapping-user',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(mappingUser());\nexport const mappingUserTag = 'nimble-mapping-user';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mapping/user/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAOxC;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,OAAuB;CAGvD;AADU;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;gDACR;AAEhC,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;IACpC,QAAQ,EAAE,cAAc;IACxB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAC","sourcesContent":["import { attr } from '@ni/fast-element';\nimport { DesignSystem } from '@ni/fast-foundation';\nimport { Mapping } from '../base';\nimport type { MappingUserKey } from '../base/types';\nimport { template } from '../base/template';\nimport { styles } from '../base/styles';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-mapping-user': MappingUser;\n }\n}\n/**\n * Maps key (url) to a user\n * Non-visible configuration element for mapping rich text user mention keys to a user\n */\nexport class MappingUser extends Mapping<MappingUserKey> {\n @attr({ attribute: 'display-name' })\n public displayName?: string;\n}\nconst mappingUser = MappingUser.compose({\n baseName: 'mapping-user',\n template,\n styles\n});\nDesignSystem.getOrCreate().withPrefix('nimble').register(mappingUser());\nexport const mappingUserTag = 'nimble-mapping-user';\n"]}
@@ -1,4 +1,4 @@
1
- import { DesignSystem } from '@microsoft/fast-foundation';
1
+ import { DesignSystem } from '@ni/fast-foundation';
2
2
  import { Menu as FoundationMenu } from './menu.foundation';
3
3
  import { template } from './template';
4
4
  import { styles } from './styles';
@@ -9,7 +9,7 @@ export class Menu extends FoundationMenu {
9
9
  }
10
10
  /**
11
11
  * A function that returns a nimble-menu registration for configuring the component with a DesignSystem.
12
- * Implements {@link @microsoft/fast-foundation#menuTemplate}
12
+ * Implements {@link @ni/fast-foundation#menuTemplate}
13
13
  *
14
14
  * @public
15
15
  * @remarks
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,IAAI,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQlC;;GAEG;AACH,MAAM,OAAO,IAAK,SAAQ,cAAc;CAAG;AAE3C;;;;;;;;GAQG;AACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;IAC5B,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,cAAc;IACzB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC","sourcesContent":["import { DesignSystem } from '@microsoft/fast-foundation';\nimport { Menu as FoundationMenu } from './menu.foundation';\nimport { template } from './template';\nimport { styles } from './styles';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-menu': Menu;\n }\n}\n\n/**\n * A nimble-styled menu\n */\nexport class Menu extends FoundationMenu {}\n\n/**\n * A function that returns a nimble-menu registration for configuring the component with a DesignSystem.\n * Implements {@link @microsoft/fast-foundation#menuTemplate}\n *\n * @public\n * @remarks\n * Generates HTML Element: \\<nimble-menu\\>\n *\n */\nconst nimbleMenu = Menu.compose({\n baseName: 'menu',\n baseClass: FoundationMenu,\n template,\n styles\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenu());\nexport const menuTag = 'nimble-menu';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,IAAI,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQlC;;GAEG;AACH,MAAM,OAAO,IAAK,SAAQ,cAAc;CAAG;AAE3C;;;;;;;;GAQG;AACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;IAC5B,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,cAAc;IACzB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC","sourcesContent":["import { DesignSystem } from '@ni/fast-foundation';\nimport { Menu as FoundationMenu } from './menu.foundation';\nimport { template } from './template';\nimport { styles } from './styles';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-menu': Menu;\n }\n}\n\n/**\n * A nimble-styled menu\n */\nexport class Menu extends FoundationMenu {}\n\n/**\n * A function that returns a nimble-menu registration for configuring the component with a DesignSystem.\n * Implements {@link @ni/fast-foundation#menuTemplate}\n *\n * @public\n * @remarks\n * Generates HTML Element: \\<nimble-menu\\>\n *\n */\nconst nimbleMenu = Menu.compose({\n baseName: 'menu',\n baseClass: FoundationMenu,\n template,\n styles\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenu());\nexport const menuTag = 'nimble-menu';\n"]}
@@ -1,4 +1,4 @@
1
- import { FoundationElement } from '@microsoft/fast-foundation';
1
+ import { FoundationElement } from '@ni/fast-foundation';
2
2
  /**
3
3
  * A Menu Custom HTML Element.
4
4
  * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#menu | ARIA menu }.
@@ -2,9 +2,9 @@ import { __decorate } from "tslib";
2
2
  /**
3
3
  * Based on implementation in FAST repo: https://github.com/microsoft/fast/blob/9c6dbb66615e6d229fc0ebf8065a67f109139f26/packages/web-components/fast-foundation/src/menu/menu.ts
4
4
  */
5
- import { DOM, observable } from '@microsoft/fast-element';
6
- import { isHTMLElement, keyArrowDown, keyArrowUp, keyEnd, keyHome } from '@microsoft/fast-web-utilities';
7
- import { FoundationElement, MenuItem, MenuItemRole, roleForMenuItem } from '@microsoft/fast-foundation';
5
+ import { DOM, observable } from '@ni/fast-element';
6
+ import { isHTMLElement, keyArrowDown, keyArrowUp, keyEnd, keyHome } from '@ni/fast-web-utilities';
7
+ import { FoundationElement, MenuItem, MenuItemRole, roleForMenuItem } from '@ni/fast-foundation';
8
8
  /**
9
9
  * A Menu Custom HTML Element.
10
10
  * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#menu | ARIA menu }.
@@ -1 +1 @@
1
- {"version":3,"file":"menu.foundation.js","sourceRoot":"","sources":["../../../src/menu/menu.foundation.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Based on implementation in FAST repo: https://github.com/microsoft/fast/blob/9c6dbb66615e6d229fc0ebf8065a67f109139f26/packages/web-components/fast-foundation/src/menu/menu.ts\n */\nimport { DOM, observable } from '@microsoft/fast-element';\nimport {\n isHTMLElement,\n keyArrowDown,\n keyArrowUp,\n keyEnd,\n keyHome\n} from '@microsoft/fast-web-utilities';\nimport {\n FoundationElement,\n MenuItem,\n type MenuItemColumnCount,\n MenuItemRole,\n roleForMenuItem\n} from '@microsoft/fast-foundation';\n\n/**\n * A Menu Custom HTML Element.\n * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#menu | ARIA menu }.\n *\n * @slot - The default slot for the menu items\n *\n * @public\n */\nexport class Menu extends FoundationElement {\n private static readonly focusableElementRoles: { [key: string]: string } = roleForMenuItem;\n\n /**\n * @internal\n */\n @observable\n public items!: HTMLSlotElement;\n\n /**\n * @internal\n */\n @observable\n public itemIcons?: Element[];\n\n private menuItems: Element[] | undefined;\n\n private expandedItem: MenuItem | null = null;\n\n /**\n * The index of the focusable element in the items array\n * defaults to -1\n */\n private focusIndex = -1;\n\n /**\n * @internal\n */\n public override connectedCallback(): void {\n super.connectedCallback();\n DOM.queueUpdate(() => {\n // wait until children have had a chance to\n // connect before setting/checking their props/attributes\n this.setItems();\n });\n\n this.addEventListener('change', this.changeHandler);\n }\n\n /**\n * @internal\n */\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeItemListeners();\n this.menuItems = undefined;\n this.removeEventListener('change', this.changeHandler);\n }\n\n /**\n * @internal\n */\n public readonly isNestedMenu = (): boolean => {\n return (\n this.parentElement !== null\n && isHTMLElement(this.parentElement)\n && this.parentElement.getAttribute('role') === 'menuitem'\n );\n };\n\n /**\n * Focuses the first item in the menu.\n *\n * @public\n */\n public override focus(): void {\n this.setFocus(0, 1);\n }\n\n /**\n * Collapses any expanded menu items.\n *\n * @public\n */\n public collapseExpandedItem(): void {\n if (this.expandedItem !== null) {\n this.expandedItem.expanded = false;\n this.expandedItem = null;\n }\n }\n\n /**\n * @internal\n */\n public handleMenuKeyDown(e: KeyboardEvent): boolean {\n if (e.defaultPrevented || this.menuItems === undefined) {\n return false;\n }\n switch (e.key) {\n case keyArrowDown:\n // go forward one index\n this.setFocus(this.focusIndex + 1, 1);\n return false;\n case keyArrowUp:\n // go back one index\n this.setFocus(this.focusIndex - 1, -1);\n return false;\n case keyEnd:\n // set focus on last item\n this.setFocus(this.menuItems.length - 1, -1);\n return false;\n case keyHome:\n // set focus on first item\n this.setFocus(0, 1);\n return false;\n\n default:\n // if we are not handling the event, do not prevent default\n return true;\n }\n }\n\n /**\n * if focus is moving out of the menu, reset to a stable initial state\n * @internal\n */\n public handleFocusOut = (e: FocusEvent): void => {\n if (\n !this.contains(e.relatedTarget as Element)\n && this.menuItems !== undefined\n ) {\n this.collapseExpandedItem();\n // find our first focusable element\n const focusIndex: number = this.menuItems.findIndex(\n this.isFocusableElement\n );\n // set the current focus index's tabindex to -1\n this.menuItems[this.focusIndex]?.setAttribute('tabindex', '-1');\n // set the first focusable element tabindex to 0\n this.menuItems[focusIndex]?.setAttribute('tabindex', '0');\n // set the focus index\n this.focusIndex = focusIndex;\n }\n };\n\n private readonly handleItemFocus = (e: Event): void => {\n const targetItem: HTMLElement = e.target as HTMLElement;\n\n if (\n this.menuItems !== undefined\n && targetItem !== this.menuItems[this.focusIndex]\n ) {\n this.menuItems[this.focusIndex]?.setAttribute('tabindex', '-1');\n this.focusIndex = this.menuItems.indexOf(targetItem);\n targetItem.setAttribute('tabindex', '0');\n }\n };\n\n private readonly handleExpandedChanged = (e: Event): void => {\n if (\n e.defaultPrevented\n || e.target === null\n || !this.menuItems?.includes(e.target as Element)\n ) {\n return;\n }\n\n e.preventDefault();\n const changedItem: MenuItem = e.target as MenuItem;\n\n // closing an expanded item without opening another\n if (\n this.expandedItem !== null\n && changedItem === this.expandedItem\n && changedItem.expanded === false\n ) {\n this.expandedItem = null;\n return;\n }\n\n if (changedItem.expanded) {\n if (\n this.expandedItem !== null\n && this.expandedItem !== changedItem\n ) {\n this.expandedItem.expanded = false;\n }\n this.menuItems[this.focusIndex]?.setAttribute('tabindex', '-1');\n this.expandedItem = changedItem;\n this.focusIndex = this.menuItems.indexOf(changedItem);\n changedItem.setAttribute('tabindex', '0');\n }\n };\n\n private readonly removeItemListeners = (): void => {\n if (this.menuItems !== undefined) {\n this.menuItems.forEach((item: Element) => {\n item.removeEventListener(\n 'expanded-change',\n this.handleExpandedChanged\n );\n item.removeEventListener('focus', this.handleItemFocus);\n });\n }\n };\n\n private itemsChanged(): void {\n // only update children after the component is connected and\n // the setItems has run on connectedCallback\n // (menuItems is undefined until then)\n if (this.$fastController.isConnected && this.menuItems !== undefined) {\n this.setItems();\n }\n }\n\n private itemIconsChanged(oldIcons: Element[], newIcons: Element[]): void {\n // must check if set of icon elements is actually different\n if (\n this.$fastController.isConnected\n && this.menuItems !== undefined\n && (oldIcons.length !== newIcons.length\n || new Set(oldIcons.concat(newIcons)).size !== oldIcons.length)\n ) {\n this.setItems();\n }\n }\n\n private readonly setItems = (): void => {\n const newItems: Element[] = this.domChildren();\n\n this.removeItemListeners();\n this.menuItems = newItems;\n\n const menuItems = this.menuItems.filter(this.isMenuItemElement);\n\n // if our focus index is not -1 we have items\n if (menuItems.length) {\n this.focusIndex = 0;\n }\n\n function elementIndent(el: HTMLElement): MenuItemColumnCount {\n const role = el.getAttribute('role');\n const startSlot = el.querySelector('[slot=start]');\n\n if (role !== MenuItemRole.menuitem && startSlot === null) {\n return 1;\n }\n if (role === MenuItemRole.menuitem && startSlot !== null) {\n return 1;\n }\n if (role !== MenuItemRole.menuitem && startSlot !== null) {\n return 2;\n }\n return 0;\n }\n\n const indent: MenuItemColumnCount = menuItems.reduce<MenuItemColumnCount>((accum, current) => {\n const elementValue = elementIndent(current);\n\n return accum > elementValue ? accum : elementValue;\n }, 0);\n\n menuItems.forEach((item: HTMLElement, index: number) => {\n item.setAttribute('tabindex', index === 0 ? '0' : '-1');\n item.addEventListener(\n 'expanded-change',\n this.handleExpandedChanged\n );\n item.addEventListener('focus', this.handleItemFocus);\n\n if (item instanceof MenuItem || 'startColumnCount' in item) {\n (item as unknown as MenuItem).startColumnCount = indent;\n }\n });\n };\n\n /**\n * handle change from child element\n */\n private readonly changeHandler = (e: Event): void => {\n if (this.menuItems === undefined) {\n return;\n }\n const changedMenuItem: MenuItem = e.target as MenuItem;\n const changeItemIndex: number = this.menuItems.indexOf(changedMenuItem);\n\n if (changeItemIndex === -1) {\n return;\n }\n\n if (\n changedMenuItem.role === 'menuitemradio'\n && changedMenuItem.checked === true\n ) {\n for (let i = changeItemIndex - 1; i >= 0; --i) {\n const item: Element = this.menuItems[i]!;\n const role: string | null = item.getAttribute('role');\n if (role === MenuItemRole.menuitemradio) {\n (item as MenuItem).checked = false;\n }\n if (role === 'separator') {\n break;\n }\n }\n const maxIndex: number = this.menuItems.length - 1;\n for (let i = changeItemIndex + 1; i <= maxIndex; ++i) {\n const item: Element = this.menuItems[i]!;\n const role: string | null = item.getAttribute('role');\n if (role === MenuItemRole.menuitemradio) {\n (item as MenuItem).checked = false;\n }\n if (role === 'separator') {\n break;\n }\n }\n }\n };\n\n /**\n * get an array of valid DOM children\n */\n private domChildren(): Element[] {\n return Array.from(this.children).filter(\n child => !child.hasAttribute('hidden')\n );\n }\n\n /**\n * check if the item is a menu item\n */\n private readonly isMenuItemElement = (el: Element): el is HTMLElement => {\n return (\n isHTMLElement(el)\n && Object.prototype.hasOwnProperty.call(\n Menu.focusableElementRoles,\n el.getAttribute('role')!\n )\n );\n };\n\n /**\n * check if the item is focusable\n */\n private readonly isFocusableElement = (el: Element): el is HTMLElement => {\n return this.isMenuItemElement(el);\n };\n\n private setFocus(focusIndex: number, adjustment: number): void {\n if (this.menuItems === undefined) {\n return;\n }\n\n let updatedIndex = focusIndex;\n while (updatedIndex >= 0 && updatedIndex < this.menuItems.length) {\n const child: Element = this.menuItems[updatedIndex]!;\n\n if (this.isFocusableElement(child)) {\n // change the previous index to -1\n if (\n this.focusIndex > -1\n && this.menuItems.length >= this.focusIndex - 1\n ) {\n this.menuItems[this.focusIndex]?.setAttribute(\n 'tabindex',\n '-1'\n );\n }\n\n // update the focus index\n this.focusIndex = updatedIndex;\n\n // update the tabindex of next focusable element\n child.setAttribute('tabindex', '0');\n\n // focus the element\n child.focus();\n\n break;\n }\n\n updatedIndex += adjustment;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"menu.foundation.js","sourceRoot":"","sources":["../../../src/menu/menu.foundation.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACH,aAAa,EACb,YAAY,EACZ,UAAU,EACV,MAAM,EACN,OAAO,EACV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACH,iBAAiB,EACjB,QAAQ,EAER,YAAY,EACZ,eAAe,EAClB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;GAOG;AACH,MAAM,OAAO,IAAK,SAAQ,iBAAiB;IAA3C;;QAiBY,iBAAY,GAAoB,IAAI,CAAC;QAE7C;;;WAGG;QACK,eAAU,GAAG,CAAC,CAAC,CAAC;QA0BxB;;WAEG;QACa,iBAAY,GAAG,GAAY,EAAE;YACzC,OAAO,CACH,IAAI,CAAC,aAAa,KAAK,IAAI;mBACxB,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;mBACjC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,UAAU,CAC5D,CAAC;QACN,CAAC,CAAC;QAsDF;;;WAGG;QACI,mBAAc,GAAG,CAAC,CAAa,EAAQ,EAAE;YAC5C,IACI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAwB,CAAC;mBACvC,IAAI,CAAC,SAAS,KAAK,SAAS,EACjC,CAAC;gBACC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,mCAAmC;gBACnC,MAAM,UAAU,GAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAC/C,IAAI,CAAC,kBAAkB,CAC1B,CAAC;gBACF,+CAA+C;gBAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAChE,gDAAgD;gBAChD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAC1D,sBAAsB;gBACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YACjC,CAAC;QACL,CAAC,CAAC;QAEe,oBAAe,GAAG,CAAC,CAAQ,EAAQ,EAAE;YAClD,MAAM,UAAU,GAAgB,CAAC,CAAC,MAAqB,CAAC;YAExD,IACI,IAAI,CAAC,SAAS,KAAK,SAAS;mBACzB,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EACnD,CAAC;gBACC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAChE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACrD,UAAU,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC,CAAC;QAEe,0BAAqB,GAAG,CAAC,CAAQ,EAAQ,EAAE;YACxD,IACI,CAAC,CAAC,gBAAgB;mBACf,CAAC,CAAC,MAAM,KAAK,IAAI;mBACjB,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAiB,CAAC,EACnD,CAAC;gBACC,OAAO;YACX,CAAC;YAED,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,WAAW,GAAa,CAAC,CAAC,MAAkB,CAAC;YAEnD,mDAAmD;YACnD,IACI,IAAI,CAAC,YAAY,KAAK,IAAI;mBACvB,WAAW,KAAK,IAAI,CAAC,YAAY;mBACjC,WAAW,CAAC,QAAQ,KAAK,KAAK,EACnC,CAAC;gBACC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO;YACX,CAAC;YAED,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACvB,IACI,IAAI,CAAC,YAAY,KAAK,IAAI;uBACvB,IAAI,CAAC,YAAY,KAAK,WAAW,EACtC,CAAC;oBACC,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACvC,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAChE,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;gBAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACtD,WAAW,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC,CAAC;QAEe,wBAAmB,GAAG,GAAS,EAAE;YAC9C,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAa,EAAE,EAAE;oBACrC,IAAI,CAAC,mBAAmB,CACpB,iBAAiB,EACjB,IAAI,CAAC,qBAAqB,CAC7B,CAAC;oBACF,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC;QAuBe,aAAQ,GAAG,GAAS,EAAE;YACnC,MAAM,QAAQ,GAAc,IAAI,CAAC,WAAW,EAAE,CAAC;YAE/C,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAE1B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAEhE,6CAA6C;YAC7C,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACxB,CAAC;YAED,SAAS,aAAa,CAAC,EAAe;gBAClC,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM,SAAS,GAAG,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBAEnD,IAAI,IAAI,KAAK,YAAY,CAAC,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBACvD,OAAO,CAAC,CAAC;gBACb,CAAC;gBACD,IAAI,IAAI,KAAK,YAAY,CAAC,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBACvD,OAAO,CAAC,CAAC;gBACb,CAAC;gBACD,IAAI,IAAI,KAAK,YAAY,CAAC,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBACvD,OAAO,CAAC,CAAC;gBACb,CAAC;gBACD,OAAO,CAAC,CAAC;YACb,CAAC;YAED,MAAM,MAAM,GAAwB,SAAS,CAAC,MAAM,CAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACzF,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;gBAE5C,OAAO,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;YACvD,CAAC,EAAE,CAAC,CAAC,CAAC;YAEN,SAAS,CAAC,OAAO,CAAC,CAAC,IAAiB,EAAE,KAAa,EAAE,EAAE;gBACnD,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACxD,IAAI,CAAC,gBAAgB,CACjB,iBAAiB,EACjB,IAAI,CAAC,qBAAqB,CAC7B,CAAC;gBACF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBAErD,IAAI,IAAI,YAAY,QAAQ,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;oBACxD,IAA4B,CAAC,gBAAgB,GAAG,MAAM,CAAC;gBAC5D,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF;;WAEG;QACc,kBAAa,GAAG,CAAC,CAAQ,EAAQ,EAAE;YAChD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO;YACX,CAAC;YACD,MAAM,eAAe,GAAa,CAAC,CAAC,MAAkB,CAAC;YACvD,MAAM,eAAe,GAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAExE,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzB,OAAO;YACX,CAAC;YAED,IACI,eAAe,CAAC,IAAI,KAAK,eAAe;mBACrC,eAAe,CAAC,OAAO,KAAK,IAAI,EACrC,CAAC;gBACC,KAAK,IAAI,CAAC,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBAC5C,MAAM,IAAI,GAAY,IAAI,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC;oBACzC,MAAM,IAAI,GAAkB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBACtD,IAAI,IAAI,KAAK,YAAY,CAAC,aAAa,EAAE,CAAC;wBACrC,IAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;oBACvC,CAAC;oBACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;wBACvB,MAAM;oBACV,CAAC;gBACL,CAAC;gBACD,MAAM,QAAQ,GAAW,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnD,KAAK,IAAI,CAAC,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;oBACnD,MAAM,IAAI,GAAY,IAAI,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC;oBACzC,MAAM,IAAI,GAAkB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBACtD,IAAI,IAAI,KAAK,YAAY,CAAC,aAAa,EAAE,CAAC;wBACrC,IAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;oBACvC,CAAC;oBACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;wBACvB,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QAWF;;WAEG;QACc,sBAAiB,GAAG,CAAC,EAAW,EAAqB,EAAE;YACpE,OAAO,CACH,aAAa,CAAC,EAAE,CAAC;mBACd,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CACnC,IAAI,CAAC,qBAAqB,EAC1B,EAAE,CAAC,YAAY,CAAC,MAAM,CAAE,CAC3B,CACJ,CAAC;QACN,CAAC,CAAC;QAEF;;WAEG;QACc,uBAAkB,GAAG,CAAC,EAAW,EAAqB,EAAE;YACrE,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC;IAsCN,CAAC;IA5VG;;OAEG;IACa,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE;YACjB,2CAA2C;YAC3C,yDAAyD;YACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACa,oBAAoB;QAChC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAaD;;;;OAIG;IACa,KAAK;QACjB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,oBAAoB;QACvB,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7B,CAAC;IACL,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,CAAgB;QACrC,IAAI,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YACZ,KAAK,YAAY;gBACb,uBAAuB;gBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtC,OAAO,KAAK,CAAC;YACjB,KAAK,UAAU;gBACX,oBAAoB;gBACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvC,OAAO,KAAK,CAAC;YACjB,KAAK,MAAM;gBACP,yBAAyB;gBACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7C,OAAO,KAAK,CAAC;YACjB,KAAK,OAAO;gBACR,0BAA0B;gBAC1B,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpB,OAAO,KAAK,CAAC;YAEjB;gBACI,2DAA2D;gBAC3D,OAAO,IAAI,CAAC;QACpB,CAAC;IACL,CAAC;IAsFO,YAAY;QAChB,4DAA4D;QAC5D,4CAA4C;QAC5C,sCAAsC;QACtC,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,QAAmB,EAAE,QAAmB;QAC7D,2DAA2D;QAC3D,IACI,IAAI,CAAC,eAAe,CAAC,WAAW;eAC7B,IAAI,CAAC,SAAS,KAAK,SAAS;eAC5B,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;mBAChC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,CAAC,EACrE,CAAC;YACC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;IACL,CAAC;IA6FD;;OAEG;IACK,WAAW;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CACnC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CACzC,CAAC;IACN,CAAC;IAsBO,QAAQ,CAAC,UAAkB,EAAE,UAAkB;QACnD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;QACX,CAAC;QAED,IAAI,YAAY,GAAG,UAAU,CAAC;QAC9B,OAAO,YAAY,IAAI,CAAC,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAY,IAAI,CAAC,SAAS,CAAC,YAAY,CAAE,CAAC;YAErD,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,kCAAkC;gBAClC,IACI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;uBACjB,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EACjD,CAAC;oBACC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,YAAY,CACzC,UAAU,EACV,IAAI,CACP,CAAC;gBACN,CAAC;gBAED,yBAAyB;gBACzB,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;gBAE/B,gDAAgD;gBAChD,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAEpC,oBAAoB;gBACpB,KAAK,CAAC,KAAK,EAAE,CAAC;gBAEd,MAAM;YACV,CAAC;YAED,YAAY,IAAI,UAAU,CAAC;QAC/B,CAAC;IACL,CAAC;;AAnXuB,0BAAqB,GAA8B,eAAe,AAA7C,CAA8C;AAMpF;IADN,UAAU;mCACoB;AAMxB;IADN,UAAU;uCACkB","sourcesContent":["/**\n * Based on implementation in FAST repo: https://github.com/microsoft/fast/blob/9c6dbb66615e6d229fc0ebf8065a67f109139f26/packages/web-components/fast-foundation/src/menu/menu.ts\n */\nimport { DOM, observable } from '@ni/fast-element';\nimport {\n isHTMLElement,\n keyArrowDown,\n keyArrowUp,\n keyEnd,\n keyHome\n} from '@ni/fast-web-utilities';\nimport {\n FoundationElement,\n MenuItem,\n type MenuItemColumnCount,\n MenuItemRole,\n roleForMenuItem\n} from '@ni/fast-foundation';\n\n/**\n * A Menu Custom HTML Element.\n * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#menu | ARIA menu }.\n *\n * @slot - The default slot for the menu items\n *\n * @public\n */\nexport class Menu extends FoundationElement {\n private static readonly focusableElementRoles: { [key: string]: string } = roleForMenuItem;\n\n /**\n * @internal\n */\n @observable\n public items!: HTMLSlotElement;\n\n /**\n * @internal\n */\n @observable\n public itemIcons?: Element[];\n\n private menuItems: Element[] | undefined;\n\n private expandedItem: MenuItem | null = null;\n\n /**\n * The index of the focusable element in the items array\n * defaults to -1\n */\n private focusIndex = -1;\n\n /**\n * @internal\n */\n public override connectedCallback(): void {\n super.connectedCallback();\n DOM.queueUpdate(() => {\n // wait until children have had a chance to\n // connect before setting/checking their props/attributes\n this.setItems();\n });\n\n this.addEventListener('change', this.changeHandler);\n }\n\n /**\n * @internal\n */\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeItemListeners();\n this.menuItems = undefined;\n this.removeEventListener('change', this.changeHandler);\n }\n\n /**\n * @internal\n */\n public readonly isNestedMenu = (): boolean => {\n return (\n this.parentElement !== null\n && isHTMLElement(this.parentElement)\n && this.parentElement.getAttribute('role') === 'menuitem'\n );\n };\n\n /**\n * Focuses the first item in the menu.\n *\n * @public\n */\n public override focus(): void {\n this.setFocus(0, 1);\n }\n\n /**\n * Collapses any expanded menu items.\n *\n * @public\n */\n public collapseExpandedItem(): void {\n if (this.expandedItem !== null) {\n this.expandedItem.expanded = false;\n this.expandedItem = null;\n }\n }\n\n /**\n * @internal\n */\n public handleMenuKeyDown(e: KeyboardEvent): boolean {\n if (e.defaultPrevented || this.menuItems === undefined) {\n return false;\n }\n switch (e.key) {\n case keyArrowDown:\n // go forward one index\n this.setFocus(this.focusIndex + 1, 1);\n return false;\n case keyArrowUp:\n // go back one index\n this.setFocus(this.focusIndex - 1, -1);\n return false;\n case keyEnd:\n // set focus on last item\n this.setFocus(this.menuItems.length - 1, -1);\n return false;\n case keyHome:\n // set focus on first item\n this.setFocus(0, 1);\n return false;\n\n default:\n // if we are not handling the event, do not prevent default\n return true;\n }\n }\n\n /**\n * if focus is moving out of the menu, reset to a stable initial state\n * @internal\n */\n public handleFocusOut = (e: FocusEvent): void => {\n if (\n !this.contains(e.relatedTarget as Element)\n && this.menuItems !== undefined\n ) {\n this.collapseExpandedItem();\n // find our first focusable element\n const focusIndex: number = this.menuItems.findIndex(\n this.isFocusableElement\n );\n // set the current focus index's tabindex to -1\n this.menuItems[this.focusIndex]?.setAttribute('tabindex', '-1');\n // set the first focusable element tabindex to 0\n this.menuItems[focusIndex]?.setAttribute('tabindex', '0');\n // set the focus index\n this.focusIndex = focusIndex;\n }\n };\n\n private readonly handleItemFocus = (e: Event): void => {\n const targetItem: HTMLElement = e.target as HTMLElement;\n\n if (\n this.menuItems !== undefined\n && targetItem !== this.menuItems[this.focusIndex]\n ) {\n this.menuItems[this.focusIndex]?.setAttribute('tabindex', '-1');\n this.focusIndex = this.menuItems.indexOf(targetItem);\n targetItem.setAttribute('tabindex', '0');\n }\n };\n\n private readonly handleExpandedChanged = (e: Event): void => {\n if (\n e.defaultPrevented\n || e.target === null\n || !this.menuItems?.includes(e.target as Element)\n ) {\n return;\n }\n\n e.preventDefault();\n const changedItem: MenuItem = e.target as MenuItem;\n\n // closing an expanded item without opening another\n if (\n this.expandedItem !== null\n && changedItem === this.expandedItem\n && changedItem.expanded === false\n ) {\n this.expandedItem = null;\n return;\n }\n\n if (changedItem.expanded) {\n if (\n this.expandedItem !== null\n && this.expandedItem !== changedItem\n ) {\n this.expandedItem.expanded = false;\n }\n this.menuItems[this.focusIndex]?.setAttribute('tabindex', '-1');\n this.expandedItem = changedItem;\n this.focusIndex = this.menuItems.indexOf(changedItem);\n changedItem.setAttribute('tabindex', '0');\n }\n };\n\n private readonly removeItemListeners = (): void => {\n if (this.menuItems !== undefined) {\n this.menuItems.forEach((item: Element) => {\n item.removeEventListener(\n 'expanded-change',\n this.handleExpandedChanged\n );\n item.removeEventListener('focus', this.handleItemFocus);\n });\n }\n };\n\n private itemsChanged(): void {\n // only update children after the component is connected and\n // the setItems has run on connectedCallback\n // (menuItems is undefined until then)\n if (this.$fastController.isConnected && this.menuItems !== undefined) {\n this.setItems();\n }\n }\n\n private itemIconsChanged(oldIcons: Element[], newIcons: Element[]): void {\n // must check if set of icon elements is actually different\n if (\n this.$fastController.isConnected\n && this.menuItems !== undefined\n && (oldIcons.length !== newIcons.length\n || new Set(oldIcons.concat(newIcons)).size !== oldIcons.length)\n ) {\n this.setItems();\n }\n }\n\n private readonly setItems = (): void => {\n const newItems: Element[] = this.domChildren();\n\n this.removeItemListeners();\n this.menuItems = newItems;\n\n const menuItems = this.menuItems.filter(this.isMenuItemElement);\n\n // if our focus index is not -1 we have items\n if (menuItems.length) {\n this.focusIndex = 0;\n }\n\n function elementIndent(el: HTMLElement): MenuItemColumnCount {\n const role = el.getAttribute('role');\n const startSlot = el.querySelector('[slot=start]');\n\n if (role !== MenuItemRole.menuitem && startSlot === null) {\n return 1;\n }\n if (role === MenuItemRole.menuitem && startSlot !== null) {\n return 1;\n }\n if (role !== MenuItemRole.menuitem && startSlot !== null) {\n return 2;\n }\n return 0;\n }\n\n const indent: MenuItemColumnCount = menuItems.reduce<MenuItemColumnCount>((accum, current) => {\n const elementValue = elementIndent(current);\n\n return accum > elementValue ? accum : elementValue;\n }, 0);\n\n menuItems.forEach((item: HTMLElement, index: number) => {\n item.setAttribute('tabindex', index === 0 ? '0' : '-1');\n item.addEventListener(\n 'expanded-change',\n this.handleExpandedChanged\n );\n item.addEventListener('focus', this.handleItemFocus);\n\n if (item instanceof MenuItem || 'startColumnCount' in item) {\n (item as unknown as MenuItem).startColumnCount = indent;\n }\n });\n };\n\n /**\n * handle change from child element\n */\n private readonly changeHandler = (e: Event): void => {\n if (this.menuItems === undefined) {\n return;\n }\n const changedMenuItem: MenuItem = e.target as MenuItem;\n const changeItemIndex: number = this.menuItems.indexOf(changedMenuItem);\n\n if (changeItemIndex === -1) {\n return;\n }\n\n if (\n changedMenuItem.role === 'menuitemradio'\n && changedMenuItem.checked === true\n ) {\n for (let i = changeItemIndex - 1; i >= 0; --i) {\n const item: Element = this.menuItems[i]!;\n const role: string | null = item.getAttribute('role');\n if (role === MenuItemRole.menuitemradio) {\n (item as MenuItem).checked = false;\n }\n if (role === 'separator') {\n break;\n }\n }\n const maxIndex: number = this.menuItems.length - 1;\n for (let i = changeItemIndex + 1; i <= maxIndex; ++i) {\n const item: Element = this.menuItems[i]!;\n const role: string | null = item.getAttribute('role');\n if (role === MenuItemRole.menuitemradio) {\n (item as MenuItem).checked = false;\n }\n if (role === 'separator') {\n break;\n }\n }\n }\n };\n\n /**\n * get an array of valid DOM children\n */\n private domChildren(): Element[] {\n return Array.from(this.children).filter(\n child => !child.hasAttribute('hidden')\n );\n }\n\n /**\n * check if the item is a menu item\n */\n private readonly isMenuItemElement = (el: Element): el is HTMLElement => {\n return (\n isHTMLElement(el)\n && Object.prototype.hasOwnProperty.call(\n Menu.focusableElementRoles,\n el.getAttribute('role')!\n )\n );\n };\n\n /**\n * check if the item is focusable\n */\n private readonly isFocusableElement = (el: Element): el is HTMLElement => {\n return this.isMenuItemElement(el);\n };\n\n private setFocus(focusIndex: number, adjustment: number): void {\n if (this.menuItems === undefined) {\n return;\n }\n\n let updatedIndex = focusIndex;\n while (updatedIndex >= 0 && updatedIndex < this.menuItems.length) {\n const child: Element = this.menuItems[updatedIndex]!;\n\n if (this.isFocusableElement(child)) {\n // change the previous index to -1\n if (\n this.focusIndex > -1\n && this.menuItems.length >= this.focusIndex - 1\n ) {\n this.menuItems[this.focusIndex]?.setAttribute(\n 'tabindex',\n '-1'\n );\n }\n\n // update the focus index\n this.focusIndex = updatedIndex;\n\n // update the tabindex of next focusable element\n child.setAttribute('tabindex', '0');\n\n // focus the element\n child.focus();\n\n break;\n }\n\n updatedIndex += adjustment;\n }\n }\n}\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 { display } from '../utilities/style/display';
4
4
  import { applicationBackgroundColor, borderWidth, borderColor, popupBorderColor, groupHeaderFont, groupHeaderTextTransform, groupHeaderFontColor, smallPadding, mediumPadding, elevation2BoxShadow, menuMinWidth } from '../theme-provider/design-tokens';
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/menu/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,kDAAkD,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,OAAO,EACH,0BAA0B,EAC1B,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,YAAY,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;sBAGC,0BAA0B;kBAC9B,WAAW,UAAU,gBAAgB;;qBAElC,YAAY;;sBAEX,mBAAmB;;;;;;;;;oBASrB,aAAa;;;;;;;;;;;;kBAYf,YAAY;;sBAER,WAAW;;;;;;gBAMjB,eAAe;iBACd,oBAAoB;0BACX,wBAAwB;uBAC3B,YAAY;0BACT,YAAY;;;gBAGtB,iBAAiB;;;CAGhC,CAAC,aAAa,CACX,aAAa,CACT,KAAK,CAAC,KAAK,EACX,GAAG,CAAA;;8BAEmB,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 { display } from '../utilities/style/display';\n\nimport {\n applicationBackgroundColor,\n borderWidth,\n borderColor,\n popupBorderColor,\n groupHeaderFont,\n groupHeaderTextTransform,\n groupHeaderFontColor,\n smallPadding,\n mediumPadding,\n elevation2BoxShadow,\n menuMinWidth\n} from '../theme-provider/design-tokens';\nimport { Theme } from '../theme-provider/types';\nimport { hexToRgbaCssColor } from '../utilities/style/colors';\nimport { themeBehavior } from '../utilities/style/theme';\nimport { anchorMenuItemTag } from '../anchor-menu-item';\n\nexport const styles = css`\n ${display('grid')}\n\n :host {\n background: ${applicationBackgroundColor};\n border: ${borderWidth} solid ${popupBorderColor};\n margin: 0;\n min-width: ${menuMinWidth};\n width: max-content;\n box-shadow: ${elevation2BoxShadow};\n }\n\n slot {\n padding: 4px;\n display: block;\n }\n\n :host([slot='submenu']) {\n margin: 0 ${mediumPadding};\n cursor: default;\n }\n\n ::slotted(*) {\n padding-left: 8px;\n padding-right: 8px;\n }\n\n ::slotted(hr) {\n box-sizing: border-box;\n height: 2px;\n margin: ${smallPadding};\n border: none;\n background: ${borderColor};\n opacity: 0.1;\n }\n\n ::slotted(header) {\n display: flex;\n font: ${groupHeaderFont};\n color: ${groupHeaderFontColor};\n text-transform: ${groupHeaderTextTransform};\n padding-top: ${smallPadding};\n padding-bottom: ${smallPadding};\n }\n\n ::slotted(${anchorMenuItemTag}) {\n padding: 0px;\n }\n`.withBehaviors(\n themeBehavior(\n Theme.color,\n css`\n slot {\n background: ${hexToRgbaCssColor(White, 0.15)};\n }\n `\n )\n);\n"]}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/menu/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,kDAAkD,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,OAAO,EACH,0BAA0B,EAC1B,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,YAAY,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;sBAGC,0BAA0B;kBAC9B,WAAW,UAAU,gBAAgB;;qBAElC,YAAY;;sBAEX,mBAAmB;;;;;;;;;oBASrB,aAAa;;;;;;;;;;;;kBAYf,YAAY;;sBAER,WAAW;;;;;;gBAMjB,eAAe;iBACd,oBAAoB;0BACX,wBAAwB;uBAC3B,YAAY;0BACT,YAAY;;;gBAGtB,iBAAiB;;;CAGhC,CAAC,aAAa,CACX,aAAa,CACT,KAAK,CAAC,KAAK,EACX,GAAG,CAAA;;8BAEmB,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 { display } from '../utilities/style/display';\n\nimport {\n applicationBackgroundColor,\n borderWidth,\n borderColor,\n popupBorderColor,\n groupHeaderFont,\n groupHeaderTextTransform,\n groupHeaderFontColor,\n smallPadding,\n mediumPadding,\n elevation2BoxShadow,\n menuMinWidth\n} from '../theme-provider/design-tokens';\nimport { Theme } from '../theme-provider/types';\nimport { hexToRgbaCssColor } from '../utilities/style/colors';\nimport { themeBehavior } from '../utilities/style/theme';\nimport { anchorMenuItemTag } from '../anchor-menu-item';\n\nexport const styles = css`\n ${display('grid')}\n\n :host {\n background: ${applicationBackgroundColor};\n border: ${borderWidth} solid ${popupBorderColor};\n margin: 0;\n min-width: ${menuMinWidth};\n width: max-content;\n box-shadow: ${elevation2BoxShadow};\n }\n\n slot {\n padding: 4px;\n display: block;\n }\n\n :host([slot='submenu']) {\n margin: 0 ${mediumPadding};\n cursor: default;\n }\n\n ::slotted(*) {\n padding-left: 8px;\n padding-right: 8px;\n }\n\n ::slotted(hr) {\n box-sizing: border-box;\n height: 2px;\n margin: ${smallPadding};\n border: none;\n background: ${borderColor};\n opacity: 0.1;\n }\n\n ::slotted(header) {\n display: flex;\n font: ${groupHeaderFont};\n color: ${groupHeaderFontColor};\n text-transform: ${groupHeaderTextTransform};\n padding-top: ${smallPadding};\n padding-bottom: ${smallPadding};\n }\n\n ::slotted(${anchorMenuItemTag}) {\n padding: 0px;\n }\n`.withBehaviors(\n themeBehavior(\n Theme.color,\n css`\n slot {\n background: ${hexToRgbaCssColor(White, 0.15)};\n }\n `\n )\n);\n"]}
@@ -1,4 +1,4 @@
1
- import { type ViewTemplate } from '@microsoft/fast-element';
2
- import type { FoundationElementTemplate } from '@microsoft/fast-foundation';
1
+ import { type ViewTemplate } from '@ni/fast-element';
2
+ import type { FoundationElementTemplate } from '@ni/fast-foundation';
3
3
  import type { Menu } from '.';
4
4
  export declare const template: FoundationElementTemplate<ViewTemplate<Menu>>;
@@ -1,4 +1,4 @@
1
- import { children, html, slotted } from '@microsoft/fast-element';
1
+ import { children, html, slotted } from '@ni/fast-element';
2
2
  /* eslint-disable @typescript-eslint/indent */
3
3
  // prettier-ignore
4
4
  export const template = () => html `
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/menu/template.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,IAAI,EACJ,OAAO,EAEV,MAAM,yBAAyB,CAAC;AAIjC,8CAA8C;AAC9C,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAEjB,GAAG,EAAE,CAAC,IAAI,CAAA;;gBAEE,CAAC,CAAC,EAAE;IACR,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;;oBAEW,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAsB,CAAC;qBACtD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAmB,CAAC;UAC5D,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,6BAA6B,EAAE,CAAC;;gBAEhH,OAAO,CAAC,OAAO,CAAC;;CAE/B,CAAC;AACF,6CAA6C","sourcesContent":["import {\n children,\n html,\n slotted,\n type ViewTemplate\n} from '@microsoft/fast-element';\nimport type { FoundationElementTemplate } from '@microsoft/fast-foundation';\nimport type { Menu } from '.';\n\n/* eslint-disable @typescript-eslint/indent */\n// prettier-ignore\nexport const template: FoundationElementTemplate<\nViewTemplate<Menu>\n> = () => html`\n <template\n slot=\"${x => {\n if (x.slot) {\n return x.slot;\n }\n return x.isNestedMenu() ? 'submenu' : undefined;\n }}\"\n role=\"menu\"\n @keydown=\"${(x, c) => x.handleMenuKeyDown(c.event as KeyboardEvent)}\"\n @focusout=\"${(x, c) => x.handleFocusOut(c.event as FocusEvent)}\"\n ${children({ property: 'itemIcons', subtree: true, attributeFilter: ['slot'], selector: ':scope > * > [slot=\"start\"]' })}\n >\n <slot ${slotted('items')}></slot>\n </template>\n`;\n/* eslint-enable @typescript-eslint/indent */\n"]}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/menu/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAqB,MAAM,kBAAkB,CAAC;AAI9E,8CAA8C;AAC9C,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAEjB,GAAG,EAAE,CAAC,IAAI,CAAA;;gBAEE,CAAC,CAAC,EAAE;IACR,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;;oBAEW,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAsB,CAAC;qBACtD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAmB,CAAC;UAC5D,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,6BAA6B,EAAE,CAAC;;gBAEhH,OAAO,CAAC,OAAO,CAAC;;CAE/B,CAAC;AACF,6CAA6C","sourcesContent":["import { children, html, slotted, type ViewTemplate } from '@ni/fast-element';\nimport type { FoundationElementTemplate } from '@ni/fast-foundation';\nimport type { Menu } from '.';\n\n/* eslint-disable @typescript-eslint/indent */\n// prettier-ignore\nexport const template: FoundationElementTemplate<\nViewTemplate<Menu>\n> = () => html`\n <template\n slot=\"${x => {\n if (x.slot) {\n return x.slot;\n }\n return x.isNestedMenu() ? 'submenu' : undefined;\n }}\"\n role=\"menu\"\n @keydown=\"${(x, c) => x.handleMenuKeyDown(c.event as KeyboardEvent)}\"\n @focusout=\"${(x, c) => x.handleFocusOut(c.event as FocusEvent)}\"\n ${children({ property: 'itemIcons', subtree: true, attributeFilter: ['slot'], selector: ':scope > * > [slot=\"start\"]' })}\n >\n <slot ${slotted('items')}></slot>\n </template>\n`;\n/* eslint-enable @typescript-eslint/indent */\n"]}
@@ -1,4 +1,4 @@
1
- import { FoundationElement } from '@microsoft/fast-foundation';
1
+ import { FoundationElement } from '@ni/fast-foundation';
2
2
  import { ButtonAppearance, ButtonAppearanceVariant, MenuButtonPosition } from './types';
3
3
  import type { ToggleButton } from '../toggle-button';
4
4
  import type { ButtonPattern } from '../patterns/button/types';
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
- import { attr, nullableNumberConverter, observable } from '@microsoft/fast-element';
3
- import { DesignSystem, FoundationElement } from '@microsoft/fast-foundation';
4
- import { eventChange, keyArrowDown, keyArrowUp, keyEscape } from '@microsoft/fast-web-utilities';
2
+ import { attr, nullableNumberConverter, observable } from '@ni/fast-element';
3
+ import { DesignSystem, FoundationElement } from '@ni/fast-foundation';
4
+ import { eventChange, keyArrowDown, keyArrowUp, keyEscape } from '@ni/fast-web-utilities';
5
5
  import { ButtonAppearance, ButtonAppearanceVariant, MenuButtonPosition } from './types';
6
6
  import { styles } from './styles';
7
7
  import { template } from './template';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/menu-button/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n attr,\n nullableNumberConverter,\n observable\n} from '@microsoft/fast-element';\nimport { DesignSystem, FoundationElement } from '@microsoft/fast-foundation';\nimport {\n eventChange,\n keyArrowDown,\n keyArrowUp,\n keyEscape\n} from '@microsoft/fast-web-utilities';\nimport {\n ButtonAppearance,\n ButtonAppearanceVariant,\n type MenuButtonToggleEventDetail,\n MenuButtonPosition\n} from './types';\nimport type { ToggleButton } from '../toggle-button';\nimport { styles } from './styles';\nimport { template } from './template';\nimport type { ButtonPattern } from '../patterns/button/types';\nimport type { AnchoredRegion } from '../anchored-region';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-menu-button': MenuButton;\n }\n}\n\n/**\n * A nimble-styled menu button control.\n */\nexport class MenuButton extends FoundationElement implements ButtonPattern {\n @attr\n public appearance: ButtonAppearance = ButtonAppearance.outline;\n\n @attr({ attribute: 'appearance-variant' })\n public appearanceVariant: ButtonAppearanceVariant;\n\n @attr({ mode: 'boolean' })\n public disabled = false;\n\n @attr({ attribute: 'content-hidden', mode: 'boolean' })\n public contentHidden = false;\n\n @attr({ attribute: 'tabindex', converter: nullableNumberConverter })\n public override tabIndex!: number;\n\n /**\n * Specifies whether or not the menu is open.\n */\n @attr({ mode: 'boolean' })\n public open = false;\n\n /**\n * Configures where the menu should be placed relative to the button that opens the menu.\n */\n @attr({ attribute: 'position' })\n public position: MenuButtonPosition = MenuButtonPosition.auto;\n\n /** @internal */\n @observable\n public readonly toggleButton?: ToggleButton;\n\n /** @internal */\n @observable\n public readonly region?: AnchoredRegion;\n\n /** @internal */\n @observable\n public readonly slottedMenus?: HTMLElement[];\n\n /**\n * Used to maintain the internal state of whether the last menu item should be focused instead\n * of the first menu item the next time the menu is opened.\n */\n private focusLastItemWhenOpened = false;\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this.region) {\n this.region.removeEventListener(\n eventChange,\n this.menuChangeHandler\n );\n }\n }\n\n public toggleButtonChanged(\n _prev: ToggleButton | undefined,\n _next: ToggleButton | undefined\n ): void {\n if (this.region && this.toggleButton) {\n this.region.anchorElement = this.toggleButton;\n }\n }\n\n public regionChanged(\n prev: AnchoredRegion | undefined,\n _next: AnchoredRegion | undefined\n ): void {\n if (prev) {\n prev.removeEventListener(eventChange, this.menuChangeHandler);\n }\n\n if (this.region) {\n if (this.toggleButton) {\n this.region.anchorElement = this.toggleButton;\n }\n this.region.addEventListener(eventChange, this.menuChangeHandler, {\n capture: true\n });\n }\n }\n\n public openChanged(_prev: boolean | undefined, _next: boolean): void {\n if (this.toggleButton) {\n this.toggleButton.checked = this.open;\n }\n\n if (!this.open) {\n // Only fire an event here if the menu is changing to being closed. Otherwise,\n // wait until the menu is actually opened before firing the event.\n const eventDetail: MenuButtonToggleEventDetail = {\n oldState: true,\n newState: false\n };\n this.$emit('toggle', eventDetail);\n }\n }\n\n public regionLoadedHandler(): void {\n if (this.focusLastItemWhenOpened) {\n this.focusLastMenuItem();\n this.focusLastItemWhenOpened = false;\n } else {\n this.focusMenu();\n }\n\n const eventDetail: MenuButtonToggleEventDetail = {\n oldState: false,\n newState: true\n };\n this.$emit('toggle', eventDetail);\n }\n\n public focusoutHandler(e: FocusEvent): boolean {\n if (!this.open) {\n return true;\n }\n\n const focusTarget = e.relatedTarget as HTMLElement;\n if (\n !this.contains(focusTarget)\n && !this.getMenu()?.contains(focusTarget)\n ) {\n this.setOpen(false);\n return false;\n }\n\n return true;\n }\n\n public toggleButtonCheckedChangeHandler(e: Event): boolean {\n this.setOpen(this.toggleButton!.checked);\n // Don't bubble the 'change' event from the toggle button because\n // the menu button has its own 'toggle' event.\n e.stopPropagation();\n return false;\n }\n\n public toggleButtonKeyDownHandler(e: KeyboardEvent): boolean {\n switch (e.key) {\n case keyArrowUp:\n this.focusLastItemWhenOpened = true;\n this.setOpen(true);\n return false;\n case keyArrowDown:\n this.setOpen(true);\n return false;\n default:\n return true;\n }\n }\n\n public menuKeyDownHandler(e: KeyboardEvent): boolean {\n switch (e.key) {\n case keyEscape:\n this.setOpen(false);\n this.toggleButton!.focus();\n return false;\n default:\n return true;\n }\n }\n\n private setOpen(newValue: boolean): void {\n if (this.open === newValue) {\n return;\n }\n\n const eventDetail: MenuButtonToggleEventDetail = {\n oldState: this.open,\n newState: newValue\n };\n this.$emit('beforetoggle', eventDetail);\n\n this.open = newValue;\n }\n\n private getMenu(): HTMLElement | undefined {\n // Get the menu that is slotted within the menu-button, taking into account\n // that it may be nested within multiple 'slot' elements, such as when used\n // within a table.\n if (!this.slottedMenus?.length) {\n return undefined;\n }\n\n let currentItem: HTMLElement | undefined = this.slottedMenus[0];\n while (currentItem) {\n if (currentItem.getAttribute('role') === 'menu') {\n return currentItem;\n }\n\n if (this.isSlotElement(currentItem)) {\n const firstNode = currentItem.assignedNodes()[0];\n if (firstNode instanceof HTMLElement) {\n currentItem = firstNode;\n } else {\n currentItem = undefined;\n }\n } else {\n return undefined;\n }\n }\n\n return undefined;\n }\n\n private isSlotElement(\n element: HTMLElement | undefined\n ): element is HTMLSlotElement {\n return element?.nodeName === 'SLOT';\n }\n\n private focusMenu(): void {\n this.getMenu()?.focus();\n }\n\n private focusLastMenuItem(): void {\n const menuItems = this.getMenu()?.querySelectorAll('[role=menuitem]');\n if (menuItems?.length) {\n const lastMenuItem = menuItems[menuItems.length - 1] as HTMLElement;\n lastMenuItem.focus();\n }\n }\n\n private readonly menuChangeHandler = (): void => {\n this.setOpen(false);\n this.toggleButton!.focus();\n };\n}\n\nconst nimbleMenuButton = MenuButton.compose({\n baseName: 'menu-button',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenuButton());\nexport const menuButtonTag = 'nimble-menu-button';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/menu-button/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { attr, nullableNumberConverter, observable } from '@ni/fast-element';\nimport { DesignSystem, FoundationElement } from '@ni/fast-foundation';\nimport {\n eventChange,\n keyArrowDown,\n keyArrowUp,\n keyEscape\n} from '@ni/fast-web-utilities';\nimport {\n ButtonAppearance,\n ButtonAppearanceVariant,\n type MenuButtonToggleEventDetail,\n MenuButtonPosition\n} from './types';\nimport type { ToggleButton } from '../toggle-button';\nimport { styles } from './styles';\nimport { template } from './template';\nimport type { ButtonPattern } from '../patterns/button/types';\nimport type { AnchoredRegion } from '../anchored-region';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-menu-button': MenuButton;\n }\n}\n\n/**\n * A nimble-styled menu button control.\n */\nexport class MenuButton extends FoundationElement implements ButtonPattern {\n @attr\n public appearance: ButtonAppearance = ButtonAppearance.outline;\n\n @attr({ attribute: 'appearance-variant' })\n public appearanceVariant: ButtonAppearanceVariant;\n\n @attr({ mode: 'boolean' })\n public disabled = false;\n\n @attr({ attribute: 'content-hidden', mode: 'boolean' })\n public contentHidden = false;\n\n @attr({ attribute: 'tabindex', converter: nullableNumberConverter })\n public override tabIndex!: number;\n\n /**\n * Specifies whether or not the menu is open.\n */\n @attr({ mode: 'boolean' })\n public open = false;\n\n /**\n * Configures where the menu should be placed relative to the button that opens the menu.\n */\n @attr({ attribute: 'position' })\n public position: MenuButtonPosition = MenuButtonPosition.auto;\n\n /** @internal */\n @observable\n public readonly toggleButton?: ToggleButton;\n\n /** @internal */\n @observable\n public readonly region?: AnchoredRegion;\n\n /** @internal */\n @observable\n public readonly slottedMenus?: HTMLElement[];\n\n /**\n * Used to maintain the internal state of whether the last menu item should be focused instead\n * of the first menu item the next time the menu is opened.\n */\n private focusLastItemWhenOpened = false;\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this.region) {\n this.region.removeEventListener(\n eventChange,\n this.menuChangeHandler\n );\n }\n }\n\n public toggleButtonChanged(\n _prev: ToggleButton | undefined,\n _next: ToggleButton | undefined\n ): void {\n if (this.region && this.toggleButton) {\n this.region.anchorElement = this.toggleButton;\n }\n }\n\n public regionChanged(\n prev: AnchoredRegion | undefined,\n _next: AnchoredRegion | undefined\n ): void {\n if (prev) {\n prev.removeEventListener(eventChange, this.menuChangeHandler);\n }\n\n if (this.region) {\n if (this.toggleButton) {\n this.region.anchorElement = this.toggleButton;\n }\n this.region.addEventListener(eventChange, this.menuChangeHandler, {\n capture: true\n });\n }\n }\n\n public openChanged(_prev: boolean | undefined, _next: boolean): void {\n if (this.toggleButton) {\n this.toggleButton.checked = this.open;\n }\n\n if (!this.open) {\n // Only fire an event here if the menu is changing to being closed. Otherwise,\n // wait until the menu is actually opened before firing the event.\n const eventDetail: MenuButtonToggleEventDetail = {\n oldState: true,\n newState: false\n };\n this.$emit('toggle', eventDetail);\n }\n }\n\n public regionLoadedHandler(): void {\n if (this.focusLastItemWhenOpened) {\n this.focusLastMenuItem();\n this.focusLastItemWhenOpened = false;\n } else {\n this.focusMenu();\n }\n\n const eventDetail: MenuButtonToggleEventDetail = {\n oldState: false,\n newState: true\n };\n this.$emit('toggle', eventDetail);\n }\n\n public focusoutHandler(e: FocusEvent): boolean {\n if (!this.open) {\n return true;\n }\n\n const focusTarget = e.relatedTarget as HTMLElement;\n if (\n !this.contains(focusTarget)\n && !this.getMenu()?.contains(focusTarget)\n ) {\n this.setOpen(false);\n return false;\n }\n\n return true;\n }\n\n public toggleButtonCheckedChangeHandler(e: Event): boolean {\n this.setOpen(this.toggleButton!.checked);\n // Don't bubble the 'change' event from the toggle button because\n // the menu button has its own 'toggle' event.\n e.stopPropagation();\n return false;\n }\n\n public toggleButtonKeyDownHandler(e: KeyboardEvent): boolean {\n switch (e.key) {\n case keyArrowUp:\n this.focusLastItemWhenOpened = true;\n this.setOpen(true);\n return false;\n case keyArrowDown:\n this.setOpen(true);\n return false;\n default:\n return true;\n }\n }\n\n public menuKeyDownHandler(e: KeyboardEvent): boolean {\n switch (e.key) {\n case keyEscape:\n this.setOpen(false);\n this.toggleButton!.focus();\n return false;\n default:\n return true;\n }\n }\n\n private setOpen(newValue: boolean): void {\n if (this.open === newValue) {\n return;\n }\n\n const eventDetail: MenuButtonToggleEventDetail = {\n oldState: this.open,\n newState: newValue\n };\n this.$emit('beforetoggle', eventDetail);\n\n this.open = newValue;\n }\n\n private getMenu(): HTMLElement | undefined {\n // Get the menu that is slotted within the menu-button, taking into account\n // that it may be nested within multiple 'slot' elements, such as when used\n // within a table.\n if (!this.slottedMenus?.length) {\n return undefined;\n }\n\n let currentItem: HTMLElement | undefined = this.slottedMenus[0];\n while (currentItem) {\n if (currentItem.getAttribute('role') === 'menu') {\n return currentItem;\n }\n\n if (this.isSlotElement(currentItem)) {\n const firstNode = currentItem.assignedNodes()[0];\n if (firstNode instanceof HTMLElement) {\n currentItem = firstNode;\n } else {\n currentItem = undefined;\n }\n } else {\n return undefined;\n }\n }\n\n return undefined;\n }\n\n private isSlotElement(\n element: HTMLElement | undefined\n ): element is HTMLSlotElement {\n return element?.nodeName === 'SLOT';\n }\n\n private focusMenu(): void {\n this.getMenu()?.focus();\n }\n\n private focusLastMenuItem(): void {\n const menuItems = this.getMenu()?.querySelectorAll('[role=menuitem]');\n if (menuItems?.length) {\n const lastMenuItem = menuItems[menuItems.length - 1] as HTMLElement;\n lastMenuItem.focus();\n }\n }\n\n private readonly menuChangeHandler = (): void => {\n this.setOpen(false);\n this.toggleButton!.focus();\n };\n}\n\nconst nimbleMenuButton = MenuButton.compose({\n baseName: 'menu-button',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenuButton());\nexport const menuButtonTag = 'nimble-menu-button';\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 { display } from '../utilities/style/display';
3
3
  import { controlHeight, smallPadding } from '../theme-provider/design-tokens';
4
4
  export const styles = css `
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/menu-button/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE9E,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,cAAc,CAAC;;;kBAGX,aAAa;;;;;;;;;sBAST,YAAY;yBACT,YAAY;;CAEpC,CAAC","sourcesContent":["import { css } from '@microsoft/fast-element';\nimport { display } from '../utilities/style/display';\nimport { controlHeight, smallPadding } from '../theme-provider/design-tokens';\n\nexport const styles = css`\n ${display('inline-block')}\n\n :host {\n height: ${controlHeight};\n }\n\n [part='button'] {\n width: 100%;\n height: 100%;\n }\n\n slot[name='menu']::slotted(*) {\n margin-top: ${smallPadding};\n margin-bottom: ${smallPadding};\n }\n`;\n"]}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/menu-button/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE9E,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,cAAc,CAAC;;;kBAGX,aAAa;;;;;;;;;sBAST,YAAY;yBACT,YAAY;;CAEpC,CAAC","sourcesContent":["import { css } from '@ni/fast-element';\nimport { display } from '../utilities/style/display';\nimport { controlHeight, smallPadding } from '../theme-provider/design-tokens';\n\nexport const styles = css`\n ${display('inline-block')}\n\n :host {\n height: ${controlHeight};\n }\n\n [part='button'] {\n width: 100%;\n height: 100%;\n }\n\n slot[name='menu']::slotted(*) {\n margin-top: ${smallPadding};\n margin-bottom: ${smallPadding};\n }\n`;\n"]}
@@ -1,2 +1,2 @@
1
1
  import type { MenuButton } from '.';
2
- export declare const template: import("@microsoft/fast-element").ViewTemplate<MenuButton, any>;
2
+ export declare const template: import("@ni/fast-element").ViewTemplate<MenuButton, any>;
@@ -1,4 +1,4 @@
1
- import { html, ref, slotted, when } from '@microsoft/fast-element';
1
+ import { html, ref, slotted, when } from '@ni/fast-element';
2
2
  import { toggleButtonTag } from '../toggle-button';
3
3
  import { anchoredRegionTag } from '../anchored-region';
4
4
  // prettier-ignore
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/menu-button/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAY;;iBAEvB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;qBACP,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAmB,CAAC;;WAE5D,eAAe;;0BAEA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;kCACT,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB;+BAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa;wBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;yBACV,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;wBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;;6BAEV,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;uBACjB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,KAAK,CAAC;wBACpD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,KAAsB,CAAC;cAC1E,GAAG,CAAC,cAAc,CAAC;;;cAGnB,EAAE,CAAC,wFAAwF;;;;YAI7F,eAAe;UACjB,IAAI,CACN,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EACX,IAAI,CAAY;eACT,iBAAiB;;;;;6CAKa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;6CAC1D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;2BAClE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE;4BAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAsB,CAAC;kBAClE,GAAG,CAAC,QAAQ,CAAC;;;wCAGS,OAAO,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;;gBAE7D,iBAAiB;SACxB,CACJ;;CAEJ,CAAC","sourcesContent":["import { html, ref, slotted, when } from '@microsoft/fast-element';\nimport type { MenuButton } from '.';\nimport { toggleButtonTag } from '../toggle-button';\nimport { anchoredRegionTag } from '../anchored-region';\n\n// prettier-ignore\nexport const template = html<MenuButton>`\n <template\n ?open=\"${x => x.open}\"\n @focusout=\"${(x, c) => x.focusoutHandler(c.event as FocusEvent)}\"\n >\n <${toggleButtonTag}\n part=\"button\"\n appearance=\"${x => x.appearance}\"\n appearance-variant=\"${x => x.appearanceVariant}\"\n ?content-hidden=\"${x => x.contentHidden}\"\n ?checked=\"${x => x.open}\"\n ?disabled=\"${x => x.disabled}\"\n tabindex=\"${x => x.tabIndex}\"\n aria-haspopup=\"true\"\n aria-expanded=\"${x => x.open}\"\n @change=\"${(x, c) => x.toggleButtonCheckedChangeHandler(c.event)}\"\n @keydown=\"${(x, c) => x.toggleButtonKeyDownHandler(c.event as KeyboardEvent)}\"\n ${ref('toggleButton')}\n exportparts=\"start,end\"\n >\n ${'' /* Forward the contents of the 'start', 'end', and default slots to the toggle button */}\n <slot slot=\"start\" name=\"start\"></slot>\n <slot></slot>\n <slot slot=\"end\" name=\"end\"></slot>\n </${toggleButtonTag}>\n ${when(\n x => x.open,\n html<MenuButton>`\n <${anchoredRegionTag}\n fixed-placement=\"true\"\n auto-update-mode=\"auto\"\n horizontal-inset=\"true\"\n horizontal-positioning-mode=\"dynamic\"\n vertical-positioning-mode=\"${x => (x.position === 'auto' ? 'dynamic' : 'locktodefault')}\"\n vertical-default-position=\"${x => (x.position === 'above' ? 'top' : 'bottom')}\"\n @loaded=\"${x => x.regionLoadedHandler()}\"\n @keydown=\"${(x, c) => x.menuKeyDownHandler(c.event as KeyboardEvent)}\"\n ${ref('region')}\n >\n <span part=\"menu\">\n <slot name=\"menu\" ${slotted({ property: 'slottedMenus' })}></slot>\n </span>\n </${anchoredRegionTag}>\n `\n )}\n </template>\n`;\n"]}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/menu-button/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAY;;iBAEvB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;qBACP,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAmB,CAAC;;WAE5D,eAAe;;0BAEA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;kCACT,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB;+BAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa;wBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;yBACV,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;wBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;;6BAEV,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;uBACjB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,KAAK,CAAC;wBACpD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,KAAsB,CAAC;cAC1E,GAAG,CAAC,cAAc,CAAC;;;cAGnB,EAAE,CAAC,wFAAwF;;;;YAI7F,eAAe;UACjB,IAAI,CACN,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EACX,IAAI,CAAY;eACT,iBAAiB;;;;;6CAKa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;6CAC1D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;2BAClE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE;4BAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAsB,CAAC;kBAClE,GAAG,CAAC,QAAQ,CAAC;;;wCAGS,OAAO,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;;gBAE7D,iBAAiB;SACxB,CACJ;;CAEJ,CAAC","sourcesContent":["import { html, ref, slotted, when } from '@ni/fast-element';\nimport type { MenuButton } from '.';\nimport { toggleButtonTag } from '../toggle-button';\nimport { anchoredRegionTag } from '../anchored-region';\n\n// prettier-ignore\nexport const template = html<MenuButton>`\n <template\n ?open=\"${x => x.open}\"\n @focusout=\"${(x, c) => x.focusoutHandler(c.event as FocusEvent)}\"\n >\n <${toggleButtonTag}\n part=\"button\"\n appearance=\"${x => x.appearance}\"\n appearance-variant=\"${x => x.appearanceVariant}\"\n ?content-hidden=\"${x => x.contentHidden}\"\n ?checked=\"${x => x.open}\"\n ?disabled=\"${x => x.disabled}\"\n tabindex=\"${x => x.tabIndex}\"\n aria-haspopup=\"true\"\n aria-expanded=\"${x => x.open}\"\n @change=\"${(x, c) => x.toggleButtonCheckedChangeHandler(c.event)}\"\n @keydown=\"${(x, c) => x.toggleButtonKeyDownHandler(c.event as KeyboardEvent)}\"\n ${ref('toggleButton')}\n exportparts=\"start,end\"\n >\n ${'' /* Forward the contents of the 'start', 'end', and default slots to the toggle button */}\n <slot slot=\"start\" name=\"start\"></slot>\n <slot></slot>\n <slot slot=\"end\" name=\"end\"></slot>\n </${toggleButtonTag}>\n ${when(\n x => x.open,\n html<MenuButton>`\n <${anchoredRegionTag}\n fixed-placement=\"true\"\n auto-update-mode=\"auto\"\n horizontal-inset=\"true\"\n horizontal-positioning-mode=\"dynamic\"\n vertical-positioning-mode=\"${x => (x.position === 'auto' ? 'dynamic' : 'locktodefault')}\"\n vertical-default-position=\"${x => (x.position === 'above' ? 'top' : 'bottom')}\"\n @loaded=\"${x => x.regionLoadedHandler()}\"\n @keydown=\"${(x, c) => x.menuKeyDownHandler(c.event as KeyboardEvent)}\"\n ${ref('region')}\n >\n <span part=\"menu\">\n <slot name=\"menu\" ${slotted({ property: 'slottedMenus' })}></slot>\n </span>\n </${anchoredRegionTag}>\n `\n )}\n </template>\n`;\n"]}
@@ -1,4 +1,4 @@
1
- import { keyArrowDown, keyArrowUp, keyEnter, keyEscape, keySpace } from '@microsoft/fast-web-utilities';
1
+ import { keyArrowDown, keyArrowUp, keyEnter, keyEscape, keySpace } from '@ni/fast-web-utilities';
2
2
  import { waitForEvent } from '../../utilities/testing/component';
3
3
  /**
4
4
  * Page object for `nimble-menu-button` component to provide consistent ways
@@ -1 +1 @@
1
- {"version":3,"file":"menu-button.pageobject.js","sourceRoot":"","sources":["../../../../src/menu-button/testing/menu-button.pageobject.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n keyArrowDown,\n keyArrowUp,\n keyEnter,\n keyEscape,\n keySpace\n} from '@microsoft/fast-web-utilities';\nimport type { MenuButton } from '..';\nimport { waitForEvent } from '../../utilities/testing/component';\n\n/**\n * Page object for `nimble-menu-button` component to provide consistent ways\n * of querying and interacting with the component during tests.\n *\n * This page object is intended to be used to interact with a `nimble-menu-button`,\n * not the menu slotted into the button or the menu items.\n */\nexport class MenuButtonPageObject {\n public constructor(protected readonly menuButtonElement: MenuButton) {}\n\n /**\n * @returns Whether or not the menu is open.\n */\n public isOpen(): boolean {\n return this.menuButtonElement.open;\n }\n\n /**\n * Opens the menu.\n * @returns A promise that resolves when the menu opens.\n */\n public async openMenu(): Promise<void> {\n if (this.isOpen()) {\n return;\n }\n\n const toggleEventPromise = waitForEvent(\n this.menuButtonElement,\n 'toggle'\n );\n this.clickMenuButton();\n await toggleEventPromise;\n }\n\n /**\n * Closes the menu by pressing Escape.\n * Throws an error if the menu is not open.\n */\n public closeMenuWithEscape(): void {\n if (!this.isOpen()) {\n throw new Error('Cannot close menu when it is not open');\n }\n\n const event = new KeyboardEvent('keydown', {\n key: keyEscape\n });\n this.menuButtonElement.region!.dispatchEvent(event);\n }\n\n /**\n * Gets the text in the menu button.\n * @returns The trimmed text that is slotted into the menu button.\n */\n public getLabelText(): string {\n return this.menuButtonElement.textContent?.trim() ?? '';\n }\n\n /**\n * @returns Whether or not the menu button is focused.\n */\n public isFocused(): boolean {\n return this.menuButtonElement.shadowRoot?.activeElement !== null;\n }\n\n /**\n * @internal\n * Focuses and clicks the menu button.\n */\n public clickMenuButton(): void {\n // Focus the menu button before calling click() because ordinarily a mouse click\n // would bring focus to the button, but calling click() directly does not.\n this.menuButtonElement.focus();\n this.menuButtonElement.toggleButton!.control.click();\n }\n\n /**\n * @internal\n * Presses the Enter key on the menu button.\n */\n public pressEnterKey(): void {\n // Focus the menu button before dispatching the event because a key event only makes sense on a focused element.\n this.menuButtonElement.focus();\n const event = new KeyboardEvent('keypress', {\n key: keyEnter\n });\n this.menuButtonElement.toggleButton!.control.dispatchEvent(event);\n }\n\n /**\n * @internal\n * Presses the Space key on the menu button.\n */\n public pressSpaceKey(): void {\n // Focus the menu button before dispatching the event because a key event only makes sense on a focused element.\n this.menuButtonElement.focus();\n const event = new KeyboardEvent('keypress', {\n key: keySpace\n });\n this.menuButtonElement.toggleButton!.control.dispatchEvent(event);\n }\n\n /**\n * @internal\n * Presses the Arrow Up key on the menu button.\n */\n public pressArrowUpKey(): void {\n // Focus the menu button before dispatching the event because a key event only makes sense on a focused element.\n this.menuButtonElement.focus();\n const event = new KeyboardEvent('keydown', {\n key: keyArrowUp\n });\n this.menuButtonElement.toggleButton!.dispatchEvent(event);\n }\n\n /**\n * @internal\n * Presses the Arrow Down key on the menu button.\n */\n public pressArrowDownKey(): void {\n // Focus the menu button before dispatching the event because a key event only makes sense on a focused element.\n this.menuButtonElement.focus();\n const event = new KeyboardEvent('keydown', {\n key: keyArrowDown\n });\n this.menuButtonElement.toggleButton!.dispatchEvent(event);\n }\n\n /**\n * @internal\n */\n public getTitle(): string {\n return this.menuButtonElement.title;\n }\n\n /**\n * @internal\n */\n public dispatchEvent(event: Event): void {\n this.menuButtonElement.dispatchEvent(event);\n }\n}\n"]}
1
+ {"version":3,"file":"menu-button.pageobject.js","sourceRoot":"","sources":["../../../../src/menu-button/testing/menu-button.pageobject.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n keyArrowDown,\n keyArrowUp,\n keyEnter,\n keyEscape,\n keySpace\n} from '@ni/fast-web-utilities';\nimport type { MenuButton } from '..';\nimport { waitForEvent } from '../../utilities/testing/component';\n\n/**\n * Page object for `nimble-menu-button` component to provide consistent ways\n * of querying and interacting with the component during tests.\n *\n * This page object is intended to be used to interact with a `nimble-menu-button`,\n * not the menu slotted into the button or the menu items.\n */\nexport class MenuButtonPageObject {\n public constructor(protected readonly menuButtonElement: MenuButton) {}\n\n /**\n * @returns Whether or not the menu is open.\n */\n public isOpen(): boolean {\n return this.menuButtonElement.open;\n }\n\n /**\n * Opens the menu.\n * @returns A promise that resolves when the menu opens.\n */\n public async openMenu(): Promise<void> {\n if (this.isOpen()) {\n return;\n }\n\n const toggleEventPromise = waitForEvent(\n this.menuButtonElement,\n 'toggle'\n );\n this.clickMenuButton();\n await toggleEventPromise;\n }\n\n /**\n * Closes the menu by pressing Escape.\n * Throws an error if the menu is not open.\n */\n public closeMenuWithEscape(): void {\n if (!this.isOpen()) {\n throw new Error('Cannot close menu when it is not open');\n }\n\n const event = new KeyboardEvent('keydown', {\n key: keyEscape\n });\n this.menuButtonElement.region!.dispatchEvent(event);\n }\n\n /**\n * Gets the text in the menu button.\n * @returns The trimmed text that is slotted into the menu button.\n */\n public getLabelText(): string {\n return this.menuButtonElement.textContent?.trim() ?? '';\n }\n\n /**\n * @returns Whether or not the menu button is focused.\n */\n public isFocused(): boolean {\n return this.menuButtonElement.shadowRoot?.activeElement !== null;\n }\n\n /**\n * @internal\n * Focuses and clicks the menu button.\n */\n public clickMenuButton(): void {\n // Focus the menu button before calling click() because ordinarily a mouse click\n // would bring focus to the button, but calling click() directly does not.\n this.menuButtonElement.focus();\n this.menuButtonElement.toggleButton!.control.click();\n }\n\n /**\n * @internal\n * Presses the Enter key on the menu button.\n */\n public pressEnterKey(): void {\n // Focus the menu button before dispatching the event because a key event only makes sense on a focused element.\n this.menuButtonElement.focus();\n const event = new KeyboardEvent('keypress', {\n key: keyEnter\n });\n this.menuButtonElement.toggleButton!.control.dispatchEvent(event);\n }\n\n /**\n * @internal\n * Presses the Space key on the menu button.\n */\n public pressSpaceKey(): void {\n // Focus the menu button before dispatching the event because a key event only makes sense on a focused element.\n this.menuButtonElement.focus();\n const event = new KeyboardEvent('keypress', {\n key: keySpace\n });\n this.menuButtonElement.toggleButton!.control.dispatchEvent(event);\n }\n\n /**\n * @internal\n * Presses the Arrow Up key on the menu button.\n */\n public pressArrowUpKey(): void {\n // Focus the menu button before dispatching the event because a key event only makes sense on a focused element.\n this.menuButtonElement.focus();\n const event = new KeyboardEvent('keydown', {\n key: keyArrowUp\n });\n this.menuButtonElement.toggleButton!.dispatchEvent(event);\n }\n\n /**\n * @internal\n * Presses the Arrow Down key on the menu button.\n */\n public pressArrowDownKey(): void {\n // Focus the menu button before dispatching the event because a key event only makes sense on a focused element.\n this.menuButtonElement.focus();\n const event = new KeyboardEvent('keydown', {\n key: keyArrowDown\n });\n this.menuButtonElement.toggleButton!.dispatchEvent(event);\n }\n\n /**\n * @internal\n */\n public getTitle(): string {\n return this.menuButtonElement.title;\n }\n\n /**\n * @internal\n */\n public dispatchEvent(event: Event): void {\n this.menuButtonElement.dispatchEvent(event);\n }\n}\n"]}