@ni/nimble-components 32.11.1 → 32.11.2

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 (180) hide show
  1. package/dist/all-components-bundle.js.map +1 -1
  2. package/dist/all-components-bundle.min.js.map +1 -1
  3. package/dist/esm/anchor/index.js.map +1 -1
  4. package/dist/esm/anchor/template.js +1 -1
  5. package/dist/esm/anchor/template.js.map +1 -1
  6. package/dist/esm/anchor-button/index.d.ts +1 -1
  7. package/dist/esm/anchor-button/index.js +1 -1
  8. package/dist/esm/anchor-button/index.js.map +1 -1
  9. package/dist/esm/anchor-button/template.d.ts +1 -1
  10. package/dist/esm/anchor-button/template.js +1 -1
  11. package/dist/esm/anchor-button/template.js.map +1 -1
  12. package/dist/esm/anchor-menu-item/index.d.ts +1 -1
  13. package/dist/esm/anchor-menu-item/index.js.map +1 -1
  14. package/dist/esm/anchor-menu-item/template.d.ts +1 -1
  15. package/dist/esm/anchor-menu-item/template.js +1 -1
  16. package/dist/esm/anchor-menu-item/template.js.map +1 -1
  17. package/dist/esm/anchor-tab/index.d.ts +1 -1
  18. package/dist/esm/anchor-tab/index.js.map +1 -1
  19. package/dist/esm/anchor-tab/template.d.ts +1 -1
  20. package/dist/esm/anchor-tab/template.js +1 -1
  21. package/dist/esm/anchor-tab/template.js.map +1 -1
  22. package/dist/esm/anchor-tabs/index.d.ts +1 -1
  23. package/dist/esm/anchor-tabs/index.js.map +1 -1
  24. package/dist/esm/anchor-tree-item/index.js.map +1 -1
  25. package/dist/esm/anchor-tree-item/template.d.ts +1 -1
  26. package/dist/esm/anchor-tree-item/template.js +1 -1
  27. package/dist/esm/anchor-tree-item/template.js.map +1 -1
  28. package/dist/esm/banner/index.js.map +1 -1
  29. package/dist/esm/breadcrumb-item/index.js.map +1 -1
  30. package/dist/esm/button/index.js +1 -1
  31. package/dist/esm/button/index.js.map +1 -1
  32. package/dist/esm/button/template.d.ts +1 -1
  33. package/dist/esm/button/template.js.map +1 -1
  34. package/dist/esm/checkbox/index.js.map +1 -1
  35. package/dist/esm/combobox/index.js +2 -2
  36. package/dist/esm/combobox/index.js.map +1 -1
  37. package/dist/esm/label-provider/base/index.js +1 -1
  38. package/dist/esm/label-provider/base/index.js.map +1 -1
  39. package/dist/esm/label-provider/core/index.d.ts +1 -1
  40. package/dist/esm/label-provider/core/index.js.map +1 -1
  41. package/dist/esm/label-provider/rich-text/index.d.ts +1 -1
  42. package/dist/esm/label-provider/rich-text/index.js.map +1 -1
  43. package/dist/esm/label-provider/table/index.d.ts +1 -1
  44. package/dist/esm/label-provider/table/index.js.map +1 -1
  45. package/dist/esm/menu/menu.foundation.js.map +1 -1
  46. package/dist/esm/menu-button/index.js +1 -1
  47. package/dist/esm/menu-button/index.js.map +1 -1
  48. package/dist/esm/menu-item/index.js.map +1 -1
  49. package/dist/esm/number-field/index.js.map +1 -1
  50. package/dist/esm/number-field/template.d.ts +1 -1
  51. package/dist/esm/number-field/template.js.map +1 -1
  52. package/dist/esm/patterns/error/types.js +1 -1
  53. package/dist/esm/patterns/error/types.js.map +1 -1
  54. package/dist/esm/patterns/required-visible/template.js +1 -1
  55. package/dist/esm/patterns/required-visible/template.js.map +1 -1
  56. package/dist/esm/patterns/required-visible/types.js +1 -1
  57. package/dist/esm/patterns/required-visible/types.js.map +1 -1
  58. package/dist/esm/patterns/tabs/template.d.ts +1 -1
  59. package/dist/esm/patterns/tabs/template.js.map +1 -1
  60. package/dist/esm/radio/index.js.map +1 -1
  61. package/dist/esm/rich-text/editor/index.d.ts +1 -1
  62. package/dist/esm/rich-text/editor/index.js +1 -1
  63. package/dist/esm/rich-text/editor/index.js.map +1 -1
  64. package/dist/esm/rich-text/editor/models/create-tiptap-editor.d.ts +1 -1
  65. package/dist/esm/rich-text/editor/models/create-tiptap-editor.js +2 -2
  66. package/dist/esm/rich-text/editor/models/create-tiptap-editor.js.map +1 -1
  67. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.d.ts +1 -1
  68. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js +1 -1
  69. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js.map +1 -1
  70. package/dist/esm/rich-text/mention-listbox/index.js +1 -1
  71. package/dist/esm/rich-text/mention-listbox/index.js.map +1 -1
  72. package/dist/esm/rich-text/models/markdown-serializer.js +1 -1
  73. package/dist/esm/rich-text/models/markdown-serializer.js.map +1 -1
  74. package/dist/esm/rich-text-mention/base/index.d.ts +2 -2
  75. package/dist/esm/rich-text-mention/base/index.js.map +1 -1
  76. package/dist/esm/rich-text-mention/base/models/mention-internals.js +1 -1
  77. package/dist/esm/rich-text-mention/base/models/mention-internals.js.map +1 -1
  78. package/dist/esm/rich-text-mention/base/models/mention-validator.d.ts +1 -1
  79. package/dist/esm/rich-text-mention/base/models/mention-validator.js.map +1 -1
  80. package/dist/esm/select/index.d.ts +1 -1
  81. package/dist/esm/select/index.js +1 -1
  82. package/dist/esm/select/index.js.map +1 -1
  83. package/dist/esm/select/template.d.ts +1 -1
  84. package/dist/esm/select/template.js +1 -1
  85. package/dist/esm/select/template.js.map +1 -1
  86. package/dist/esm/switch/index.js.map +1 -1
  87. package/dist/esm/table/components/cell/index.js +1 -1
  88. package/dist/esm/table/components/cell/index.js.map +1 -1
  89. package/dist/esm/table/components/cell/template.js.map +1 -1
  90. package/dist/esm/table/components/group-row/index.d.ts +1 -1
  91. package/dist/esm/table/components/group-row/index.js.map +1 -1
  92. package/dist/esm/table/components/row/index.d.ts +1 -1
  93. package/dist/esm/table/components/row/index.js.map +1 -1
  94. package/dist/esm/table/index.d.ts +3 -2
  95. package/dist/esm/table/index.js +1 -1
  96. package/dist/esm/table/index.js.map +1 -1
  97. package/dist/esm/table/models/interactive-selection-manager.d.ts +2 -1
  98. package/dist/esm/table/models/interactive-selection-manager.js.map +1 -1
  99. package/dist/esm/table/models/keyboard-navigation-manager.d.ts +2 -2
  100. package/dist/esm/table/models/keyboard-navigation-manager.js.map +1 -1
  101. package/dist/esm/table/models/selection-managers/multi-selection-manager.d.ts +1 -1
  102. package/dist/esm/table/models/selection-managers/multi-selection-manager.js.map +1 -1
  103. package/dist/esm/table/models/selection-managers/selection-manager-base.d.ts +1 -1
  104. package/dist/esm/table/models/selection-managers/selection-manager-base.js.map +1 -1
  105. package/dist/esm/table/models/table-validator.d.ts +1 -1
  106. package/dist/esm/table/models/table-validator.js.map +1 -1
  107. package/dist/esm/table/models/virtualizer.d.ts +1 -1
  108. package/dist/esm/table/models/virtualizer.js.map +1 -1
  109. package/dist/esm/table/template.js +1 -1
  110. package/dist/esm/table/template.js.map +1 -1
  111. package/dist/esm/table/testing/table.pageobject.d.ts +1 -1
  112. package/dist/esm/table/testing/table.pageobject.js +1 -1
  113. package/dist/esm/table/testing/table.pageobject.js.map +1 -1
  114. package/dist/esm/table-column/base/group-header-view/template.js +1 -1
  115. package/dist/esm/table-column/base/group-header-view/template.js.map +1 -1
  116. package/dist/esm/table-column/base/index.d.ts +1 -1
  117. package/dist/esm/table-column/base/index.js.map +1 -1
  118. package/dist/esm/table-column/base/models/column-internals.d.ts +1 -1
  119. package/dist/esm/table-column/base/models/column-internals.js +1 -1
  120. package/dist/esm/table-column/base/models/column-internals.js.map +1 -1
  121. package/dist/esm/table-column/date-text/index.d.ts +2 -1
  122. package/dist/esm/table-column/date-text/index.js.map +1 -1
  123. package/dist/esm/table-column/duration-text/index.js.map +1 -1
  124. package/dist/esm/table-column/enum-base/index.d.ts +1 -1
  125. package/dist/esm/table-column/enum-base/index.js.map +1 -1
  126. package/dist/esm/table-column/mapping/cell-view/index.d.ts +2 -2
  127. package/dist/esm/table-column/mapping/cell-view/index.js +1 -1
  128. package/dist/esm/table-column/mapping/cell-view/index.js.map +1 -1
  129. package/dist/esm/table-column/mapping/group-header-view/index.d.ts +1 -1
  130. package/dist/esm/table-column/mapping/group-header-view/index.js +1 -1
  131. package/dist/esm/table-column/mapping/group-header-view/index.js.map +1 -1
  132. package/dist/esm/table-column/mapping/index.d.ts +1 -1
  133. package/dist/esm/table-column/mapping/index.js.map +1 -1
  134. package/dist/esm/table-column/menu-button/index.js.map +1 -1
  135. package/dist/esm/table-column/mixins/custom-sort-order.d.ts +1 -1
  136. package/dist/esm/table-column/mixins/custom-sort-order.js.map +1 -1
  137. package/dist/esm/table-column/number-text/index.js.map +1 -1
  138. package/dist/esm/table-column/text-base/cell-view/index.d.ts +1 -1
  139. package/dist/esm/table-column/text-base/cell-view/index.js.map +1 -1
  140. package/dist/esm/tabs/index.js.map +1 -1
  141. package/dist/esm/text-area/template.js +1 -1
  142. package/dist/esm/text-area/template.js.map +1 -1
  143. package/dist/esm/text-field/index.js.map +1 -1
  144. package/dist/esm/text-field/template.d.ts +1 -1
  145. package/dist/esm/text-field/template.js.map +1 -1
  146. package/dist/esm/theme-provider/design-tokens.d.ts +1 -1
  147. package/dist/esm/theme-provider/design-tokens.js.map +1 -1
  148. package/dist/esm/toggle-button/index.js +1 -1
  149. package/dist/esm/toggle-button/index.js.map +1 -1
  150. package/dist/esm/toggle-button/template.d.ts +1 -1
  151. package/dist/esm/toggle-button/template.js +1 -1
  152. package/dist/esm/toggle-button/template.js.map +1 -1
  153. package/dist/esm/toolbar/index.js.map +1 -1
  154. package/dist/esm/tree-item/index.js.map +1 -1
  155. package/dist/esm/utilities/style/multivalue-property-stylesheet-behavior.d.ts +1 -1
  156. package/dist/esm/utilities/style/multivalue-property-stylesheet-behavior.js +1 -1
  157. package/dist/esm/utilities/style/multivalue-property-stylesheet-behavior.js.map +1 -1
  158. package/dist/esm/utilities/unit-format/decimal-unit-format.d.ts +1 -1
  159. package/dist/esm/utilities/unit-format/decimal-unit-format.js.map +1 -1
  160. package/dist/esm/utilities/unit-format/default-unit-format.d.ts +1 -1
  161. package/dist/esm/utilities/unit-format/default-unit-format.js.map +1 -1
  162. package/dist/esm/utilities/unit-format/unit-scale/byte-1024-unit-scale.js.map +1 -1
  163. package/dist/esm/utilities/unit-format/unit-scale/volt-unit-scale.js.map +1 -1
  164. package/dist/esm/wafer-map/experimental/computations.d.ts +1 -1
  165. package/dist/esm/wafer-map/experimental/computations.js.map +1 -1
  166. package/dist/esm/wafer-map/experimental/hover-handler.js.map +1 -1
  167. package/dist/esm/wafer-map/index.d.ts +1 -1
  168. package/dist/esm/wafer-map/index.js +1 -1
  169. package/dist/esm/wafer-map/index.js.map +1 -1
  170. package/dist/esm/wafer-map/modules/computations.d.ts +1 -1
  171. package/dist/esm/wafer-map/modules/computations.js.map +1 -1
  172. package/dist/esm/wafer-map/modules/create-matrix-renderer.d.ts +1 -1
  173. package/dist/esm/wafer-map/modules/create-matrix-renderer.js.map +1 -1
  174. package/dist/esm/wafer-map/modules/hover-handler.js.map +1 -1
  175. package/dist/esm/wafer-map/modules/prerendering.d.ts +1 -1
  176. package/dist/esm/wafer-map/modules/prerendering.js.map +1 -1
  177. package/dist/esm/wafer-map/modules/rendering.js.map +1 -1
  178. package/dist/esm/wafer-map/modules/zoom-handler.js +1 -1
  179. package/dist/esm/wafer-map/modules/zoom-handler.js.map +1 -1
  180. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/anchor/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACH,YAAY,EACZ,MAAM,IAAI,gBAAgB,EAE7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAStC;;GAEG;AACH,MAAM,OAAO,MAAO,SAAQ,UAAU;IAAtC;;QACI;;;;WAIG;QAEI,oBAAe,GAAG,KAAK,CAAC;IA8BnC,CAAC;CAAA;AA9BU;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;+CAC1B;AAQxB;IADN,IAAI;0CAC+B;AAQpB;IADf,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;wCAClC;AAalB;IADf,IAAI,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;+CACE;AAG7C,uFAAuF;AAEvF,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAgB;IAC/C,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,gBAAgB;IAC3B,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC","sourcesContent":["import { attr, nullableNumberConverter } from '@microsoft/fast-element';\nimport {\n DesignSystem,\n Anchor as FoundationAnchor,\n AnchorOptions\n} from '@microsoft/fast-foundation';\nimport { AnchorBase } from '../anchor-base';\nimport { styles } from './styles';\nimport { template } from './template';\nimport type { AnchorAppearance } from './types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-anchor': Anchor;\n }\n}\n\n/**\n * A nimble-styled anchor\n */\nexport class Anchor extends AnchorBase {\n /**\n * @public\n * @remarks\n * HTML Attribute: underline-hidden\n */\n @attr({ attribute: 'underline-hidden', mode: 'boolean' })\n public underlineHidden = false;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: appearance\n */\n @attr\n public appearance: AnchorAppearance;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: tabindex\n */\n @attr({ attribute: 'tabindex', converter: nullableNumberConverter })\n public override tabIndex!: number;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: contenteditable\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/contenteditable\n *\n * Ideally, proper support for contenteditable should come from FAST.\n * I have filed bug https://github.com/microsoft/fast/issues/6870 to them.\n * If/when it is fixed, we can remove this workaround.\n */\n @attr({ attribute: 'contenteditable' })\n public override contentEditable!: string;\n}\n\n// FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.\n\nconst nimbleAnchor = Anchor.compose<AnchorOptions>({\n baseName: 'anchor',\n baseClass: FoundationAnchor,\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchor());\nexport const anchorTag = 'nimble-anchor';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/anchor/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACH,YAAY,EACZ,MAAM,IAAI,gBAAgB,EAE7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAStC;;GAEG;AACH,MAAM,OAAO,MAAO,SAAQ,UAAU;IAAtC;;QACI;;;;WAIG;QAEI,oBAAe,GAAG,KAAK,CAAC;IA8BnC,CAAC;CAAA;AA9BU;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;+CAC1B;AAQxB;IADN,IAAI;0CAC+B;AAQpB;IADf,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;wCAClC;AAalB;IADf,IAAI,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;+CACE;AAG7C,uFAAuF;AAEvF,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAgB;IAC/C,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,gBAAgB;IAC3B,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC","sourcesContent":["import { attr, nullableNumberConverter } from '@microsoft/fast-element';\nimport {\n DesignSystem,\n Anchor as FoundationAnchor,\n type AnchorOptions\n} from '@microsoft/fast-foundation';\nimport { AnchorBase } from '../anchor-base';\nimport { styles } from './styles';\nimport { template } from './template';\nimport type { AnchorAppearance } from './types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-anchor': Anchor;\n }\n}\n\n/**\n * A nimble-styled anchor\n */\nexport class Anchor extends AnchorBase {\n /**\n * @public\n * @remarks\n * HTML Attribute: underline-hidden\n */\n @attr({ attribute: 'underline-hidden', mode: 'boolean' })\n public underlineHidden = false;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: appearance\n */\n @attr\n public appearance: AnchorAppearance;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: tabindex\n */\n @attr({ attribute: 'tabindex', converter: nullableNumberConverter })\n public override tabIndex!: number;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: contenteditable\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/contenteditable\n *\n * Ideally, proper support for contenteditable should come from FAST.\n * I have filed bug https://github.com/microsoft/fast/issues/6870 to them.\n * If/when it is fixed, we can remove this workaround.\n */\n @attr({ attribute: 'contenteditable' })\n public override contentEditable!: string;\n}\n\n// FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.\n\nconst nimbleAnchor = Anchor.compose<AnchorOptions>({\n baseName: 'anchor',\n baseClass: FoundationAnchor,\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchor());\nexport const anchorTag = 'nimble-anchor';\n"]}
@@ -1,4 +1,4 @@
1
- import { html, ref, slotted } from '@microsoft/fast-element';
1
+ import { html, ref, slotted, ViewTemplate } from '@microsoft/fast-element';
2
2
  // prettier-ignore
3
3
  export const template = (_context, definition) => html `${
4
4
  /* top-container div is necessary because setting contenteditable directly on the native anchor instead
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/anchor/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAgB,MAAM,yBAAyB,CAAC;AAO3E,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAGjB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAQ,GAAG;AACzC;;EAEE,CAAC,EACP;;2BAE2B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;;;;oBAI7B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;eACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;gBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;0BACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;eAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;kBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;gBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;oBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;uBACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;qBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;wBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;4BACd,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;wBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;yBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;6BACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;yBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;uBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;yBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;uBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;wBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;6BACb,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;sBAC9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;2BACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;qBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;qBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;gCACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB;UAChD,GAAG,CAAC,SAAS,CAAC;OACjB;AACH;;;qEAGqE,CAAC,EAC1E;;UAEU,GAAG,CAAC,gBAAgB,CAAC;iBACd,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;;;cAG5C,GAAG,CAAC,OAAO,CAAC;2BACC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,EAAE;cAC9C,UAAU,CAAC,KAAK,IAAI,EAAE;;;;;;;cAOtB,OAAO,CAAC,uBAAuB,CAAC;;;;;UAKpC,GAAG,CAAC,cAAc,CAAC;gBACb,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;;;cAGvC,GAAG,CAAC,KAAK,CAAC;2BACG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,EAAE;cAC5C,UAAU,CAAC,GAAG,IAAI,EAAE;;uBAEX,CAAC","sourcesContent":["import { html, ref, slotted, ViewTemplate } from '@microsoft/fast-element';\nimport type {\n AnchorOptions,\n FoundationElementTemplate\n} from '@microsoft/fast-foundation';\nimport type { Anchor } from '.';\n\n// prettier-ignore\nexport const template: FoundationElementTemplate<\nViewTemplate<Anchor>,\nAnchorOptions\n> = (_context, definition) => html<Anchor>`${\n /* top-container div is necessary because setting contenteditable directly on the native anchor instead\n leaves it focusable, unlike the behavior you get when the anchor is _within_ a contenteditable element.\n */ ''\n}<div\n class=\"top-container\"\n contenteditable=\"${x => x.contentEditable}\"\n ><a\n class=\"control\"\n part=\"control\"\n download=\"${x => x.download}\"\n href=${x => x.href}\n hreflang=\"${x => x.hreflang}\"\n ping=\"${x => x.ping}\"\n referrerpolicy=\"${x => x.referrerpolicy}\"\n rel=\"${x => x.rel}\"\n target=\"${x => x.target}\"\n type=\"${x => x.type}\"\n tabindex=\"${x => x.tabIndex}\"\n aria-atomic=\"${x => x.ariaAtomic}\"\n aria-busy=\"${x => x.ariaBusy}\"\n aria-controls=\"${x => x.ariaControls}\"\n aria-current=\"${x => x.ariaCurrent}\"\n aria-describedby=\"${x => x.ariaDescribedby}\"\n aria-details=\"${x => x.ariaDetails}\"\n aria-disabled=\"${x => x.ariaDisabled}\"\n aria-errormessage=\"${x => x.ariaErrormessage}\"\n aria-expanded=\"${x => x.ariaExpanded}\"\n aria-flowto=\"${x => x.ariaFlowto}\"\n aria-haspopup=\"${x => x.ariaHaspopup}\"\n aria-hidden=\"${x => x.ariaHidden}\"\n aria-invalid=\"${x => x.ariaInvalid}\"\n aria-keyshortcuts=\"${x => x.ariaKeyshortcuts}\"\n aria-label=\"${x => x.ariaLabel}\"\n aria-labelledby=\"${x => x.ariaLabelledby}\"\n aria-live=\"${x => x.ariaLive}\"\n aria-owns=\"${x => x.ariaOwns}\"\n aria-relevant=\"${x => x.ariaRelevant}\"\n aria-roledescription=\"${x => x.ariaRoledescription}\"\n ${ref('control')}\n >${\n /* Start and End slot templates inlined to avoid extra whitespace.\n See https://github.com/microsoft/fast/issues/6557\n\n Whitespace intentionally avoided between tags for inline styles */ ''\n}<span\n part=\"start\"\n ${ref('startContainer')}\n class=\"${_x => (definition.start ? 'start' : null)}\"\n ><slot\n name=\"start\"\n ${ref('start')}\n @slotchange=\"${x => x.handleStartContentChange()}\">\n ${definition.start || ''}\n </slot\n ></span\n ><span\n class=\"content\"\n part=\"content\"\n ><slot\n ${slotted('defaultSlottedContent')}\n ></slot\n ></span\n ><span\n part=\"end\"\n ${ref('endContainer')}\n class=${_x => (definition.end ? 'end' : null)}\n ><slot\n name=\"end\"\n ${ref('end')}\n @slotchange=\"${x => x.handleEndContentChange()}\">\n ${definition.end || ''}\n </slot\n ></span></a></div>`;\n"]}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/anchor/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAO3E,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAGjB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAQ,GAAG;AACzC;;EAEE,CAAC,EACP;;2BAE2B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;;;;oBAI7B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;eACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;gBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;0BACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;eAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;kBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;gBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;oBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;uBACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;qBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;wBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;4BACd,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;wBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;yBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;6BACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;yBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;uBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;yBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;uBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;wBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;6BACb,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;sBAC9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;2BACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;qBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;qBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;gCACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB;UAChD,GAAG,CAAC,SAAS,CAAC;OACjB;AACH;;;qEAGqE,CAAC,EAC1E;;UAEU,GAAG,CAAC,gBAAgB,CAAC;iBACd,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;;;cAG5C,GAAG,CAAC,OAAO,CAAC;2BACC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,EAAE;cAC9C,UAAU,CAAC,KAAK,IAAI,EAAE;;;;;;;cAOtB,OAAO,CAAC,uBAAuB,CAAC;;;;;UAKpC,GAAG,CAAC,cAAc,CAAC;gBACb,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;;;cAGvC,GAAG,CAAC,KAAK,CAAC;2BACG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,EAAE;cAC5C,UAAU,CAAC,GAAG,IAAI,EAAE;;uBAEX,CAAC","sourcesContent":["import { html, ref, slotted, ViewTemplate } from '@microsoft/fast-element';\nimport type {\n AnchorOptions,\n FoundationElementTemplate\n} from '@microsoft/fast-foundation';\nimport type { Anchor } from '.';\n\n// prettier-ignore\nexport const template: FoundationElementTemplate<\nViewTemplate<Anchor>,\nAnchorOptions\n> = (_context, definition) => html<Anchor>`${\n /* top-container div is necessary because setting contenteditable directly on the native anchor instead\n leaves it focusable, unlike the behavior you get when the anchor is _within_ a contenteditable element.\n */ ''\n}<div\n class=\"top-container\"\n contenteditable=\"${x => x.contentEditable}\"\n ><a\n class=\"control\"\n part=\"control\"\n download=\"${x => x.download}\"\n href=${x => x.href}\n hreflang=\"${x => x.hreflang}\"\n ping=\"${x => x.ping}\"\n referrerpolicy=\"${x => x.referrerpolicy}\"\n rel=\"${x => x.rel}\"\n target=\"${x => x.target}\"\n type=\"${x => x.type}\"\n tabindex=\"${x => x.tabIndex}\"\n aria-atomic=\"${x => x.ariaAtomic}\"\n aria-busy=\"${x => x.ariaBusy}\"\n aria-controls=\"${x => x.ariaControls}\"\n aria-current=\"${x => x.ariaCurrent}\"\n aria-describedby=\"${x => x.ariaDescribedby}\"\n aria-details=\"${x => x.ariaDetails}\"\n aria-disabled=\"${x => x.ariaDisabled}\"\n aria-errormessage=\"${x => x.ariaErrormessage}\"\n aria-expanded=\"${x => x.ariaExpanded}\"\n aria-flowto=\"${x => x.ariaFlowto}\"\n aria-haspopup=\"${x => x.ariaHaspopup}\"\n aria-hidden=\"${x => x.ariaHidden}\"\n aria-invalid=\"${x => x.ariaInvalid}\"\n aria-keyshortcuts=\"${x => x.ariaKeyshortcuts}\"\n aria-label=\"${x => x.ariaLabel}\"\n aria-labelledby=\"${x => x.ariaLabelledby}\"\n aria-live=\"${x => x.ariaLive}\"\n aria-owns=\"${x => x.ariaOwns}\"\n aria-relevant=\"${x => x.ariaRelevant}\"\n aria-roledescription=\"${x => x.ariaRoledescription}\"\n ${ref('control')}\n >${\n /* Start and End slot templates inlined to avoid extra whitespace.\n See https://github.com/microsoft/fast/issues/6557\n\n Whitespace intentionally avoided between tags for inline styles */ ''\n}<span\n part=\"start\"\n ${ref('startContainer')}\n class=\"${_x => (definition.start ? 'start' : null)}\"\n ><slot\n name=\"start\"\n ${ref('start')}\n @slotchange=\"${x => x.handleStartContentChange()}\">\n ${definition.start || ''}\n </slot\n ></span\n ><span\n class=\"content\"\n part=\"content\"\n ><slot\n ${slotted('defaultSlottedContent')}\n ></slot\n ></span\n ><span\n part=\"end\"\n ${ref('endContainer')}\n class=${_x => (definition.end ? 'end' : null)}\n ><slot\n name=\"end\"\n ${ref('end')}\n @slotchange=\"${x => x.handleEndContentChange()}\">\n ${definition.end || ''}\n </slot\n ></span></a></div>`;\n"]}
@@ -1,5 +1,5 @@
1
1
  import { AnchorBase } from '../anchor-base';
