@aquera/nile-elements 1.0.1-beta-1.4 → 1.0.1-beta-1.6

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 (211) hide show
  1. package/README.md +31 -0
  2. package/demo/index.html +8 -15
  3. package/dist/index.cjs.js +1 -1
  4. package/dist/index.esm.js +1 -1
  5. package/dist/index.js +689 -620
  6. package/dist/internal/resizable-table-helper.cjs.js +1 -1
  7. package/dist/internal/resizable-table-helper.cjs.js.map +1 -1
  8. package/dist/internal/resizable-table-helper.esm.js +1 -1
  9. package/dist/nile-code-editor/extensionSetup.cjs.js +5 -5
  10. package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
  11. package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
  12. package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
  13. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  14. package/dist/nile-code-editor/nile-code-editor.esm.js +3 -3
  15. package/dist/nile-code-editor/theme.cjs.js +1 -1
  16. package/dist/nile-code-editor/theme.cjs.js.map +1 -1
  17. package/dist/nile-code-editor/theme.esm.js +1 -1
  18. package/dist/nile-file-preview/nile-file-preview.cjs.js +1 -1
  19. package/dist/nile-file-preview/nile-file-preview.cjs.js.map +1 -1
  20. package/dist/nile-file-preview/nile-file-preview.css.cjs.js +1 -1
  21. package/dist/nile-file-preview/nile-file-preview.css.cjs.js.map +1 -1
  22. package/dist/nile-file-preview/nile-file-preview.css.esm.js +203 -184
  23. package/dist/nile-file-preview/nile-file-preview.esm.js +1 -3
  24. package/dist/nile-file-preview/nile-file-preview.template.cjs.js +1 -1
  25. package/dist/nile-file-preview/nile-file-preview.template.cjs.js.map +1 -1
  26. package/dist/nile-file-preview/nile-file-preview.template.esm.js +66 -77
  27. package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js +1 -1
  28. package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js.map +1 -1
  29. package/dist/nile-file-preview/types/nile-file-preview.enums.esm.js +1 -1
  30. package/dist/nile-file-preview/utils/index.cjs.js +1 -1
  31. package/dist/nile-file-preview/utils/index.esm.js +1 -1
  32. package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js +1 -1
  33. package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js.map +1 -1
  34. package/dist/nile-file-preview/utils/nile-file-preview.util.esm.js +1 -1
  35. package/dist/nile-file-upload/index.cjs.js +1 -1
  36. package/dist/nile-file-upload/index.esm.js +1 -1
  37. package/dist/nile-file-upload/nile-file-upload.cjs.js +1 -1
  38. package/dist/nile-file-upload/nile-file-upload.cjs.js.map +1 -1
  39. package/dist/nile-file-upload/nile-file-upload.css.cjs.js +1 -1
  40. package/dist/nile-file-upload/nile-file-upload.css.cjs.js.map +1 -1
  41. package/dist/nile-file-upload/nile-file-upload.css.esm.js +142 -89
  42. package/dist/nile-file-upload/nile-file-upload.esm.js +2 -2
  43. package/dist/nile-file-upload/nile-file-upload.template.cjs.js +3 -3
  44. package/dist/nile-file-upload/nile-file-upload.template.cjs.js.map +1 -1
  45. package/dist/nile-file-upload/nile-file-upload.template.esm.js +50 -108
  46. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  47. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  48. package/dist/nile-file-upload/types/file-upload.enums.cjs.js +1 -1
  49. package/dist/nile-file-upload/types/file-upload.enums.cjs.js.map +1 -1
  50. package/dist/nile-file-upload/types/file-upload.enums.esm.js +1 -1
  51. package/dist/nile-file-upload/utils/drag-drop.util.cjs.js +1 -1
  52. package/dist/nile-file-upload/utils/drag-drop.util.cjs.js.map +1 -1
  53. package/dist/nile-file-upload/utils/drag-drop.util.esm.js +1 -1
  54. package/dist/nile-file-upload/utils/file-validation.util.cjs.js +2 -1
  55. package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +1 -1
  56. package/dist/nile-file-upload/utils/file-validation.util.esm.js +1 -1
  57. package/dist/nile-input/nile-input.css.cjs.js +1 -1
  58. package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
  59. package/dist/nile-input/nile-input.css.esm.js +0 -1
  60. package/dist/nile-option/nile-option.cjs.js +1 -1
  61. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  62. package/dist/nile-option/nile-option.esm.js +3 -3
  63. package/dist/nile-option-group/index.cjs.js +2 -0
  64. package/dist/nile-option-group/index.cjs.js.map +1 -0
  65. package/dist/nile-option-group/index.esm.js +1 -0
  66. package/dist/nile-option-group/nile-option-group.cjs.js +2 -0
  67. package/dist/nile-option-group/nile-option-group.cjs.js.map +1 -0
  68. package/dist/nile-option-group/nile-option-group.css.cjs.js +2 -0
  69. package/dist/nile-option-group/nile-option-group.css.cjs.js.map +1 -0
  70. package/dist/nile-option-group/nile-option-group.css.esm.js +46 -0
  71. package/dist/nile-option-group/nile-option-group.esm.js +14 -0
  72. package/dist/nile-option-group/nile-option-group.interface.cjs.js +2 -0
  73. package/dist/nile-option-group/nile-option-group.interface.cjs.js.map +1 -0
  74. package/dist/nile-option-group/nile-option-group.interface.esm.js +1 -0
  75. package/dist/nile-pagination/nile-pagination.cjs.js +1 -1
  76. package/dist/nile-pagination/nile-pagination.cjs.js.map +1 -1
  77. package/dist/nile-pagination/nile-pagination.css.cjs.js +1 -1
  78. package/dist/nile-pagination/nile-pagination.css.cjs.js.map +1 -1
  79. package/dist/nile-pagination/nile-pagination.css.esm.js +9 -2
  80. package/dist/nile-pagination/nile-pagination.esm.js +3 -1
  81. package/dist/nile-select/nile-select.cjs.js +1 -1
  82. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  83. package/dist/nile-select/nile-select.esm.js +2 -2
  84. package/dist/nile-select/nile-select.interface.cjs.js +2 -0
  85. package/dist/nile-select/nile-select.interface.cjs.js.map +1 -0
  86. package/dist/nile-select/nile-select.interface.esm.js +1 -0
  87. package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
  88. package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
  89. package/dist/nile-table-body/nile-table-body.esm.js +2 -1
  90. package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js +1 -1
  91. package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js.map +1 -1
  92. package/dist/nile-table-cell-item/nile-table-cell-item.esm.js +1 -1
  93. package/dist/nile-table-header-item/nile-table-header-item.cjs.js +1 -1
  94. package/dist/nile-table-header-item/nile-table-header-item.cjs.js.map +1 -1
  95. package/dist/nile-table-header-item/nile-table-header-item.esm.js +2 -2
  96. package/dist/nile-virtual-select/renderer.cjs.js +1 -1
  97. package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
  98. package/dist/nile-virtual-select/renderer.esm.js +13 -12
  99. package/dist/src/index.d.ts +1 -0
  100. package/dist/src/index.js +1 -0
  101. package/dist/src/index.js.map +1 -1
  102. package/dist/src/internal/resizable-table-helper.d.ts +5 -0
  103. package/dist/src/internal/resizable-table-helper.js +27 -4
  104. package/dist/src/internal/resizable-table-helper.js.map +1 -1
  105. package/dist/src/nile-code-editor/nile-code-editor.d.ts +5 -0
  106. package/dist/src/nile-code-editor/nile-code-editor.js +44 -7
  107. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  108. package/dist/src/nile-code-editor/theme.d.ts +15 -0
  109. package/dist/src/nile-code-editor/theme.js +17 -2
  110. package/dist/src/nile-code-editor/theme.js.map +1 -1
  111. package/dist/src/nile-file-preview/nile-file-preview.css.js +201 -182
  112. package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -1
  113. package/dist/src/nile-file-preview/nile-file-preview.d.ts +6 -2
  114. package/dist/src/nile-file-preview/nile-file-preview.js +49 -20
  115. package/dist/src/nile-file-preview/nile-file-preview.js.map +1 -1
  116. package/dist/src/nile-file-preview/nile-file-preview.template.d.ts +3 -2
  117. package/dist/src/nile-file-preview/nile-file-preview.template.js +58 -62
  118. package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -1
  119. package/dist/src/nile-file-preview/types/nile-file-preview.enums.d.ts +4 -3
  120. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js +3 -2
  121. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js.map +1 -1
  122. package/dist/src/nile-file-preview/utils/nile-file-preview.util.d.ts +4 -0
  123. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js +25 -0
  124. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js.map +1 -1
  125. package/dist/src/nile-file-upload/nile-file-upload.css.js +140 -87
  126. package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -1
  127. package/dist/src/nile-file-upload/nile-file-upload.d.ts +4 -1
  128. package/dist/src/nile-file-upload/nile-file-upload.js +30 -20
  129. package/dist/src/nile-file-upload/nile-file-upload.js.map +1 -1
  130. package/dist/src/nile-file-upload/nile-file-upload.template.d.ts +7 -5
  131. package/dist/src/nile-file-upload/nile-file-upload.template.js +69 -115
  132. package/dist/src/nile-file-upload/nile-file-upload.template.js.map +1 -1
  133. package/dist/src/nile-file-upload/types/file-upload.enums.d.ts +11 -4
  134. package/dist/src/nile-file-upload/types/file-upload.enums.js +8 -1
  135. package/dist/src/nile-file-upload/types/file-upload.enums.js.map +1 -1
  136. package/dist/src/nile-file-upload/utils/drag-drop.util.d.ts +2 -4
  137. package/dist/src/nile-file-upload/utils/drag-drop.util.js +18 -21
  138. package/dist/src/nile-file-upload/utils/drag-drop.util.js.map +1 -1
  139. package/dist/src/nile-file-upload/utils/file-validation.util.d.ts +3 -1
  140. package/dist/src/nile-file-upload/utils/file-validation.util.js +82 -32
  141. package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
  142. package/dist/src/nile-input/nile-input.css.js +0 -1
  143. package/dist/src/nile-input/nile-input.css.js.map +1 -1
  144. package/dist/src/nile-option/nile-option.d.ts +1 -0
  145. package/dist/src/nile-option/nile-option.js +6 -1
  146. package/dist/src/nile-option/nile-option.js.map +1 -1
  147. package/dist/src/nile-option-group/index.d.ts +1 -0
  148. package/dist/src/nile-option-group/index.js +2 -0
  149. package/dist/src/nile-option-group/index.js.map +1 -0
  150. package/dist/src/nile-option-group/nile-option-group.css.d.ts +12 -0
  151. package/dist/src/nile-option-group/nile-option-group.css.js +58 -0
  152. package/dist/src/nile-option-group/nile-option-group.css.js.map +1 -0
  153. package/dist/src/nile-option-group/nile-option-group.d.ts +23 -0
  154. package/dist/src/nile-option-group/nile-option-group.interface.d.ts +22 -0
  155. package/dist/src/nile-option-group/nile-option-group.interface.js +2 -0
  156. package/dist/src/nile-option-group/nile-option-group.interface.js.map +1 -0
  157. package/dist/src/nile-option-group/nile-option-group.js +76 -0
  158. package/dist/src/nile-option-group/nile-option-group.js.map +1 -0
  159. package/dist/src/nile-pagination/nile-pagination.css.js +7 -0
  160. package/dist/src/nile-pagination/nile-pagination.css.js.map +1 -1
  161. package/dist/src/nile-pagination/nile-pagination.js +3 -1
  162. package/dist/src/nile-pagination/nile-pagination.js.map +1 -1
  163. package/dist/src/nile-select/nile-select.d.ts +6 -0
  164. package/dist/src/nile-select/nile-select.interface.d.ts +5 -0
  165. package/dist/src/nile-select/nile-select.interface.js +2 -0
  166. package/dist/src/nile-select/nile-select.interface.js.map +1 -0
  167. package/dist/src/nile-select/nile-select.js +59 -1
  168. package/dist/src/nile-select/nile-select.js.map +1 -1
  169. package/dist/src/nile-table-body/nile-table-body.d.ts +1 -0
  170. package/dist/src/nile-table-body/nile-table-body.js +4 -0
  171. package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
  172. package/dist/src/nile-table-cell-item/nile-table-cell-item.d.ts +2 -1
  173. package/dist/src/nile-table-cell-item/nile-table-cell-item.js +12 -1
  174. package/dist/src/nile-table-cell-item/nile-table-cell-item.js.map +1 -1
  175. package/dist/src/nile-table-header-item/nile-table-header-item.d.ts +2 -1
  176. package/dist/src/nile-table-header-item/nile-table-header-item.js +12 -1
  177. package/dist/src/nile-table-header-item/nile-table-header-item.js.map +1 -1
  178. package/dist/src/nile-virtual-select/renderer.js +3 -0
  179. package/dist/src/nile-virtual-select/renderer.js.map +1 -1
  180. package/dist/tsconfig.tsbuildinfo +1 -1
  181. package/package.json +3 -2
  182. package/src/index.ts +1 -1
  183. package/src/internal/resizable-table-helper.ts +31 -8
  184. package/src/nile-code-editor/nile-code-editor.ts +49 -9
  185. package/src/nile-code-editor/theme.ts +19 -3
  186. package/src/nile-file-preview/nile-file-preview.css.ts +202 -183
  187. package/src/nile-file-preview/nile-file-preview.template.ts +66 -63
  188. package/src/nile-file-preview/nile-file-preview.ts +54 -22
  189. package/src/nile-file-preview/types/nile-file-preview.enums.ts +4 -3
  190. package/src/nile-file-preview/utils/nile-file-preview.util.ts +25 -0
  191. package/src/nile-file-upload/nile-file-upload.css.ts +141 -88
  192. package/src/nile-file-upload/nile-file-upload.template.ts +133 -121
  193. package/src/nile-file-upload/nile-file-upload.ts +30 -18
  194. package/src/nile-file-upload/types/file-upload.enums.ts +9 -2
  195. package/src/nile-file-upload/utils/drag-drop.util.ts +25 -25
  196. package/src/nile-file-upload/utils/file-validation.util.ts +98 -45
  197. package/src/nile-input/nile-input.css.ts +0 -1
  198. package/src/nile-option/nile-option.ts +4 -1
  199. package/src/nile-option-group/index.ts +1 -0
  200. package/src/nile-option-group/nile-option-group.css.ts +60 -0
  201. package/src/nile-option-group/nile-option-group.interface.ts +25 -0
  202. package/src/nile-option-group/nile-option-group.ts +84 -0
  203. package/src/nile-pagination/nile-pagination.css.ts +7 -0
  204. package/src/nile-pagination/nile-pagination.ts +3 -1
  205. package/src/nile-select/nile-select.interface.ts +5 -0
  206. package/src/nile-select/nile-select.ts +74 -2
  207. package/src/nile-table-body/nile-table-body.ts +2 -0
  208. package/src/nile-table-cell-item/nile-table-cell-item.ts +15 -1
  209. package/src/nile-table-header-item/nile-table-header-item.ts +15 -1
  210. package/src/nile-virtual-select/renderer.ts +3 -0
  211. package/vscode-html-custom-data.json +49 -13