2
- import { ButtonAppearance, ButtonAppearanceVariant, ButtonPattern, ButtonAppearanceVariantPattern } from '../patterns/button/types';
2
+ import { ButtonAppearance, ButtonAppearanceVariant, type ButtonPattern, type ButtonAppearanceVariantPattern } from '../patterns/button/types';
3
3
  declare global {
4
4
  interface HTMLElementTagNameMap {
5
5
  'nimble-anchor-button': AnchorButton;
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { attr } from '@microsoft/fast-element';
3
3
  import { DesignSystem } from '@microsoft/fast-foundation';
4
4
  import { AnchorBase } from '../anchor-base';
5
- import { ButtonAppearance } from '../patterns/button/types';
5
+ import { ButtonAppearance, ButtonAppearanceVariant } from '../patterns/button/types';
6
6
  import { styles } from './styles';
7
7
  import { template } from './template';
8
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/anchor-button/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAiB,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACH,gBAAgB,EAInB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;GAEG;AACH,MAAM,OAAO,YACT,SAAQ,UAAU;IADtB;;QAGI;;;;WAIG;QAEI,eAAU,GAAqB,gBAAgB,CAAC,OAAO,CAAC;QAU/D;;;;WAIG;QAEI,kBAAa,GAAG,KAAK,CAAC;QAE7B;;;;WAIG;QAEI,aAAQ,GAAG,KAAK,CAAC;IAC5B,CAAC;CAAA;AAzBU;IADN,IAAI;gDAC0D;AAQxD;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;uDACQ;AAQ3C;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;mDAC1B;AAQtB;IADN,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8CACF;AAG5B,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAgB;IAC3D,QAAQ,EAAE,eAAe;IACzB,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC","sourcesContent":["import { attr } from '@microsoft/fast-element';\nimport { DesignSystem, AnchorOptions } from '@microsoft/fast-foundation';\nimport { AnchorBase } from '../anchor-base';\nimport {\n ButtonAppearance,\n ButtonAppearanceVariant,\n ButtonPattern,\n ButtonAppearanceVariantPattern\n} from '../patterns/button/types';\nimport { styles } from './styles';\nimport { template } from './template';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-anchor-button': AnchorButton;\n }\n}\n\n/**\n * A nimble-styled anchor button\n */\nexport class AnchorButton\n extends AnchorBase\n implements ButtonPattern, ButtonAppearanceVariantPattern {\n /**\n * @public\n * @remarks\n * HTML Attribute: appearance\n */\n @attr\n public appearance: ButtonAppearance = ButtonAppearance.outline;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: appearance-variant\n */\n @attr({ attribute: 'appearance-variant' })\n public appearanceVariant: ButtonAppearanceVariant;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: content-hidden\n */\n @attr({ attribute: 'content-hidden', mode: 'boolean' })\n public contentHidden = false;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: disabled\n */\n @attr({ mode: 'boolean' })\n public disabled = false;\n}\n\nconst nimbleAnchorButton = AnchorButton.compose<AnchorOptions>({\n baseName: 'anchor-button',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorButton());\nexport const anchorButtonTag = 'nimble-anchor-button';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/anchor-button/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAsB,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACH,gBAAgB,EAChB,uBAAuB,EAG1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;GAEG;AACH,MAAM,OAAO,YACT,SAAQ,UAAU;IADtB;;QAGI;;;;WAIG;QAEI,eAAU,GAAqB,gBAAgB,CAAC,OAAO,CAAC;QAU/D;;;;WAIG;QAEI,kBAAa,GAAG,KAAK,CAAC;QAE7B;;;;WAIG;QAEI,aAAQ,GAAG,KAAK,CAAC;IAC5B,CAAC;CAAA;AAzBU;IADN,IAAI;gDAC0D;AAQxD;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;uDACQ;AAQ3C;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;mDAC1B;AAQtB;IADN,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8CACF;AAG5B,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAgB;IAC3D,QAAQ,EAAE,eAAe;IACzB,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC","sourcesContent":["import { attr } from '@microsoft/fast-element';\nimport { DesignSystem, type AnchorOptions } from '@microsoft/fast-foundation';\nimport { AnchorBase } from '../anchor-base';\nimport {\n ButtonAppearance,\n ButtonAppearanceVariant,\n type ButtonPattern,\n type ButtonAppearanceVariantPattern\n} from '../patterns/button/types';\nimport { styles } from './styles';\nimport { template } from './template';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-anchor-button': AnchorButton;\n }\n}\n\n/**\n * A nimble-styled anchor button\n */\nexport class AnchorButton\n extends AnchorBase\n implements ButtonPattern, ButtonAppearanceVariantPattern {\n /**\n * @public\n * @remarks\n * HTML Attribute: appearance\n */\n @attr\n public appearance: ButtonAppearance = ButtonAppearance.outline;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: appearance-variant\n */\n @attr({ attribute: 'appearance-variant' })\n public appearanceVariant: ButtonAppearanceVariant;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: content-hidden\n */\n @attr({ attribute: 'content-hidden', mode: 'boolean' })\n public contentHidden = false;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: disabled\n */\n @attr({ mode: 'boolean' })\n public disabled = false;\n}\n\nconst nimbleAnchorButton = AnchorButton.compose<AnchorOptions>({\n baseName: 'anchor-button',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorButton());\nexport const anchorButtonTag = 'nimble-anchor-button';\n"]}
@@ -1,4 +1,4 @@
1
1
  import { ViewTemplate } from '@microsoft/fast-element';
2
- import { AnchorOptions, FoundationElementTemplate } from '@microsoft/fast-foundation';
2
+ import { type AnchorOptions, type FoundationElementTemplate } from '@microsoft/fast-foundation';
3
3
  import type { AnchorButton } from '.';
4
4
  export declare const template: FoundationElementTemplate<ViewTemplate<AnchorButton>, AnchorOptions>;
@@ -1,4 +1,4 @@
1
- import { html, ref, slotted } from '@microsoft/fast-element';
1
+ import { html, ref, slotted, ViewTemplate } from '@microsoft/fast-element';
2
2
  import { endSlotTemplate, startSlotTemplate } from '@microsoft/fast-foundation';
3
3
  export const template = (context, definition) => html `
4
4
  <a
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/anchor-button/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAgB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAEH,eAAe,EAEf,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,CAAC,MAAM,QAAQ,GAGjB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAc;;;;oBAI3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;eACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;gBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;0BACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;eAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;kBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;gBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;uBACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;qBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;wBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;4BACd,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;wBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;yBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;6BACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;yBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;uBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;yBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;uBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;wBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;6BACb,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;sBAC9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;2BACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;qBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;qBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;gCACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB;UAChD,GAAG,CAAC,SAAS,CAAC;;UAEd,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;;oBAE5B,OAAO,CAAC,uBAAuB,CAAC;;UAE1C,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC;;CAE7C,CAAC","sourcesContent":["import { html, ref, slotted, ViewTemplate } from '@microsoft/fast-element';\nimport {\n AnchorOptions,\n endSlotTemplate,\n FoundationElementTemplate,\n startSlotTemplate\n} from '@microsoft/fast-foundation';\nimport type { AnchorButton } from '.';\n\nexport const template: FoundationElementTemplate<\nViewTemplate<AnchorButton>,\nAnchorOptions\n> = (context, definition) => html<AnchorButton>`\n <a\n class=\"control\"\n part=\"control\"\n download=\"${x => x.download}\"\n href=${x => (x.disabled ? null : x.href)}\n hreflang=\"${x => x.hreflang}\"\n ping=\"${x => x.ping}\"\n referrerpolicy=\"${x => x.referrerpolicy}\"\n rel=\"${x => x.rel}\"\n target=\"${x => x.target}\"\n type=\"${x => x.type}\"\n aria-atomic=\"${x => x.ariaAtomic}\"\n aria-busy=\"${x => x.ariaBusy}\"\n aria-controls=\"${x => x.ariaControls}\"\n aria-current=\"${x => x.ariaCurrent}\"\n aria-describedby=\"${x => x.ariaDescribedby}\"\n aria-details=\"${x => x.ariaDetails}\"\n aria-disabled=\"${x => x.ariaDisabled}\"\n aria-errormessage=\"${x => x.ariaErrormessage}\"\n aria-expanded=\"${x => x.ariaExpanded}\"\n aria-flowto=\"${x => x.ariaFlowto}\"\n aria-haspopup=\"${x => x.ariaHaspopup}\"\n aria-hidden=\"${x => x.ariaHidden}\"\n aria-invalid=\"${x => x.ariaInvalid}\"\n aria-keyshortcuts=\"${x => x.ariaKeyshortcuts}\"\n aria-label=\"${x => x.ariaLabel}\"\n aria-labelledby=\"${x => x.ariaLabelledby}\"\n aria-live=\"${x => x.ariaLive}\"\n aria-owns=\"${x => x.ariaOwns}\"\n aria-relevant=\"${x => x.ariaRelevant}\"\n aria-roledescription=\"${x => x.ariaRoledescription}\"\n ${ref('control')}\n >\n ${startSlotTemplate(context, definition)}\n <span class=\"content\" part=\"content\">\n <slot ${slotted('defaultSlottedContent')}></slot>\n </span>\n ${endSlotTemplate(context, definition)}\n </a>\n`;\n"]}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/anchor-button/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAEH,eAAe,EAEf,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,CAAC,MAAM,QAAQ,GAGjB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAc;;;;oBAI3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;eACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;gBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;0BACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;eAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;kBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;gBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;uBACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;qBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;wBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;4BACd,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;wBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;yBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;6BACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;yBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;uBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;yBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;uBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;wBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;6BACb,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;sBAC9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;2BACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;qBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;qBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;gCACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB;UAChD,GAAG,CAAC,SAAS,CAAC;;UAEd,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;;oBAE5B,OAAO,CAAC,uBAAuB,CAAC;;UAE1C,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC;;CAE7C,CAAC","sourcesContent":["import { html, ref, slotted, ViewTemplate } from '@microsoft/fast-element';\nimport {\n type AnchorOptions,\n endSlotTemplate,\n type FoundationElementTemplate,\n startSlotTemplate\n} from '@microsoft/fast-foundation';\nimport type { AnchorButton } from '.';\n\nexport const template: FoundationElementTemplate<\nViewTemplate<AnchorButton>,\nAnchorOptions\n> = (context, definition) => html<AnchorButton>`\n <a\n class=\"control\"\n part=\"control\"\n download=\"${x => x.download}\"\n href=${x => (x.disabled ? null : x.href)}\n hreflang=\"${x => x.hreflang}\"\n ping=\"${x => x.ping}\"\n referrerpolicy=\"${x => x.referrerpolicy}\"\n rel=\"${x => x.rel}\"\n target=\"${x => x.target}\"\n type=\"${x => x.type}\"\n aria-atomic=\"${x => x.ariaAtomic}\"\n aria-busy=\"${x => x.ariaBusy}\"\n aria-controls=\"${x => x.ariaControls}\"\n aria-current=\"${x => x.ariaCurrent}\"\n aria-describedby=\"${x => x.ariaDescribedby}\"\n aria-details=\"${x => x.ariaDetails}\"\n aria-disabled=\"${x => x.ariaDisabled}\"\n aria-errormessage=\"${x => x.ariaErrormessage}\"\n aria-expanded=\"${x => x.ariaExpanded}\"\n aria-flowto=\"${x => x.ariaFlowto}\"\n aria-haspopup=\"${x => x.ariaHaspopup}\"\n aria-hidden=\"${x => x.ariaHidden}\"\n aria-invalid=\"${x => x.ariaInvalid}\"\n aria-keyshortcuts=\"${x => x.ariaKeyshortcuts}\"\n aria-label=\"${x => x.ariaLabel}\"\n aria-labelledby=\"${x => x.ariaLabelledby}\"\n aria-live=\"${x => x.ariaLive}\"\n aria-owns=\"${x => x.ariaOwns}\"\n aria-relevant=\"${x => x.ariaRelevant}\"\n aria-roledescription=\"${x => x.ariaRoledescription}\"\n ${ref('control')}\n >\n ${startSlotTemplate(context, definition)}\n <span class=\"content\" part=\"content\">\n <slot ${slotted('defaultSlottedContent')}></slot>\n </span>\n ${endSlotTemplate(context, definition)}\n </a>\n`;\n"]}
@@ -1,4 +1,4 @@
1
- import { MenuItemColumnCount } from '@microsoft/fast-foundation';
1
+ import { type MenuItemColumnCount } from '@microsoft/fast-foundation';
2
2
  import { AnchorBase } from '../anchor-base';
3
3
  declare global {
4
4
  interface HTMLElementTagNameMap {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/anchor-menu-item/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACH,YAAY,EAGf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,UAAU;IAA9C;;QAEW,aAAQ,GAAG,KAAK,CAAC;QAQxB;;;;;WAKG;QAEI,qBAAgB,GAAwB,CAAC,CAAC;IAkDrD,CAAC;IAhDG,4FAA4F;IAC5F,uGAAuG;IACvG,gGAAgG;IAChG,gEAAgE;IAEhE;;OAEG;IACI,YAAY,CAAC,CAAa;QAC7B,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,CAAgB;QAClC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ;gBACT,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,MAAM;YACV,QAAQ;QACZ,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,0DAA0D;IAC1D,4EAA4E;IAC5E,6EAA6E;IAC7E,oEAAoE;IACpD,YAAY,CAAC,aAAqB,EAAE,KAAa;QAC7D,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAED,IAAoB,QAAQ;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,IAAoB,QAAQ,CAAC,KAAa;QACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;IACjC,CAAC;CACJ;AAjEU;IADN,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gDACF;AAMjB;IADN,UAAU;8CACuB;AAS3B;IADN,UAAU;wDACsC;AAoDrD,uFAAuF;AAEvF,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAgB;IAC/D,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC","sourcesContent":["import { attr, observable } from '@microsoft/fast-element';\nimport {\n DesignSystem,\n AnchorOptions,\n MenuItemColumnCount\n} from '@microsoft/fast-foundation';\nimport { keyEnter } from '@microsoft/fast-web-utilities';\nimport { AnchorBase } from '../anchor-base';\nimport { styles } from './styles';\nimport { template } from './template';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-anchor-menu-item': AnchorMenuItem;\n }\n}\n\n/**\n * A nimble-styled anchor menu-item\n */\nexport class AnchorMenuItem extends AnchorBase {\n @attr({ mode: 'boolean' })\n public disabled = false;\n\n /**\n * @internal\n */\n @observable\n public anchor!: HTMLAnchorElement;\n\n /**\n * There is an assumption that this component is styled using a grid display, and this property\n * controls which grid column contains the menu item text (i.e. the indentation of the text).\n * The parent menu sets this value on all its child menu items so their indentations align.\n * @internal\n */\n @observable\n public startColumnCount: MenuItemColumnCount = 0;\n\n // The following two handlers are workarounds for issues with anchor menu items in submenus.\n // Events can bubble up the DOM and get handled by the menu item in the parent menu. When that happens,\n // the menu item's handlers (FAST) return false and prevent the default action, i.e. navigation.\n // See tech debt issue: https://github.com/ni/nimble/issues/1740\n\n /**\n * @internal\n */\n public clickHandler(e: MouseEvent): boolean {\n e.stopPropagation();\n return true;\n }\n\n /**\n * @internal\n */\n public keydownHandler(e: KeyboardEvent): boolean {\n if (e.defaultPrevented) {\n return false;\n }\n switch (e.key) {\n case keyEnter:\n e.stopPropagation();\n break;\n default:\n }\n return true;\n }\n\n // The FAST Menu manages the `tabindex` of its menu items.\n // When keyboard navigating to an item, it sets that item's `tabindex` to 0.\n // We need to pass this on to the anchor, otherwise an anchor without an href\n // will not be focusable and will prevent arrowing through the menu.\n public override setAttribute(qualifiedName: string, value: string): void {\n if (qualifiedName === 'tabindex') {\n this.anchor.setAttribute(qualifiedName, value);\n } else {\n super.setAttribute(qualifiedName, value);\n }\n }\n\n public override get tabIndex(): number {\n return this.anchor.tabIndex;\n }\n\n public override set tabIndex(value: number) {\n this.anchor.tabIndex = value;\n }\n}\n\n// FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.\n\nconst nimbleAnchorMenuItem = AnchorMenuItem.compose<AnchorOptions>({\n baseName: 'anchor-menu-item',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleAnchorMenuItem());\nexport const anchorMenuItemTag = 'nimble-anchor-menu-item';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/anchor-menu-item/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACH,YAAY,EAGf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,UAAU;IAA9C;;QAEW,aAAQ,GAAG,KAAK,CAAC;QAQxB;;;;;WAKG;QAEI,qBAAgB,GAAwB,CAAC,CAAC;IAkDrD,CAAC;IAhDG,4FAA4F;IAC5F,uGAAuG;IACvG,gGAAgG;IAChG,gEAAgE;IAEhE;;OAEG;IACI,YAAY,CAAC,CAAa;QAC7B,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,CAAgB;QAClC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ;gBACT,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,MAAM;YACV,QAAQ;QACZ,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,0DAA0D;IAC1D,4EAA4E;IAC5E,6EAA6E;IAC7E,oEAAoE;IACpD,YAAY,CAAC,aAAqB,EAAE,KAAa;QAC7D,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAED,IAAoB,QAAQ;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,IAAoB,QAAQ,CAAC,KAAa;QACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;IACjC,CAAC;CACJ;AAjEU;IADN,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gDACF;AAMjB;IADN,UAAU;8CACuB;AAS3B;IADN,UAAU;wDACsC;AAoDrD,uFAAuF;AAEvF,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAgB;IAC/D,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC","sourcesContent":["import { attr, observable } from '@microsoft/fast-element';\nimport {\n DesignSystem,\n type AnchorOptions,\n type MenuItemColumnCount\n} from '@microsoft/fast-foundation';\nimport { keyEnter } from '@microsoft/fast-web-utilities';\nimport { AnchorBase } from '../anchor-base';\nimport { styles } from './styles';\nimport { template } from './template';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-anchor-menu-item': AnchorMenuItem;\n }\n}\n\n/**\n * A nimble-styled anchor menu-item\n */\nexport class AnchorMenuItem extends AnchorBase {\n @attr({ mode: 'boolean' })\n public disabled = false;\n\n /**\n * @internal\n */\n @observable\n public anchor!: HTMLAnchorElement;\n\n /**\n * There is an assumption that this component is styled using a grid display, and this property\n * controls which grid column contains the menu item text (i.e. the indentation of the text).\n * The parent menu sets this value on all its child menu items so their indentations align.\n * @internal\n */\n @observable\n public startColumnCount: MenuItemColumnCount = 0;\n\n // The following two handlers are workarounds for issues with anchor menu items in submenus.\n // Events can bubble up the DOM and get handled by the menu item in the parent menu. When that happens,\n // the menu item's handlers (FAST) return false and prevent the default action, i.e. navigation.\n // See tech debt issue: https://github.com/ni/nimble/issues/1740\n\n /**\n * @internal\n */\n public clickHandler(e: MouseEvent): boolean {\n e.stopPropagation();\n return true;\n }\n\n /**\n * @internal\n */\n public keydownHandler(e: KeyboardEvent): boolean {\n if (e.defaultPrevented) {\n return false;\n }\n switch (e.key) {\n case keyEnter:\n e.stopPropagation();\n break;\n default:\n }\n return true;\n }\n\n // The FAST Menu manages the `tabindex` of its menu items.\n // When keyboard navigating to an item, it sets that item's `tabindex` to 0.\n // We need to pass this on to the anchor, otherwise an anchor without an href\n // will not be focusable and will prevent arrowing through the menu.\n public override setAttribute(qualifiedName: string, value: string): void {\n if (qualifiedName === 'tabindex') {\n this.anchor.setAttribute(qualifiedName, value);\n } else {\n super.setAttribute(qualifiedName, value);\n }\n }\n\n public override get tabIndex(): number {\n return this.anchor.tabIndex;\n }\n\n public override set tabIndex(value: number) {\n this.anchor.tabIndex = value;\n }\n}\n\n// FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.\n\nconst nimbleAnchorMenuItem = AnchorMenuItem.compose<AnchorOptions>({\n baseName: 'anchor-menu-item',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleAnchorMenuItem());\nexport const anchorMenuItemTag = 'nimble-anchor-menu-item';\n"]}
@@ -1,4 +1,4 @@
1
1
  import { ViewTemplate } from '@microsoft/fast-element';
2
- import { AnchorOptions, FoundationElementTemplate } from '@microsoft/fast-foundation';
2
+ import { type AnchorOptions, type FoundationElementTemplate } from '@microsoft/fast-foundation';
3
3
  import type { AnchorMenuItem } from '.';
4
4
  export declare const template: FoundationElementTemplate<ViewTemplate<AnchorMenuItem>, AnchorOptions>;
@@ -1,4 +1,4 @@
1
- import { html, ref } from '@microsoft/fast-element';
1
+ import { html, ref, ViewTemplate } from '@microsoft/fast-element';
2
2
  import { endSlotTemplate, startSlotTemplate } from '@microsoft/fast-foundation';
3
3
  export const template = (context, definition) => html `
4
4
  <template
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/anchor-menu-item/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAgB,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAEH,eAAe,EAEf,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,CAAC,MAAM,QAAQ,GAGjB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAgB;;;iBAGhC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,KAAK,QAAQ;IACrD,CAAC,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE;IAChC,CAAC,CAAC,EAAE,CAAC;yBACY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;kBACtB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAmB,CAAC;oBAC7C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAsB,CAAC;;;cAG1D,GAAG,CAAC,QAAQ,CAAC;wBACH,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;mBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;oBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;8BACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;mBAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;sBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;oBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;;cAEjB,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;;;;cAItC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC;;;CAGjD,CAAC","sourcesContent":["import { html, ref, ViewTemplate } from '@microsoft/fast-element';\nimport {\n AnchorOptions,\n endSlotTemplate,\n FoundationElementTemplate,\n startSlotTemplate\n} from '@microsoft/fast-foundation';\nimport type { AnchorMenuItem } from '.';\n\nexport const template: FoundationElementTemplate<\nViewTemplate<AnchorMenuItem>,\nAnchorOptions\n> = (context, definition) => html<AnchorMenuItem>`\n <template\n role=\"menuitem\"\n class=\"${x => (typeof x.startColumnCount === 'number'\n ? `indent-${x.startColumnCount}`\n : '')}\"\n aria-disabled=\"${x => x.disabled}\"\n @click=\"${(x, c) => x.clickHandler(c.event as MouseEvent)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event as KeyboardEvent)}\"\n >\n <a\n ${ref('anchor')}\n download=\"${x => x.download}\"\n href=${x => (x.disabled ? null : x.href)}\n hreflang=\"${x => x.hreflang}\"\n ping=\"${x => x.ping}\"\n referrerpolicy=\"${x => x.referrerpolicy}\"\n rel=\"${x => x.rel}\"\n target=\"${x => x.target}\"\n type=\"${x => x.type}\"\n >\n ${startSlotTemplate(context, definition)}\n <span class=\"content\" part=\"content\">\n <slot></slot>\n </span>\n ${endSlotTemplate(context, definition)}\n </a>\n </template>\n`;\n"]}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/anchor-menu-item/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAEH,eAAe,EAEf,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,CAAC,MAAM,QAAQ,GAGjB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAgB;;;iBAGhC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,KAAK,QAAQ;IACrD,CAAC,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE;IAChC,CAAC,CAAC,EAAE,CAAC;yBACY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;kBACtB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAmB,CAAC;oBAC7C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAsB,CAAC;;;cAG1D,GAAG,CAAC,QAAQ,CAAC;wBACH,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;mBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;oBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;8BACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;mBAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;sBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;oBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;;cAEjB,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;;;;cAItC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC;;;CAGjD,CAAC","sourcesContent":["import { html, ref, ViewTemplate } from '@microsoft/fast-element';\nimport {\n type AnchorOptions,\n endSlotTemplate,\n type FoundationElementTemplate,\n startSlotTemplate\n} from '@microsoft/fast-foundation';\nimport type { AnchorMenuItem } from '.';\n\nexport const template: FoundationElementTemplate<\nViewTemplate<AnchorMenuItem>,\nAnchorOptions\n> = (context, definition) => html<AnchorMenuItem>`\n <template\n role=\"menuitem\"\n class=\"${x => (typeof x.startColumnCount === 'number'\n ? `indent-${x.startColumnCount}`\n : '')}\"\n aria-disabled=\"${x => x.disabled}\"\n @click=\"${(x, c) => x.clickHandler(c.event as MouseEvent)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event as KeyboardEvent)}\"\n >\n <a\n ${ref('anchor')}\n download=\"${x => x.download}\"\n href=${x => (x.disabled ? null : x.href)}\n hreflang=\"${x => x.hreflang}\"\n ping=\"${x => x.ping}\"\n referrerpolicy=\"${x => x.referrerpolicy}\"\n rel=\"${x => x.rel}\"\n target=\"${x => x.target}\"\n type=\"${x => x.type}\"\n >\n ${startSlotTemplate(context, definition)}\n <span class=\"content\" part=\"content\">\n <slot></slot>\n </span>\n ${endSlotTemplate(context, definition)}\n </a>\n </template>\n`;\n"]}
@@ -1,4 +1,4 @@
1
- import { FoundationElementDefinition, StartEndOptions } from '@microsoft/fast-foundation';
1
+ import { type FoundationElementDefinition, type StartEndOptions } from '@microsoft/fast-foundation';
2
2
  import { AnchorBase } from '../anchor-base';