@@ -1 +1 @@
1
- {"version":3,"file":"nile-table-header-item.cjs.js","sources":["../../../src/nile-table-header-item/nile-table-header-item.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n} from 'lit';\nimport { customElement, state, property } from 'lit/decorators.js';\nimport { styles } from './nile-table-header-item.css';\nimport NileElement from '../internal/nile-element';\nimport { HasSlotController } from '../internal/slot';\nimport { createResizeHandler } from '../internal/resizable-table-helper';\n\n/**\n * Nile icon component.\n *\n * @tag nile-table-header-item\n *\n */\n@customElement('nile-table-header-item')\nexport class NileTableHeaderItem extends NileElement {\n private readonly hasSlotController = new HasSlotController(this, '[default]');\n /**\n * The styles for TableHeaderItem\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n /** Enables the sort functionality. */\n @property({ type: Boolean, reflect: true }) havesort = false;\n\n /** Enables the sort functionality. */\n @property({ type: Boolean, reflect: true }) havefilter = false;\n\n /** Places the icon . */\n @property({ type: String, reflect: true, attribute: 'icon-name' }) iconName =\n '';\n\n /** Enables the resize functionality. */\n @property({ type: Boolean, reflect: true }) resizable = false;\n\n @state() sorting_ct = 0;\n\n /* #endregion */\n\n /* #region Methods */\n\n /**\n * Render method\n * @slot This is a slot test\n */\n private handleSort(e: any) {\n this.sorting_ct++;\n let curr_sort_string = this.hasSlotController.host.innerHTML;\n const order = ['normal', 'asc', 'des'];\n this.emit('nile-click-sort', {\n value: { curr_sort_string, order: order[this.sorting_ct % 3] },\n });\n }\n\n private handleSearch(e: any) {\n this.emit('nile-search', { value: e.detail.value });\n }\n\n private handleResizeStart = createResizeHandler(this, 50);\n\n public render(): TemplateResult {\n return html`\n <div class=\"header__item__wrapper\" part=\"nile__table-header-cell\">\n <div class=\"headers\">\n <slot> </slot>\n ${this.havesort && this.sorting_ct % 3 === 0\n ? html`<nile-icon\n name=\"var(--nile-icon-sort, var(--ng-icon-chevron-selector-vertical))\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n size=\"var(--nile-icon-size-16, var(--ng-icon-size-12))\"\n @click=${this.handleSort}\n class=\"hover__arrow\"\n ></nile-icon>`\n : null}\n ${this.havesort && this.sorting_ct % 3 === 1\n ? html`<nile-icon\n name=\"var(--nile-icon-sort-down, var(--ng-icon-arrow-down))\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n size=\"var(--nile-icon-size-16, var(--ng-icon-size-12))\"\n class=\"stroke-width\"\n @click=${this.handleSort}\n ></nile-icon>`\n : null}\n ${this.havesort && this.sorting_ct % 3 === 2\n ? html`<nile-icon\n name=\"var(--nile-icon-sort-up, var(--ng-icon-arrow-up))\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n size=\"var(--nile-icon-size-16, var(--ng-icon-size-12))\"\n class=\"stroke-width\"\n @click=${this.handleSort}\n ></nile-icon>`\n : null}\n ${this.iconName\n ? html` <nile-icon name=\"${this.iconName}\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" size=\"16\"></nile-icon>`\n : html``}\n ${this.havefilter\n ? html` <nile-popover title=\"Filter\" placement=\"bottom\">\n <nile-icon name=\"var(--nile-icon-filter, var(--ng-icon-filter-lines))\" size=\"16\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" slot=\"anchor\"></nile-icon>\n <nile-input\n placeholder=\"Search\"\n @nile-input=${this.handleSearch}\n part=\"filter__search\"\n ></nile-input>\n <slot name=\"filter__content\" part=\"filter__content\"></slot>\n </nile-popover>`\n : html``}\n </div>\n ${this.resizable \n ? html`<div class=\"resizer\" @mousedown=${this.handleResizeStart}></div>`\n : null}\n </div>`;\n }\n}\n\nexport default NileTableHeaderItem;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-table-header-item': NileTableHeaderItem;\n }\n}\n"],"names":["NileTableHeaderItem","_l","c","this","hasSlotController","HasSlotController","havesort","havefilter","iconName","resizable","sorting_ct","handleResizeStart","createResizeHandler","_this","_inherits","_createClass","key","value","handleSort","e","curr_sort_string","host","innerHTML","emit","order","handleSearch","detail","render","html","_templateObject","_taggedTemplateLiteral","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","get","styles","NileElement","__decorate","property","type","Boolean","reflect","prototype","String","attribute","state","_export","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"nile-table-header-item.cjs.js","sources":["../../../src/nile-table-header-item/nile-table-header-item.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n PropertyValues,\n} from 'lit';\nimport { customElement, state, property } from 'lit/decorators.js';\nimport { styles } from './nile-table-header-item.css';\nimport NileElement from '../internal/nile-element';\nimport { HasSlotController } from '../internal/slot';\nimport { createResizeHandler, resetAllColumnWidths } from '../internal/resizable-table-helper';\n\n/**\n * Nile icon component.\n *\n * @tag nile-table-header-item\n *\n */\n@customElement('nile-table-header-item')\nexport class NileTableHeaderItem extends NileElement {\n private readonly hasSlotController = new HasSlotController(this, '[default]');\n /**\n * The styles for TableHeaderItem\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n /** Enables the sort functionality. */\n @property({ type: Boolean, reflect: true }) havesort = false;\n\n /** Enables the sort functionality. */\n @property({ type: Boolean, reflect: true }) havefilter = false;\n\n /** Places the icon . */\n @property({ type: String, reflect: true, attribute: 'icon-name' }) iconName =\n '';\n\n /** Enables the resize functionality. */\n @property({ type: Boolean, reflect: true }) resizable = false;\n\n @state() sorting_ct = 0;\n\n /* #endregion */\n\n /* #region Methods */\n\n protected updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n \n if (changedProperties.has('resizable')) {\n if (!this.resizable) {\n const tableBody = this.closest('nile-table-body');\n if (tableBody) {\n resetAllColumnWidths(tableBody);\n }\n }\n }\n }\n\n /**\n * Render method\n * @slot This is a slot test\n */\n private handleSort(e: any) {\n this.sorting_ct++;\n let curr_sort_string = this.hasSlotController.host.innerHTML;\n const order = ['normal', 'asc', 'des'];\n this.emit('nile-click-sort', {\n value: { curr_sort_string, order: order[this.sorting_ct % 3] },\n });\n }\n\n private handleSearch(e: any) {\n this.emit('nile-search', { value: e.detail.value });\n }\n\n private handleResizeStart = createResizeHandler(this, 50);\n\n public render(): TemplateResult {\n return html`\n <div class=\"header__item__wrapper\" part=\"nile__table-header-cell\">\n <div class=\"headers\">\n <slot> </slot>\n ${this.havesort && this.sorting_ct % 3 === 0\n ? html`<nile-icon\n name=\"var(--nile-icon-sort, var(--ng-icon-chevron-selector-vertical))\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n size=\"var(--nile-icon-size-16, var(--ng-icon-size-12))\"\n @click=${this.handleSort}\n class=\"hover__arrow\"\n ></nile-icon>`\n : null}\n ${this.havesort && this.sorting_ct % 3 === 1\n ? html`<nile-icon\n name=\"var(--nile-icon-sort-down, var(--ng-icon-arrow-down))\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n size=\"var(--nile-icon-size-16, var(--ng-icon-size-12))\"\n class=\"stroke-width\"\n @click=${this.handleSort}\n ></nile-icon>`\n : null}\n ${this.havesort && this.sorting_ct % 3 === 2\n ? html`<nile-icon\n name=\"var(--nile-icon-sort-up, var(--ng-icon-arrow-up))\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n size=\"var(--nile-icon-size-16, var(--ng-icon-size-12))\"\n class=\"stroke-width\"\n @click=${this.handleSort}\n ></nile-icon>`\n : null}\n ${this.iconName\n ? html` <nile-icon name=\"${this.iconName}\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" size=\"16\"></nile-icon>`\n : html``}\n ${this.havefilter\n ? html` <nile-popover title=\"Filter\" placement=\"bottom\">\n <nile-icon name=\"var(--nile-icon-filter, var(--ng-icon-filter-lines))\" size=\"16\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" slot=\"anchor\"></nile-icon>\n <nile-input\n placeholder=\"Search\"\n @nile-input=${this.handleSearch}\n part=\"filter__search\"\n ></nile-input>\n <slot name=\"filter__content\" part=\"filter__content\"></slot>\n </nile-popover>`\n : html``}\n </div>\n ${this.resizable \n ? html`<div class=\"resizer\" @mousedown=${this.handleResizeStart}></div>`\n : null}\n </div>`;\n }\n}\n\nexport default NileTableHeaderItem;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-table-header-item': NileTableHeaderItem;\n }\n}\n"],"names":["NileTableHeaderItem","h","constructor","this","hasSlotController","HasSlotController","havesort","havefilter","iconName","resizable","sorting_ct","handleResizeStart","createResizeHandler","_this","_inherits","_l","_createClass","key","value","updated","changedProperties","super","has","tableBody","closest","resetAllColumnWidths","handleSort","e","curr_sort_string","host","innerHTML","emit","order","handleSearch","detail","render","html","_templateObject","_taggedTemplateLiteral","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","get","styles","NileElement","__decorate","property","type","Boolean","reflect","prototype","String","attribute","state","_export","customElement"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{__decorate as e}from"tslib";import{html as i}from"lit";import{property as t,state as s,customElement as r}from"lit/decorators.js";import{s as n}from"./nile-table-header-item.css.esm.js";import{N as l}from"../internal/nile-element.esm.js";import{H as o}from"../internal/slot.esm.js";import{c as a}from"../internal/resizable-table-helper.esm.js";import"../internal/resizable-table-styles.esm.js";let c=class extends l{constructor(){super(...arguments),this.hasSlotController=new o(this,"[default]"),this.havesort=!1,this.havefilter=!1,this.iconName="",this.resizable=!1,this.sorting_ct=0,this.handleResizeStart=a(this,50)}static get styles(){return[n]}handleSort(e){this.sorting_ct++;let i=this.hasSlotController.host.innerHTML;this.emit("nile-click-sort",{value:{curr_sort_string:i,order:["normal","asc","des"][this.sorting_ct%3]}})}handleSearch(e){this.emit("nile-search",{value:e.detail.value})}render(){return i`
1
+ import{__decorate as e}from"tslib";import{html as i}from"lit";import{property as t,state as s,customElement as r}from"lit/decorators.js";import{s as n}from"./nile-table-header-item.css.esm.js";import{N as l}from"../internal/nile-element.esm.js";import{H as o}from"../internal/slot.esm.js";import{c as a,r as c}from"../internal/resizable-table-helper.esm.js";import"../internal/resizable-table-styles.esm.js";let h=class extends l{constructor(){super(...arguments),this.hasSlotController=new o(this,"[default]"),this.havesort=!1,this.havefilter=!1,this.iconName="",this.resizable=!1,this.sorting_ct=0,this.handleResizeStart=a(this,50)}static get styles(){return[n]}updated(e){if(super.updated(e),e.has("resizable")&&!this.resizable){const e=this.closest("nile-table-body");e&&c(e)}}handleSort(e){this.sorting_ct++;let i=this.hasSlotController.host.innerHTML;this.emit("nile-click-sort",{value:{curr_sort_string:i,order:["normal","asc","des"][this.sorting_ct%3]}})}handleSearch(e){this.emit("nile-search",{value:e.detail.value})}render(){return i`
2
2
  <div class="header__item__wrapper" part="nile__table-header-cell">
3
3
  <div class="headers">
4
4
  <slot> </slot>
@@ -35,4 +35,4 @@ import{__decorate as e}from"tslib";import{html as i}from"lit";import{property as
35
35
  </nile-popover>`:i``}
36
36
  </div>
37
37
  ${this.resizable?i`<div class="resizer" @mousedown=${this.handleResizeStart}></div>`:null}
38
- </div>`}};e([t({type:Boolean,reflect:!0})],c.prototype,"havesort",void 0),e([t({type:Boolean,reflect:!0})],c.prototype,"havefilter",void 0),e([t({type:String,reflect:!0,attribute:"icon-name"})],c.prototype,"iconName",void 0),e([t({type:Boolean,reflect:!0})],c.prototype,"resizable",void 0),e([s()],c.prototype,"sorting_ct",void 0),c=e([r("nile-table-header-item")],c);export{c as N};
38
+ </div>`}};e([t({type:Boolean,reflect:!0})],h.prototype,"havesort",void 0),e([t({type:Boolean,reflect:!0})],h.prototype,"havefilter",void 0),e([t({type:String,reflect:!0,attribute:"icon-name"})],h.prototype,"iconName",void 0),e([t({type:Boolean,reflect:!0})],h.prototype,"resizable",void 0),e([s()],h.prototype,"sorting_ct",void 0),h=e([r("nile-table-header-item")],h);export{h as N};
@@ -1,2 +1,2 @@
1
- System.register(["lit","../virtualize-b6a2fbe0.cjs.js","lit/directives/unsafe-html.js","lit/directive.js","lit/async-directive.js","lit/directives/repeat.js"],function(_export,_context){"use strict";var e,t,i,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,_templateObject6,s;function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}return{setters:[function(_lit){e=_lit.html;},function(_virtualize001CjsJs){t=_virtualize001CjsJs.v;},function(_litDirectivesUnsafeHtmlJs){i=_litDirectivesUnsafeHtmlJs.unsafeHTML;},function(_litDirectiveJs){},function(_litAsyncDirectiveJs){},function(_litDirectivesRepeatJs){}],execute:function execute(){_export("V",s=/*#__PURE__*/function(){function s(){_classCallCheck(this,s);}return _createClass(s,null,[{key:"getVirtualizedContent",value:function getVirtualizedContent(i,r,l,o,a,c,n,d,u,v){return e(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <div class=\"select__options ","\">\n ","\n </div>"])),r?"select__options__search-enabled":"",d&&!v?e(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <div class=\"select__no-results\">\n ","\n </div>\n "])),u||"No results found"):e(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n <div\n class=\"virtualized\"\n >\n ","\n </div>\n "])),s.shouldUseVirtualizer(i)?e(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n ","\n "])),t({items:i,renderItem:function renderItem(e){return s.getItemRenderFunction(e,l,o,a,c,n);},scroller:!0})):e(_templateObject5||(_templateObject5=_taggedTemplateLiteral(["\n ","\n "])),i.map(function(e){return s.getItemRenderFunction(e,l,o,a,c,n);}))));}},{key:"getItemRenderFunction",value:function getItemRenderFunction(t,_s,r,l,o,a){var c=o||_s,n=a||function(e){return(e===null||e===void 0?void 0:e.value)||e;},d=n(t),u=c(t),v=t.disabled||!1;var m=!1;return m=l?Array.isArray(r)&&r.includes(d):(Array.isArray(r)?r[0]:r)===d,e(_templateObject6||(_templateObject6=_taggedTemplateLiteral(["\n <nile-option \n value="," \n .selected="," \n .disabled=","\n .showCheckbox=","\n >\n ","\n </nile-option>\n "])),d,m,v,l,i(u));}},{key:"shouldUseVirtualizer",value:function shouldUseVirtualizer(e){return e.length>=50;}}]);}());}};});
1
+ System.register(["lit","../virtualize-b6a2fbe0.cjs.js","lit/directives/unsafe-html.js","lit/directives/if-defined.js","lit/directive.js","lit/async-directive.js","lit/directives/repeat.js"],function(_export,_context){"use strict";var e,t,i,s,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,_templateObject6,r;function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}return{setters:[function(_lit){e=_lit.html;},function(_virtualize001CjsJs){t=_virtualize001CjsJs.v;},function(_litDirectivesUnsafeHtmlJs){i=_litDirectivesUnsafeHtmlJs.unsafeHTML;},function(_litDirectivesIfDefinedJs){s=_litDirectivesIfDefinedJs.ifDefined;},function(_litDirectiveJs){},function(_litAsyncDirectiveJs){},function(_litDirectivesRepeatJs){}],execute:function execute(){_export("V",r=/*#__PURE__*/function(){function r(){_classCallCheck(this,r);}return _createClass(r,null,[{key:"getVirtualizedContent",value:function getVirtualizedContent(i,s,l,o,c,d,a,n,v,m){return e(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <div class=\"select__options ","\">\n ","\n </div>"])),s?"select__options__search-enabled":"",n&&!m?e(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <div class=\"select__no-results\">\n ","\n </div>\n "])),v||"No results found"):e(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n <div\n class=\"virtualized\"\n >\n ","\n </div>\n "])),r.shouldUseVirtualizer(i)?e(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n ","\n "])),t({items:i,renderItem:function renderItem(e){return r.getItemRenderFunction(e,l,o,c,d,a);},scroller:!0})):e(_templateObject5||(_templateObject5=_taggedTemplateLiteral(["\n ","\n "])),i.map(function(e){return r.getItemRenderFunction(e,l,o,c,d,a);}))));}},{key:"getItemRenderFunction",value:function getItemRenderFunction(t,_r,l,o,c,d){var a=c||_r,n=d||function(e){return(e===null||e===void 0?void 0:e.value)||e;},v=n(t),m=a(t),u=t.disabled||!1,p=t.className;var $=!1;return $=o?Array.isArray(l)&&l.includes(v):(Array.isArray(l)?l[0]:l)===v,e(_templateObject6||(_templateObject6=_taggedTemplateLiteral(["\n <nile-option \n value="," \n .selected="," \n .disabled=","\n .showCheckbox=","\n class=","\n >\n ","\n </nile-option>\n "])),v,$,u,o,s(p||void 0),i(m));}},{key:"shouldUseVirtualizer",value:function shouldUseVirtualizer(e){return e.length>=50;}}]);}());}};});
2
2
  //# sourceMappingURL=renderer.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.cjs.js","sources":["../../../src/nile-virtual-select/renderer.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, type TemplateResult } from 'lit';\nimport { virtualize } from '@lit-labs/virtualizer/virtualize.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\n\nexport class VirtualSelectRenderer {\n static getVirtualizedContent(\n data: any[], \n searchEnabled: boolean, \n renderItemFunction: (item: any) => string,\n value: string | string[],\n multiple: boolean,\n getDisplayText?: (item: any) => string,\n getItemValue?: (item: any) => string,\n showNoResults?: boolean,\n noResultsMessage?: string,\n optionsLoading?: boolean\n ): TemplateResult {\n return html`\n <div class=\"select__options ${\n searchEnabled ? 'select__options__search-enabled' : ``\n }\">\n ${showNoResults && !optionsLoading\n ? html`\n <div class=\"select__no-results\">\n ${noResultsMessage || 'No results found'}\n </div>\n `\n : html`\n <div\n class=\"virtualized\"\n >\n ${VirtualSelectRenderer.shouldUseVirtualizer(data)\n ? html`\n ${virtualize({\n items: data,\n renderItem: (item: any): TemplateResult =>\n VirtualSelectRenderer.getItemRenderFunction(item, renderItemFunction, value, multiple, getDisplayText, getItemValue),\n scroller: true,\n })}\n `\n : html`\n ${data.map((item: any) => \n VirtualSelectRenderer.getItemRenderFunction(item, renderItemFunction, value, multiple, getDisplayText, getItemValue)\n )}\n `}\n </div>\n `}\n </div>`;\n }\n\n static getItemRenderFunction(\n item: any, \n renderItemFunction: (item: any) => string, \n value: string | string[], \n multiple: boolean,\n getDisplayText?: (item: any) => string,\n getItemValue?: (item: any) => string\n ): TemplateResult {\n const displayTextFn = getDisplayText || renderItemFunction;\n const valueFn = getItemValue || ((item: any) => item?.value || item);\n \n const optionValue = valueFn(item);\n const displayText = displayTextFn(item);\n const isDisabled = item.disabled || false;\n \n let isSelected = false;\n if (multiple) {\n isSelected = Array.isArray(value) && value.includes(optionValue);\n } else {\n isSelected = (Array.isArray(value) ? value[0] : value) === optionValue;\n }\n \n return html`\n <nile-option \n value=${optionValue} \n .selected=${isSelected} \n .disabled=${isDisabled}\n .showCheckbox=${multiple}\n >\n ${unsafeHTML(displayText)}\n </nile-option>\n `;\n }\n\n /**\n * Determines whether to use virtualizer based on dataset size\n * For small datasets (less than 50 items), use regular rendering for better sizing\n */\n private static shouldUseVirtualizer(data: any[]): boolean {\n return data.length >= 50;\n }\n} \n"],"names":["VirtualSelectRenderer","s","_classCallCheck","_createClass","key","value","getVirtualizedContent","data","searchEnabled","renderItemFunction","multiple","getDisplayText","getItemValue","showNoResults","noResultsMessage","optionsLoading","html","_templateObject","_taggedTemplateLiteral","_templateObject2","_templateObject3","shouldUseVirtualizer","_templateObject4","virtualize","items","renderItem","item","getItemRenderFunction","scroller","_templateObject5","map","displayTextFn","valueFn","optionValue","displayText","isDisabled","disabled","isSelected","Array","isArray","includes","_templateObject6","unsafeHTML","length"],"mappings":"+0DAWaA,CACX,kCAAAC,EAAA,EAAAC,eAAA,MAAAD,CAAA,UAAAE,YAAA,CAAAF,CAAA,QAAAG,GAAA,yBAAAC,KAAA,CAAA,QAAA,CAAAC,qBAAOA,CACLC,CACAC,CAAAA,CAAAA,CACAC,CACAJ,CAAAA,CAAAA,CACAK,CACAC,CAAAA,CAAAA,CACAC,EACAC,CACAC,CAAAA,CAAAA,CACAC,CAEA,CAAA,CAAA,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,8EAEPV,CAAAA,CAAgB,iCAAoC,CAAA,EAAA,CAElDK,CAAAA,EAAAA,CAAkBE,EAChBC,CAAI,CAAAG,gBAAA,GAAAA,gBAAA,CAAAD,sBAAA,mHAEEJ,CAAoB,EAAA,kBAAA,EAG1BE,CAAI,CAAAI,gBAAA,GAAAA,gBAAA,CAAAF,sBAAA,6IAIElB,CAAsBqB,CAAAA,oBAAAA,CAAqBd,GACzCS,CAAI,CAAAM,gBAAA,GAAAA,gBAAA,CAAAJ,sBAAA,yDACAK,CAAAA,CAAW,CACXC,KAAAA,CAAOjB,CACPkB,CAAAA,UAAAA,CAAaC,QAAbD,CAAAA,UAAAA,CAAaC,CACX1B,QAAAA,CAAAA,CAAAA,CAAsB2B,qBAAsBD,CAAAA,CAAAA,CAAMjB,CAAoBJ,CAAAA,CAAAA,CAAOK,CAAUC,CAAAA,CAAAA,CAAgBC,KACzGgB,QAAU,CAAA,CAAA,CAAA,CAAA,CAAA,EAGdZ,CAAI,CAAAa,gBAAA,GAAAA,gBAAA,CAAAX,sBAAA,yDACAX,CAAKuB,CAAAA,GAAAA,CAAKJ,SAAAA,SACV1B,CAAAA,CAAsB2B,CAAAA,qBAAAA,CAAsBD,EAAMjB,CAAoBJ,CAAAA,CAAAA,CAAOK,EAAUC,CAAgBC,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,IAM5H,CAED,GAAAR,GAAA,yBAAAC,KAAA,SAAA,CAAAsB,qBAAOA,CACLD,CACAjB,CAAAA,EAAAA,CACAJ,EACAK,CACAC,CAAAA,CAAAA,CACAC,CAEA,CAAA,CAAA,GAAMmB,CAAAA,CAAgBpB,CAAAA,CAAAA,EAAkBF,GAClCuB,CAAUpB,CAAAA,CAAAA,EAAkBc,SAAAA,CAAcA,QAAAA,CAAAA,CAAAA,SAAAA,CAAAA,iBAAAA,CAAAA,CAAMrB,QAASqB,CAEzDO,EAAAA,CAAAA,CAAAA,CAAcD,CAAQN,CAAAA,CAAAA,CAAAA,CACtBQ,CAAcH,CAAAA,CAAAA,CAAcL,GAC5BS,CAAaT,CAAAA,CAAAA,CAAKU,WAAY,CAEpC,CAAA,GAAIC,CAAAA,GAAa,CAOjB,CAAA,MALEA,CAAAA,CADE3B,CAAAA,CAAAA,CACW4B,KAAMC,CAAAA,OAAAA,CAAQlC,IAAUA,CAAMmC,CAAAA,QAAAA,CAASP,IAEtCK,KAAMC,CAAAA,OAAAA,CAAQlC,GAASA,CAAM,CAAA,CAAA,CAAA,CAAKA,CAAW4B,IAAAA,CAAAA,CAGtDjB,CAAI,CAAAyB,gBAAA,GAAAA,gBAAA,CAAAvB,sBAAA,6KAECe,CAAAA,CACII,CAAAA,CACAF,CAAAA,CACIzB,CAAAA,CAEdgC,CAAWR,CAAAA,CAAAA,CAAAA,CAGlB,EAMO,GAAA9B,GAAA,wBAAAC,KAAA,8BAAOgB,CAAqBd,CAAAA,CAAAA,CAClC,MAAOA,CAAAA,CAAKoC,CAAAA,MAAAA,EAAU,EACvB"}
1
+ {"version":3,"file":"renderer.cjs.js","sources":["../../../src/nile-virtual-select/renderer.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, type TemplateResult } from 'lit';\nimport { virtualize } from '@lit-labs/virtualizer/virtualize.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nexport class VirtualSelectRenderer {\n static getVirtualizedContent(\n data: any[], \n searchEnabled: boolean, \n renderItemFunction: (item: any) => string,\n value: string | string[],\n multiple: boolean,\n getDisplayText?: (item: any) => string,\n getItemValue?: (item: any) => string,\n showNoResults?: boolean,\n noResultsMessage?: string,\n optionsLoading?: boolean\n ): TemplateResult {\n return html`\n <div class=\"select__options ${\n searchEnabled ? 'select__options__search-enabled' : ``\n }\">\n ${showNoResults && !optionsLoading\n ? html`\n <div class=\"select__no-results\">\n ${noResultsMessage || 'No results found'}\n </div>\n `\n : html`\n <div\n class=\"virtualized\"\n >\n ${VirtualSelectRenderer.shouldUseVirtualizer(data)\n ? html`\n ${virtualize({\n items: data,\n renderItem: (item: any): TemplateResult =>\n VirtualSelectRenderer.getItemRenderFunction(item, renderItemFunction, value, multiple, getDisplayText, getItemValue),\n scroller: true,\n })}\n `\n : html`\n ${data.map((item: any) => \n VirtualSelectRenderer.getItemRenderFunction(item, renderItemFunction, value, multiple, getDisplayText, getItemValue)\n )}\n `}\n </div>\n `}\n </div>`;\n }\n\n static getItemRenderFunction(\n item: any, \n renderItemFunction: (item: any) => string, \n value: string | string[], \n multiple: boolean,\n getDisplayText?: (item: any) => string,\n getItemValue?: (item: any) => string\n ): TemplateResult {\n const displayTextFn = getDisplayText || renderItemFunction;\n const valueFn = getItemValue || ((item: any) => item?.value || item);\n \n const optionValue = valueFn(item);\n const displayText = displayTextFn(item);\n const isDisabled = item.disabled || false;\n const className = item.className;\n \n let isSelected = false;\n if (multiple) {\n isSelected = Array.isArray(value) && value.includes(optionValue);\n } else {\n isSelected = (Array.isArray(value) ? value[0] : value) === optionValue;\n }\n \n return html`\n <nile-option \n value=${optionValue} \n .selected=${isSelected} \n .disabled=${isDisabled}\n .showCheckbox=${multiple}\n class=${ifDefined(className || undefined)}\n >\n ${unsafeHTML(displayText)}\n </nile-option>\n `;\n }\n\n /**\n * Determines whether to use virtualizer based on dataset size\n * For small datasets (less than 50 items), use regular rendering for better sizing\n */\n private static shouldUseVirtualizer(data: any[]): boolean {\n return data.length >= 50;\n }\n} \n"],"names":["VirtualSelectRenderer","getVirtualizedContent","data","searchEnabled","renderItemFunction","value","multiple","getDisplayText","getItemValue","showNoResults","noResultsMessage","optionsLoading","html","_templateObject","_taggedTemplateLiteral","_templateObject2","_templateObject3","shouldUseVirtualizer","_templateObject4","virtualize","items","renderItem","item","getItemRenderFunction","scroller","_templateObject5","map","key","displayTextFn","valueFn","optionValue","displayText","isDisabled","disabled","className","isSelected","Array","isArray","includes","_templateObject6","ifDefined","undefined","unsafeHTML","length"],"mappings":"47DAYaA,CAAAA,kCAAAA,EAAAA,EAAAA,eAAAA,MAAAA,CAAAA,UAAAA,YAAAA,CAAAA,CAAAA,QAAAA,GAAAA,yBAAAA,KAAAA,CACX,8BAAOC,CACLC,CAAAA,CACAC,CACAC,CAAAA,CAAAA,CACAC,CACAC,CAAAA,CAAAA,CACAC,CACAC,CAAAA,CAAAA,CACAC,CACAC,CAAAA,CAAAA,CACAC,CAEA,CAAA,CAAA,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,8EAEPX,CAAAA,CAAgB,iCAAoC,CAAA,EAAA,CAElDM,CAAAA,EAAAA,CAAkBE,EAChBC,CAAI,CAAAG,gBAAA,GAAAA,gBAAA,CAAAD,sBAAA,mHAEEJ,CAAoB,EAAA,kBAAA,EAG1BE,CAAI,CAAAI,gBAAA,GAAAA,gBAAA,CAAAF,sBAAA,6IAIEd,CAAsBiB,CAAAA,oBAAAA,CAAqBf,GACzCU,CAAI,CAAAM,gBAAA,GAAAA,gBAAA,CAAAJ,sBAAA,yDACAK,CAAAA,CAAW,CACXC,KAAAA,CAAOlB,CACPmB,CAAAA,UAAAA,CAAaC,QAAbD,CAAAA,UAAAA,CAAaC,CACXtB,QAAAA,CAAAA,CAAAA,CAAsBuB,qBAAsBD,CAAAA,CAAAA,CAAMlB,CAAoBC,CAAAA,CAAAA,CAAOC,CAAUC,CAAAA,CAAAA,CAAgBC,KACzGgB,QAAU,CAAA,CAAA,CAAA,CAAA,CAAA,EAGdZ,CAAI,CAAAa,gBAAA,GAAAA,gBAAA,CAAAX,sBAAA,yDACAZ,CAAKwB,CAAAA,GAAAA,CAAKJ,SAAAA,SACVtB,CAAAA,CAAsBuB,CAAAA,qBAAAA,CAAsBD,EAAMlB,CAAoBC,CAAAA,CAAAA,CAAOC,EAAUC,CAAgBC,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,IAM5H,CAED,GAAAmB,GAAA,yBAAAtB,KAAA,SAAA,CAAAkB,qBAAOA,CACLD,CACAlB,CAAAA,EAAAA,CACAC,EACAC,CACAC,CAAAA,CAAAA,CACAC,CAEA,CAAA,CAAA,GAAMoB,CAAAA,CAAgBrB,CAAAA,CAAAA,EAAkBH,GAClCyB,CAAUrB,CAAAA,CAAAA,EAAkBc,SAAAA,CAAAA,QAAcA,CAAAA,CAAMjB,SAANiB,CAAMjB,iBAANiB,CAAMjB,CAAAA,KAAAA,GAASiB,IAEzDQ,CAAcD,CAAAA,CAAAA,CAAQP,CACtBS,CAAAA,CAAAA,CAAAA,CAAcH,CAAcN,CAAAA,CAAAA,CAAAA,CAC5BU,EAAaV,CAAKW,CAAAA,QAAAA,EAAAA,CAAY,CAC9BC,CAAAA,CAAAA,CAAYZ,CAAKY,CAAAA,SAAAA,CAEvB,GAAIC,CAAAA,CAAa,CAAA,CAAA,CAAA,CAOjB,MALEA,CAAAA,CAAAA,CADE7B,CACW8B,CAAAA,KAAAA,CAAMC,QAAQhC,CAAUA,CAAAA,EAAAA,CAAAA,CAAMiC,QAASR,CAAAA,CAAAA,CAAAA,CAAAA,CAEtCM,KAAMC,CAAAA,OAAAA,CAAQhC,GAASA,CAAM,CAAA,CAAA,CAAA,CAAKA,CAAWyB,IAAAA,CAAAA,CAGtDlB,CAAI,CAAA2B,gBAAA,GAAAA,gBAAA,CAAAzB,sBAAA,gMAECgB,CAAAA,CACIK,CAAAA,CACAH,CAAAA,CACI1B,CAAAA,CACRkC,CAAAA,CAAUN,CAAaO,EAAAA,IAAAA,EAAAA,CAAAA,CAE7BC,CAAWX,CAAAA,CAAAA,CAAAA,CAGlB,EAMO,GAAAJ,GAAA,wBAAAtB,KAAA,8BAAOY,CAAqBf,CAAAA,CAAAA,CAClC,MAAOA,CAAAA,CAAKyC,CAAAA,MAAAA,EAAU,EACvB"}
@@ -1,6 +1,6 @@
1
- import{html as e}from"lit";import{v as t}from"../virtualize-a4a40d96.esm.js";import{unsafeHTML as i}from"lit/directives/unsafe-html.js";import"lit/directive.js";import"lit/async-directive.js";import"lit/directives/repeat.js";class s{static getVirtualizedContent(i,r,l,o,a,c,n,d,m,u){return e`
2
- <div class="select__options ${r?"select__options__search-enabled":""}">
3
- ${d&&!u?e`
1
+ import{html as e}from"lit";import{v as t}from"../virtualize-a4a40d96.esm.js";import{unsafeHTML as i}from"lit/directives/unsafe-html.js";import{ifDefined as s}from"lit/directives/if-defined.js";import"lit/directive.js";import"lit/async-directive.js";import"lit/directives/repeat.js";class r{static getVirtualizedContent(i,s,l,o,d,a,c,n,m,v){return e`
2
+ <div class="select__options ${s?"select__options__search-enabled":""}">
3
+ ${n&&!v?e`
4
4
  <div class="select__no-results">
5
5
  ${m||"No results found"}
6
6
  </div>
@@ -8,20 +8,21 @@ import{html as e}from"lit";import{v as t}from"../virtualize-a4a40d96.esm.js";imp
8
8
  <div
9
9
  class="virtualized"
10
10
  >
11
- ${s.shouldUseVirtualizer(i)?e`
12
- ${t({items:i,renderItem:e=>s.getItemRenderFunction(e,l,o,a,c,n),scroller:!0})}
11
+ ${r.shouldUseVirtualizer(i)?e`
12
+ ${t({items:i,renderItem:e=>r.getItemRenderFunction(e,l,o,d,a,c),scroller:!0})}
13
13
  `:e`
14
- ${i.map((e=>s.getItemRenderFunction(e,l,o,a,c,n)))}
14
+ ${i.map((e=>r.getItemRenderFunction(e,l,o,d,a,c)))}
15
15
  `}
16
16
  </div>
17
17
  `}
18
- </div>`}static getItemRenderFunction(t,s,r,l,o,a){const c=o||s,n=a||(e=>e?.value||e),d=n(t),m=c(t),u=t.disabled||!1;let v=!1;return v=l?Array.isArray(r)&&r.includes(d):(Array.isArray(r)?r[0]:r)===d,e`
18
+ </div>`}static getItemRenderFunction(t,r,l,o,d,a){const c=d||r,n=a||(e=>e?.value||e),m=n(t),v=c(t),u=t.disabled||!1,p=t.className;let $=!1;return $=o?Array.isArray(l)&&l.includes(m):(Array.isArray(l)?l[0]:l)===m,e`
19
19
  <nile-option
20
- value=${d}
21
- .selected=${v}
20
+ value=${m}
21
+ .selected=${$}
22
22
  .disabled=${u}
23
- .showCheckbox=${l}
23
+ .showCheckbox=${o}
24
+ class=${s(p||void 0)}
24
25
  >
25
- ${i(m)}
26
+ ${i(v)}
26
27
  </nile-option>
27
- `}static shouldUseVirtualizer(e){return e.length>=50}}export{s as V};
28
+ `}static shouldUseVirtualizer(e){return e.length>=50}}export{r as V};
@@ -82,3 +82,4 @@ export { NilePagination } from './nile-pagination';
82
82
  export { NileSlider } from './nile-slider';
83
83
  export { NileFileUpload } from './nile-file-upload';
84
84
  export { NileFilePreview } from './nile-file-preview';
85
+ export { NileOptionGroup } from './nile-option-group';
package/dist/src/index.js CHANGED
@@ -82,4 +82,5 @@ export { NilePagination } from './nile-pagination';
82
82
  export { NileSlider } from './nile-slider';
83
83
  export { NileFileUpload } from './nile-file-upload';
84
84
  export { NileFilePreview } from './nile-file-preview';
85
+ export { NileOptionGroup } from './nile-option-group';
85
86
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { NileButton } from './nile-button';\nexport { NileHeading } from './nile-heading';\nexport { NileIcon } from './nile-icon';\nexport { NileInput } from './nile-input';\nexport { NileSidebar } from './nile-sidebar';\nexport { NileMenu } from './nile-menu';\nexport { NileBadge } from './nile-badge';\nexport { NileDrawer } from './nile-drawer';\nexport { NileCheckbox } from './nile-checkbox';\nexport { NileRadio } from './nile-radio';\nexport { NileRadioGroup } from './nile-radio-group';\nexport { NilePopup } from './nile-popup';\nexport { NileTooltip } from './nile-tooltip';\nexport { NileSlideToggle } from './nile-slide-toggle';\nexport { NileLoader } from './nile-loader';\nexport { NileProgressBar } from './nile-progress-bar';\nexport { NileSpinner } from './nile-spinner';\nexport { NileSelect } from './nile-select';\nexport { NileVirtualSelect } from './nile-virtual-select';\nexport { NileOption } from './nile-option';\nexport { NileTag } from './nile-tag';\nexport { NileIconButton } from './nile-icon-button';\nexport { NileMenuItem } from './nile-menu-item';\nexport { NileDropdown } from './nile-dropdown';\nexport { NileAutoComplete } from './nile-auto-complete';\nexport { NileChip } from './nile-chip';\nexport { NileTextarea } from './nile-textarea';\nexport { NileDatePicker } from './nile-date-picker';\nexport { NileErrorMessage } from './nile-error-message';\nexport { NileFormErrorMessage } from './nile-form-error-message';\nexport { NileFormHelpText } from './nile-form-help-text';\nexport { NileCalendar } from './nile-calendar';\nexport { NileLink } from './nile-link';\nexport { NileButtonToggleGroup } from './nile-button-toggle-group';\nexport { NileButtonToggle } from './nile-button-toggle';\nexport { NileSwitcher } from './nile-switcher';\nexport { NileContentEditor } from './nile-content-editor';\nexport { NileDialog } from './nile-dialog';\nexport { NileErrorNotification } from './nile-error-notification';\nexport { NileTabGroup } from './nile-tab-group';\nexport { NileTab } from './nile-tab';\nexport { NileTabPanel } from './nile-tab-panel';\nexport { NileCodeEditor } from './nile-code-editor';\nexport { NileToast } from './nile-toast';\nexport { NileBreadcrumb } from './nile-breadcrumb';\nexport { NileBreadcrumbItem } from './nile-breadcrumb-item';\nexport { NileFormGroup } from './nile-form-group';\nexport { NileCard } from './nile-card';\nexport { NilePopover } from './nile-popover';\nexport { NileButtonFilter } from './nile-button-filter';\nexport { NileCircularProgressbar } from './nile-circular-progressbar';\nexport { NileSidebarMenu } from './nile-sidebar-menu';\nexport { NileSidebarMenuItems } from './nile-sidebar-menu-items';\nexport { NileSidebarWrapper } from './nile-sidebar-wrapper';\nexport { NileTableCellItem } from './nile-table-cell-item';\nexport { NileTableRow } from './nile-table-row';\nexport { NileTableBody } from './nile-table-body';\nexport { NileTableHeaderItem } from './nile-table-header-item';\nexport { NileAvatar } from './nile-avatar';\nexport { NilePageHeader } from './nile-page-header';\nexport { NileEmptyState } from './nile-empty-state';\nexport { NileHero } from './nile-hero';\nexport { NileStepperItem } from './nile-stepper-item';\nexport { NileStepper } from './nile-stepper';\nexport { NileHeroHeader } from './nile-hero-header';\nexport { NileVerticalStepperItem } from './nile-vertical-stepper-item';\nexport { NileFormatDate } from './nile-format-date';\nexport { NileSplitPanel } from './nile-split-panel';\nexport { NileTree } from './nile-tree';\nexport { NileTreeItem } from './nile-tree-item';\nexport { NileListItem } from './nile-list-item';\nexport { NileList } from './nile-list';\nexport { NileAccordion } from './nile-accordion';\nexport { NileDivider } from './nile-divider';\nexport { NileTitle } from './nile-title';\nexport { NileSectionMessage } from './nile-section-message';\nexport { NileToolbar } from './nile-toolbar';\nexport { NileInlineEdit } from './nile-inline-edit';\nexport { NileTable } from './nile-table';\n\nexport { NileFilterChip } from './nile-filter-chip';\nexport {NilePagination } from './nile-pagination';\nexport { NileSlider } from './nile-slider';\nexport { NileFileUpload } from './nile-file-upload';\nexport { NileFilePreview } from './nile-file-preview';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC","sourcesContent":["export { NileButton } from './nile-button';\nexport { NileHeading } from './nile-heading';\nexport { NileIcon } from './nile-icon';\nexport { NileInput } from './nile-input';\nexport { NileSidebar } from './nile-sidebar';\nexport { NileMenu } from './nile-menu';\nexport { NileBadge } from './nile-badge';\nexport { NileDrawer } from './nile-drawer';\nexport { NileCheckbox } from './nile-checkbox';\nexport { NileRadio } from './nile-radio';\nexport { NileRadioGroup } from './nile-radio-group';\nexport { NilePopup } from './nile-popup';\nexport { NileTooltip } from './nile-tooltip';\nexport { NileSlideToggle } from './nile-slide-toggle';\nexport { NileLoader } from './nile-loader';\nexport { NileProgressBar } from './nile-progress-bar';\nexport { NileSpinner } from './nile-spinner';\nexport { NileSelect } from './nile-select';\nexport { NileVirtualSelect } from './nile-virtual-select';\nexport { NileOption } from './nile-option';\nexport { NileTag } from './nile-tag';\nexport { NileIconButton } from './nile-icon-button';\nexport { NileMenuItem } from './nile-menu-item';\nexport { NileDropdown } from './nile-dropdown';\nexport { NileAutoComplete } from './nile-auto-complete';\nexport { NileChip } from './nile-chip';\nexport { NileTextarea } from './nile-textarea';\nexport { NileDatePicker } from './nile-date-picker';\nexport { NileErrorMessage } from './nile-error-message';\nexport { NileFormErrorMessage } from './nile-form-error-message';\nexport { NileFormHelpText } from './nile-form-help-text';\nexport { NileCalendar } from './nile-calendar';\nexport { NileLink } from './nile-link';\nexport { NileButtonToggleGroup } from './nile-button-toggle-group';\nexport { NileButtonToggle } from './nile-button-toggle';\nexport { NileSwitcher } from './nile-switcher';\nexport { NileContentEditor } from './nile-content-editor';\nexport { NileDialog } from './nile-dialog';\nexport { NileErrorNotification } from './nile-error-notification';\nexport { NileTabGroup } from './nile-tab-group';\nexport { NileTab } from './nile-tab';\nexport { NileTabPanel } from './nile-tab-panel';\nexport { NileCodeEditor } from './nile-code-editor';\nexport { NileToast } from './nile-toast';\nexport { NileBreadcrumb } from './nile-breadcrumb';\nexport { NileBreadcrumbItem } from './nile-breadcrumb-item';\nexport { NileFormGroup } from './nile-form-group';\nexport { NileCard } from './nile-card';\nexport { NilePopover } from './nile-popover';\nexport { NileButtonFilter } from './nile-button-filter';\nexport { NileCircularProgressbar } from './nile-circular-progressbar';\nexport { NileSidebarMenu } from './nile-sidebar-menu';\nexport { NileSidebarMenuItems } from './nile-sidebar-menu-items';\nexport { NileSidebarWrapper } from './nile-sidebar-wrapper';\nexport { NileTableCellItem } from './nile-table-cell-item';\nexport { NileTableRow } from './nile-table-row';\nexport { NileTableBody } from './nile-table-body';\nexport { NileTableHeaderItem } from './nile-table-header-item';\nexport { NileAvatar } from './nile-avatar';\nexport { NilePageHeader } from './nile-page-header';\nexport { NileEmptyState } from './nile-empty-state';\nexport { NileHero } from './nile-hero';\nexport { NileStepperItem } from './nile-stepper-item';\nexport { NileStepper } from './nile-stepper';\nexport { NileHeroHeader } from './nile-hero-header';\nexport { NileVerticalStepperItem } from './nile-vertical-stepper-item';\nexport { NileFormatDate } from './nile-format-date';\nexport { NileSplitPanel } from './nile-split-panel';\nexport { NileTree } from './nile-tree';\nexport { NileTreeItem } from './nile-tree-item';\nexport { NileListItem } from './nile-list-item';\nexport { NileList } from './nile-list';\nexport { NileAccordion } from './nile-accordion';\nexport { NileDivider } from './nile-divider';\nexport { NileTitle } from './nile-title';\nexport { NileSectionMessage } from './nile-section-message';\nexport { NileToolbar } from './nile-toolbar';\nexport { NileInlineEdit } from './nile-inline-edit';\nexport { NileTable } from './nile-table';\nexport { NileFilterChip } from './nile-filter-chip';\nexport {NilePagination } from './nile-pagination';\nexport { NileSlider } from './nile-slider';\nexport { NileFileUpload } from './nile-file-upload';\nexport { NileFilePreview } from './nile-file-preview';\nexport { NileOptionGroup } from './nile-option-group';\n"]}
@@ -38,6 +38,11 @@ export declare function getColumnIndex(element: HTMLElement, selector: string):
38
38
  * @param newWidth The new width to apply
39
39
  */
40
40
  export declare function synchronizeColumnWidth(sourceElement: HTMLElement, newWidth: number): void;
41
+ /**
42
+ * Resets all column widths in a table to their default values
43
+ * @param tableBody The table body element to reset
44
+ */
45
+ export declare function resetAllColumnWidths(tableBody: HTMLElement): void;
41
46
  /**
42
47
  * Checks if an element has the resizable attribute
43
48
  * @param element The element to check
@@ -71,6 +71,20 @@ export function synchronizeColumnWidth(sourceElement, newWidth) {
71
71
  }
72
72
  });
73
73
  }
74
+ /**
75
+ * Resets all column widths in a table to their default values
76
+ * @param tableBody The table body element to reset
77
+ */
78
+ export function resetAllColumnWidths(tableBody) {
79
+ const headerItems = tableBody.querySelectorAll('nile-table-header-item');
80
+ const cellItems = tableBody.querySelectorAll('nile-table-cell-item');
81
+ headerItems.forEach(header => {
82
+ header.style.removeProperty('width');
83
+ });
84
+ cellItems.forEach(cell => {
85
+ cell.style.removeProperty('width');
86
+ });
87
+ }
74
88
  /**
75
89
  * Checks if an element has the resizable attribute
76
90
  * @param element The element to check
@@ -102,10 +116,19 @@ export function createResizeHandler(element, minWidth = 50) {
102
116
  * @returns True if any columns have resizable attribute
103
117
  */
104
118
  export function hasResizableColumns(tableBody) {
105
- const headerItems = tableBody.querySelectorAll('nile-table-header-item');
106
- const cellItems = tableBody.querySelectorAll('nile-table-cell-item');
107
- const hasResizableHeaders = Array.from(headerItems).some(item => isResizable(item));
108
- const hasResizableCells = Array.from(cellItems).some(item => isResizable(item));
119
+ const directChildren = Array.from(tableBody.children);
120
+ const hasResizableHeaders = directChildren.some(child => {
121
+ if (child.tagName.toLowerCase() === 'nile-table-header-item') {
122
+ return child.hasAttribute('resizable');
123
+ }
124
+ return false;
125
+ });
126
+ const hasResizableCells = directChildren.some(child => {
127
+ if (child.tagName.toLowerCase() === 'nile-table-cell-item') {
128
+ return child.hasAttribute('resizable');
129
+ }
130
+ return false;
131
+ });
109
132
  return hasResizableHeaders || hasResizableCells;
110
133
  }
111
134
  //# sourceMappingURL=resizable-table-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resizable-table-helper.js","sourceRoot":"","sources":["../../../src/internal/resizable-table-helper.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Resizable Helper Utility\n * Provides common functionality for resizable table columns\n */\n\nexport interface ResizeOptions {\n minWidth?: number;\n startX: number;\n startWidth: number;\n element: HTMLElement;\n}\n\nexport interface ColumnResizeData {\n columnIndex: number;\n newWidth: number;\n}\n\n/**\n * Handles the start of a resize operation\n * @param e Mouse event\n * @param options Resize configuration options\n * @returns Cleanup function to remove event listeners\n */\nexport function handleResizeStart(e: MouseEvent, options: ResizeOptions): () => void {\n e.preventDefault();\n e.stopPropagation();\n \n const { minWidth = 50, startX, startWidth, element } = options;\n const resizer = e.target as HTMLElement;\n \n resizer.classList.add('resizing');\n\n const onMouseMove = (e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n \n const delta = e.pageX - startX;\n const newWidth = Math.max(minWidth, startWidth + delta);\n\n element.style.width = newWidth + 'px';\n\n synchronizeColumnWidth(element, newWidth);\n };\n\n const onMouseUp = () => {\n resizer.classList.remove('resizing');\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n };\n\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n\n return () => {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n };\n}\n\n/**\n * Gets the column index of an element within its table row\n * @param element The table cell or header element\n * @param selector The CSS selector for the column elements\n * @returns Column index (0-based)\n */\nexport function getColumnIndex(element: HTMLElement, selector: string): number {\n const tableRow = element.closest('nile-table-row');\n if (tableRow) {\n const columns = tableRow.querySelectorAll(selector);\n return Array.from(columns).indexOf(element);\n }\n return 0;\n}\n\n/**\n * Synchronizes the width of all cells in the same column\n * @param sourceElement The element that was resized\n * @param newWidth The new width to apply\n */\nexport function synchronizeColumnWidth(sourceElement: HTMLElement, newWidth: number): void {\n const tableBody = sourceElement.closest('nile-table-body');\n if (!tableBody) return;\n\n const isHeader = sourceElement.tagName.toLowerCase() === 'nile-table-header-item';\n const selector = isHeader ? 'nile-table-header-item' : 'nile-table-cell-item';\n const targetSelector = isHeader ? 'nile-table-cell-item' : 'nile-table-cell-item';\n \n const columnIndex = getColumnIndex(sourceElement, selector);\n const rows = tableBody.querySelectorAll('nile-table-row');\n \n rows.forEach(row => {\n const cells = row.querySelectorAll(targetSelector);\n if (cells[columnIndex]) {\n cells[columnIndex].style.width = newWidth + 'px';\n }\n });\n}\n\n/**\n * Checks if an element has the resizable attribute\n * @param element The element to check\n * @returns True if the element is resizable\n */\nexport function isResizable(element: HTMLElement): boolean {\n return element.hasAttribute('resizable');\n}\n\n/**\n * Creates a resize handler function for use in component event listeners\n * @param element The element to make resizable\n * @param minWidth Minimum width constraint\n * @returns Event handler function\n */\nexport function createResizeHandler(element: HTMLElement, minWidth: number = 50): (e: MouseEvent) => void {\n return (e: MouseEvent) => {\n const options: ResizeOptions = {\n minWidth,\n startX: e.pageX,\n startWidth: element.offsetWidth,\n element\n };\n \n handleResizeStart(e, options);\n };\n}\n\n/**\n * Detects if any columns in a table are resizable\n * @param tableBody The table body element\n * @returns True if any columns have resizable attribute\n */\nexport function hasResizableColumns(tableBody: HTMLElement): boolean {\n const headerItems = tableBody.querySelectorAll('nile-table-header-item');\n const cellItems = tableBody.querySelectorAll('nile-table-cell-item');\n \n const hasResizableHeaders = Array.from(headerItems).some(item => \n isResizable(item)\n );\n const hasResizableCells = Array.from(cellItems).some(item => \n isResizable(item)\n );\n \n return hasResizableHeaders || hasResizableCells;\n} \n"]}
1
+ {"version":3,"file":"resizable-table-helper.js","sourceRoot":"","sources":["../../../src/internal/resizable-table-helper.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Resizable Helper Utility\n * Provides common functionality for resizable table columns\n */\n\nexport interface ResizeOptions {\n minWidth?: number;\n startX: number;\n startWidth: number;\n element: HTMLElement;\n}\n\nexport interface ColumnResizeData {\n columnIndex: number;\n newWidth: number;\n}\n\n/**\n * Handles the start of a resize operation\n * @param e Mouse event\n * @param options Resize configuration options\n * @returns Cleanup function to remove event listeners\n */\nexport function handleResizeStart(e: MouseEvent, options: ResizeOptions): () => void {\n e.preventDefault();\n e.stopPropagation();\n \n const { minWidth = 50, startX, startWidth, element } = options;\n const resizer = e.target as HTMLElement;\n \n resizer.classList.add('resizing');\n\n const onMouseMove = (e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n \n const delta = e.pageX - startX;\n const newWidth = Math.max(minWidth, startWidth + delta);\n\n element.style.width = newWidth + 'px';\n\n synchronizeColumnWidth(element, newWidth);\n };\n\n const onMouseUp = () => {\n resizer.classList.remove('resizing');\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n };\n\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n\n return () => {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n };\n}\n\n/**\n * Gets the column index of an element within its table row\n * @param element The table cell or header element\n * @param selector The CSS selector for the column elements\n * @returns Column index (0-based)\n */\nexport function getColumnIndex(element: HTMLElement, selector: string): number {\n const tableRow = element.closest('nile-table-row');\n if (tableRow) {\n const columns = tableRow.querySelectorAll(selector);\n return Array.from(columns).indexOf(element);\n }\n return 0;\n}\n\n/**\n * Synchronizes the width of all cells in the same column\n * @param sourceElement The element that was resized\n * @param newWidth The new width to apply\n */\nexport function synchronizeColumnWidth(sourceElement: HTMLElement, newWidth: number): void {\n const tableBody = sourceElement.closest('nile-table-body');\n if (!tableBody) return;\n\n const isHeader = sourceElement.tagName.toLowerCase() === 'nile-table-header-item';\n const selector = isHeader ? 'nile-table-header-item' : 'nile-table-cell-item';\n const targetSelector = isHeader ? 'nile-table-cell-item' : 'nile-table-cell-item';\n \n const columnIndex = getColumnIndex(sourceElement, selector);\n const rows = tableBody.querySelectorAll('nile-table-row');\n \n rows.forEach(row => {\n const cells = row.querySelectorAll(targetSelector);\n if (cells[columnIndex]) {\n cells[columnIndex].style.width = newWidth + 'px';\n }\n });\n}\n\n/**\n * Resets all column widths in a table to their default values\n * @param tableBody The table body element to reset\n */\nexport function resetAllColumnWidths(tableBody: HTMLElement): void {\n const headerItems = tableBody.querySelectorAll('nile-table-header-item');\n const cellItems = tableBody.querySelectorAll('nile-table-cell-item');\n \n headerItems.forEach(header => {\n header.style.removeProperty('width');\n });\n \n cellItems.forEach(cell => {\n cell.style.removeProperty('width');\n });\n}\n\n/**\n * Checks if an element has the resizable attribute\n * @param element The element to check\n * @returns True if the element is resizable\n */\nexport function isResizable(element: HTMLElement): boolean {\n return element.hasAttribute('resizable');\n}\n\n/**\n * Creates a resize handler function for use in component event listeners\n * @param element The element to make resizable\n * @param minWidth Minimum width constraint\n * @returns Event handler function\n */\nexport function createResizeHandler(element: HTMLElement, minWidth: number = 50): (e: MouseEvent) => void {\n return (e: MouseEvent) => {\n const options: ResizeOptions = {\n minWidth,\n startX: e.pageX,\n startWidth: element.offsetWidth,\n element\n };\n \n handleResizeStart(e, options);\n };\n}\n\n/**\n * Detects if any columns in a table are resizable\n * @param tableBody The table body element\n * @returns True if any columns have resizable attribute\n */\nexport function hasResizableColumns(tableBody: HTMLElement): boolean {\n const directChildren = Array.from(tableBody.children);\n \n const hasResizableHeaders = directChildren.some(child => {\n if (child.tagName.toLowerCase() === 'nile-table-header-item') {\n return child.hasAttribute('resizable');\n }\n return false;\n });\n \n const hasResizableCells = directChildren.some(child => {\n if (child.tagName.toLowerCase() === 'nile-table-cell-item') {\n return child.hasAttribute('resizable');\n }\n return false;\n });\n \n return hasResizableHeaders || hasResizableCells;\n} \n"]}
@@ -41,6 +41,7 @@ export declare class NileCodeEditor extends NileElement {
41
41
  debounceTimeout: number;
42
42
  aboveCursor: boolean;
43
43
  tabCompletion: boolean;
44
+ defaultFont: boolean;
44
45
  view: EditorView;
45
46
  viewState: EditorState;
46
47
  private timeOut;
@@ -51,6 +52,8 @@ export declare class NileCodeEditor extends NileElement {
51
52
  private placeholderComp;
52
53
  private defaultSyntaxHighlightingComp;
53
54
  private themeComp;
55
+ private autoCompletionComp;
56
+ private isSpacePressed;
54
57
  /**
55
58
  * The styles for CodeEditor
56
59
  * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
@@ -63,6 +66,8 @@ export declare class NileCodeEditor extends NileElement {
63
66
  protected updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
64
67
  render(): TemplateResult;
65
68
  createNewView(emitEvent?: boolean): void;
69
+ checkForSpaceKey(e: KeyboardEvent): void;
70
+ handleEscapeKey(e: KeyboardEvent): void;
66
71
  createState(): EditorState;
67
72
  /**
68
73
  * Custom autocomplete handler for code editor suggestions
@@ -17,13 +17,12 @@ import { javascript, javascriptLanguage, } from '@codemirror/lang-javascript';
17
17
  import { sql } from '@codemirror/lang-sql';
18
18
  import { json } from '@codemirror/lang-json';
19
19
  import { html as htmlLang } from '@codemirror/lang-html';
20
- import { autocompletion } from '@codemirror/autocomplete';
20
+ import { autocompletion, acceptCompletion, closeCompletion, completionStatus } from '@codemirror/autocomplete';
21
21
  import NileElement from '../internal/nile-element';
22
22
  import { basicSetup } from './extensionSetup';
23
23
  import { classMap } from 'lit/directives/class-map.js';
24
- import { Theme as DefaultTheme, customisedThemeCss } from './theme';
24
+ import { customisedThemeCss, fontFamily } from './theme';
25
25
  import { keymap } from '@codemirror/view';
26
- import { acceptCompletion } from '@codemirror/autocomplete';
27
26
  // Choose the appropriate mode for your use case
28
27
  /**
29
28
  * Nile icon component.
@@ -57,7 +56,8 @@ let NileCodeEditor = class NileCodeEditor extends NileElement {
57
56
  this.debounce = false;
58
57
  this.debounceTimeout = 200;
59
58
  this.aboveCursor = false;
60
- this.tabCompletion = false;
59
+ this.tabCompletion = true;
60
+ this.defaultFont = false;
61
61
  this.timeOut = null;
62
62
  // Compartments for initialiazing and switching extensions
63
63
  this.lineNumbersComp = new Compartment();
@@ -67,6 +67,8 @@ let NileCodeEditor = class NileCodeEditor extends NileElement {
67
67
  this.placeholderComp = new Compartment();
68
68
  this.defaultSyntaxHighlightingComp = new Compartment();
69
69
  this.themeComp = new Compartment();
70
+ this.autoCompletionComp = new Compartment();
71
+ this.isSpacePressed = false;
70
72
  /**
71
73
  * Custom autocomplete handler for code editor suggestions
72
74
  * @param context CompletionContext from CodeMirror
@@ -145,6 +147,13 @@ let NileCodeEditor = class NileCodeEditor extends NileElement {
145
147
  ]
146
148
  });
147
149
  }
150
+ if (changedProperties.has('aboveCursor')) {
151
+ this.view.dispatch({
152
+ effects: [
153
+ this.autoCompletionComp.reconfigure(autocompletion({ aboveCursor: this.aboveCursor }))
154
+ ]
155
+ });
156
+ }
148
157
  if (changedProperties.has('placeholder')) {
149
158
  this.view.dispatch({
150
159
  effects: [
@@ -226,9 +235,28 @@ let NileCodeEditor = class NileCodeEditor extends NileElement {
226
235
  state: this.viewState,
227
236
  parent: this.codeEditor
228
237
  });
238
+ this.view.dom.addEventListener('keydown', (e) => {
239
+ this.checkForSpaceKey(e);
240
+ this.handleEscapeKey(e);
241
+ }, true);
229
242
  if (emitEvent)
230
243
  this.emit('nile-after-update', { createNewView: this.createNewView, codeMirrorInstance: this.view, }, false);
231
244
  }
245
+ checkForSpaceKey(e) {
246
+ if (e.code === 'Space' && !e.ctrlKey) {
247
+ this.isSpacePressed = true;
248
+ }
249
+ else {
250
+ this.isSpacePressed = false;
251
+ }
252
+ }
253
+ handleEscapeKey(e) {
254
+ if (e.key === 'Escape' && this.view && completionStatus(this.view.state) !== null) {
255
+ e.stopPropagation();
256
+ e.preventDefault();
257
+ closeCompletion(this.view);
258
+ }
259
+ }
232
260
  createState() {
233
261
  const lineNumbersExtension = this.lineNumbersComp.of(this.getLineNumbersExension());
234
262
  const readOnlyExtension = this.readOnlyComp.of(this.getReadOnlyExtension());
@@ -254,7 +282,7 @@ let NileCodeEditor = class NileCodeEditor extends NileElement {
254
282
  customAutoCompletions,
255
283
  placeholderExtension,
256
284
  defaultSyntaxHighlightingExtension,
257
- autocompletion({ aboveCursor: this.aboveCursor }),
285
+ this.autoCompletionComp.of(autocompletion({ aboveCursor: this.aboveCursor })),
258
286
  language,
259
287
  customThemeExtension,
260
288
  this.getTabCompletionKeymap(),
@@ -322,7 +350,7 @@ let NileCodeEditor = class NileCodeEditor extends NileElement {
322
350
  const baseMatch = textBeforeCursor.match(/([a-zA-Z_$][\w$]*)$/);
323
351
  if (!baseMatch) {
324
352
  const trimmedText = textBeforeCursor.trim();
325
- if (trimmedText === '') {
353
+ if (trimmedText === '' && !this.isSpacePressed) {
326
354
  const optionsList = Object.keys(this.customAutoCompletions).filter(key => Object.keys(this.customAutoCompletions[key]).length);
327
355
  const options = optionsList.map((key) => ({
328
356
  label: key,
@@ -426,9 +454,15 @@ let NileCodeEditor = class NileCodeEditor extends NileElement {
426
454
  }
427
455
  getCustomThemeExtension() {
428
456
  if (this.customThemeCSS) {
457
+ if (this.defaultFont) {
458
+ return [EditorView.theme(this.customThemeCSS), EditorView.theme(customisedThemeCss), EditorView.theme(fontFamily)];
459
+ }
429
460
  return [EditorView.theme(this.customThemeCSS), EditorView.theme(customisedThemeCss)];
430
461
  }
431
- return [EditorView.theme(customisedThemeCss), EditorView.theme(DefaultTheme)];
462
+ if (this.defaultFont) {
463
+ return [EditorView.theme(customisedThemeCss), EditorView.theme(fontFamily)];
464
+ }
465
+ return [EditorView.theme(customisedThemeCss)];
432
466
  }
433
467
  restrictSingleLine() {
434
468
  return EditorState.transactionFilter.of(tr => tr.newDoc.lines > 1 ? [] : tr);
@@ -509,6 +543,9 @@ __decorate([
509
543
  __decorate([
510
544
  property({ type: Boolean, reflect: true, attribute: true })
511
545
  ], NileCodeEditor.prototype, "tabCompletion", void 0);
546
+ __decorate([
547
+ property({ type: Boolean, reflect: true, attribute: true })
548
+ ], NileCodeEditor.prototype, "defaultFont", void 0);
512
549
  NileCodeEditor = __decorate([
513
550
  customElement('nile-code-editor')
514
551
  ], NileCodeEditor);