3
3
  declare global {
4
4
  interface HTMLElementTagNameMap {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/anchor-tab/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EACH,YAAY,EAGf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAUtC;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,UAAU;IAAzC;;QACI;;;;;WAKG;QAEI,aAAQ,GAAG,KAAK,CAAC;QAExB;;;;;;;WAOG;QAEa,iBAAY,GAAG,OAAO,CAAC;IAC3C,CAAC;CAAA;AAZU;IADN,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;2CACF;AAWR;IADf,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;+CACE;AAG3C,uFAAuF;AAEvF,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC;IACtC,QAAQ,EAAE,YAAY;IACtB,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC","sourcesContent":["import { attr } from '@microsoft/fast-element';\nimport {\n DesignSystem,\n FoundationElementDefinition,\n StartEndOptions\n} from '@microsoft/fast-foundation';\nimport { AnchorBase } from '../anchor-base';\nimport { styles } from './styles';\nimport { template } from './template';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-anchor-tab': AnchorTab;\n }\n}\n\nexport type TabOptions = FoundationElementDefinition & StartEndOptions;\n\n/**\n * A nimble-styled link tab\n */\nexport class AnchorTab extends AnchorBase {\n /**\n * When true, the control will be immutable by user interaction. See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled | disabled HTML attribute} for more information.\n * @public\n * @remarks\n * HTML Attribute: disabled\n */\n @attr({ mode: 'boolean' })\n public disabled = false;\n\n /**\n * Indicates the current \"selected\" state of various widgets.\n * {@link https://www.w3.org/TR/wai-aria-1.1/#aria-selected}\n *\n * @public\n * @remarks\n * HTML Attribute: aria-selected\n */\n @attr({ attribute: 'aria-selected' })\n public override ariaSelected = 'false';\n}\n\n// FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.\n\nconst nimbleAnchorTab = AnchorTab.compose({\n baseName: 'anchor-tab',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorTab());\nexport const anchorTabTag = 'nimble-anchor-tab';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/anchor-tab/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EACH,YAAY,EAGf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAUtC;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,UAAU;IAAzC;;QACI;;;;;WAKG;QAEI,aAAQ,GAAG,KAAK,CAAC;QAExB;;;;;;;WAOG;QAEa,iBAAY,GAAG,OAAO,CAAC;IAC3C,CAAC;CAAA;AAZU;IADN,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;2CACF;AAWR;IADf,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;+CACE;AAG3C,uFAAuF;AAEvF,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC;IACtC,QAAQ,EAAE,YAAY;IACtB,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC","sourcesContent":["import { attr } from '@microsoft/fast-element';\nimport {\n DesignSystem,\n type FoundationElementDefinition,\n type StartEndOptions\n} from '@microsoft/fast-foundation';\nimport { AnchorBase } from '../anchor-base';\nimport { styles } from './styles';\nimport { template } from './template';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-anchor-tab': AnchorTab;\n }\n}\n\nexport type TabOptions = FoundationElementDefinition & StartEndOptions;\n\n/**\n * A nimble-styled link tab\n */\nexport class AnchorTab extends AnchorBase {\n /**\n * When true, the control will be immutable by user interaction. See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled | disabled HTML attribute} for more information.\n * @public\n * @remarks\n * HTML Attribute: disabled\n */\n @attr({ mode: 'boolean' })\n public disabled = false;\n\n /**\n * Indicates the current \"selected\" state of various widgets.\n * {@link https://www.w3.org/TR/wai-aria-1.1/#aria-selected}\n *\n * @public\n * @remarks\n * HTML Attribute: aria-selected\n */\n @attr({ attribute: 'aria-selected' })\n public override ariaSelected = 'false';\n}\n\n// FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.\n\nconst nimbleAnchorTab = AnchorTab.compose({\n baseName: 'anchor-tab',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorTab());\nexport const anchorTabTag = 'nimble-anchor-tab';\n"]}
@@ -1,4 +1,4 @@
1
1
  import { ViewTemplate } from '@microsoft/fast-element';
2
- import { FoundationElementTemplate } from '@microsoft/fast-foundation';
2
+ import { type FoundationElementTemplate } from '@microsoft/fast-foundation';
3
3
  import type { AnchorTab, TabOptions } from '.';
4
4
  export declare const template: FoundationElementTemplate<ViewTemplate<AnchorTab>, TabOptions>;
@@ -1,4 +1,4 @@
1
- import { html } from '@microsoft/fast-element';
1
+ import { html, ViewTemplate } from '@microsoft/fast-element';
2
2
  import { endSlotTemplate, startSlotTemplate } from '@microsoft/fast-foundation';
3
3
  export const template = (context, definition) => html `
4
4
  <template slot="anchortab" role="tab" aria-disabled="${x => x.disabled}">
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/anchor-tab/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACH,eAAe,EAEf,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,CAAC,MAAM,QAAQ,GAGjB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAW;2DACe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;;wBAElD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;mBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;oBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;8BACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;mBAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;sBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;oBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;;cAEjB,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;;cAEtC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC;;;CAGjD,CAAC","sourcesContent":["import { html, ViewTemplate } from '@microsoft/fast-element';\nimport {\n endSlotTemplate,\n FoundationElementTemplate,\n startSlotTemplate\n} from '@microsoft/fast-foundation';\nimport type { AnchorTab, TabOptions } from '.';\n\nexport const template: FoundationElementTemplate<\nViewTemplate<AnchorTab>,\nTabOptions\n> = (context, definition) => html<AnchorTab>`\n <template slot=\"anchortab\" role=\"tab\" aria-disabled=\"${x => x.disabled}\">\n <a\n download=\"${x => x.download}\"\n href=${x => (x.disabled ? null : x.href)}\n hreflang=\"${x => x.hreflang}\"\n ping=\"${x => x.ping}\"\n referrerpolicy=\"${x => x.referrerpolicy}\"\n rel=\"${x => x.rel}\"\n target=\"${x => x.target}\"\n type=\"${x => x.type}\"\n >\n ${startSlotTemplate(context, definition)}\n <slot></slot>\n ${endSlotTemplate(context, definition)}\n </a>\n </template>\n`;\n"]}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/anchor-tab/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACH,eAAe,EAEf,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,CAAC,MAAM,QAAQ,GAGjB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAW;2DACe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;;wBAElD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;mBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;oBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;8BACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;mBAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;sBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;oBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;;cAEjB,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;;cAEtC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC;;;CAGjD,CAAC","sourcesContent":["import { html, ViewTemplate } from '@microsoft/fast-element';\nimport {\n endSlotTemplate,\n type FoundationElementTemplate,\n startSlotTemplate\n} from '@microsoft/fast-foundation';\nimport type { AnchorTab, TabOptions } from '.';\n\nexport const template: FoundationElementTemplate<\nViewTemplate<AnchorTab>,\nTabOptions\n> = (context, definition) => html<AnchorTab>`\n <template slot=\"anchortab\" role=\"tab\" aria-disabled=\"${x => x.disabled}\">\n <a\n download=\"${x => x.download}\"\n href=${x => (x.disabled ? null : x.href)}\n hreflang=\"${x => x.hreflang}\"\n ping=\"${x => x.ping}\"\n referrerpolicy=\"${x => x.referrerpolicy}\"\n rel=\"${x => x.rel}\"\n target=\"${x => x.target}\"\n type=\"${x => x.type}\"\n >\n ${startSlotTemplate(context, definition)}\n <slot></slot>\n ${endSlotTemplate(context, definition)}\n </a>\n </template>\n`;\n"]}
@@ -1,4 +1,4 @@
1
- import { StartEndOptions, FoundationElementDefinition, FoundationElement } from '@microsoft/fast-foundation';
1
+ import { type StartEndOptions, type FoundationElementDefinition, FoundationElement } from '@microsoft/fast-foundation';
2
2
  import type { TabsOwner } from '../patterns/tabs/types';
3
3
  declare global {
4
4
  interface HTMLElementTagNameMap {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/anchor-tabs/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Based on:\n// https://github.com/microsoft/fast/blob/6bce27d0b2d654650b8751bf055f5e3b5a4f9250/packages/web-components/fast-foundation/src/tabs/tabs.ts\n// The code is heavily modified such that a diff against the original is useless.\n// Primary differences are:\n// - Reimplemented active tab indicator and removed attribute to disable it\n// - Separated tab focus and tab selection, i.e. can focus a different tab than the selected one\n// - Removed everything related to tab panels\n// - Removed support for vertical tab orientation\n// - Removed change event\n// - Conforms to our linter rules\nimport { attr, observable } from '@microsoft/fast-element';\nimport {\n keyArrowLeft,\n keyArrowRight,\n keyEnd,\n keyEnter,\n keyHome,\n keySpace,\n uniqueId\n} from '@microsoft/fast-web-utilities';\nimport {\n DesignSystem,\n StartEnd,\n applyMixins,\n StartEndOptions,\n FoundationElementDefinition,\n FoundationElement\n} from '@microsoft/fast-foundation';\nimport { styles } from '../patterns/tabs/styles';\nimport { template } from '../patterns/tabs/template';\nimport type { AnchorTab } from '../anchor-tab';\nimport type { TabsOwner } from '../patterns/tabs/types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-anchor-tabs': AnchorTabs;\n }\n}\n\nexport type TabsOptions = FoundationElementDefinition & StartEndOptions;\n\n/**\n * A nimble-styled set of anchor tabs\n */\nexport class AnchorTabs extends FoundationElement implements TabsOwner {\n /**\n * The id of the active tab\n *\n * @public\n * @remarks\n * HTML Attribute: activeid\n */\n @attr\n public activeid?: string;\n\n /**\n * @internal\n */\n @observable\n public tabs!: HTMLElement[];\n\n /**\n * @internal\n */\n @observable\n public showScrollButtons = false;\n\n /**\n * A reference to the active tab\n * @public\n */\n public activetab?: HTMLElement;\n\n /**\n * A reference to the tablist div\n * @internal\n */\n public tablist!: HTMLElement;\n\n /**\n * @internal\n */\n public readonly leftScrollButton?: HTMLElement;\n\n /**\n * @internal\n */\n public readonly tabSlotName = 'anchortab';\n\n private readonly tabListResizeObserver: ResizeObserver;\n private tabIds: string[] = [];\n\n public constructor() {\n super();\n this.tabListResizeObserver = new ResizeObserver(entries => {\n let tabListVisibleWidth = entries[0]?.contentRect.width;\n if (tabListVisibleWidth !== undefined) {\n const buttonWidth = this.leftScrollButton?.clientWidth ?? 0;\n tabListVisibleWidth = Math.ceil(tabListVisibleWidth);\n if (this.showScrollButtons) {\n tabListVisibleWidth += buttonWidth * 2;\n }\n this.showScrollButtons = tabListVisibleWidth < this.tablist.scrollWidth;\n }\n });\n }\n\n /**\n * @internal\n */\n public activeidChanged(_oldValue: string, _newValue: string): void {\n if (this.$fastController.isConnected) {\n this.setTabs();\n this.activetab?.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n }\n }\n\n /**\n * @internal\n */\n public tabsChanged(): void {\n if (this.$fastController.isConnected) {\n this.tabIds = this.getTabIds();\n this.setTabs();\n }\n }\n\n /**\n * @internal\n */\n public onScrollLeftClick(): void {\n this.tablist.scrollBy({\n left: -this.tablist.clientWidth,\n behavior: 'smooth'\n });\n }\n\n /**\n * @internal\n */\n public onScrollRightClick(): void {\n this.tablist.scrollBy({\n left: this.tablist.clientWidth,\n behavior: 'smooth'\n });\n }\n\n /**\n * @internal\n */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.tabListResizeObserver.observe(this.tablist);\n this.tabIds = this.getTabIds();\n }\n\n /**\n * @internal\n */\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.tabListResizeObserver.disconnect();\n }\n\n private readonly isDisabledElement = (el: Element): el is HTMLElement => {\n return el.getAttribute('aria-disabled') === 'true';\n };\n\n private readonly isHiddenElement = (el: Element): el is HTMLElement => {\n return el.hasAttribute('hidden');\n };\n\n private readonly isFocusableElement = (el: Element): el is HTMLElement => {\n return !this.isDisabledElement(el) && !this.isHiddenElement(el);\n };\n\n private readonly setTabs = (): void => {\n const gridHorizontalProperty = 'gridColumn';\n const gridVerticalProperty = 'gridRow';\n\n this.activetab = undefined;\n let firstFocusableTab: HTMLElement | undefined;\n this.tabs.forEach((tab: HTMLElement, index: number) => {\n const tabId: string = this.tabIds[index]!;\n const isActiveTab = this.activeid === tabId;\n if (!firstFocusableTab && this.isFocusableElement(tab)) {\n firstFocusableTab = tab;\n }\n const isTabStop = this.activeid === tabId && this.isFocusableElement(tab);\n tab.setAttribute('id', tabId);\n if (isActiveTab) {\n tab.setAttribute('aria-current', 'page');\n } else {\n tab.removeAttribute('aria-current');\n }\n tab.removeEventListener('click', this.handleTabClick);\n tab.addEventListener('click', this.handleTabClick);\n tab.removeEventListener('keydown', this.handleTabKeyDown);\n tab.addEventListener('keydown', this.handleTabKeyDown);\n tab.setAttribute('tabindex', isTabStop ? '0' : '-1');\n if (isActiveTab) {\n this.activetab = tab;\n }\n\n tab.style[gridVerticalProperty] = '';\n tab.style[gridHorizontalProperty] = `${index + 1}`;\n });\n\n if (\n firstFocusableTab\n && (!this.activetab || !this.isFocusableElement(this.activetab))\n ) {\n firstFocusableTab.setAttribute('tabindex', '0');\n }\n };\n\n private getTabIds(): string[] {\n return this.tabs.map((tab: HTMLElement) => {\n return tab.getAttribute('id') ?? `tab-${uniqueId()}`;\n });\n }\n\n private readonly handleTabClick = (event: MouseEvent): void => {\n const selectedTab = event.currentTarget as HTMLElement;\n if (\n selectedTab.nodeType === 1\n && this.isFocusableElement(selectedTab)\n ) {\n this.tabs.forEach((tab: HTMLElement) => {\n tab.setAttribute('tabindex', tab === selectedTab ? '0' : '-1');\n });\n }\n };\n\n private readonly handleTabKeyDown = (event: KeyboardEvent): void => {\n let anchor;\n switch (event.key) {\n case keyArrowLeft:\n event.preventDefault();\n this.adjustBackward();\n break;\n case keyArrowRight:\n event.preventDefault();\n this.adjustForward();\n break;\n case keyHome:\n event.preventDefault();\n this.focusFirstOrLast(false);\n break;\n case keyEnd:\n event.preventDefault();\n this.focusFirstOrLast(true);\n break;\n case keySpace:\n case keyEnter:\n event.preventDefault();\n this.getTabAnchor(event.target as AnchorTab).click();\n break;\n case 'ContextMenu':\n event.preventDefault();\n anchor = this.getTabAnchor(event.target as AnchorTab);\n anchor.focus();\n anchor.dispatchEvent(\n new KeyboardEvent('keydown', {\n key: event.key,\n bubbles: false\n })\n );\n break;\n default:\n // do nothing\n }\n };\n\n private focusFirstOrLast(focusLast: boolean): void {\n const focusableTabs = this.tabs.filter(t => this.isFocusableElement(t));\n const focusableIndex = focusLast ? focusableTabs.length - 1 : 0;\n const index = this.tabs.indexOf(focusableTabs[focusableIndex]!);\n if (index > -1) {\n this.focusTabByIndex(this.tabs, index);\n }\n }\n\n private readonly adjustForward = (): void => {\n const group: HTMLElement[] = this.tabs;\n let index = 0;\n const focusedTab = group.find(x => x === document.activeElement);\n\n index = focusedTab ? group.indexOf(focusedTab) + 1 : 1;\n if (index === group.length) {\n index = 0;\n }\n\n while (index < group.length && group.length > 1) {\n if (this.isFocusableElement(group[index]!)) {\n this.focusTabByIndex(group, index);\n break;\n } else if (focusedTab && index === group.indexOf(focusedTab)) {\n break;\n } else if (index + 1 >= group.length) {\n index = 0;\n } else {\n index += 1;\n }\n }\n };\n\n private readonly adjustBackward = (): void => {\n const group: HTMLElement[] = this.tabs;\n let index = 0;\n const focusedTab = group.find(x => x === document.activeElement);\n\n index = focusedTab ? group.indexOf(focusedTab) - 1 : 0;\n index = index < 0 ? group.length - 1 : index;\n\n while (index >= 0 && group.length > 1) {\n if (this.isFocusableElement(group[index]!)) {\n this.focusTabByIndex(group, index);\n break;\n } else if (index - 1 < 0) {\n index = group.length - 1;\n } else {\n index -= 1;\n }\n }\n };\n\n private readonly focusTabByIndex = (\n group: HTMLElement[],\n index: number\n ): void => {\n const focusedTab: HTMLElement = group[index]!;\n focusedTab.focus();\n\n this.tabs.forEach((tab: HTMLElement) => {\n tab.setAttribute('tabindex', tab === focusedTab ? '0' : '-1');\n tab.setAttribute(\n 'aria-selected',\n tab === focusedTab ? 'true' : 'false'\n );\n });\n\n focusedTab.scrollIntoView({ block: 'nearest', inline: 'start' });\n };\n\n private getTabAnchor(tab: AnchorTab): HTMLAnchorElement {\n return tab.shadowRoot!.querySelector('a')!;\n }\n}\napplyMixins(AnchorTabs, StartEnd);\n\nconst nimbleAnchorTabs = AnchorTabs.compose<TabsOptions>({\n baseName: 'anchor-tabs',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: false\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorTabs());\nexport const anchorTabsTag = 'nimble-anchor-tabs';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/anchor-tabs/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Based on:\n// https://github.com/microsoft/fast/blob/6bce27d0b2d654650b8751bf055f5e3b5a4f9250/packages/web-components/fast-foundation/src/tabs/tabs.ts\n// The code is heavily modified such that a diff against the original is useless.\n// Primary differences are:\n// - Reimplemented active tab indicator and removed attribute to disable it\n// - Separated tab focus and tab selection, i.e. can focus a different tab than the selected one\n// - Removed everything related to tab panels\n// - Removed support for vertical tab orientation\n// - Removed change event\n// - Conforms to our linter rules\nimport { attr, observable } from '@microsoft/fast-element';\nimport {\n keyArrowLeft,\n keyArrowRight,\n keyEnd,\n keyEnter,\n keyHome,\n keySpace,\n uniqueId\n} from '@microsoft/fast-web-utilities';\nimport {\n DesignSystem,\n StartEnd,\n applyMixins,\n type StartEndOptions,\n type FoundationElementDefinition,\n FoundationElement\n} from '@microsoft/fast-foundation';\nimport { styles } from '../patterns/tabs/styles';\nimport { template } from '../patterns/tabs/template';\nimport type { AnchorTab } from '../anchor-tab';\nimport type { TabsOwner } from '../patterns/tabs/types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-anchor-tabs': AnchorTabs;\n }\n}\n\nexport type TabsOptions = FoundationElementDefinition & StartEndOptions;\n\n/**\n * A nimble-styled set of anchor tabs\n */\nexport class AnchorTabs extends FoundationElement implements TabsOwner {\n /**\n * The id of the active tab\n *\n * @public\n * @remarks\n * HTML Attribute: activeid\n */\n @attr\n public activeid?: string;\n\n /**\n * @internal\n */\n @observable\n public tabs!: HTMLElement[];\n\n /**\n * @internal\n */\n @observable\n public showScrollButtons = false;\n\n /**\n * A reference to the active tab\n * @public\n */\n public activetab?: HTMLElement;\n\n /**\n * A reference to the tablist div\n * @internal\n */\n public tablist!: HTMLElement;\n\n /**\n * @internal\n */\n public readonly leftScrollButton?: HTMLElement;\n\n /**\n * @internal\n */\n public readonly tabSlotName = 'anchortab';\n\n private readonly tabListResizeObserver: ResizeObserver;\n private tabIds: string[] = [];\n\n public constructor() {\n super();\n this.tabListResizeObserver = new ResizeObserver(entries => {\n let tabListVisibleWidth = entries[0]?.contentRect.width;\n if (tabListVisibleWidth !== undefined) {\n const buttonWidth = this.leftScrollButton?.clientWidth ?? 0;\n tabListVisibleWidth = Math.ceil(tabListVisibleWidth);\n if (this.showScrollButtons) {\n tabListVisibleWidth += buttonWidth * 2;\n }\n this.showScrollButtons = tabListVisibleWidth < this.tablist.scrollWidth;\n }\n });\n }\n\n /**\n * @internal\n */\n public activeidChanged(_oldValue: string, _newValue: string): void {\n if (this.$fastController.isConnected) {\n this.setTabs();\n this.activetab?.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n }\n }\n\n /**\n * @internal\n */\n public tabsChanged(): void {\n if (this.$fastController.isConnected) {\n this.tabIds = this.getTabIds();\n this.setTabs();\n }\n }\n\n /**\n * @internal\n */\n public onScrollLeftClick(): void {\n this.tablist.scrollBy({\n left: -this.tablist.clientWidth,\n behavior: 'smooth'\n });\n }\n\n /**\n * @internal\n */\n public onScrollRightClick(): void {\n this.tablist.scrollBy({\n left: this.tablist.clientWidth,\n behavior: 'smooth'\n });\n }\n\n /**\n * @internal\n */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.tabListResizeObserver.observe(this.tablist);\n this.tabIds = this.getTabIds();\n }\n\n /**\n * @internal\n */\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.tabListResizeObserver.disconnect();\n }\n\n private readonly isDisabledElement = (el: Element): el is HTMLElement => {\n return el.getAttribute('aria-disabled') === 'true';\n };\n\n private readonly isHiddenElement = (el: Element): el is HTMLElement => {\n return el.hasAttribute('hidden');\n };\n\n private readonly isFocusableElement = (el: Element): el is HTMLElement => {\n return !this.isDisabledElement(el) && !this.isHiddenElement(el);\n };\n\n private readonly setTabs = (): void => {\n const gridHorizontalProperty = 'gridColumn';\n const gridVerticalProperty = 'gridRow';\n\n this.activetab = undefined;\n let firstFocusableTab: HTMLElement | undefined;\n this.tabs.forEach((tab: HTMLElement, index: number) => {\n const tabId: string = this.tabIds[index]!;\n const isActiveTab = this.activeid === tabId;\n if (!firstFocusableTab && this.isFocusableElement(tab)) {\n firstFocusableTab = tab;\n }\n const isTabStop = this.activeid === tabId && this.isFocusableElement(tab);\n tab.setAttribute('id', tabId);\n if (isActiveTab) {\n tab.setAttribute('aria-current', 'page');\n } else {\n tab.removeAttribute('aria-current');\n }\n tab.removeEventListener('click', this.handleTabClick);\n tab.addEventListener('click', this.handleTabClick);\n tab.removeEventListener('keydown', this.handleTabKeyDown);\n tab.addEventListener('keydown', this.handleTabKeyDown);\n tab.setAttribute('tabindex', isTabStop ? '0' : '-1');\n if (isActiveTab) {\n this.activetab = tab;\n }\n\n tab.style[gridVerticalProperty] = '';\n tab.style[gridHorizontalProperty] = `${index + 1}`;\n });\n\n if (\n firstFocusableTab\n && (!this.activetab || !this.isFocusableElement(this.activetab))\n ) {\n firstFocusableTab.setAttribute('tabindex', '0');\n }\n };\n\n private getTabIds(): string[] {\n return this.tabs.map((tab: HTMLElement) => {\n return tab.getAttribute('id') ?? `tab-${uniqueId()}`;\n });\n }\n\n private readonly handleTabClick = (event: MouseEvent): void => {\n const selectedTab = event.currentTarget as HTMLElement;\n if (\n selectedTab.nodeType === 1\n && this.isFocusableElement(selectedTab)\n ) {\n this.tabs.forEach((tab: HTMLElement) => {\n tab.setAttribute('tabindex', tab === selectedTab ? '0' : '-1');\n });\n }\n };\n\n private readonly handleTabKeyDown = (event: KeyboardEvent): void => {\n let anchor;\n switch (event.key) {\n case keyArrowLeft:\n event.preventDefault();\n this.adjustBackward();\n break;\n case keyArrowRight:\n event.preventDefault();\n this.adjustForward();\n break;\n case keyHome:\n event.preventDefault();\n this.focusFirstOrLast(false);\n break;\n case keyEnd:\n event.preventDefault();\n this.focusFirstOrLast(true);\n break;\n case keySpace:\n case keyEnter:\n event.preventDefault();\n this.getTabAnchor(event.target as AnchorTab).click();\n break;\n case 'ContextMenu':\n event.preventDefault();\n anchor = this.getTabAnchor(event.target as AnchorTab);\n anchor.focus();\n anchor.dispatchEvent(\n new KeyboardEvent('keydown', {\n key: event.key,\n bubbles: false\n })\n );\n break;\n default:\n // do nothing\n }\n };\n\n private focusFirstOrLast(focusLast: boolean): void {\n const focusableTabs = this.tabs.filter(t => this.isFocusableElement(t));\n const focusableIndex = focusLast ? focusableTabs.length - 1 : 0;\n const index = this.tabs.indexOf(focusableTabs[focusableIndex]!);\n if (index > -1) {\n this.focusTabByIndex(this.tabs, index);\n }\n }\n\n private readonly adjustForward = (): void => {\n const group: HTMLElement[] = this.tabs;\n let index = 0;\n const focusedTab = group.find(x => x === document.activeElement);\n\n index = focusedTab ? group.indexOf(focusedTab) + 1 : 1;\n if (index === group.length) {\n index = 0;\n }\n\n while (index < group.length && group.length > 1) {\n if (this.isFocusableElement(group[index]!)) {\n this.focusTabByIndex(group, index);\n break;\n } else if (focusedTab && index === group.indexOf(focusedTab)) {\n break;\n } else if (index + 1 >= group.length) {\n index = 0;\n } else {\n index += 1;\n }\n }\n };\n\n private readonly adjustBackward = (): void => {\n const group: HTMLElement[] = this.tabs;\n let index = 0;\n const focusedTab = group.find(x => x === document.activeElement);\n\n index = focusedTab ? group.indexOf(focusedTab) - 1 : 0;\n index = index < 0 ? group.length - 1 : index;\n\n while (index >= 0 && group.length > 1) {\n if (this.isFocusableElement(group[index]!)) {\n this.focusTabByIndex(group, index);\n break;\n } else if (index - 1 < 0) {\n index = group.length - 1;\n } else {\n index -= 1;\n }\n }\n };\n\n private readonly focusTabByIndex = (\n group: HTMLElement[],\n index: number\n ): void => {\n const focusedTab: HTMLElement = group[index]!;\n focusedTab.focus();\n\n this.tabs.forEach((tab: HTMLElement) => {\n tab.setAttribute('tabindex', tab === focusedTab ? '0' : '-1');\n tab.setAttribute(\n 'aria-selected',\n tab === focusedTab ? 'true' : 'false'\n );\n });\n\n focusedTab.scrollIntoView({ block: 'nearest', inline: 'start' });\n };\n\n private getTabAnchor(tab: AnchorTab): HTMLAnchorElement {\n return tab.shadowRoot!.querySelector('a')!;\n }\n}\napplyMixins(AnchorTabs, StartEnd);\n\nconst nimbleAnchorTabs = AnchorTabs.compose<TabsOptions>({\n baseName: 'anchor-tabs',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: false\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorTabs());\nexport const anchorTabsTag = 'nimble-anchor-tabs';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/anchor-tree-item/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EACH,YAAY,EAEZ,iBAAiB,EACjB,QAAQ,IAAI,kBAAkB,EACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,UAAU;IAA9C;;QACI;;;;;WAKG;QAEI,aAAQ,GAAG,KAAK,CAAC;QAExB;;;;;WAKG;QAEI,aAAQ,GAAG,KAAK,CAAC;IA8E5B,CAAC;IA5EG;;;;OAIG;IACI,YAAY;QACf,OAAO,iBAAiB,CAAC,IAAI,CAAC,aAAwB,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,EAAc;QAC7B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,EAAc;QAC5B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,CAAgB;QAClC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ;gBACT,8DAA8D;gBAC9D,8BAA8B;gBAC9B,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,MAAM;YACV,KAAK,YAAY;gBACb,mEAAmE;gBACnE,mEAAmE;gBACnE,+DAA+D;gBAC/D,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;oBAC5C,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACrD,CAAC;gBACD,MAAM;YACV,QAAQ;QACZ,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CAAC,CAAa;QAC7B,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,eAAe,CACrB,KAA0B,EAC1B,KAAc;QAEd,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;CACJ;AAvFU;IADN,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gDACF;AASjB;IADN,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gDACF;AAgF5B,uFAAuF;AAEvF,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAgB;IAC/D,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC","sourcesContent":["import { attr } from '@microsoft/fast-element';\nimport {\n DesignSystem,\n AnchorOptions,\n isTreeItemElement,\n TreeItem as FoundationTreeItem\n} from '@microsoft/fast-foundation';\nimport { keyArrowLeft, keyEnter } from '@microsoft/fast-web-utilities';\nimport { AnchorBase } from '../anchor-base';\nimport { styles } from './styles';\nimport { template } from './template';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-anchor-tree-item': AnchorTreeItem;\n }\n}\n\n/**\n * A nimble-styled anchor tree item\n */\nexport class AnchorTreeItem extends AnchorBase {\n /**\n * When true, the control will appear selected by user interaction.\n * @public\n * @remarks\n * HTML Attribute: selected\n */\n @attr({ mode: 'boolean' })\n public selected = false;\n\n /**\n * When true, the control will be immutable by user interaction. See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled | disabled HTML attribute} for more information.\n * @public\n * @remarks\n * HTML Attribute: disabled\n */\n @attr({ mode: 'boolean' })\n public disabled = false;\n\n /**\n * Whether the tree is nested\n *\n * @public\n */\n public isNestedItem(): boolean {\n return isTreeItemElement(this.parentElement as Element);\n }\n\n /**\n * Handle focus events\n *\n * @internal\n */\n public handleFocus(_e: FocusEvent): void {\n this.setAttribute('tabindex', '0');\n }\n\n /**\n * Handle blur events\n *\n * @internal\n */\n public handleBlur(_e: FocusEvent): void {\n this.setAttribute('tabindex', '-1');\n }\n\n /**\n * @internal\n */\n public keydownHandler(e: KeyboardEvent): boolean {\n if (e.defaultPrevented) {\n return false;\n }\n switch (e.key) {\n case keyEnter:\n // Do not let the event bubble up to the FAST tree, or it will\n // prevent the default action.\n e.stopPropagation();\n break;\n case keyArrowLeft:\n // For FAST tree items, the FAST tree view handles this navigation,\n // but since our anchor tree item is not \"instanceof FASTTreeItem\",\n // the FAST tree view won't do this for us. We do it ourselves.\n if (this.parentElement && this.isNestedItem()) {\n FoundationTreeItem.focusItem(this.parentElement);\n }\n break;\n default:\n }\n return true;\n }\n\n /**\n * Activating the anchor by pressing the Enter key results in a click event.\n * This bubbles up to the Nimble tree-view's click handler, causing the tree item\n * to be selected. We don't want that for anchor tree items. We'll stop propagation\n * of the event to prevent that.\n * @internal\n */\n public clickHandler(e: MouseEvent): boolean {\n if (e.defaultPrevented) {\n return false;\n }\n e.stopPropagation();\n return true;\n }\n\n protected selectedChanged(\n _prev: boolean | undefined,\n _next: boolean\n ): void {\n if (this.$fastController.isConnected) {\n this.$emit('selected-change', this);\n }\n }\n}\n\n// FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.\n\nconst nimbleAnchorTreeItem = AnchorTreeItem.compose<AnchorOptions>({\n baseName: 'anchor-tree-item',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleAnchorTreeItem());\nexport const anchorTreeItemTag = 'nimble-anchor-tree-item';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/anchor-tree-item/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EACH,YAAY,EAEZ,iBAAiB,EACjB,QAAQ,IAAI,kBAAkB,EACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,UAAU;IAA9C;;QACI;;;;;WAKG;QAEI,aAAQ,GAAG,KAAK,CAAC;QAExB;;;;;WAKG;QAEI,aAAQ,GAAG,KAAK,CAAC;IA8E5B,CAAC;IA5EG;;;;OAIG;IACI,YAAY;QACf,OAAO,iBAAiB,CAAC,IAAI,CAAC,aAAwB,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,EAAc;QAC7B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,EAAc;QAC5B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,CAAgB;QAClC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ;gBACT,8DAA8D;gBAC9D,8BAA8B;gBAC9B,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,MAAM;YACV,KAAK,YAAY;gBACb,mEAAmE;gBACnE,mEAAmE;gBACnE,+DAA+D;gBAC/D,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;oBAC5C,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACrD,CAAC;gBACD,MAAM;YACV,QAAQ;QACZ,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CAAC,CAAa;QAC7B,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,eAAe,CACrB,KAA0B,EAC1B,KAAc;QAEd,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;CACJ;AAvFU;IADN,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gDACF;AASjB;IADN,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gDACF;AAgF5B,uFAAuF;AAEvF,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAgB;IAC/D,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC","sourcesContent":["import { attr } from '@microsoft/fast-element';\nimport {\n DesignSystem,\n type AnchorOptions,\n isTreeItemElement,\n TreeItem as FoundationTreeItem\n} from '@microsoft/fast-foundation';\nimport { keyArrowLeft, keyEnter } from '@microsoft/fast-web-utilities';\nimport { AnchorBase } from '../anchor-base';\nimport { styles } from './styles';\nimport { template } from './template';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-anchor-tree-item': AnchorTreeItem;\n }\n}\n\n/**\n * A nimble-styled anchor tree item\n */\nexport class AnchorTreeItem extends AnchorBase {\n /**\n * When true, the control will appear selected by user interaction.\n * @public\n * @remarks\n * HTML Attribute: selected\n */\n @attr({ mode: 'boolean' })\n public selected = false;\n\n /**\n * When true, the control will be immutable by user interaction. See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled | disabled HTML attribute} for more information.\n * @public\n * @remarks\n * HTML Attribute: disabled\n */\n @attr({ mode: 'boolean' })\n public disabled = false;\n\n /**\n * Whether the tree is nested\n *\n * @public\n */\n public isNestedItem(): boolean {\n return isTreeItemElement(this.parentElement as Element);\n }\n\n /**\n * Handle focus events\n *\n * @internal\n */\n public handleFocus(_e: FocusEvent): void {\n this.setAttribute('tabindex', '0');\n }\n\n /**\n * Handle blur events\n *\n * @internal\n */\n public handleBlur(_e: FocusEvent): void {\n this.setAttribute('tabindex', '-1');\n }\n\n /**\n * @internal\n */\n public keydownHandler(e: KeyboardEvent): boolean {\n if (e.defaultPrevented) {\n return false;\n }\n switch (e.key) {\n case keyEnter:\n // Do not let the event bubble up to the FAST tree, or it will\n // prevent the default action.\n e.stopPropagation();\n break;\n case keyArrowLeft:\n // For FAST tree items, the FAST tree view handles this navigation,\n // but since our anchor tree item is not \"instanceof FASTTreeItem\",\n // the FAST tree view won't do this for us. We do it ourselves.\n if (this.parentElement && this.isNestedItem()) {\n FoundationTreeItem.focusItem(this.parentElement);\n }\n break;\n default:\n }\n return true;\n }\n\n /**\n * Activating the anchor by pressing the Enter key results in a click event.\n * This bubbles up to the Nimble tree-view's click handler, causing the tree item\n * to be selected. We don't want that for anchor tree items. We'll stop propagation\n * of the event to prevent that.\n * @internal\n */\n public clickHandler(e: MouseEvent): boolean {\n if (e.defaultPrevented) {\n return false;\n }\n e.stopPropagation();\n return true;\n }\n\n protected selectedChanged(\n _prev: boolean | undefined,\n _next: boolean\n ): void {\n if (this.$fastController.isConnected) {\n this.$emit('selected-change', this);\n }\n }\n}\n\n// FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.\n\nconst nimbleAnchorTreeItem = AnchorTreeItem.compose<AnchorOptions>({\n baseName: 'anchor-tree-item',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleAnchorTreeItem());\nexport const anchorTreeItemTag = 'nimble-anchor-tree-item';\n"]}
@@ -1,4 +1,4 @@
1
1
  import { ViewTemplate } from '@microsoft/fast-element';
2
- import { AnchorOptions, FoundationElementTemplate } from '@microsoft/fast-foundation';
2
+ import { type AnchorOptions, type FoundationElementTemplate } from '@microsoft/fast-foundation';
3
3
  import type { AnchorTreeItem } from '.';
4
4
  export declare const template: FoundationElementTemplate<ViewTemplate<AnchorTreeItem>, AnchorOptions>;
@@ -1,4 +1,4 @@
1
- import { html, ref } from '@microsoft/fast-element';
1
+ import { html, ref, ViewTemplate } from '@microsoft/fast-element';
2
2
  import { endSlotTemplate, startSlotTemplate } from '@microsoft/fast-foundation';
3
3
  export const template = (context, definition) => html `
4
4
  <template
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/anchor-tree-item/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAgB,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAEH,eAAe,EAEf,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,CAAC,MAAM,QAAQ,GAGjB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAgB;;;gBAGjC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;;yBAE9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;yBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;oBACpB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAmB,CAAC;qBAC7C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAmB,CAAC;oBAC9C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAsB,CAAC;kBACtD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAmB,CAAC;;;;;;wBAMzC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;mBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;oBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;8BACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;mBAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;sBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;oBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;cACjB,GAAG,CAAC,SAAS,CAAC;;;;sBAIN,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;;;;sBAItC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC;;;;;CAKzD,CAAC","sourcesContent":["import { html, ref, ViewTemplate } from '@microsoft/fast-element';\nimport {\n AnchorOptions,\n endSlotTemplate,\n FoundationElementTemplate,\n startSlotTemplate\n} from '@microsoft/fast-foundation';\nimport type { AnchorTreeItem } from '.';\n\nexport const template: FoundationElementTemplate<\nViewTemplate<AnchorTreeItem>,\nAnchorOptions\n> = (context, definition) => html<AnchorTreeItem>`\n <template\n role=\"treeitem\"\n slot=\"${x => (x.isNestedItem() ? 'item' : null)}\"\n tabindex=\"-1\"\n aria-disabled=\"${x => x.disabled}\"\n aria-selected=\"${x => x.selected}\"\n @focusin=\"${(x, c) => x.handleFocus(c.event as FocusEvent)}\"\n @focusout=\"${(x, c) => x.handleBlur(c.event as FocusEvent)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event as KeyboardEvent)}\"\n @click=\"${(x, c) => x.clickHandler(c.event as MouseEvent)}\"\n >\n <a\n class=\"control\"\n part=\"control\"\n tabindex=\"0\"\n download=\"${x => x.download}\"\n href=${x => (x.disabled ? null : x.href)}\n hreflang=\"${x => x.hreflang}\"\n ping=\"${x => x.ping}\"\n referrerpolicy=\"${x => x.referrerpolicy}\"\n rel=\"${x => x.rel}\"\n target=\"${x => x.target}\"\n type=\"${x => x.type}\"\n ${ref('control')}\n >\n <div class=\"positioning-region\" part=\"positioning-region\">\n <div class=\"content-region\" part=\"content-region\">\n ${startSlotTemplate(context, definition)}\n <span class=\"content\" part=\"content\">\n <slot></slot>\n </span>\n ${endSlotTemplate(context, definition)}\n </div>\n </div>\n </a>\n </template>\n`;\n"]}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/anchor-tree-item/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAEH,eAAe,EAEf,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,CAAC,MAAM,QAAQ,GAGjB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAgB;;;gBAGjC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;;yBAE9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;yBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;oBACpB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAmB,CAAC;qBAC7C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAmB,CAAC;oBAC9C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAsB,CAAC;kBACtD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAmB,CAAC;;;;;;wBAMzC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;mBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;oBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;8BACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;mBAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;sBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;oBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;cACjB,GAAG,CAAC,SAAS,CAAC;;;;sBAIN,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;;;;sBAItC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC;;;;;CAKzD,CAAC","sourcesContent":["import { html, ref, ViewTemplate } from '@microsoft/fast-element';\nimport {\n type AnchorOptions,\n endSlotTemplate,\n type FoundationElementTemplate,\n startSlotTemplate\n} from '@microsoft/fast-foundation';\nimport type { AnchorTreeItem } from '.';\n\nexport const template: FoundationElementTemplate<\nViewTemplate<AnchorTreeItem>,\nAnchorOptions\n> = (context, definition) => html<AnchorTreeItem>`\n <template\n role=\"treeitem\"\n slot=\"${x => (x.isNestedItem() ? 'item' : null)}\"\n tabindex=\"-1\"\n aria-disabled=\"${x => x.disabled}\"\n aria-selected=\"${x => x.selected}\"\n @focusin=\"${(x, c) => x.handleFocus(c.event as FocusEvent)}\"\n @focusout=\"${(x, c) => x.handleBlur(c.event as FocusEvent)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event as KeyboardEvent)}\"\n @click=\"${(x, c) => x.clickHandler(c.event as MouseEvent)}\"\n >\n <a\n class=\"control\"\n part=\"control\"\n tabindex=\"0\"\n download=\"${x => x.download}\"\n href=${x => (x.disabled ? null : x.href)}\n hreflang=\"${x => x.hreflang}\"\n ping=\"${x => x.ping}\"\n referrerpolicy=\"${x => x.referrerpolicy}\"\n rel=\"${x => x.rel}\"\n target=\"${x => x.target}\"\n type=\"${x => x.type}\"\n ${ref('control')}\n >\n <div class=\"positioning-region\" part=\"positioning-region\">\n <div class=\"content-region\" part=\"content-region\">\n ${startSlotTemplate(context, definition)}\n <span class=\"content\" part=\"content\">\n <slot></slot>\n </span>\n ${endSlotTemplate(context, definition)}\n </div>\n </div>\n </a>\n </template>\n`;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/banner/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EACH,WAAW,EACX,6BAA6B,EAC7B,YAAY,EACZ,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAA2B,MAAM,SAAS,CAAC;AAQlE;;GAEG;AACH,MAAM,OAAO,MAAO,SAAQ,iBAAiB;IAA7C;;QACI;;;;WAIG;QAEI,SAAI,GAAG,KAAK,CAAC;QAEpB;;;;WAIG;QAEI,aAAQ,GAAmB,cAAc,CAAC,OAAO,CAAC;QAEzD;;;;WAIG;QAEI,gBAAW,GAAG,KAAK,CAAC;QAE3B;;;;WAIG;QAEI,mBAAc,GAAG,KAAK,CAAC;IAmBlC,CAAC;IAjBG;;OAEG;IACI,WAAW;QACd,MAAM,WAAW,GAA4B;YACzC,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI;SACvB,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,aAAa;QAChB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACtB,CAAC;CACJ;AA3CU;IADN,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oCACN;AAQb;IADN,IAAI,EAAE;wCACkD;AAQlD;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;2CAC1B;AAQpB;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8CAC1B;AAuBlC,WAAW,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;AAEnD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,QAAQ,EAAE,QAAQ;IAClB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC","sourcesContent":["import { attr } from '@microsoft/fast-element';\nimport {\n applyMixins,\n ARIAGlobalStatesAndProperties,\n DesignSystem,\n FoundationElement\n} from '@microsoft/fast-foundation';\nimport { styles } from './styles';\nimport { template } from './template';\nimport { BannerSeverity, BannerToggleEventDetail } from './types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-banner': Banner;\n }\n}\n\n/**\n * A nimble-styled notification banner for persistent messages.\n */\nexport class Banner extends FoundationElement {\n /**\n * @public\n * @description\n * Whether the banner is visible or not\n */\n @attr({ mode: 'boolean' })\n public open = false;\n\n /**\n * @public\n * @description\n * Severity of the banner's message\n */\n @attr()\n public severity: BannerSeverity = BannerSeverity.default;\n\n /**\n * @public\n * @description\n * Whether the banner title is hidden\n */\n @attr({ attribute: 'title-hidden', mode: 'boolean' })\n public titleHidden = false;\n\n /**\n * @public\n * @description\n * Hides the dismiss button\n */\n @attr({ attribute: 'prevent-dismiss', mode: 'boolean' })\n public preventDismiss = false;\n\n /**\n * @internal\n */\n public openChanged(): void {\n const eventDetail: BannerToggleEventDetail = {\n newState: this.open,\n oldState: !this.open\n };\n this.$emit('toggle', eventDetail);\n }\n\n /**\n * @internal\n */\n public dismissBanner(): void {\n this.open = false;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface Banner extends ARIAGlobalStatesAndProperties {}\napplyMixins(Banner, ARIAGlobalStatesAndProperties);\n\nconst nimbleBanner = Banner.compose({\n baseName: 'banner',\n template,\n styles\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleBanner());\nexport const bannerTag = 'nimble-banner';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/banner/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EACH,WAAW,EACX,6BAA6B,EAC7B,YAAY,EACZ,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAgC,MAAM,SAAS,CAAC;AAQvE;;GAEG;AACH,MAAM,OAAO,MAAO,SAAQ,iBAAiB;IAA7C;;QACI;;;;WAIG;QAEI,SAAI,GAAG,KAAK,CAAC;QAEpB;;;;WAIG;QAEI,aAAQ,GAAmB,cAAc,CAAC,OAAO,CAAC;QAEzD;;;;WAIG;QAEI,gBAAW,GAAG,KAAK,CAAC;QAE3B;;;;WAIG;QAEI,mBAAc,GAAG,KAAK,CAAC;IAmBlC,CAAC;IAjBG;;OAEG;IACI,WAAW;QACd,MAAM,WAAW,GAA4B;YACzC,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI;SACvB,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,aAAa;QAChB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACtB,CAAC;CACJ;AA3CU;IADN,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oCACN;AAQb;IADN,IAAI,EAAE;wCACkD;AAQlD;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;2CAC1B;AAQpB;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8CAC1B;AAuBlC,WAAW,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;AAEnD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,QAAQ,EAAE,QAAQ;IAClB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC","sourcesContent":["import { attr } from '@microsoft/fast-element';\nimport {\n applyMixins,\n ARIAGlobalStatesAndProperties,\n DesignSystem,\n FoundationElement\n} from '@microsoft/fast-foundation';\nimport { styles } from './styles';\nimport { template } from './template';\nimport { BannerSeverity, type BannerToggleEventDetail } from './types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-banner': Banner;\n }\n}\n\n/**\n * A nimble-styled notification banner for persistent messages.\n */\nexport class Banner extends FoundationElement {\n /**\n * @public\n * @description\n * Whether the banner is visible or not\n */\n @attr({ mode: 'boolean' })\n public open = false;\n\n /**\n * @public\n * @description\n * Severity of the banner's message\n */\n @attr()\n public severity: BannerSeverity = BannerSeverity.default;\n\n /**\n * @public\n * @description\n * Whether the banner title is hidden\n */\n @attr({ attribute: 'title-hidden', mode: 'boolean' })\n public titleHidden = false;\n\n /**\n * @public\n * @description\n * Hides the dismiss button\n */\n @attr({ attribute: 'prevent-dismiss', mode: 'boolean' })\n public preventDismiss = false;\n\n /**\n * @internal\n */\n public openChanged(): void {\n const eventDetail: BannerToggleEventDetail = {\n newState: this.open,\n oldState: !this.open\n };\n this.$emit('toggle', eventDetail);\n }\n\n /**\n * @internal\n */\n public dismissBanner(): void {\n this.open = false;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface Banner extends ARIAGlobalStatesAndProperties {}\napplyMixins(Banner, ARIAGlobalStatesAndProperties);\n\nconst nimbleBanner = Banner.compose({\n baseName: 'banner',\n template,\n styles\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleBanner());\nexport const bannerTag = 'nimble-banner';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/breadcrumb-item/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,cAAc,IAAI,wBAAwB,EAC1C,sBAAsB,IAAI,QAAQ,EAErC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQlC;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,wBAAwB;CAAG;AAE/D,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAwB;IACvE,QAAQ,EAAE,iBAAiB;IAC3B,SAAS,EAAE,wBAAwB;IACnC,QAAQ;IACR,MAAM;IACN,SAAS,EAAE,iBAAiB,CAAC,IAAI;CACpC,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC","sourcesContent":["import {\n DesignSystem,\n BreadcrumbItem as FoundationBreadcrumbItem,\n breadcrumbItemTemplate as template,\n BreadcrumbItemOptions\n} from '@microsoft/fast-foundation';\nimport { forwardSlash16X16 } from '@ni/nimble-tokens/dist/icons/js';\nimport { styles } from './styles';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-breadcrumb-item': BreadcrumbItem;\n }\n}\n\n/**\n * A nimble-styled breadcrumb item\n */\nexport class BreadcrumbItem extends FoundationBreadcrumbItem {}\n\nconst nimbleBreadcrumbItem = BreadcrumbItem.compose<BreadcrumbItemOptions>({\n baseName: 'breadcrumb-item',\n baseClass: FoundationBreadcrumbItem,\n template,\n styles,\n separator: forwardSlash16X16.data\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleBreadcrumbItem());\nexport const breadcrumbItemTag = 'nimble-breadcrumb-item';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/breadcrumb-item/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,cAAc,IAAI,wBAAwB,EAC1C,sBAAsB,IAAI,QAAQ,EAErC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQlC;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,wBAAwB;CAAG;AAE/D,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAwB;IACvE,QAAQ,EAAE,iBAAiB;IAC3B,SAAS,EAAE,wBAAwB;IACnC,QAAQ;IACR,MAAM;IACN,SAAS,EAAE,iBAAiB,CAAC,IAAI;CACpC,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC","sourcesContent":["import {\n DesignSystem,\n BreadcrumbItem as FoundationBreadcrumbItem,\n breadcrumbItemTemplate as template,\n type BreadcrumbItemOptions\n} from '@microsoft/fast-foundation';\nimport { forwardSlash16X16 } from '@ni/nimble-tokens/dist/icons/js';\nimport { styles } from './styles';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-breadcrumb-item': BreadcrumbItem;\n }\n}\n\n/**\n * A nimble-styled breadcrumb item\n */\nexport class BreadcrumbItem extends FoundationBreadcrumbItem {}\n\nconst nimbleBreadcrumbItem = BreadcrumbItem.compose<BreadcrumbItemOptions>({\n baseName: 'breadcrumb-item',\n baseClass: FoundationBreadcrumbItem,\n template,\n styles,\n separator: forwardSlash16X16.data\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleBreadcrumbItem());\nexport const breadcrumbItemTag = 'nimble-breadcrumb-item';\n"]}
@@ -3,7 +3,7 @@ import { attr, nullableNumberConverter } from '@microsoft/fast-element';
3
3
  import { Button as FoundationButton, DesignSystem } from '@microsoft/fast-foundation';
4
4
  import { styles } from './styles';
5
5
  import { template } from './template';
6
- import { ButtonAppearance } from './types';
6
+ import { ButtonAppearance, ButtonAppearanceVariant } from './types';
7
7
  /**
8
8
  * A nimble-styled HTML button
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/button/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACH,MAAM,IAAI,gBAAgB,EAE1B,YAAY,EACf,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAA2B,MAAM,SAAS,CAAC;AAQpE;;GAEG;AACH,MAAM,OAAO,MACT,SAAQ,gBAAgB;IAD5B;;QAGI;;;;WAIG;QAEI,eAAU,GAAqB,gBAAgB,CAAC,OAAO,CAAC;QAU/D;;;;WAIG;QAEI,kBAAa,GAAG,KAAK,CAAC;IASjC,CAAC;CAAA;AAzBU;IADN,IAAI;0CAC0D;AAQxD;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;iDACQ;AAQ3C;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;6CAC1B;AAQb;IADf,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;wCAClC;AAGtC;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAgB;IAC/C,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,gBAAgB;IAC3B,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC","sourcesContent":["import { attr, nullableNumberConverter } from '@microsoft/fast-element';\nimport {\n Button as FoundationButton,\n ButtonOptions,\n DesignSystem\n} from '@microsoft/fast-foundation';\nimport type {\n ButtonPattern,\n ButtonAppearanceVariantPattern\n} from '../patterns/button/types';\nimport { styles } from './styles';\nimport { template } from './template';\nimport { ButtonAppearance, ButtonAppearanceVariant } from './types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-button': Button;\n }\n}\n\n/**\n * A nimble-styled HTML button\n */\nexport class Button\n extends FoundationButton\n implements ButtonPattern, ButtonAppearanceVariantPattern {\n /**\n * @public\n * @remarks\n * HTML Attribute: appearance\n */\n @attr\n public appearance: ButtonAppearance = ButtonAppearance.outline;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: appearance-variant\n */\n @attr({ attribute: 'appearance-variant' })\n public appearanceVariant: ButtonAppearanceVariant;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: content-hidden\n */\n @attr({ attribute: 'content-hidden', mode: 'boolean' })\n public contentHidden = false;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: tabindex\n */\n @attr({ attribute: 'tabindex', converter: nullableNumberConverter })\n public override tabIndex!: number;\n}\n\n/**\n * A function that returns a nimble-button registration for configuring the component with a DesignSystem.\n * Implements {@link @microsoft/fast-foundation#buttonTemplate}\n *\n * @public\n * @remarks\n * Generates HTML Element: \\<nimble-button\\>\n *\n */\nconst nimbleButton = Button.compose<ButtonOptions>({\n baseName: 'button',\n baseClass: FoundationButton,\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleButton());\nexport const buttonTag = 'nimble-button';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/button/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACH,MAAM,IAAI,gBAAgB,EAE1B,YAAY,EACf,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAQpE;;GAEG;AACH,MAAM,OAAO,MACT,SAAQ,gBAAgB;IAD5B;;QAGI;;;;WAIG;QAEI,eAAU,GAAqB,gBAAgB,CAAC,OAAO,CAAC;QAU/D;;;;WAIG;QAEI,kBAAa,GAAG,KAAK,CAAC;IASjC,CAAC;CAAA;AAzBU;IADN,IAAI;0CAC0D;AAQxD;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;iDACQ;AAQ3C;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;6CAC1B;AAQb;IADf,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;wCAClC;AAGtC;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAgB;IAC/C,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,gBAAgB;IAC3B,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC","sourcesContent":["import { attr, nullableNumberConverter } from '@microsoft/fast-element';\nimport {\n Button as FoundationButton,\n type ButtonOptions,\n DesignSystem\n} from '@microsoft/fast-foundation';\nimport type {\n ButtonPattern,\n ButtonAppearanceVariantPattern\n} from '../patterns/button/types';\nimport { styles } from './styles';\nimport { template } from './template';\nimport { ButtonAppearance, ButtonAppearanceVariant } from './types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-button': Button;\n }\n}\n\n/**\n * A nimble-styled HTML button\n */\nexport class Button\n extends FoundationButton\n implements ButtonPattern, ButtonAppearanceVariantPattern {\n /**\n * @public\n * @remarks\n * HTML Attribute: appearance\n */\n @attr\n public appearance: ButtonAppearance = ButtonAppearance.outline;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: appearance-variant\n */\n @attr({ attribute: 'appearance-variant' })\n public appearanceVariant: ButtonAppearanceVariant;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: content-hidden\n */\n @attr({ attribute: 'content-hidden', mode: 'boolean' })\n public contentHidden = false;\n\n /**\n * @public\n * @remarks\n * HTML Attribute: tabindex\n */\n @attr({ attribute: 'tabindex', converter: nullableNumberConverter })\n public override tabIndex!: number;\n}\n\n/**\n * A function that returns a nimble-button registration for configuring the component with a DesignSystem.\n * Implements {@link @microsoft/fast-foundation#buttonTemplate}\n *\n * @public\n * @remarks\n * Generates HTML Element: \\<nimble-button\\>\n *\n */\nconst nimbleButton = Button.compose<ButtonOptions>({\n baseName: 'button',\n baseClass: FoundationButton,\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleButton());\nexport const buttonTag = 'nimble-button';\n"]}
@@ -1,4 +1,4 @@
1
1
  import type { ViewTemplate } from '@microsoft/fast-element';
2
- import { ButtonOptions, FoundationElementTemplate } from '@microsoft/fast-foundation';
2
+ import { type ButtonOptions, type FoundationElementTemplate } from '@microsoft/fast-foundation';
3
3
  import type { Button } from '.';
4
4
  export declare const template: FoundationElementTemplate<ViewTemplate<Button>, ButtonOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/button/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAEH,eAAe,EAEf,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,CAAC,MAAM,QAAQ,GAGjB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAA;;;;sBAIX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;qBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;gBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;sBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;uBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;sBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;0BACb,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;sBACzB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;gBACvB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;iBACV,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;oBACT,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;uBACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;qBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;wBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;4BACd,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;wBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;yBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;6BACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;yBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;uBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;yBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;uBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;wBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;6BACb,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;sBAC9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;2BACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;qBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;qBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;wBACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;yBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;gCACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB;UAChD,GAAG,CAAC,SAAS,CAAC;;UAEd,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;;oBAE5B,OAAO,CAAC,uBAAuB,CAAC;;UAE1C,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC;;CAE7C,CAAC","sourcesContent":["import { html, ref, slotted } from '@microsoft/fast-element';\nimport type { ViewTemplate } from '@microsoft/fast-element';\nimport {\n ButtonOptions,\n endSlotTemplate,\n FoundationElementTemplate,\n startSlotTemplate\n} from '@microsoft/fast-foundation';\nimport type { Button } from '.';\n\nexport const template: FoundationElementTemplate<\nViewTemplate<Button>,\nButtonOptions\n> = (context, definition) => html`\n <button\n class=\"control\"\n part=\"control\"\n ?autofocus=\"${x => x.autofocus}\"\n ?disabled=\"${x => x.disabled}\"\n form=\"${x => x.formId}\"\n formaction=\"${x => x.formaction}\"\n formenctype=\"${x => x.formenctype}\"\n formmethod=\"${x => x.formmethod}\"\n formnovalidate=\"${x => x.formnovalidate}\"\n formtarget=\"${x => x.formtarget}\"\n name=\"${x => x.name}\"\n type=\"${x => x.type}\"\n value=\"${x => x.value}\"\n tabindex=\"${x => x.tabIndex}\"\n aria-atomic=\"${x => x.ariaAtomic}\"\n aria-busy=\"${x => x.ariaBusy}\"\n aria-controls=\"${x => x.ariaControls}\"\n aria-current=\"${x => x.ariaCurrent}\"\n aria-describedby=\"${x => x.ariaDescribedby}\"\n aria-details=\"${x => x.ariaDetails}\"\n aria-disabled=\"${x => x.ariaDisabled}\"\n aria-errormessage=\"${x => x.ariaErrormessage}\"\n aria-expanded=\"${x => x.ariaExpanded}\"\n aria-flowto=\"${x => x.ariaFlowto}\"\n aria-haspopup=\"${x => x.ariaHaspopup}\"\n aria-hidden=\"${x => x.ariaHidden}\"\n aria-invalid=\"${x => x.ariaInvalid}\"\n aria-keyshortcuts=\"${x => x.ariaKeyshortcuts}\"\n aria-label=\"${x => x.ariaLabel}\"\n aria-labelledby=\"${x => x.ariaLabelledby}\"\n aria-live=\"${x => x.ariaLive}\"\n aria-owns=\"${x => x.ariaOwns}\"\n aria-pressed=\"${x => x.ariaPressed}\"\n aria-relevant=\"${x => x.ariaRelevant}\"\n aria-roledescription=\"${x => x.ariaRoledescription}\"\n ${ref('control')}\n >\n ${startSlotTemplate(context, definition)}\n <span class=\"content\" part=\"content\">\n <slot ${slotted('defaultSlottedContent')}></slot>\n </span>\n ${endSlotTemplate(context, definition)}\n </button>\n`;\n"]}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/button/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAEH,eAAe,EAEf,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,CAAC,MAAM,QAAQ,GAGjB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAA;;;;sBAIX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;qBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;gBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;sBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;uBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;sBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;0BACb,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;sBACzB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;gBACvB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;iBACV,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;oBACT,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;uBACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;qBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;wBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;4BACd,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;wBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;yBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;6BACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;yBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;uBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;yBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;uBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;wBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;6BACb,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;sBAC9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;2BACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;qBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;qBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;wBACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;yBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;gCACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB;UAChD,GAAG,CAAC,SAAS,CAAC;;UAEd,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;;oBAE5B,OAAO,CAAC,uBAAuB,CAAC;;UAE1C,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC;;CAE7C,CAAC","sourcesContent":["import { html, ref, slotted } from '@microsoft/fast-element';\nimport type { ViewTemplate } from '@microsoft/fast-element';\nimport {\n type ButtonOptions,\n endSlotTemplate,\n type FoundationElementTemplate,\n startSlotTemplate\n} from '@microsoft/fast-foundation';\nimport type { Button } from '.';\n\nexport const template: FoundationElementTemplate<\nViewTemplate<Button>,\nButtonOptions\n> = (context, definition) => html`\n <button\n class=\"control\"\n part=\"control\"\n ?autofocus=\"${x => x.autofocus}\"\n ?disabled=\"${x => x.disabled}\"\n form=\"${x => x.formId}\"\n formaction=\"${x => x.formaction}\"\n formenctype=\"${x => x.formenctype}\"\n formmethod=\"${x => x.formmethod}\"\n formnovalidate=\"${x => x.formnovalidate}\"\n formtarget=\"${x => x.formtarget}\"\n name=\"${x => x.name}\"\n type=\"${x => x.type}\"\n value=\"${x => x.value}\"\n tabindex=\"${x => x.tabIndex}\"\n aria-atomic=\"${x => x.ariaAtomic}\"\n aria-busy=\"${x => x.ariaBusy}\"\n aria-controls=\"${x => x.ariaControls}\"\n aria-current=\"${x => x.ariaCurrent}\"\n aria-describedby=\"${x => x.ariaDescribedby}\"\n aria-details=\"${x => x.ariaDetails}\"\n aria-disabled=\"${x => x.ariaDisabled}\"\n aria-errormessage=\"${x => x.ariaErrormessage}\"\n aria-expanded=\"${x => x.ariaExpanded}\"\n aria-flowto=\"${x => x.ariaFlowto}\"\n aria-haspopup=\"${x => x.ariaHaspopup}\"\n aria-hidden=\"${x => x.ariaHidden}\"\n aria-invalid=\"${x => x.ariaInvalid}\"\n aria-keyshortcuts=\"${x => x.ariaKeyshortcuts}\"\n aria-label=\"${x => x.ariaLabel}\"\n aria-labelledby=\"${x => x.ariaLabelledby}\"\n aria-live=\"${x => x.ariaLive}\"\n aria-owns=\"${x => x.ariaOwns}\"\n aria-pressed=\"${x => x.ariaPressed}\"\n aria-relevant=\"${x => x.ariaRelevant}\"\n aria-roledescription=\"${x => x.ariaRoledescription}\"\n ${ref('control')}\n >\n ${startSlotTemplate(context, definition)}\n <span class=\"content\" part=\"content\">\n <slot ${slotted('defaultSlottedContent')}></slot>\n </span>\n ${endSlotTemplate(context, definition)}\n </button>\n`;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkbox/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACH,YAAY,EACZ,QAAQ,IAAI,kBAAkB,EAEjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAQ5D;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,iBAAiB,CAAC,kBAAkB,CAAC;IAS/D;;OAEG;IACH,IAAW,gBAAgB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC;IACrD,CAAC;CACJ;AATmB;IADf,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;0CAClC;AAWtC,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAkB;IACrD,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,kBAAkB;IAC7B,QAAQ;IACR,MAAM;IACN,gBAAgB,EAAE,UAAU,CAAC,IAAI;IACjC,sBAAsB,EAAE,UAAU,CAAC,IAAI;CAC1C,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC","sourcesContent":["import { attr, nullableNumberConverter } from '@microsoft/fast-element';\nimport {\n DesignSystem,\n Checkbox as FoundationCheckbox,\n CheckboxOptions\n} from '@microsoft/fast-foundation';\nimport { check16X16, minus16X16 } from '@ni/nimble-tokens/dist/icons/js';\nimport { styles } from './styles';\nimport { template } from './template';\nimport { mixinErrorPattern } from '../patterns/error/types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-checkbox': Checkbox;\n }\n}\n\n/**\n * A nimble-styled checkbox control.\n */\nexport class Checkbox extends mixinErrorPattern(FoundationCheckbox) {\n /**\n * @public\n * @remarks\n * HTML Attribute: tabindex\n */\n @attr({ attribute: 'tabindex', converter: nullableNumberConverter })\n public override tabIndex!: number;\n\n /**\n * @internal\n */\n public get resolvedTabindex(): string | undefined {\n const tabIndex = this.tabIndex ?? 0;\n return this.disabled ? undefined : `${tabIndex}`;\n }\n}\n\nconst nimbleCheckbox = Checkbox.compose<CheckboxOptions>({\n baseName: 'checkbox',\n baseClass: FoundationCheckbox,\n template,\n styles,\n checkedIndicator: check16X16.data,\n indeterminateIndicator: minus16X16.data\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCheckbox());\nexport const checkboxTag = 'nimble-checkbox';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkbox/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACH,YAAY,EACZ,QAAQ,IAAI,kBAAkB,EAEjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAQ5D;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,iBAAiB,CAAC,kBAAkB,CAAC;IAS/D;;OAEG;IACH,IAAW,gBAAgB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC;IACrD,CAAC;CACJ;AATmB;IADf,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;0CAClC;AAWtC,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAkB;IACrD,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,kBAAkB;IAC7B,QAAQ;IACR,MAAM;IACN,gBAAgB,EAAE,UAAU,CAAC,IAAI;IACjC,sBAAsB,EAAE,UAAU,CAAC,IAAI;CAC1C,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC","sourcesContent":["import { attr, nullableNumberConverter } from '@microsoft/fast-element';\nimport {\n DesignSystem,\n Checkbox as FoundationCheckbox,\n type CheckboxOptions\n} from '@microsoft/fast-foundation';\nimport { check16X16, minus16X16 } from '@ni/nimble-tokens/dist/icons/js';\nimport { styles } from './styles';\nimport { template } from './template';\nimport { mixinErrorPattern } from '../patterns/error/types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-checkbox': Checkbox;\n }\n}\n\n/**\n * A nimble-styled checkbox control.\n */\nexport class Checkbox extends mixinErrorPattern(FoundationCheckbox) {\n /**\n * @public\n * @remarks\n * HTML Attribute: tabindex\n */\n @attr({ attribute: 'tabindex', converter: nullableNumberConverter })\n public override tabIndex!: number;\n\n /**\n * @internal\n */\n public get resolvedTabindex(): string | undefined {\n const tabIndex = this.tabIndex ?? 0;\n return this.disabled ? undefined : `${tabIndex}`;\n }\n}\n\nconst nimbleCheckbox = Checkbox.compose<CheckboxOptions>({\n baseName: 'checkbox',\n baseClass: FoundationCheckbox,\n template,\n styles,\n checkedIndicator: check16X16.data,\n indeterminateIndicator: minus16X16.data\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCheckbox());\nexport const checkboxTag = 'nimble-checkbox';\n"]}
@@ -1,8 +1,8 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { DOM, Observable, attr, html, observable, ref } from '@microsoft/fast-element';
3
- import { DesignSystem, ComboboxAutocomplete, SelectPosition, DelegatesARIACombobox, applyMixins, StartEnd } from '@microsoft/fast-foundation';
3
+ import { DesignSystem, ComboboxAutocomplete, SelectPosition, ListboxOption, DelegatesARIACombobox, applyMixins, StartEnd } from '@microsoft/fast-foundation';
4
4
  import { keyArrowDown, keyArrowUp, keyEnter, keyEscape, keySpace, keyTab, limit, uniqueId } from '@microsoft/fast-web-utilities';
5
- import { toggleButtonTag } from '../toggle-button';
5
+ import { ToggleButton, toggleButtonTag } from '../toggle-button';
6
6
  import { errorTextTemplate } from '../patterns/error/template';
7
7
  import { iconArrowExpanderDownTag } from '../icons/arrow-expander-down';
8
8
  import { iconExclamationMarkTag } from '../icons/exclamation-mark';