@aquera/nile-elements 0.0.67 → 0.0.69

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 (656) hide show
  1. package/README.md +26 -0
  2. package/demo/filenames.txt +1 -1
  3. package/demo/index.html +2 -1
  4. package/demo/variables.css +57 -5
  5. package/demo/variables_v2.css +19 -5
  6. package/dist/axe.min-1a358f34.cjs.js +12 -0
  7. package/dist/axe.min-1a358f34.cjs.js.map +1 -0
  8. package/dist/axe.min-c4141dd6.esm.js +12 -0
  9. package/dist/index.cjs.js +1 -1
  10. package/dist/index.esm.js +1 -1
  11. package/dist/index.iife.js +755 -447
  12. package/dist/nile-avatar/nile-avatar.cjs.js +1 -1
  13. package/dist/nile-avatar/nile-avatar.cjs.js.map +1 -1
  14. package/dist/nile-avatar/nile-avatar.css.cjs.js +1 -1
  15. package/dist/nile-avatar/nile-avatar.css.cjs.js.map +1 -1
  16. package/dist/nile-avatar/nile-avatar.css.esm.js +15 -7
  17. package/dist/nile-avatar/nile-avatar.esm.js +1 -1
  18. package/dist/nile-badge/index.cjs.js +1 -1
  19. package/dist/nile-badge/index.esm.js +1 -1
  20. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  21. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  22. package/dist/nile-badge/nile-badge.css.cjs.js +1 -1
  23. package/dist/nile-badge/nile-badge.css.cjs.js.map +1 -1
  24. package/dist/nile-badge/nile-badge.css.esm.js +7 -5
  25. package/dist/nile-badge/nile-badge.esm.js +1 -1
  26. package/dist/nile-button/index.cjs.js +1 -1
  27. package/dist/nile-button/index.esm.js +1 -1
  28. package/dist/nile-button/nile-button.cjs.js +1 -1
  29. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  30. package/dist/nile-button/nile-button.css.cjs.js +1 -1
  31. package/dist/nile-button/nile-button.css.cjs.js.map +1 -1
  32. package/dist/nile-button/nile-button.css.esm.js +13 -23
  33. package/dist/nile-button/nile-button.esm.js +1 -1
  34. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js +1 -1
  35. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js.map +1 -1
  36. package/dist/nile-button-toggle/nile-button-toggle.css.esm.js +11 -6
  37. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.cjs.js +1 -1
  38. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.cjs.js.map +1 -1
  39. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.esm.js +5 -4
  40. package/dist/nile-checkbox/nile-checkbox.cjs.js +1 -1
  41. package/dist/nile-checkbox/nile-checkbox.cjs.js.map +1 -1
  42. package/dist/nile-checkbox/nile-checkbox.css.cjs.js +1 -1
  43. package/dist/nile-checkbox/nile-checkbox.css.cjs.js.map +1 -1
  44. package/dist/nile-checkbox/nile-checkbox.css.esm.js +24 -10
  45. package/dist/nile-checkbox/nile-checkbox.esm.js +4 -4
  46. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +395 -0
  47. package/dist/nile-checkbox/nile-checkbox.test.cjs.js.map +1 -0
  48. package/dist/nile-checkbox/nile-checkbox.test.esm.js +580 -0
  49. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  50. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  51. package/dist/nile-chip/nile-chip.esm.js +1 -1
  52. package/dist/nile-dialog/index.cjs.js +1 -1
  53. package/dist/nile-dialog/index.esm.js +1 -1
  54. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  55. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  56. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  57. package/dist/nile-drawer/index.cjs.js +1 -1
  58. package/dist/nile-drawer/index.esm.js +1 -1
  59. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  60. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  61. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  62. package/dist/nile-empty-state/index.cjs.js +1 -1
  63. package/dist/nile-empty-state/index.esm.js +1 -1
  64. package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
  65. package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
  66. package/dist/nile-empty-state/nile-empty-state.css.cjs.js +1 -1
  67. package/dist/nile-empty-state/nile-empty-state.css.cjs.js.map +1 -1
  68. package/dist/nile-empty-state/nile-empty-state.css.esm.js +63 -22
  69. package/dist/nile-empty-state/nile-empty-state.esm.js +21 -16
  70. package/dist/nile-error-notification/nile-error-notification.cjs.js +1 -1
  71. package/dist/nile-error-notification/nile-error-notification.cjs.js.map +1 -1
  72. package/dist/nile-error-notification/nile-error-notification.esm.js +1 -1
  73. package/dist/nile-form-help-text/nile-form-help-text.cjs.js +1 -1
  74. package/dist/nile-form-help-text/nile-form-help-text.cjs.js.map +1 -1
  75. package/dist/nile-form-help-text/nile-form-help-text.esm.js +1 -1
  76. package/dist/nile-hero/index.cjs.js +1 -1
  77. package/dist/nile-hero/index.esm.js +1 -1
  78. package/dist/nile-hero/nile-hero.cjs.js +1 -1
  79. package/dist/nile-hero/nile-hero.cjs.js.map +1 -1
  80. package/dist/nile-hero/nile-hero.css.cjs.js +1 -1
  81. package/dist/nile-hero/nile-hero.css.cjs.js.map +1 -1
  82. package/dist/nile-hero/nile-hero.css.esm.js +14 -33
  83. package/dist/nile-hero/nile-hero.esm.js +6 -9
  84. package/dist/nile-hero-header/index.cjs.js +2 -0
  85. package/dist/nile-hero-header/index.cjs.js.map +1 -0
  86. package/dist/nile-hero-header/index.esm.js +1 -0
  87. package/dist/nile-hero-header/nile-hero-header.cjs.js +2 -0
  88. package/dist/nile-hero-header/nile-hero-header.cjs.js.map +1 -0
  89. package/dist/nile-hero-header/nile-hero-header.css.cjs.js +2 -0
  90. package/dist/nile-hero-header/nile-hero-header.css.cjs.js.map +1 -0
  91. package/dist/nile-hero-header/nile-hero-header.css.esm.js +28 -0
  92. package/dist/nile-hero-header/nile-hero-header.esm.js +6 -0
  93. package/dist/nile-icon/icons/svg/alert-circle.cjs.js +2 -0
  94. package/dist/nile-icon/icons/svg/alert-circle.cjs.js.map +1 -0
  95. package/dist/nile-icon/icons/svg/alert-circle.esm.js +1 -0
  96. package/dist/nile-icon/icons/svg/arrow-narrow-left.cjs.js +2 -0
  97. package/dist/nile-icon/icons/svg/arrow-narrow-left.cjs.js.map +1 -0
  98. package/dist/nile-icon/icons/svg/arrow-narrow-left.esm.js +1 -0
  99. package/dist/nile-icon/icons/svg/book-closed.cjs.js +2 -0
  100. package/dist/nile-icon/icons/svg/book-closed.cjs.js.map +1 -0
  101. package/dist/nile-icon/icons/svg/book-closed.esm.js +1 -0
  102. package/dist/nile-icon/icons/svg/box.cjs.js +2 -0
  103. package/dist/nile-icon/icons/svg/box.cjs.js.map +1 -0
  104. package/dist/nile-icon/icons/svg/box.esm.js +1 -0
  105. package/dist/nile-icon/icons/svg/check.cjs.js +2 -0
  106. package/dist/nile-icon/icons/svg/check.cjs.js.map +1 -0
  107. package/dist/nile-icon/icons/svg/check.esm.js +1 -0
  108. package/dist/nile-icon/icons/svg/chevron-left-double.cjs.js +2 -0
  109. package/dist/nile-icon/icons/svg/chevron-left-double.cjs.js.map +1 -0
  110. package/dist/nile-icon/icons/svg/chevron-left-double.esm.js +1 -0
  111. package/dist/nile-icon/icons/svg/chevron-selector-vertical.cjs.js +2 -0
  112. package/dist/nile-icon/icons/svg/chevron-selector-vertical.cjs.js.map +1 -0
  113. package/dist/nile-icon/icons/svg/chevron-selector-vertical.esm.js +1 -0
  114. package/dist/nile-icon/icons/svg/clock-check.cjs.js +2 -0
  115. package/dist/nile-icon/icons/svg/clock-check.cjs.js.map +1 -0
  116. package/dist/nile-icon/icons/svg/clock-check.esm.js +1 -0
  117. package/dist/nile-icon/icons/svg/clock-rewind.cjs.js +2 -0
  118. package/dist/nile-icon/icons/svg/clock-rewind.cjs.js.map +1 -0
  119. package/dist/nile-icon/icons/svg/clock-rewind.esm.js +1 -0
  120. package/dist/nile-icon/icons/svg/clock.cjs.js +2 -0
  121. package/dist/nile-icon/icons/svg/clock.cjs.js.map +1 -0
  122. package/dist/nile-icon/icons/svg/clock.esm.js +1 -0
  123. package/dist/nile-icon/icons/svg/cloud-01.cjs.js +2 -0
  124. package/dist/nile-icon/icons/svg/cloud-01.cjs.js.map +1 -0
  125. package/dist/nile-icon/icons/svg/cloud-01.esm.js +1 -0
  126. package/dist/nile-icon/icons/svg/copy-06.cjs.js +2 -0
  127. package/dist/nile-icon/icons/svg/copy-06.cjs.js.map +1 -0
  128. package/dist/nile-icon/icons/svg/copy-06.esm.js +1 -0
  129. package/dist/nile-icon/icons/svg/data-insight.cjs.js +2 -0
  130. package/dist/nile-icon/icons/svg/data-insight.cjs.js.map +1 -0
  131. package/dist/nile-icon/icons/svg/data-insight.esm.js +1 -0
  132. package/dist/nile-icon/icons/svg/dataflow-03.cjs.js +2 -0
  133. package/dist/nile-icon/icons/svg/dataflow-03.cjs.js.map +1 -0
  134. package/dist/nile-icon/icons/svg/dataflow-03.esm.js +1 -0
  135. package/dist/nile-icon/icons/svg/dataflow-04.cjs.js +2 -0
  136. package/dist/nile-icon/icons/svg/dataflow-04.cjs.js.map +1 -0
  137. package/dist/nile-icon/icons/svg/dataflow-04.esm.js +1 -0
  138. package/dist/nile-icon/icons/svg/dotpoints-02.cjs.js +2 -0
  139. package/dist/nile-icon/icons/svg/dotpoints-02.cjs.js.map +1 -0
  140. package/dist/nile-icon/icons/svg/dotpoints-02.esm.js +1 -0
  141. package/dist/nile-icon/icons/svg/dots-vertical.cjs.js +2 -0
  142. package/dist/nile-icon/icons/svg/dots-vertical.cjs.js.map +1 -0
  143. package/dist/nile-icon/icons/svg/dots-vertical.esm.js +1 -0
  144. package/dist/nile-icon/icons/svg/download-02.cjs.js +2 -0
  145. package/dist/nile-icon/icons/svg/download-02.cjs.js.map +1 -0
  146. package/dist/nile-icon/icons/svg/download-02.esm.js +1 -0
  147. package/dist/nile-icon/icons/svg/edit-01.cjs.js +2 -0
  148. package/dist/nile-icon/icons/svg/edit-01.cjs.js.map +1 -0
  149. package/dist/nile-icon/icons/svg/edit-01.esm.js +1 -0
  150. package/dist/nile-icon/icons/svg/expand-06.cjs.js +2 -0
  151. package/dist/nile-icon/icons/svg/expand-06.cjs.js.map +1 -0
  152. package/dist/nile-icon/icons/svg/expand-06.esm.js +1 -0
  153. package/dist/nile-icon/icons/svg/eye-off.cjs.js +2 -0
  154. package/dist/nile-icon/icons/svg/eye-off.cjs.js.map +1 -0
  155. package/dist/nile-icon/icons/svg/eye-off.esm.js +1 -0
  156. package/dist/nile-icon/icons/svg/file-06.cjs.js +2 -0
  157. package/dist/nile-icon/icons/svg/file-06.cjs.js.map +1 -0
  158. package/dist/nile-icon/icons/svg/file-06.esm.js +1 -0
  159. package/dist/nile-icon/icons/svg/file-shield-01.cjs.js +2 -0
  160. package/dist/nile-icon/icons/svg/file-shield-01.cjs.js.map +1 -0
  161. package/dist/nile-icon/icons/svg/file-shield-01.esm.js +1 -0
  162. package/dist/nile-icon/icons/svg/globe-03.cjs.js +2 -0
  163. package/dist/nile-icon/icons/svg/globe-03.cjs.js.map +1 -0
  164. package/dist/nile-icon/icons/svg/globe-03.esm.js +1 -0
  165. package/dist/nile-icon/icons/svg/grid-01.cjs.js +2 -0
  166. package/dist/nile-icon/icons/svg/grid-01.cjs.js.map +1 -0
  167. package/dist/nile-icon/icons/svg/grid-01.esm.js +1 -0
  168. package/dist/nile-icon/icons/svg/help-circle.cjs.js +2 -0
  169. package/dist/nile-icon/icons/svg/help-circle.cjs.js.map +1 -0
  170. package/dist/nile-icon/icons/svg/help-circle.esm.js +1 -0
  171. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  172. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  173. package/dist/nile-icon/icons/svg/info-circle.cjs.js +2 -0
  174. package/dist/nile-icon/icons/svg/info-circle.cjs.js.map +1 -0
  175. package/dist/nile-icon/icons/svg/info-circle.esm.js +1 -0
  176. package/dist/nile-icon/icons/svg/layout-alt-02.cjs.js +2 -0
  177. package/dist/nile-icon/icons/svg/layout-alt-02.cjs.js.map +1 -0
  178. package/dist/nile-icon/icons/svg/layout-alt-02.esm.js +1 -0
  179. package/dist/nile-icon/icons/svg/layout-alt-03.cjs.js +2 -0
  180. package/dist/nile-icon/icons/svg/layout-alt-03.cjs.js.map +1 -0
  181. package/dist/nile-icon/icons/svg/layout-alt-03.esm.js +1 -0
  182. package/dist/nile-icon/icons/svg/marker-pin-01.cjs.js +2 -0
  183. package/dist/nile-icon/icons/svg/marker-pin-01.cjs.js.map +1 -0
  184. package/dist/nile-icon/icons/svg/marker-pin-01.esm.js +1 -0
  185. package/dist/nile-icon/icons/svg/play-circle.cjs.js +2 -0
  186. package/dist/nile-icon/icons/svg/play-circle.cjs.js.map +1 -0
  187. package/dist/nile-icon/icons/svg/play-circle.esm.js +1 -0
  188. package/dist/nile-icon/icons/svg/refresh-cw-03.cjs.js +2 -0
  189. package/dist/nile-icon/icons/svg/refresh-cw-03.cjs.js.map +1 -0
  190. package/dist/nile-icon/icons/svg/refresh-cw-03.esm.js +1 -0
  191. package/dist/nile-icon/icons/svg/search-lg.cjs.js +2 -0
  192. package/dist/nile-icon/icons/svg/search-lg.cjs.js.map +1 -0
  193. package/dist/nile-icon/icons/svg/search-lg.esm.js +1 -0
  194. package/dist/nile-icon/icons/svg/server-03.cjs.js +2 -0
  195. package/dist/nile-icon/icons/svg/server-03.cjs.js.map +1 -0
  196. package/dist/nile-icon/icons/svg/server-03.esm.js +1 -0
  197. package/dist/nile-icon/icons/svg/stop-circle.cjs.js +2 -0
  198. package/dist/nile-icon/icons/svg/stop-circle.cjs.js.map +1 -0
  199. package/dist/nile-icon/icons/svg/stop-circle.esm.js +1 -0
  200. package/dist/nile-icon/icons/svg/user-01.cjs.js +2 -0
  201. package/dist/nile-icon/icons/svg/user-01.cjs.js.map +1 -0
  202. package/dist/nile-icon/icons/svg/user-01.esm.js +1 -0
  203. package/dist/nile-icon/icons/svg/user-circle.cjs.js +2 -0
  204. package/dist/nile-icon/icons/svg/user-circle.cjs.js.map +1 -0
  205. package/dist/nile-icon/icons/svg/user-circle.esm.js +1 -0
  206. package/dist/nile-icon/icons/svg/x-circle.cjs.js +2 -0
  207. package/dist/nile-icon/icons/svg/x-circle.cjs.js.map +1 -0
  208. package/dist/nile-icon/icons/svg/x-circle.esm.js +1 -0
  209. package/dist/nile-icon/index.cjs.js +1 -1
  210. package/dist/nile-icon/index.cjs.js.map +1 -1
  211. package/dist/nile-icon/index.esm.js +11 -5
  212. package/dist/nile-icon-button/index.cjs.js +1 -1
  213. package/dist/nile-icon-button/index.esm.js +1 -1
  214. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  215. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  216. package/dist/nile-icon-button/nile-icon-button.esm.js +12 -12
  217. package/dist/nile-input/index.cjs.js +1 -1
  218. package/dist/nile-input/index.esm.js +1 -1
  219. package/dist/nile-input/nile-input.cjs.js +1 -1
  220. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  221. package/dist/nile-input/nile-input.css.cjs.js +1 -1
  222. package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
  223. package/dist/nile-input/nile-input.css.esm.js +7 -8
  224. package/dist/nile-input/nile-input.esm.js +2 -2
  225. package/dist/nile-menu/nile-menu.css.cjs.js +1 -1
  226. package/dist/nile-menu/nile-menu.css.cjs.js.map +1 -1
  227. package/dist/nile-menu/nile-menu.css.esm.js +2 -1
  228. package/dist/nile-menu-item/index.cjs.js +1 -1
  229. package/dist/nile-menu-item/index.esm.js +1 -1
  230. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  231. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  232. package/dist/nile-menu-item/nile-menu-item.css.cjs.js +1 -1
  233. package/dist/nile-menu-item/nile-menu-item.css.cjs.js.map +1 -1
  234. package/dist/nile-menu-item/nile-menu-item.css.esm.js +7 -4
  235. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  236. package/dist/nile-option/index.cjs.js +1 -1
  237. package/dist/nile-option/index.esm.js +1 -1
  238. package/dist/nile-option/nile-option.cjs.js +1 -1
  239. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  240. package/dist/nile-option/nile-option.esm.js +1 -1
  241. package/dist/nile-radio-group/nile-radio-group.cjs.js +1 -1
  242. package/dist/nile-radio-group/nile-radio-group.cjs.js.map +1 -1
  243. package/dist/nile-radio-group/nile-radio-group.esm.js +1 -1
  244. package/dist/nile-select/index.cjs.js +1 -1
  245. package/dist/nile-select/index.esm.js +1 -1
  246. package/dist/nile-select/nile-select.cjs.js +1 -1
  247. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  248. package/dist/nile-select/nile-select.esm.js +11 -10
  249. package/dist/nile-slide-toggle/index.cjs.js +1 -1
  250. package/dist/nile-slide-toggle/index.esm.js +1 -1
  251. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js +1 -1
  252. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js.map +1 -1
  253. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js +1 -1
  254. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js.map +1 -1
  255. package/dist/nile-slide-toggle/nile-slide-toggle.css.esm.js +26 -2
  256. package/dist/nile-slide-toggle/nile-slide-toggle.esm.js +5 -3
  257. package/dist/nile-stepper/index.cjs.js +2 -0
  258. package/dist/nile-stepper/index.cjs.js.map +1 -0
  259. package/dist/nile-stepper/index.esm.js +1 -0
  260. package/dist/nile-stepper/nile-stepper.cjs.js +2 -0
  261. package/dist/nile-stepper/nile-stepper.cjs.js.map +1 -0
  262. package/dist/nile-stepper/nile-stepper.css.cjs.js +2 -0
  263. package/dist/nile-stepper/nile-stepper.css.cjs.js.map +1 -0
  264. package/dist/nile-stepper/nile-stepper.css.esm.js +7 -0
  265. package/dist/nile-stepper/nile-stepper.esm.js +5 -0
  266. package/dist/nile-stepper-item/index.cjs.js +2 -0
  267. package/dist/nile-stepper-item/index.cjs.js.map +1 -0
  268. package/dist/nile-stepper-item/index.esm.js +1 -0
  269. package/dist/nile-stepper-item/nile-stepper-item.cjs.js +6 -0
  270. package/dist/nile-stepper-item/nile-stepper-item.cjs.js.map +1 -0
  271. package/dist/nile-stepper-item/nile-stepper-item.css.cjs.js +2 -0
  272. package/dist/nile-stepper-item/nile-stepper-item.css.cjs.js.map +1 -0
  273. package/dist/nile-stepper-item/nile-stepper-item.css.esm.js +110 -0
  274. package/dist/nile-stepper-item/nile-stepper-item.esm.js +36 -0
  275. package/dist/nile-tab/index.cjs.js +1 -1
  276. package/dist/nile-tab/index.esm.js +1 -1
  277. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  278. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  279. package/dist/nile-tab/nile-tab.css.cjs.js +1 -1
  280. package/dist/nile-tab/nile-tab.css.cjs.js.map +1 -1
  281. package/dist/nile-tab/nile-tab.css.esm.js +17 -7
  282. package/dist/nile-tab/nile-tab.esm.js +1 -1
  283. package/dist/nile-tab-group/index.cjs.js +1 -1
  284. package/dist/nile-tab-group/index.esm.js +1 -1
  285. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  286. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  287. package/dist/nile-tab-group/nile-tab-group.css.cjs.js +1 -1
  288. package/dist/nile-tab-group/nile-tab-group.css.cjs.js.map +1 -1
  289. package/dist/nile-tab-group/nile-tab-group.css.esm.js +17 -3
  290. package/dist/nile-tab-group/nile-tab-group.esm.js +8 -5
  291. package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
  292. package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
  293. package/dist/nile-table-body/nile-table-body.esm.js +2 -2
  294. package/dist/nile-table-header-item/nile-table-header-item.cjs.js +1 -1
  295. package/dist/nile-table-header-item/nile-table-header-item.cjs.js.map +1 -1
  296. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
  297. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
  298. package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +10 -2
  299. package/dist/nile-table-header-item/nile-table-header-item.esm.js +18 -14
  300. package/dist/nile-table-row/nile-table-row.cjs.js +1 -1
  301. package/dist/nile-table-row/nile-table-row.cjs.js.map +1 -1
  302. package/dist/nile-table-row/nile-table-row.esm.js +6 -1
  303. package/dist/nile-tag/index.cjs.js +1 -1
  304. package/dist/nile-tag/index.esm.js +1 -1
  305. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  306. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  307. package/dist/nile-tag/nile-tag.esm.js +1 -1
  308. package/dist/nile-textarea/nile-textarea.cjs.js +1 -1
  309. package/dist/nile-textarea/nile-textarea.cjs.js.map +1 -1
  310. package/dist/nile-textarea/nile-textarea.esm.js +1 -1
  311. package/dist/nile-toast/index.cjs.js +1 -1
  312. package/dist/nile-toast/index.esm.js +1 -1
  313. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  314. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  315. package/dist/nile-toast/nile-toast.css.cjs.js +1 -1
  316. package/dist/nile-toast/nile-toast.css.cjs.js.map +1 -1
  317. package/dist/nile-toast/nile-toast.css.esm.js +17 -16
  318. package/dist/nile-toast/nile-toast.esm.js +6 -4
  319. package/dist/nile-tooltip/nile-tooltip.css.cjs.js +1 -1
  320. package/dist/nile-tooltip/nile-tooltip.css.cjs.js.map +1 -1
  321. package/dist/nile-tooltip/nile-tooltip.css.esm.js +6 -6
  322. package/dist/scopedElementsWrapper-2fa3aa8b.cjs.js +6 -0
  323. package/dist/scopedElementsWrapper-2fa3aa8b.cjs.js.map +1 -0
  324. package/dist/scopedElementsWrapper-4c29be11.esm.js +7 -0
  325. package/dist/src/index.d.ts +3 -0
  326. package/dist/src/index.js +3 -0
  327. package/dist/src/index.js.map +1 -1
  328. package/dist/src/nile-avatar/nile-avatar.css.js +15 -7
  329. package/dist/src/nile-avatar/nile-avatar.css.js.map +1 -1
  330. package/dist/src/nile-avatar/nile-avatar.d.ts +1 -1
  331. package/dist/src/nile-avatar/nile-avatar.js +1 -0
  332. package/dist/src/nile-avatar/nile-avatar.js.map +1 -1
  333. package/dist/src/nile-badge/nile-badge.css.js +7 -5
  334. package/dist/src/nile-badge/nile-badge.css.js.map +1 -1
  335. package/dist/src/nile-button/nile-button.css.js +13 -23
  336. package/dist/src/nile-button/nile-button.css.js.map +1 -1
  337. package/dist/src/nile-button-toggle/nile-button-toggle.css.js +11 -6
  338. package/dist/src/nile-button-toggle/nile-button-toggle.css.js.map +1 -1
  339. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.d.ts +5 -5
  340. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.js +8 -7
  341. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.js.map +1 -1
  342. package/dist/src/nile-checkbox/nile-checkbox.css.js +24 -10
  343. package/dist/src/nile-checkbox/nile-checkbox.css.js.map +1 -1
  344. package/dist/src/nile-checkbox/nile-checkbox.d.ts +3 -1
  345. package/dist/src/nile-checkbox/nile-checkbox.js +12 -7
  346. package/dist/src/nile-checkbox/nile-checkbox.js.map +1 -1
  347. package/dist/src/nile-checkbox/nile-checkbox.test.d.ts +1 -0
  348. package/dist/src/nile-checkbox/nile-checkbox.test.js +118 -0
  349. package/dist/src/nile-checkbox/nile-checkbox.test.js.map +1 -0
  350. package/dist/src/nile-chip/nile-chip.js +2 -2
  351. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  352. package/dist/src/nile-empty-state/nile-empty-state.css.js +61 -20
  353. package/dist/src/nile-empty-state/nile-empty-state.css.js.map +1 -1
  354. package/dist/src/nile-empty-state/nile-empty-state.d.ts +1 -1
  355. package/dist/src/nile-empty-state/nile-empty-state.js +22 -22
  356. package/dist/src/nile-empty-state/nile-empty-state.js.map +1 -1
  357. package/dist/src/nile-error-notification/nile-error-notification.js +1 -1
  358. package/dist/src/nile-error-notification/nile-error-notification.js.map +1 -1
  359. package/dist/src/nile-form-help-text/nile-form-help-text.js +3 -3
  360. package/dist/src/nile-form-help-text/nile-form-help-text.js.map +1 -1
  361. package/dist/src/nile-hero/nile-hero.css.js +13 -32
  362. package/dist/src/nile-hero/nile-hero.css.js.map +1 -1
  363. package/dist/src/nile-hero/nile-hero.d.ts +6 -0
  364. package/dist/src/nile-hero/nile-hero.js +45 -8
  365. package/dist/src/nile-hero/nile-hero.js.map +1 -1
  366. package/dist/src/nile-hero-header/index.d.ts +1 -0
  367. package/dist/src/nile-hero-header/index.js +2 -0
  368. package/dist/src/nile-hero-header/index.js.map +1 -0
  369. package/dist/src/nile-hero-header/nile-hero-header.css.d.ts +12 -0
  370. package/dist/src/nile-hero-header/nile-hero-header.css.js +40 -0
  371. package/dist/src/nile-hero-header/nile-hero-header.css.js.map +1 -0
  372. package/dist/src/nile-hero-header/nile-hero-header.d.ts +34 -0
  373. package/dist/src/nile-hero-header/nile-hero-header.js +58 -0
  374. package/dist/src/nile-hero-header/nile-hero-header.js.map +1 -0
  375. package/dist/src/nile-icon/icons/svg/alert-circle.d.ts +5 -0
  376. package/dist/src/nile-icon/icons/svg/alert-circle.js +5 -0
  377. package/dist/src/nile-icon/icons/svg/alert-circle.js.map +1 -0
  378. package/dist/src/nile-icon/icons/svg/arrow-narrow-left.d.ts +5 -0
  379. package/dist/src/nile-icon/icons/svg/arrow-narrow-left.js +5 -0
  380. package/dist/src/nile-icon/icons/svg/arrow-narrow-left.js.map +1 -0
  381. package/dist/src/nile-icon/icons/svg/book-closed.d.ts +5 -0
  382. package/dist/src/nile-icon/icons/svg/book-closed.js +5 -0
  383. package/dist/src/nile-icon/icons/svg/book-closed.js.map +1 -0
  384. package/dist/src/nile-icon/icons/svg/box.d.ts +5 -0
  385. package/dist/src/nile-icon/icons/svg/box.js +5 -0
  386. package/dist/src/nile-icon/icons/svg/box.js.map +1 -0
  387. package/dist/src/nile-icon/icons/svg/check.d.ts +5 -0
  388. package/dist/src/nile-icon/icons/svg/check.js +5 -0
  389. package/dist/src/nile-icon/icons/svg/check.js.map +1 -0
  390. package/dist/src/nile-icon/icons/svg/chevron-left-double.d.ts +5 -0
  391. package/dist/src/nile-icon/icons/svg/chevron-left-double.js +5 -0
  392. package/dist/src/nile-icon/icons/svg/chevron-left-double.js.map +1 -0
  393. package/dist/src/nile-icon/icons/svg/chevron-selector-vertical.d.ts +5 -0
  394. package/dist/src/nile-icon/icons/svg/chevron-selector-vertical.js +5 -0
  395. package/dist/src/nile-icon/icons/svg/chevron-selector-vertical.js.map +1 -0
  396. package/dist/src/nile-icon/icons/svg/clock-check.d.ts +5 -0
  397. package/dist/src/nile-icon/icons/svg/clock-check.js +5 -0
  398. package/dist/src/nile-icon/icons/svg/clock-check.js.map +1 -0
  399. package/dist/src/nile-icon/icons/svg/clock-rewind.d.ts +5 -0
  400. package/dist/src/nile-icon/icons/svg/clock-rewind.js +5 -0
  401. package/dist/src/nile-icon/icons/svg/clock-rewind.js.map +1 -0
  402. package/dist/src/nile-icon/icons/svg/clock.d.ts +5 -0
  403. package/dist/src/nile-icon/icons/svg/clock.js +5 -0
  404. package/dist/src/nile-icon/icons/svg/clock.js.map +1 -0
  405. package/dist/src/nile-icon/icons/svg/cloud-01.d.ts +5 -0
  406. package/dist/src/nile-icon/icons/svg/cloud-01.js +5 -0
  407. package/dist/src/nile-icon/icons/svg/cloud-01.js.map +1 -0
  408. package/dist/src/nile-icon/icons/svg/copy-06.d.ts +5 -0
  409. package/dist/src/nile-icon/icons/svg/copy-06.js +5 -0
  410. package/dist/src/nile-icon/icons/svg/copy-06.js.map +1 -0
  411. package/dist/src/nile-icon/icons/svg/data-insight.d.ts +5 -0
  412. package/dist/src/nile-icon/icons/svg/data-insight.js +5 -0
  413. package/dist/src/nile-icon/icons/svg/data-insight.js.map +1 -0
  414. package/dist/src/nile-icon/icons/svg/dataflow-03.d.ts +5 -0
  415. package/dist/src/nile-icon/icons/svg/dataflow-03.js +5 -0
  416. package/dist/src/nile-icon/icons/svg/dataflow-03.js.map +1 -0
  417. package/dist/src/nile-icon/icons/svg/dataflow-04.d.ts +5 -0
  418. package/dist/src/nile-icon/icons/svg/dataflow-04.js +5 -0
  419. package/dist/src/nile-icon/icons/svg/dataflow-04.js.map +1 -0
  420. package/dist/src/nile-icon/icons/svg/dotpoints-02.d.ts +5 -0
  421. package/dist/src/nile-icon/icons/svg/dotpoints-02.js +5 -0
  422. package/dist/src/nile-icon/icons/svg/dotpoints-02.js.map +1 -0
  423. package/dist/src/nile-icon/icons/svg/dots-vertical.d.ts +5 -0
  424. package/dist/src/nile-icon/icons/svg/dots-vertical.js +5 -0
  425. package/dist/src/nile-icon/icons/svg/dots-vertical.js.map +1 -0
  426. package/dist/src/nile-icon/icons/svg/download-02.d.ts +5 -0
  427. package/dist/src/nile-icon/icons/svg/download-02.js +5 -0
  428. package/dist/src/nile-icon/icons/svg/download-02.js.map +1 -0
  429. package/dist/src/nile-icon/icons/svg/edit-01.d.ts +5 -0
  430. package/dist/src/nile-icon/icons/svg/edit-01.js +5 -0
  431. package/dist/src/nile-icon/icons/svg/edit-01.js.map +1 -0
  432. package/dist/src/nile-icon/icons/svg/expand-06.d.ts +5 -0
  433. package/dist/src/nile-icon/icons/svg/expand-06.js +5 -0
  434. package/dist/src/nile-icon/icons/svg/expand-06.js.map +1 -0
  435. package/dist/src/nile-icon/icons/svg/eye-off.d.ts +5 -0
  436. package/dist/src/nile-icon/icons/svg/eye-off.js +5 -0
  437. package/dist/src/nile-icon/icons/svg/eye-off.js.map +1 -0
  438. package/dist/src/nile-icon/icons/svg/file-06.d.ts +5 -0
  439. package/dist/src/nile-icon/icons/svg/file-06.js +5 -0
  440. package/dist/src/nile-icon/icons/svg/file-06.js.map +1 -0
  441. package/dist/src/nile-icon/icons/svg/file-shield-01.d.ts +5 -0
  442. package/dist/src/nile-icon/icons/svg/file-shield-01.js +5 -0
  443. package/dist/src/nile-icon/icons/svg/file-shield-01.js.map +1 -0
  444. package/dist/src/nile-icon/icons/svg/globe-03.d.ts +5 -0
  445. package/dist/src/nile-icon/icons/svg/globe-03.js +5 -0
  446. package/dist/src/nile-icon/icons/svg/globe-03.js.map +1 -0
  447. package/dist/src/nile-icon/icons/svg/grid-01.d.ts +5 -0
  448. package/dist/src/nile-icon/icons/svg/grid-01.js +5 -0
  449. package/dist/src/nile-icon/icons/svg/grid-01.js.map +1 -0
  450. package/dist/src/nile-icon/icons/svg/help-circle.d.ts +5 -0
  451. package/dist/src/nile-icon/icons/svg/help-circle.js +5 -0
  452. package/dist/src/nile-icon/icons/svg/help-circle.js.map +1 -0
  453. package/dist/src/nile-icon/icons/svg/index.d.ts +38 -0
  454. package/dist/src/nile-icon/icons/svg/index.js +38 -0
  455. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  456. package/dist/src/nile-icon/icons/svg/info-circle.d.ts +5 -0
  457. package/dist/src/nile-icon/icons/svg/info-circle.js +5 -0
  458. package/dist/src/nile-icon/icons/svg/info-circle.js.map +1 -0
  459. package/dist/src/nile-icon/icons/svg/layout-alt-02.d.ts +5 -0
  460. package/dist/src/nile-icon/icons/svg/layout-alt-02.js +5 -0
  461. package/dist/src/nile-icon/icons/svg/layout-alt-02.js.map +1 -0
  462. package/dist/src/nile-icon/icons/svg/layout-alt-03.d.ts +5 -0
  463. package/dist/src/nile-icon/icons/svg/layout-alt-03.js +5 -0
  464. package/dist/src/nile-icon/icons/svg/layout-alt-03.js.map +1 -0
  465. package/dist/src/nile-icon/icons/svg/marker-pin-01.d.ts +5 -0
  466. package/dist/src/nile-icon/icons/svg/marker-pin-01.js +5 -0
  467. package/dist/src/nile-icon/icons/svg/marker-pin-01.js.map +1 -0
  468. package/dist/src/nile-icon/icons/svg/play-circle.d.ts +5 -0
  469. package/dist/src/nile-icon/icons/svg/play-circle.js +5 -0
  470. package/dist/src/nile-icon/icons/svg/play-circle.js.map +1 -0
  471. package/dist/src/nile-icon/icons/svg/refresh-cw-03.d.ts +5 -0
  472. package/dist/src/nile-icon/icons/svg/refresh-cw-03.js +5 -0
  473. package/dist/src/nile-icon/icons/svg/refresh-cw-03.js.map +1 -0
  474. package/dist/src/nile-icon/icons/svg/search-lg.d.ts +5 -0
  475. package/dist/src/nile-icon/icons/svg/search-lg.js +5 -0
  476. package/dist/src/nile-icon/icons/svg/search-lg.js.map +1 -0
  477. package/dist/src/nile-icon/icons/svg/server-03.d.ts +5 -0
  478. package/dist/src/nile-icon/icons/svg/server-03.js +5 -0
  479. package/dist/src/nile-icon/icons/svg/server-03.js.map +1 -0
  480. package/dist/src/nile-icon/icons/svg/stop-circle.d.ts +5 -0
  481. package/dist/src/nile-icon/icons/svg/stop-circle.js +5 -0
  482. package/dist/src/nile-icon/icons/svg/stop-circle.js.map +1 -0
  483. package/dist/src/nile-icon/icons/svg/user-01.d.ts +5 -0
  484. package/dist/src/nile-icon/icons/svg/user-01.js +5 -0
  485. package/dist/src/nile-icon/icons/svg/user-01.js.map +1 -0
  486. package/dist/src/nile-icon/icons/svg/user-circle.d.ts +5 -0
  487. package/dist/src/nile-icon/icons/svg/user-circle.js +5 -0
  488. package/dist/src/nile-icon/icons/svg/user-circle.js.map +1 -0
  489. package/dist/src/nile-icon/icons/svg/x-circle.d.ts +5 -0
  490. package/dist/src/nile-icon/icons/svg/x-circle.js +5 -0
  491. package/dist/src/nile-icon/icons/svg/x-circle.js.map +1 -0
  492. package/dist/src/nile-icon/index.d.ts +1 -0
  493. package/dist/src/nile-icon/index.js +12 -1
  494. package/dist/src/nile-icon/index.js.map +1 -1
  495. package/dist/src/nile-input/nile-input.css.js +7 -8
  496. package/dist/src/nile-input/nile-input.css.js.map +1 -1
  497. package/dist/src/nile-input/nile-input.d.ts +0 -2
  498. package/dist/src/nile-input/nile-input.js +2 -4
  499. package/dist/src/nile-input/nile-input.js.map +1 -1
  500. package/dist/src/nile-menu/nile-menu.css.js +2 -1
  501. package/dist/src/nile-menu/nile-menu.css.js.map +1 -1
  502. package/dist/src/nile-menu-item/nile-menu-item.css.js +7 -4
  503. package/dist/src/nile-menu-item/nile-menu-item.css.js.map +1 -1
  504. package/dist/src/nile-radio-group/nile-radio-group.js +2 -2
  505. package/dist/src/nile-radio-group/nile-radio-group.js.map +1 -1
  506. package/dist/src/nile-select/nile-select.d.ts +1 -0
  507. package/dist/src/nile-select/nile-select.js +27 -19
  508. package/dist/src/nile-select/nile-select.js.map +1 -1
  509. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js +26 -2
  510. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js.map +1 -1
  511. package/dist/src/nile-slide-toggle/nile-slide-toggle.d.ts +1 -0
  512. package/dist/src/nile-slide-toggle/nile-slide-toggle.js +13 -3
  513. package/dist/src/nile-slide-toggle/nile-slide-toggle.js.map +1 -1
  514. package/dist/src/nile-stepper/index.d.ts +1 -0
  515. package/dist/src/nile-stepper/index.js +2 -0
  516. package/dist/src/nile-stepper/index.js.map +1 -0
  517. package/dist/src/nile-stepper/nile-stepper.css.d.ts +12 -0
  518. package/dist/src/nile-stepper/nile-stepper.css.js +19 -0
  519. package/dist/src/nile-stepper/nile-stepper.css.js.map +1 -0
  520. package/dist/src/nile-stepper/nile-stepper.d.ts +41 -0
  521. package/dist/src/nile-stepper/nile-stepper.js +135 -0
  522. package/dist/src/nile-stepper/nile-stepper.js.map +1 -0
  523. package/dist/src/nile-stepper-item/index.d.ts +1 -0
  524. package/dist/src/nile-stepper-item/index.js +2 -0
  525. package/dist/src/nile-stepper-item/index.js.map +1 -0
  526. package/dist/src/nile-stepper-item/nile-stepper-item.css.d.ts +12 -0
  527. package/dist/src/nile-stepper-item/nile-stepper-item.css.js +122 -0
  528. package/dist/src/nile-stepper-item/nile-stepper-item.css.js.map +1 -0
  529. package/dist/src/nile-stepper-item/nile-stepper-item.d.ts +46 -0
  530. package/dist/src/nile-stepper-item/nile-stepper-item.js +161 -0
  531. package/dist/src/nile-stepper-item/nile-stepper-item.js.map +1 -0
  532. package/dist/src/nile-tab/nile-tab.css.js +15 -5
  533. package/dist/src/nile-tab/nile-tab.css.js.map +1 -1
  534. package/dist/src/nile-tab-group/nile-tab-group.css.js +17 -3
  535. package/dist/src/nile-tab-group/nile-tab-group.css.js.map +1 -1
  536. package/dist/src/nile-tab-group/nile-tab-group.d.ts +2 -0
  537. package/dist/src/nile-tab-group/nile-tab-group.js +15 -4
  538. package/dist/src/nile-tab-group/nile-tab-group.js.map +1 -1
  539. package/dist/src/nile-table-body/nile-table-body.d.ts +0 -2
  540. package/dist/src/nile-table-body/nile-table-body.js +4 -33
  541. package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
  542. package/dist/src/nile-table-header-item/nile-table-header-item.css.js +10 -2
  543. package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
  544. package/dist/src/nile-table-header-item/nile-table-header-item.d.ts +1 -0
  545. package/dist/src/nile-table-header-item/nile-table-header-item.js +29 -17
  546. package/dist/src/nile-table-header-item/nile-table-header-item.js.map +1 -1
  547. package/dist/src/nile-table-row/nile-table-row.d.ts +1 -0
  548. package/dist/src/nile-table-row/nile-table-row.js +18 -1
  549. package/dist/src/nile-table-row/nile-table-row.js.map +1 -1
  550. package/dist/src/nile-textarea/nile-textarea.d.ts +0 -2
  551. package/dist/src/nile-textarea/nile-textarea.js +3 -4
  552. package/dist/src/nile-textarea/nile-textarea.js.map +1 -1
  553. package/dist/src/nile-toast/nile-toast.css.js +17 -16
  554. package/dist/src/nile-toast/nile-toast.css.js.map +1 -1
  555. package/dist/src/nile-toast/nile-toast.d.ts +1 -1
  556. package/dist/src/nile-toast/nile-toast.js +9 -7
  557. package/dist/src/nile-toast/nile-toast.js.map +1 -1
  558. package/dist/src/nile-tooltip/nile-tooltip.css.js +6 -6
  559. package/dist/src/nile-tooltip/nile-tooltip.css.js.map +1 -1
  560. package/dist/tsconfig.tsbuildinfo +1 -1
  561. package/package.json +3 -2
  562. package/plopfile.js +5 -0
  563. package/rollup.config.js +11 -6
  564. package/src/index.ts +4 -1
  565. package/src/nile-avatar/nile-avatar.css.ts +15 -7
  566. package/src/nile-avatar/nile-avatar.ts +2 -1
  567. package/src/nile-badge/nile-badge.css.ts +7 -5
  568. package/src/nile-button/nile-button.css.ts +13 -23
  569. package/src/nile-button-toggle/nile-button-toggle.css.ts +11 -6
  570. package/src/nile-button-toggle-group/nile-button-toggle-group.css.ts +9 -8
  571. package/src/nile-checkbox/nile-checkbox.css.ts +24 -10
  572. package/src/nile-checkbox/nile-checkbox.test.ts +146 -0
  573. package/src/nile-checkbox/nile-checkbox.ts +9 -5
  574. package/src/nile-chip/nile-chip.ts +2 -2
  575. package/src/nile-empty-state/nile-empty-state.css.ts +61 -20
  576. package/src/nile-empty-state/nile-empty-state.ts +22 -28
  577. package/src/nile-error-notification/nile-error-notification.ts +1 -1
  578. package/src/nile-form-help-text/nile-form-help-text.ts +3 -3
  579. package/src/nile-hero/nile-hero.css.ts +13 -32
  580. package/src/nile-hero/nile-hero.ts +39 -13
  581. package/src/nile-hero-header/index.ts +1 -0
  582. package/src/nile-hero-header/nile-hero-header.css.ts +42 -0
  583. package/src/nile-hero-header/nile-hero-header.ts +59 -0
  584. package/src/nile-icon/icons/svg/alert-circle.ts +5 -0
  585. package/src/nile-icon/icons/svg/arrow-narrow-left.ts +5 -0
  586. package/src/nile-icon/icons/svg/book-closed.ts +5 -0
  587. package/src/nile-icon/icons/svg/box.ts +5 -0
  588. package/src/nile-icon/icons/svg/check.ts +5 -0
  589. package/src/nile-icon/icons/svg/chevron-left-double.ts +5 -0
  590. package/src/nile-icon/icons/svg/chevron-selector-vertical.ts +5 -0
  591. package/src/nile-icon/icons/svg/clock-check.ts +5 -0
  592. package/src/nile-icon/icons/svg/clock-rewind.ts +5 -0
  593. package/src/nile-icon/icons/svg/clock.ts +5 -0
  594. package/src/nile-icon/icons/svg/cloud-01.ts +5 -0
  595. package/src/nile-icon/icons/svg/copy-06.ts +5 -0
  596. package/src/nile-icon/icons/svg/data-insight.ts +5 -0
  597. package/src/nile-icon/icons/svg/dataflow-03.ts +5 -0
  598. package/src/nile-icon/icons/svg/dataflow-04.ts +5 -0
  599. package/src/nile-icon/icons/svg/dotpoints-02.ts +5 -0
  600. package/src/nile-icon/icons/svg/dots-vertical.ts +5 -0
  601. package/src/nile-icon/icons/svg/download-02.ts +5 -0
  602. package/src/nile-icon/icons/svg/edit-01.ts +5 -0
  603. package/src/nile-icon/icons/svg/expand-06.ts +5 -0
  604. package/src/nile-icon/icons/svg/eye-off.ts +5 -0
  605. package/src/nile-icon/icons/svg/file-06.ts +5 -0
  606. package/src/nile-icon/icons/svg/file-shield-01.ts +5 -0
  607. package/src/nile-icon/icons/svg/globe-03.ts +5 -0
  608. package/src/nile-icon/icons/svg/grid-01.ts +5 -0
  609. package/src/nile-icon/icons/svg/help-circle.ts +5 -0
  610. package/src/nile-icon/icons/svg/index.ts +39 -1
  611. package/src/nile-icon/icons/svg/info-circle.ts +5 -0
  612. package/src/nile-icon/icons/svg/layout-alt-02.ts +5 -0
  613. package/src/nile-icon/icons/svg/layout-alt-03.ts +5 -0
  614. package/src/nile-icon/icons/svg/marker-pin-01.ts +5 -0
  615. package/src/nile-icon/icons/svg/play-circle.ts +5 -0
  616. package/src/nile-icon/icons/svg/refresh-cw-03.ts +5 -0
  617. package/src/nile-icon/icons/svg/search-lg.ts +5 -0
  618. package/src/nile-icon/icons/svg/server-03.ts +5 -0
  619. package/src/nile-icon/icons/svg/stop-circle.ts +5 -0
  620. package/src/nile-icon/icons/svg/user-01.ts +5 -0
  621. package/src/nile-icon/icons/svg/user-circle.ts +5 -0
  622. package/src/nile-icon/icons/svg/x-circle.ts +5 -0
  623. package/src/nile-icon/index.ts +11 -1
  624. package/src/nile-input/nile-input.css.ts +7 -8
  625. package/src/nile-input/nile-input.ts +2 -4
  626. package/src/nile-menu/nile-menu.css.ts +2 -1
  627. package/src/nile-menu-item/nile-menu-item.css.ts +7 -4
  628. package/src/nile-radio-group/nile-radio-group.ts +2 -2
  629. package/src/nile-select/nile-select.ts +26 -20
  630. package/src/nile-slide-toggle/nile-slide-toggle.css.ts +26 -2
  631. package/src/nile-slide-toggle/nile-slide-toggle.ts +11 -3
  632. package/src/nile-stepper/index.ts +1 -0
  633. package/src/nile-stepper/nile-stepper.css.ts +21 -0
  634. package/src/nile-stepper/nile-stepper.ts +127 -0
  635. package/src/nile-stepper-item/index.ts +1 -0
  636. package/src/nile-stepper-item/nile-stepper-item.css.ts +123 -0
  637. package/src/nile-stepper-item/nile-stepper-item.ts +138 -0
  638. package/src/nile-tab/nile-tab.css.ts +16 -6
  639. package/src/nile-tab-group/nile-tab-group.css.ts +17 -3
  640. package/src/nile-tab-group/nile-tab-group.ts +24 -14
  641. package/src/nile-table-body/nile-table-body.ts +4 -39
  642. package/src/nile-table-header-item/nile-table-header-item.css.ts +10 -2
  643. package/src/nile-table-header-item/nile-table-header-item.ts +27 -18
  644. package/src/nile-table-row/nile-table-row.ts +21 -1
  645. package/src/nile-textarea/nile-textarea.ts +2 -4
  646. package/src/nile-toast/nile-toast.css.ts +17 -16
  647. package/src/nile-toast/nile-toast.ts +9 -7
  648. package/src/nile-tooltip/nile-tooltip.css.ts +6 -6
  649. package/tsconfig.json +3 -1
  650. package/web-test-runner.config.mjs +15 -15
  651. package/dist/stories/icons.stories.d.ts +0 -29
  652. package/dist/stories/icons.stories.js +0 -27
  653. package/dist/stories/icons.stories.js.map +0 -1
  654. package/dist/stories/index.stories.d.ts +0 -33
  655. package/dist/stories/index.stories.js +0 -37
  656. package/dist/stories/index.stories.js.map +0 -1
@@ -15,6 +15,10 @@ export const styles = css `
15
15
 
16
16
  :host {
17
17
  display: inline-block;
18
+ --tab-border-radius: 8px;
19
+ --tab-padding: 0px 3px 12px 3px;
20
+ --tab-hover-background-color:transparent;
21
+ --tab-active-background-color: transparent;
18
22
  }
19
23
 
20
24
  :host([centered]) {
@@ -24,10 +28,12 @@ export const styles = css `
24
28
 
25
29
  .tab {
26
30
  display: inline-flex;
31
+ width: 100%;
27
32
  align-items: center;
28
- border-radius: 8px;
29
- color: #667085;
30
- padding: 4px 4px 12px 4px;
33
+ border-radius: 4px;
34
+ border-radius: var(--tab-border-radius);
35
+ color: var(--nile-colors-gray-light-mode-500);
36
+ padding: var(--tab-padding);
31
37
  white-space: nowrap;
32
38
  user-select: none;
33
39
  cursor: pointer;
@@ -38,11 +44,14 @@ export const styles = css `
38
44
  font-weight: 600;
39
45
  line-height: 20px;
40
46
  letter-spacing: 0.2px;
41
- gap: 4px;
47
+ gap: 8px;
48
+ height: 36px;
49
+ box-sizing: border-box;
42
50
  }
43
51
 
44
52
  .tab:hover:not(.tab--disabled) {
45
- color: var(--nile-colors-dark-900);
53
+ color: var(--nile-colors-primary-700);
54
+ background-color: var(--tab-hover-background-color);
46
55
  }
47
56
 
48
57
  .tab:focus {
@@ -55,6 +64,7 @@ export const styles = css `
55
64
 
56
65
  .tab.tab--active:not(.tab--disabled) {
57
66
  color: var(--nile-colors-primary-700);
67
+ background-color: var(--tab-active-background-color);
58
68
  }
59
69
 
60
70
  .tab.tab--closable {
@@ -1 +1 @@
1
- {"version":3,"file":"nile-tab.css.js","sourceRoot":"","sources":["../../../src/nile-tab/nile-tab.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,aAAa,CAAC;AAEhC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyExB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","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 {css} from 'lit-element';\n\n/**\n * Tab CSS\n */\nexport const styles = css`\n [hidden] {\n display: none !important;\n }\n\n :host {\n display: inline-block;\n }\n\n :host([centered]) {\n flex: 1;\n text-align: center;\n }\n\n .tab {\n display: inline-flex;\n align-items: center;\n border-radius: 8px;\n color: #667085;\n padding: 4px 4px 12px 4px;\n white-space: nowrap;\n user-select: none;\n cursor: pointer;\n transition: 0.2s box-shadow, 0.2s color;\n font-family: var(--nile-font-family-serif);\n font-size: 14px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n letter-spacing: 0.2px;\n gap: 4px;\n }\n\n .tab:hover:not(.tab--disabled) {\n color: var(--nile-colors-dark-900);\n }\n\n .tab:focus {\n outline: none;\n }\n\n .tab:focus-visible:not(.tab--disabled) {\n color: var(--nile-colors-primary-600);\n }\n\n .tab.tab--active:not(.tab--disabled) {\n color: var(--nile-colors-primary-700);\n }\n\n .tab.tab--closable {\n padding-inline-end: 4px;\n }\n\n .tab.tab--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .tab__close-button {\n font-size: 14px;\n margin-inline-start: 4px;\n }\n\n .tab__close-button::part(base) {\n padding: 3px;\n }\n\n @media (forced-colors: active) {\n .tab.tab--active:not(.tab--disabled) {\n outline: solid 1px transparent;\n outline-offset: -3px;\n }\n }\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-tab.css.js","sourceRoot":"","sources":["../../../src/nile-tab/nile-tab.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","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 { css } from 'lit-element';\n\n/**\n * Tab CSS\n */\nexport const styles = css`\n [hidden] {\n display: none !important;\n }\n\n :host {\n display: inline-block;\n --tab-border-radius: 8px;\n --tab-padding: 0px 3px 12px 3px;\n --tab-hover-background-color:transparent;\n --tab-active-background-color: transparent;\n }\n\n :host([centered]) {\n flex: 1;\n text-align: center;\n }\n\n .tab {\n display: inline-flex;\n width: 100%;\n align-items: center;\n border-radius: 4px;\n border-radius: var(--tab-border-radius);\n color: var(--nile-colors-gray-light-mode-500);\n padding: var(--tab-padding);\n white-space: nowrap;\n user-select: none;\n cursor: pointer;\n transition: 0.2s box-shadow, 0.2s color;\n font-family: var(--nile-font-family-serif);\n font-size: 14px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n letter-spacing: 0.2px;\n gap: 8px;\n height: 36px;\n box-sizing: border-box;\n }\n\n .tab:hover:not(.tab--disabled) {\n color: var(--nile-colors-primary-700);\n background-color: var(--tab-hover-background-color);\n }\n\n .tab:focus {\n outline: none;\n }\n\n .tab:focus-visible:not(.tab--disabled) {\n color: var(--nile-colors-primary-600);\n }\n\n .tab.tab--active:not(.tab--disabled) {\n color: var(--nile-colors-primary-700);\n background-color: var(--tab-active-background-color);\n }\n\n .tab.tab--closable {\n padding-inline-end: 4px;\n }\n\n .tab.tab--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .tab__close-button {\n font-size: 14px;\n margin-inline-start: 4px;\n }\n\n .tab__close-button::part(base) {\n padding: 3px;\n }\n\n @media (forced-colors: active) {\n .tab.tab--active:not(.tab--disabled) {\n outline: solid 1px transparent;\n outline-offset: -3px;\n }\n }\n`;\n\nexport default [styles];\n"]}
@@ -16,7 +16,8 @@ export const styles = css `
16
16
  :host {
17
17
  --indicator-color: var(--nile-colors-primary-600);
18
18
  --track-color: #e5e9eb;
19
- --track-width: 1px;
19
+ --track-width: 2px;
20
+ --tab-gap: 12px;
20
21
 
21
22
  display: block;
22
23
  }
@@ -29,7 +30,12 @@ export const styles = css `
29
30
  .tab-group__tabs {
30
31
  display: flex;
31
32
  position: relative;
32
- gap: 24px;
33
+ gap: var(--tab-gap);
34
+ }
35
+
36
+ .hide__track {
37
+ --track-width: 0px;
38
+ --tab-gap: 3px;
33
39
  }
34
40
 
35
41
  .tab-group__indicator {
@@ -105,7 +111,8 @@ export const styles = css `
105
111
  flex: 1 1 auto;
106
112
  position: relative;
107
113
  flex-direction: row;
108
- border-bottom: solid var(--track-width) var(--track-color);
114
+ border-bottom: solid var(--track-width)
115
+ var(--nile-colors-gray-light-mode-200);
109
116
  }
110
117
 
111
118
  .tab-group--top .tab-group__indicator {
@@ -240,6 +247,13 @@ export const styles = css `
240
247
  .tab-group--end ::slotted(nile-tab-panel) {
241
248
  --padding: 0 10px;
242
249
  }
250
+
251
+ .hide__track slot::slotted(nile-tab) {
252
+ --tab-border-radius: 4px;
253
+ --tab-padding:8px 12px;
254
+ --tab-hover-background-color: #f9fafb;
255
+ --tab-active-background-color: var(--nile-colors-brand-50);
256
+ }
243
257
  `;
244
258
  export default [styles];
245
259
  //# sourceMappingURL=nile-tab-group.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-tab-group.css.js","sourceRoot":"","sources":["../../../src/nile-tab-group/nile-tab-group.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwOxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","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 { css } from 'lit-element';\n\n/**\n * TabGroup CSS\n */\nexport const styles = css`\n [hidden] {\n display: none !important;\n }\n\n :host {\n --indicator-color: var(--nile-colors-primary-600);\n --track-color: #e5e9eb;\n --track-width: 1px;\n\n display: block;\n }\n\n .tab-group {\n display: flex;\n border-radius: 0;\n }\n\n .tab-group__tabs {\n display: flex;\n position: relative;\n gap: 24px;\n }\n\n .tab-group__indicator {\n position: absolute;\n transition: 0.3s translate ease, 0.3s width ease;\n }\n\n .tab-group--has-scroll-controls .tab-group__nav-container {\n position: relative;\n padding: 0 10px;\n }\n\n .tab-group__body {\n display: block;\n overflow: auto;\n }\n\n .tab-group__scroll-button {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n bottom: 0;\n width: 20px;\n }\n\n .tab-group__scroll-button--start {\n left: 0;\n }\n\n .tab-group__scroll-button--end {\n right: 0;\n }\n\n .tab-group--rtl .tab-group__scroll-button--start {\n left: auto;\n right: 0;\n }\n\n .tab-group--rtl .tab-group__scroll-button--end {\n left: 0;\n right: auto;\n }\n\n /*\n * Top\n */\n\n .tab-group--top {\n flex-direction: column;\n }\n\n .tab-group--top .tab-group__nav-container {\n order: 1;\n }\n\n .tab-group--top .tab-group__nav {\n display: flex;\n overflow-x: auto;\n\n /* Hide scrollbar in Firefox */\n scrollbar-width: none;\n }\n\n /* Hide scrollbar in Chrome/Safari */\n .tab-group--top .tab-group__nav::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n\n .tab-group--top .tab-group__tabs {\n flex: 1 1 auto;\n position: relative;\n flex-direction: row;\n border-bottom: solid var(--track-width) var(--track-color);\n }\n\n .tab-group--top .tab-group__indicator {\n bottom: calc(-1 * var(--track-width));\n border-bottom: 2px solid var(--nile-colors-brand-600);\n }\n\n .tab-group--top .tab-group__body {\n order: 2;\n }\n\n .tab-group--top ::slotted(nile-tab-panel) {\n --padding: 10px 0;\n }\n\n /*\n * Bottom\n */\n\n .tab-group--bottom {\n flex-direction: column;\n }\n\n .tab-group--bottom .tab-group__nav-container {\n order: 2;\n }\n\n .tab-group--bottom .tab-group__nav {\n display: flex;\n overflow-x: auto;\n\n /* Hide scrollbar in Firefox */\n scrollbar-width: none;\n }\n\n /* Hide scrollbar in Chrome/Safari */\n .tab-group--bottom .tab-group__nav::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n\n .tab-group--bottom .tab-group__tabs {\n flex: 1 1 auto;\n position: relative;\n flex-direction: row;\n border-top: solid var(--track-width) var(--track-color);\n }\n\n .tab-group--bottom .tab-group__indicator {\n top: calc(-1 * var(--track-width));\n border-top: solid var(--track-width) var(--indicator-color);\n }\n\n .tab-group--bottom .tab-group__body {\n order: 1;\n }\n\n .tab-group--bottom ::slotted(nile-tab-panel) {\n --padding: 10px 0;\n }\n\n /*\n * Start\n */\n\n .tab-group--start {\n flex-direction: row;\n }\n\n .tab-group--start .tab-group__nav-container {\n order: 1;\n }\n\n .tab-group--start .tab-group__tabs {\n flex: 0 0 auto;\n flex-direction: column;\n border-inline-end: solid var(--track-width) var(--track-color);\n }\n\n .tab-group--start .tab-group__indicator {\n right: calc(-1 * var(--track-width));\n border-right: solid var(--track-width) var(--indicator-color);\n }\n\n .tab-group--start.tab-group--rtl .tab-group__indicator {\n right: auto;\n left: calc(-1 * var(--track-width));\n }\n\n .tab-group--start .tab-group__body {\n flex: 1 1 auto;\n order: 2;\n }\n\n .tab-group--start ::slotted(nile-tab-panel) {\n --padding: 0 10px;\n }\n\n /*\n * End\n */\n\n .tab-group--end {\n flex-direction: row;\n }\n\n .tab-group--end .tab-group__nav-container {\n order: 2;\n }\n\n .tab-group--end .tab-group__tabs {\n flex: 0 0 auto;\n flex-direction: column;\n border-left: solid var(--track-width) var(--track-color);\n }\n\n .tab-group--end .tab-group__indicator {\n left: calc(-1 * var(--track-width));\n border-inline-start: solid var(--track-width) var(--indicator-color);\n }\n\n .tab-group--end.tab-group--rtl .tab-group__indicator {\n right: calc(-1 * var(--track-width));\n left: auto;\n }\n\n .tab-group--end .tab-group__body {\n flex: 1 1 auto;\n order: 1;\n }\n\n .tab-group--end ::slotted(nile-tab-panel) {\n --padding: 0 10px;\n }\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-tab-group.css.js","sourceRoot":"","sources":["../../../src/nile-tab-group/nile-tab-group.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsPxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","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 { css } from 'lit-element';\n\n/**\n * TabGroup CSS\n */\nexport const styles = css`\n [hidden] {\n display: none !important;\n }\n\n :host {\n --indicator-color: var(--nile-colors-primary-600);\n --track-color: #e5e9eb;\n --track-width: 2px;\n --tab-gap: 12px;\n\n display: block;\n }\n\n .tab-group {\n display: flex;\n border-radius: 0;\n }\n\n .tab-group__tabs {\n display: flex;\n position: relative;\n gap: var(--tab-gap);\n }\n\n .hide__track {\n --track-width: 0px;\n --tab-gap: 3px;\n }\n\n .tab-group__indicator {\n position: absolute;\n transition: 0.3s translate ease, 0.3s width ease;\n }\n\n .tab-group--has-scroll-controls .tab-group__nav-container {\n position: relative;\n padding: 0 10px;\n }\n\n .tab-group__body {\n display: block;\n overflow: auto;\n }\n\n .tab-group__scroll-button {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n bottom: 0;\n width: 20px;\n }\n\n .tab-group__scroll-button--start {\n left: 0;\n }\n\n .tab-group__scroll-button--end {\n right: 0;\n }\n\n .tab-group--rtl .tab-group__scroll-button--start {\n left: auto;\n right: 0;\n }\n\n .tab-group--rtl .tab-group__scroll-button--end {\n left: 0;\n right: auto;\n }\n\n /*\n * Top\n */\n\n .tab-group--top {\n flex-direction: column;\n }\n\n .tab-group--top .tab-group__nav-container {\n order: 1;\n }\n\n .tab-group--top .tab-group__nav {\n display: flex;\n overflow-x: auto;\n\n /* Hide scrollbar in Firefox */\n scrollbar-width: none;\n }\n\n /* Hide scrollbar in Chrome/Safari */\n .tab-group--top .tab-group__nav::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n\n .tab-group--top .tab-group__tabs {\n flex: 1 1 auto;\n position: relative;\n flex-direction: row;\n border-bottom: solid var(--track-width)\n var(--nile-colors-gray-light-mode-200);\n }\n\n .tab-group--top .tab-group__indicator {\n bottom: calc(-1 * var(--track-width));\n border-bottom: 2px solid var(--nile-colors-brand-600);\n }\n\n .tab-group--top .tab-group__body {\n order: 2;\n }\n\n .tab-group--top ::slotted(nile-tab-panel) {\n --padding: 10px 0;\n }\n\n /*\n * Bottom\n */\n\n .tab-group--bottom {\n flex-direction: column;\n }\n\n .tab-group--bottom .tab-group__nav-container {\n order: 2;\n }\n\n .tab-group--bottom .tab-group__nav {\n display: flex;\n overflow-x: auto;\n\n /* Hide scrollbar in Firefox */\n scrollbar-width: none;\n }\n\n /* Hide scrollbar in Chrome/Safari */\n .tab-group--bottom .tab-group__nav::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n\n .tab-group--bottom .tab-group__tabs {\n flex: 1 1 auto;\n position: relative;\n flex-direction: row;\n border-top: solid var(--track-width) var(--track-color);\n }\n\n .tab-group--bottom .tab-group__indicator {\n top: calc(-1 * var(--track-width));\n border-top: solid var(--track-width) var(--indicator-color);\n }\n\n .tab-group--bottom .tab-group__body {\n order: 1;\n }\n\n .tab-group--bottom ::slotted(nile-tab-panel) {\n --padding: 10px 0;\n }\n\n /*\n * Start\n */\n\n .tab-group--start {\n flex-direction: row;\n }\n\n .tab-group--start .tab-group__nav-container {\n order: 1;\n }\n\n .tab-group--start .tab-group__tabs {\n flex: 0 0 auto;\n flex-direction: column;\n border-inline-end: solid var(--track-width) var(--track-color);\n }\n\n .tab-group--start .tab-group__indicator {\n right: calc(-1 * var(--track-width));\n border-right: solid var(--track-width) var(--indicator-color);\n }\n\n .tab-group--start.tab-group--rtl .tab-group__indicator {\n right: auto;\n left: calc(-1 * var(--track-width));\n }\n\n .tab-group--start .tab-group__body {\n flex: 1 1 auto;\n order: 2;\n }\n\n .tab-group--start ::slotted(nile-tab-panel) {\n --padding: 0 10px;\n }\n\n /*\n * End\n */\n\n .tab-group--end {\n flex-direction: row;\n }\n\n .tab-group--end .tab-group__nav-container {\n order: 2;\n }\n\n .tab-group--end .tab-group__tabs {\n flex: 0 0 auto;\n flex-direction: column;\n border-left: solid var(--track-width) var(--track-color);\n }\n\n .tab-group--end .tab-group__indicator {\n left: calc(-1 * var(--track-width));\n border-inline-start: solid var(--track-width) var(--indicator-color);\n }\n\n .tab-group--end.tab-group--rtl .tab-group__indicator {\n right: calc(-1 * var(--track-width));\n left: auto;\n }\n\n .tab-group--end .tab-group__body {\n flex: 1 1 auto;\n order: 1;\n }\n\n .tab-group--end ::slotted(nile-tab-panel) {\n --padding: 0 10px;\n }\n\n .hide__track slot::slotted(nile-tab) {\n --tab-border-radius: 4px;\n --tab-padding:8px 12px;\n --tab-hover-background-color: #f9fafb;\n --tab-active-background-color: var(--nile-colors-brand-50);\n }\n`;\n\nexport default [styles];\n"]}
@@ -48,6 +48,8 @@ export declare class NileTabGroup extends NileElement {
48
48
  private hasScrollControls;
49
49
  /** The placement of the tabs. */
50
50
  placement: 'top' | 'bottom' | 'start' | 'end';
51
+ /** Track for showing Indicators and Background. */
52
+ noTrack: boolean;
51
53
  /**
52
54
  * When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to
53
55
  * manual, the tab will receive focus but will not show until the user presses spacebar or enter.
@@ -48,6 +48,8 @@ let NileTabGroup = class NileTabGroup extends NileElement {
48
48
  this.hasScrollControls = false;
49
49
  /** The placement of the tabs. */
50
50
  this.placement = 'top';
51
+ /** Track for showing Indicators and Background. */
52
+ this.noTrack = false;
51
53
  /**
52
54
  * When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to
53
55
  * manual, the tab will receive focus but will not show until the user presses spacebar or enter.
@@ -244,7 +246,7 @@ let NileTabGroup = class NileTabGroup extends NileElement {
244
246
  const precedingTabs = allTabs.slice(0, allTabs.indexOf(currentTab));
245
247
  const offset = precedingTabs.reduce((previous, current) => ({
246
248
  left: previous.left + current.clientWidth + 24,
247
- top: previous.top + current.clientHeight
249
+ top: previous.top + current.clientHeight + 24
248
250
  }), { left: 0, top: 0 });
249
251
  switch (this.placement) {
250
252
  case 'top':
@@ -311,7 +313,8 @@ let NileTabGroup = class NileTabGroup extends NileElement {
311
313
  'tab-group--start': this.placement === 'start',
312
314
  'tab-group--end': this.placement === 'end',
313
315
  'tab-group--rtl': true,
314
- 'tab-group--has-scroll-controls': this.hasScrollControls
316
+ 'tab-group--has-scroll-controls': this.hasScrollControls,
317
+ 'hide__track': this.noTrack
315
318
  })}
316
319
  @click=${this.handleClick}
317
320
  @keydown=${this.handleKeyDown}
@@ -333,8 +336,13 @@ let NileTabGroup = class NileTabGroup extends NileElement {
333
336
 
334
337
  <div class="tab-group__nav">
335
338
  <div part="tabs" class="tab-group__tabs" role="tablist">
336
- <div part="active-tab-indicator" class="tab-group__indicator"></div>
337
- <slot name="nav" @slotchange=${this.syncTabsAndPanels}></slot>
339
+ <div
340
+ part="active-tab-indicator"
341
+ class=${classMap({
342
+ 'tab-group__indicator': !this.noTrack,
343
+ })}
344
+ ></div>
345
+ <slot name="nav" @slotchange=${this.syncTabsAndPanels}></slot>
338
346
  </div>
339
347
  </div>
340
348
 
@@ -377,6 +385,9 @@ __decorate([
377
385
  __decorate([
378
386
  property()
379
387
  ], NileTabGroup.prototype, "placement", void 0);
388
+ __decorate([
389
+ property({ type: Boolean, reflect: true, attribute: 'no-track' })
390
+ ], NileTabGroup.prototype, "noTrack", void 0);
380
391
  __decorate([
381
392
  property()
382
393
  ], NileTabGroup.prototype, "activation", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-tab-group.js","sourceRoot":"","sources":["../../../src/nile-tab-group/nile-tab-group.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAAa,IAAI,EAAE,QAAQ,EAAiC,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAE5C,OAAO,sCAAsC,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,WAAW,MAAM,0BAA0B,CAAC;AAKnD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,WAAW;IAAtC;;QAOG,SAAI,GAAc,EAAE,CAAC;QACrB,WAAM,GAAmB,EAAE,CAAC;QAOnB,sBAAiB,GAAG,KAAK,CAAC;QAE3C,iCAAiC;QACrB,cAAS,GAAuC,KAAK,CAAC;QAElE;;;WAGG;QACS,eAAU,GAAsB,MAAM,CAAC;QAEnD,iEAAiE;QACH,qBAAgB,GAAG,KAAK,CAAC;QAEvF,8DAA8D;QAClB,aAAQ,GAAG,KAAK,CAAC;IAyW/D,CAAC;IAvWC,iBAAiB;QACf,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;YACxC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC;YACtC,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC;SAC7C,CAAC,CAAC;QAEH,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;YAC5C,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE;YACvD,0CAA0C;YAC1C,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAc,CAAC,CAAC,EAAE;gBACzF,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;aACxC;YAED,wCAAwC;YACxC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,UAAU,CAAC,EAAE;gBACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEtC,gDAAgD;YAChD,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvB,qDAAqD;gBACrD,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;oBAC1E,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,EAAE;wBACpC,IAAI,CAAC,aAAa,EAAE,CAAC;wBACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;wBAC9E,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;qBACvC;gBACH,CAAC,CAAC,CAAC;gBACH,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAEO,UAAU,CAAC,UAAwC,EAAE,eAAe,EAAE,IAAI,EAAE;QAClF,MAAM,IAAI,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAkB,kBAAkB,CAAE,CAAC;QAElF,OAAO,CAAC,GAAI,IAAI,CAAC,gBAAgB,EAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAC7D,OAAO,OAAO,CAAC,eAAe;gBAC5B,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,UAAU;gBACzC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,UAAU,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,YAAY;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAmB,CAAC;IACzH,CAAC;IAEO,YAAY;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAEO,WAAW,CAAC,KAAiB;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEhD,6CAA6C;QAC7C,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,OAAO;SACR;QAED,IAAI,GAAG,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;SACtD;IACH,CAAC;IAEO,aAAa,CAAC,KAAoB;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEhD,6CAA6C;QAC7C,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,OAAO;SACR;QAED,iBAAiB;QACjB,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACtC,IAAI,GAAG,KAAK,IAAI,EAAE;gBAChB,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACrD,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;SACF;QAED,2BAA2B;QAC3B,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,KAAK,CAAC;YAEpB,IAAI,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,UAAU,EAAE;gBAClD,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAExC,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,EAAE;oBACxB,KAAK,GAAG,CAAC,CAAC;iBACX;qBAAM,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;oBAC9B,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC9B;qBAAM,IACL,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;oBAClG,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,EACtE;oBACA,KAAK,EAAE,CAAC;iBACT;qBAAM,IACL,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;oBAClG,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,EACxE;oBACA,KAAK,EAAE,CAAC;iBACT;gBAED,IAAI,KAAK,GAAG,CAAC,EAAE;oBACb,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC9B;gBAED,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChC,KAAK,GAAG,CAAC,CAAC;iBACX;gBAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEhD,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;oBAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;iBACnE;gBAED,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;oBAC9C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;iBAC1D;gBAED,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;SACF;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YACd,IAAI,EACF,IAAI;gBACF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW;gBAC5C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW;YAChD,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YACd,IAAI,EACF,IAAI;gBACF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW;gBAC5C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW;YAChD,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,GAAY,EAAE,OAAsE;QAEvG,OAAO,GAAG;YACR,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,MAAM;YACtB,GAAG,OAAO;SACX,CAAC;QAEF,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;YAE3C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YAGrB,4BAA4B;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,aAAa,EAAE,CAAC;YAErB,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC9C,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;aAChF;YAED,cAAc;YACd,IAAI,OAAO,CAAC,UAAU,EAAE;gBACtB,IAAI,WAAW,EAAE;oBACf,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;iBAC1D;gBAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;aAC7D;SACF;IACH,CAAC;IAEO,aAAa;QACnB,6CAA6C;QAC7C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,KAAK,EAAE;gBACT,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAE,CAAC,CAAC;gBAC7D,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAE,CAAC,CAAC;aAChE;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEvC,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC;QACrC,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC;QAEpB,+GAA+G;QAC/G,0HAA0H;QAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CACjC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACtB,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,WAAW,GAAG,EAAE;YAC9C,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,YAAY;SACzC,CAAC,EACF,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CACpB,CAAC;QAEF,QAAQ,IAAI,CAAC,SAAS,EAAE;YACtB,KAAK,KAAK,CAAC;YACX,KAAK,QAAQ;gBACX,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,IAAI,CAAC;gBAC1C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC;gBACpD,MAAM;YAER,KAAK,OAAO,CAAC;YACb,KAAK,KAAK;gBACR,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;gBACpC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC;gBAC5C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,MAAM,CAAC,GAAG,IAAI,CAAC;gBACrD,MAAM;SACT;IACH,CAAC;IAED,+GAA+G;IACvG,iBAAiB;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAO,EAAE,EAAE;YAC5B,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,yDAAyD;QACzD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC9D,CAAC;IAGD,oBAAoB;QAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,iBAAiB;gBACpB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;YAC1F,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAClC;IACH,CAAC;IAGD,aAAa;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEhC,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACvC,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SACvC;IACH,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC,KAAa;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAErD,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;SACtD;IACH,CAAC;IAED,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC;QAEnB,OAAO,IAAI,CAAA;;;gBAGC,QAAQ,CAAC;YACf,WAAW,EAAE,IAAI;YACjB,gBAAgB,EAAE,IAAI,CAAC,SAAS,KAAK,KAAK;YAC1C,mBAAmB,EAAE,IAAI,CAAC,SAAS,KAAK,QAAQ;YAChD,kBAAkB,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO;YAC9C,gBAAgB,EAAE,IAAI,CAAC,SAAS,KAAK,KAAK;YAC1C,gBAAgB,EAAE,IAAI;YACtB,gCAAgC,EAAE,IAAI,CAAC,iBAAiB;SACzD,CAAC;iBACO,IAAI,CAAC,WAAW;mBACd,IAAI,CAAC,aAAa;;;YAGzB,IAAI,CAAC,iBAAiB;YACtB,CAAC,CAAC,IAAI,CAAA;;;;;;;;2BAQS,IAAI,CAAC,mBAAmB;;eAEpC;YACH,CAAC,CAAC,EAAE;;;;;6CAK6B,IAAI,CAAC,iBAAiB;;;;YAIvD,IAAI,CAAC,iBAAiB;YACtB,CAAC,CAAC,IAAI,CAAA;;;;;;;;2BAQS,IAAI,CAAC,iBAAiB;;eAElC;YACH,CAAC,CAAC,EAAE;;;gEAGgD,IAAI,CAAC,iBAAiB;;KAEjF,CAAC;IACJ,CAAC;;AApYK,mBAAM,GAAmB,MAAM,CAAC;AAQjB;IAApB,KAAK,CAAC,YAAY,CAAC;8CAAuB;AAChB;IAA1B,KAAK,CAAC,kBAAkB,CAAC;0CAAuB;AACvB;IAAzB,KAAK,CAAC,iBAAiB,CAAC;yCAAkB;AACX;IAA/B,KAAK,CAAC,uBAAuB,CAAC;+CAAwB;AAE9C;IAAR,KAAK,EAAE;uDAAmC;AAG/B;IAAX,QAAQ,EAAE;+CAAuD;AAMtD;IAAX,QAAQ,EAAE;gDAAwC;AAGW;IAA7D,QAAQ,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDAA0B;AAG3C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAAkB;AA+Q7D;IADC,KAAK,CAAC,kBAAkB,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;wDASzD;AAGD;IADC,KAAK,CAAC,WAAW,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;iDAUlD;AAjUU,YAAY;IADxB,aAAa,CAAC,gBAAgB,CAAC;GACnB,YAAY,CAuYxB;SAvYY,YAAY;AAyYzB,eAAe,YAAY,CAAC","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 {LitElement, html, property, CSSResultArray, TemplateResult} from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport {styles} from './nile-tab-group.css';\n\nimport '../nile-icon-button/nile-icon-button';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { scrollIntoView } from '../internal/scroll';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup } from 'lit';\nimport type NileTab from '../nile-tab/nile-tab';\nimport type NileTabPanel from '../nile-tab-panel/nile-tab-panel';\n\n/**\n * Nile icon component.\n *\n * @tag nile-tab-group\n *\n * @slot - Used for grouping tab panels in the tab group. Must be `<nile-tab-panel>` elements.\n * @slot nav - Used for grouping tabs in the tab group. Must be `<nile-tab>` elements.\n *\n * @event {{ name: String }} nile-tab-show - Emitted when a tab is shown.\n * @event {{ name: String }} nile-tab-hide - Emitted when a tab is hidden.\n *\n * @csspart base - The component's base wrapper.\n * @csspart nav - The tab group's navigation container where tabs are slotted in.\n * @csspart tabs - The container that wraps the tabs.\n * @csspart active-tab-indicator - The line that highlights the currently selected tab.\n * @csspart body - The tab group's body where tab panels are slotted in.\n * @csspart scroll-button - The previous/next scroll buttons that show when tabs are scrollable, an `<nile-icon-button>`.\n * @csspart scroll-button--start - The starting scroll button.\n * @csspart scroll-button--end - The ending scroll button.\n * @csspart scroll-button__base - The scroll button's exported `base` part.\n *\n * @cssproperty --indicator-color - The color of the active tab indicator.\n * @cssproperty --track-color - The color of the indicator's track (the line that separates tabs from panels).\n * @cssproperty --track-width - The width of the indicator's track (the line that separates tabs from panels).\n *\n */\n@customElement('nile-tab-group')\nexport class NileTabGroup extends NileElement {\n\n\tstatic styles: CSSResultGroup = styles;\n\n private activeTab?: NileTab;\n private mutationObserver: MutationObserver;\n private resizeObserver: ResizeObserver;\n private tabs: NileTab[] = [];\n private panels: NileTabPanel[] = [];\n\n @query('.tab-group') tabGroup: HTMLElement;\n @query('.tab-group__body') body: HTMLSlotElement;\n @query('.tab-group__nav') nav: HTMLElement;\n @query('.tab-group__indicator') indicator: HTMLElement;\n\n @state() private hasScrollControls = false;\n\n /** The placement of the tabs. */\n @property() placement: 'top' | 'bottom' | 'start' | 'end' = 'top';\n\n /**\n * When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to\n * manual, the tab will receive focus but will not show until the user presses spacebar or enter.\n */\n @property() activation: 'auto' | 'manual' = 'auto';\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @property({ attribute: 'no-scroll-controls', type: Boolean }) noScrollControls = false;\n\n /** Controls whether tabs are centered and have equal width */\n @property({ type: Boolean, reflect: true }) centered = false;\n\n connectedCallback() {\n const whenAllDefined = Promise.allSettled([\n customElements.whenDefined('nile-tab'),\n customElements.whenDefined('nile-tab-panel')\n ]);\n\n super.connectedCallback();\n\n this.resizeObserver = new ResizeObserver(() => {\n this.repositionIndicator();\n this.updateScrollControls();\n });\n\n this.mutationObserver = new MutationObserver(mutations => {\n // Update aria labels when the DOM changes\n if (mutations.some(m => !['aria-labelledby', 'aria-controls'].includes(m.attributeName!))) {\n setTimeout(() => this.setAriaLabels());\n }\n\n // Sync tabs when disabled states change\n if (mutations.some(m => m.attributeName === 'disabled')) {\n this.syncTabsAndPanels();\n }\n });\n\n // After the first update...\n this.updateComplete.then(() => {\n this.syncTabsAndPanels();\n this.mutationObserver.observe(this, { attributes: true, childList: true, subtree: true });\n this.resizeObserver.observe(this.nav);\n\n // Wait for tabs and tab panels to be registered\n whenAllDefined.then(() => {\n // Set initial tab state when the tabs become visible\n const intersectionObserver = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n this.setActiveTab(this.getActiveTab() ?? this.tabs[0], { emitEvents: false });\n observer.unobserve(entries[0].target);\n }\n });\n intersectionObserver.observe(this.tabGroup);\n });\n });\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.resizeObserver.unobserve(this.nav);\n }\n\n private getAllTabs(options: { includeDisabled: boolean } = { includeDisabled: true }) {\n const slot = this.shadowRoot!.querySelector<HTMLSlotElement>('slot[name=\"nav\"]')!;\n\n return [...(slot.assignedElements() as NileTab[])].filter(el => {\n return options.includeDisabled\n ? el.tagName.toLowerCase() === 'nile-tab'\n : el.tagName.toLowerCase() === 'nile-tab' && !el.disabled;\n });\n }\n\n private getAllPanels() {\n return [...this.body.assignedElements()].filter(el => el.tagName.toLowerCase() === 'nile-tab-panel') as [NileTabPanel];\n }\n\n private getActiveTab() {\n return this.tabs.find(el => el.active);\n }\n\n private handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest('nile-tab');\n const tabGroup = tab?.closest('nile-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n if (tab !== null) {\n this.setActiveTab(tab, { scrollBehavior: 'smooth' });\n }\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest('nile-tab');\n const tabGroup = tab?.closest('nile-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n // Activate a tab\n if (['Enter', ' '].includes(event.key)) {\n if (tab !== null) {\n this.setActiveTab(tab, { scrollBehavior: 'smooth' });\n event.preventDefault();\n }\n }\n\n // Move focus left or right\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const activeEl = this.tabs.find(t => t.matches(':focus'));\n const isRtl = false;\n\n if (activeEl?.tagName.toLowerCase() === 'nile-tab') {\n let index = this.tabs.indexOf(activeEl);\n\n if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = this.tabs.length - 1;\n } else if (\n (['top', 'bottom'].includes(this.placement) && event.key === (isRtl ? 'ArrowRight' : 'ArrowLeft')) ||\n (['start', 'end'].includes(this.placement) && event.key === 'ArrowUp')\n ) {\n index--;\n } else if (\n (['top', 'bottom'].includes(this.placement) && event.key === (isRtl ? 'ArrowLeft' : 'ArrowRight')) ||\n (['start', 'end'].includes(this.placement) && event.key === 'ArrowDown')\n ) {\n index++;\n }\n\n if (index < 0) {\n index = this.tabs.length - 1;\n }\n\n if (index > this.tabs.length - 1) {\n index = 0;\n }\n\n this.tabs[index].focus({ preventScroll: true });\n\n if (this.activation === 'auto') {\n this.setActiveTab(this.tabs[index], { scrollBehavior: 'smooth' });\n }\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.tabs[index], this.nav, 'horizontal');\n }\n\n event.preventDefault();\n }\n }\n }\n\n private handleScrollToStart() {\n this.nav.scroll({\n left:\n true\n ? this.nav.scrollLeft + this.nav.clientWidth\n : this.nav.scrollLeft - this.nav.clientWidth,\n behavior: 'smooth'\n });\n }\n\n private handleScrollToEnd() {\n this.nav.scroll({\n left:\n true\n ? this.nav.scrollLeft - this.nav.clientWidth\n : this.nav.scrollLeft + this.nav.clientWidth,\n behavior: 'smooth'\n });\n }\n\n private setActiveTab(tab: NileTab, options?: { emitEvents?: boolean; scrollBehavior?: 'auto' | 'smooth' }) {\n\n options = {\n emitEvents: true,\n scrollBehavior: 'auto',\n ...options\n };\n\n if (tab !== this.activeTab && !tab.disabled) {\n\n const previousTab = this.activeTab;\n this.activeTab = tab;\n\n\n // Sync active tab and panel\n this.tabs.map(el => (el.active = el === this.activeTab));\n this.panels.map(el => (el.active = el.name === this.activeTab?.panel));\n this.syncIndicator();\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.activeTab, this.nav, 'horizontal', options.scrollBehavior);\n }\n\n // Emit events\n if (options.emitEvents) {\n if (previousTab) {\n this.emit('nile-tab-hide', { value: previousTab.panel });\n }\n\n this.emit('nile-tab-show', { value: this.activeTab.panel });\n }\n }\n }\n\n private setAriaLabels() {\n // Link each tab with its corresponding panel\n this.tabs.forEach(tab => {\n const panel = this.panels.find(el => el.name === tab.panel);\n if (panel) {\n tab.setAttribute('aria-controls', panel.getAttribute('id')!);\n panel.setAttribute('aria-labelledby', tab.getAttribute('id')!);\n }\n });\n }\n\n private repositionIndicator() {\n const currentTab = this.getActiveTab();\n\n if (!currentTab) {\n return;\n }\n\n const width = currentTab.clientWidth;\n const height = currentTab.clientHeight;\n const isRtl = false;\n\n // We can't used offsetLeft/offsetTop here due to a shadow parent issue where neither can getBoundingClientRect\n // because it provides invalid values for animating elements: https://bugs.chromium.org/p/chromium/issues/detail?id=920069\n const allTabs = this.getAllTabs();\n const precedingTabs = allTabs.slice(0, allTabs.indexOf(currentTab));\n const offset = precedingTabs.reduce(\n (previous, current) => ({\n left: previous.left + current.clientWidth + 24,\n top: previous.top + current.clientHeight\n }),\n { left: 0, top: 0 }\n );\n\n switch (this.placement) {\n case 'top':\n case 'bottom':\n this.indicator.style.width = `${width}px`;\n this.indicator.style.height = 'auto';\n this.indicator.style.translate = `${offset.left}px`;\n break;\n\n case 'start':\n case 'end':\n this.indicator.style.width = 'auto';\n this.indicator.style.height = `${height}px`;\n this.indicator.style.translate = `0 ${offset.top}px`;\n break;\n }\n }\n\n // This stores tabs and panels so we can refer to a cache instead of calling querySelectorAll() multiple times.\n private syncTabsAndPanels() {\n this.tabs = this.getAllTabs({ includeDisabled: false });\n this.panels = this.getAllPanels();\n this.syncIndicator();\n\n this.tabs.forEach((tab:any) => {\n tab.centered = this.centered;\n });\n\n // After updating, show or hide scroll controls as needed\n this.updateComplete.then(() => this.updateScrollControls());\n }\n\n @watch('noScrollControls', { waitUntilFirstUpdate: true })\n updateScrollControls() {\n if (this.noScrollControls) {\n this.hasScrollControls = false;\n } else {\n this.hasScrollControls =\n ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;\n this.hasScrollControls = false;\n }\n }\n\n @watch('placement', { waitUntilFirstUpdate: true })\n syncIndicator() {\n const tab = this.getActiveTab();\n\n if (tab) {\n this.indicator.style.display = 'block';\n this.repositionIndicator();\n } else {\n this.indicator.style.display = 'none';\n }\n }\n\n /** Shows the specified tab panel. */\n show(panel: string) {\n const tab = this.tabs.find(el => el.panel === panel);\n\n if (tab) {\n this.setActiveTab(tab, { scrollBehavior: 'smooth' });\n }\n }\n\n render() {\n const isRtl = true;\n\n return html`\n <div\n part=\"base\"\n class=${classMap({\n 'tab-group': true,\n 'tab-group--top': this.placement === 'top',\n 'tab-group--bottom': this.placement === 'bottom',\n 'tab-group--start': this.placement === 'start',\n 'tab-group--end': this.placement === 'end',\n 'tab-group--rtl': true,\n 'tab-group--has-scroll-controls': this.hasScrollControls\n })}\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n >\n <div class=\"tab-group__nav-container\" part=\"nav\">\n ${this.hasScrollControls\n ? html`\n <nile-icon-button\n part=\"scroll-button scroll-button--start\"\n exportparts=\"base:scroll-button__base\"\n class=\"tab-group__scroll-button tab-group__scroll-button--start\"\n name='arrowright'\n library=\"system\"\n label=\"scrollToStart\"\n @click=${this.handleScrollToStart}\n ></nile-icon-button>\n `\n : ''}\n\n <div class=\"tab-group__nav\">\n <div part=\"tabs\" class=\"tab-group__tabs\" role=\"tablist\">\n <div part=\"active-tab-indicator\" class=\"tab-group__indicator\"></div>\n <slot name=\"nav\" @slotchange=${this.syncTabsAndPanels}></slot>\n </div>\n </div>\n\n ${this.hasScrollControls\n ? html`\n <nile-icon-button\n part=\"scroll-button scroll-button--end\"\n exportparts=\"base:scroll-button__base\"\n class=\"tab-group__scroll-button tab-group__scroll-button--end\"\n name='arrowleft'\n library=\"system\"\n label=\"scrollToEnd\"\n @click=${this.handleScrollToEnd}\n ></nile-icon-button>\n `\n : ''}\n </div>\n\n <slot part=\"body\" class=\"tab-group__body\" @slotchange=${this.syncTabsAndPanels}></slot>\n </div>\n `;\n }\n}\n\nexport default NileTabGroup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-tab-group': NileTabGroup;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-tab-group.js","sourceRoot":"","sources":["../../../src/nile-tab-group/nile-tab-group.ts"],"names":[],"mappings":"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","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 {LitElement, html, property, CSSResultArray, TemplateResult} from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport {styles} from './nile-tab-group.css';\n\nimport '../nile-icon-button/nile-icon-button';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { scrollIntoView } from '../internal/scroll';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup } from 'lit';\nimport type NileTab from '../nile-tab/nile-tab';\nimport type NileTabPanel from '../nile-tab-panel/nile-tab-panel';\n\n/**\n * Nile icon component.\n *\n * @tag nile-tab-group\n *\n * @slot - Used for grouping tab panels in the tab group. Must be `<nile-tab-panel>` elements.\n * @slot nav - Used for grouping tabs in the tab group. Must be `<nile-tab>` elements.\n *\n * @event {{ name: String }} nile-tab-show - Emitted when a tab is shown.\n * @event {{ name: String }} nile-tab-hide - Emitted when a tab is hidden.\n *\n * @csspart base - The component's base wrapper.\n * @csspart nav - The tab group's navigation container where tabs are slotted in.\n * @csspart tabs - The container that wraps the tabs.\n * @csspart active-tab-indicator - The line that highlights the currently selected tab.\n * @csspart body - The tab group's body where tab panels are slotted in.\n * @csspart scroll-button - The previous/next scroll buttons that show when tabs are scrollable, an `<nile-icon-button>`.\n * @csspart scroll-button--start - The starting scroll button.\n * @csspart scroll-button--end - The ending scroll button.\n * @csspart scroll-button__base - The scroll button's exported `base` part.\n *\n * @cssproperty --indicator-color - The color of the active tab indicator.\n * @cssproperty --track-color - The color of the indicator's track (the line that separates tabs from panels).\n * @cssproperty --track-width - The width of the indicator's track (the line that separates tabs from panels).\n *\n */\n@customElement('nile-tab-group')\nexport class NileTabGroup extends NileElement {\n\n static styles: CSSResultGroup = styles;\n\n private activeTab?: NileTab;\n private mutationObserver: MutationObserver;\n private resizeObserver: ResizeObserver;\n private tabs: NileTab[] = [];\n private panels: NileTabPanel[] = [];\n\n @query('.tab-group') tabGroup: HTMLElement;\n @query('.tab-group__body') body: HTMLSlotElement;\n @query('.tab-group__nav') nav: HTMLElement;\n @query('.tab-group__indicator') indicator: HTMLElement;\n\n @state() private hasScrollControls = false;\n\n /** The placement of the tabs. */\n @property() placement: 'top' | 'bottom' | 'start' | 'end' = 'top';\n\n\n /** Track for showing Indicators and Background. */\n @property({ type: Boolean, reflect: true,attribute:'no-track'}) noTrack = false;\n\n /**\n * When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to\n * manual, the tab will receive focus but will not show until the user presses spacebar or enter.\n */\n @property() activation: 'auto' | 'manual' = 'auto';\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @property({ attribute: 'no-scroll-controls', type: Boolean }) noScrollControls = false;\n\n /** Controls whether tabs are centered and have equal width */\n @property({ type: Boolean, reflect: true }) centered = false;\n\n connectedCallback() {\n const whenAllDefined = Promise.allSettled([\n customElements.whenDefined('nile-tab'),\n customElements.whenDefined('nile-tab-panel')\n ]);\n\n super.connectedCallback();\n\n this.resizeObserver = new ResizeObserver(() => {\n this.repositionIndicator();\n this.updateScrollControls();\n });\n\n this.mutationObserver = new MutationObserver(mutations => {\n // Update aria labels when the DOM changes\n if (mutations.some(m => !['aria-labelledby', 'aria-controls'].includes(m.attributeName!))) {\n setTimeout(() => this.setAriaLabels());\n }\n\n // Sync tabs when disabled states change\n if (mutations.some(m => m.attributeName === 'disabled')) {\n this.syncTabsAndPanels();\n }\n });\n\n // After the first update...\n this.updateComplete.then(() => {\n this.syncTabsAndPanels();\n this.mutationObserver.observe(this, { attributes: true, childList: true, subtree: true });\n this.resizeObserver.observe(this.nav);\n\n // Wait for tabs and tab panels to be registered\n whenAllDefined.then(() => {\n // Set initial tab state when the tabs become visible\n const intersectionObserver = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n this.setActiveTab(this.getActiveTab() ?? this.tabs[0], { emitEvents: false });\n observer.unobserve(entries[0].target);\n }\n });\n intersectionObserver.observe(this.tabGroup);\n });\n });\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.resizeObserver.unobserve(this.nav);\n }\n\n private getAllTabs(options: { includeDisabled: boolean } = { includeDisabled: true }) {\n const slot = this.shadowRoot!.querySelector<HTMLSlotElement>('slot[name=\"nav\"]')!;\n\n return [...(slot.assignedElements() as NileTab[])].filter(el => {\n return options.includeDisabled\n ? el.tagName.toLowerCase() === 'nile-tab'\n : el.tagName.toLowerCase() === 'nile-tab' && !el.disabled;\n });\n }\n\n private getAllPanels() {\n return [...this.body.assignedElements()].filter(el => el.tagName.toLowerCase() === 'nile-tab-panel') as [NileTabPanel];\n }\n\n private getActiveTab() {\n return this.tabs.find(el => el.active);\n }\n\n private handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest('nile-tab');\n const tabGroup = tab?.closest('nile-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n if (tab !== null) {\n this.setActiveTab(tab, { scrollBehavior: 'smooth' });\n }\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest('nile-tab');\n const tabGroup = tab?.closest('nile-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n // Activate a tab\n if (['Enter', ' '].includes(event.key)) {\n if (tab !== null) {\n this.setActiveTab(tab, { scrollBehavior: 'smooth' });\n event.preventDefault();\n }\n }\n\n // Move focus left or right\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const activeEl = this.tabs.find(t => t.matches(':focus'));\n const isRtl = false;\n\n if (activeEl?.tagName.toLowerCase() === 'nile-tab') {\n let index = this.tabs.indexOf(activeEl);\n\n if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = this.tabs.length - 1;\n } else if (\n (['top', 'bottom'].includes(this.placement) && event.key === (isRtl ? 'ArrowRight' : 'ArrowLeft')) ||\n (['start', 'end'].includes(this.placement) && event.key === 'ArrowUp')\n ) {\n index--;\n } else if (\n (['top', 'bottom'].includes(this.placement) && event.key === (isRtl ? 'ArrowLeft' : 'ArrowRight')) ||\n (['start', 'end'].includes(this.placement) && event.key === 'ArrowDown')\n ) {\n index++;\n }\n\n if (index < 0) {\n index = this.tabs.length - 1;\n }\n\n if (index > this.tabs.length - 1) {\n index = 0;\n }\n\n this.tabs[index].focus({ preventScroll: true });\n\n if (this.activation === 'auto') {\n this.setActiveTab(this.tabs[index], { scrollBehavior: 'smooth' });\n }\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.tabs[index], this.nav, 'horizontal');\n }\n\n event.preventDefault();\n }\n }\n }\n\n private handleScrollToStart() {\n this.nav.scroll({\n left:\n true\n ? this.nav.scrollLeft + this.nav.clientWidth\n : this.nav.scrollLeft - this.nav.clientWidth,\n behavior: 'smooth'\n });\n }\n\n private handleScrollToEnd() {\n this.nav.scroll({\n left:\n true\n ? this.nav.scrollLeft - this.nav.clientWidth\n : this.nav.scrollLeft + this.nav.clientWidth,\n behavior: 'smooth'\n });\n }\n\n private setActiveTab(tab: NileTab, options?: { emitEvents?: boolean; scrollBehavior?: 'auto' | 'smooth' }) {\n\n options = {\n emitEvents: true,\n scrollBehavior: 'auto',\n ...options\n };\n\n if (tab !== this.activeTab && !tab.disabled) {\n\n const previousTab = this.activeTab;\n this.activeTab = tab;\n\n\n // Sync active tab and panel\n this.tabs.map(el => (el.active = el === this.activeTab));\n this.panels.map(el => (el.active = el.name === this.activeTab?.panel));\n this.syncIndicator();\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.activeTab, this.nav, 'horizontal', options.scrollBehavior);\n }\n\n // Emit events\n if (options.emitEvents) {\n if (previousTab) {\n this.emit('nile-tab-hide', { value: previousTab.panel });\n }\n\n this.emit('nile-tab-show', { value: this.activeTab.panel });\n }\n }\n }\n\n private setAriaLabels() {\n // Link each tab with its corresponding panel\n this.tabs.forEach(tab => {\n const panel = this.panels.find(el => el.name === tab.panel);\n if (panel) {\n tab.setAttribute('aria-controls', panel.getAttribute('id')!);\n panel.setAttribute('aria-labelledby', tab.getAttribute('id')!);\n }\n });\n }\n\n private repositionIndicator() {\n const currentTab = this.getActiveTab();\n\n if (!currentTab) {\n return;\n }\n\n const width = currentTab.clientWidth;\n const height = currentTab.clientHeight;\n const isRtl = false;\n\n // We can't used offsetLeft/offsetTop here due to a shadow parent issue where neither can getBoundingClientRect\n // because it provides invalid values for animating elements: https://bugs.chromium.org/p/chromium/issues/detail?id=920069\n const allTabs = this.getAllTabs();\n const precedingTabs = allTabs.slice(0, allTabs.indexOf(currentTab));\n const offset = precedingTabs.reduce(\n (previous, current) => ({\n left: previous.left + current.clientWidth + 24,\n top: previous.top + current.clientHeight + 24\n }),\n { left: 0, top: 0 }\n );\n\n switch (this.placement) {\n case 'top':\n case 'bottom':\n this.indicator.style.width = `${width}px`;\n this.indicator.style.height = 'auto';\n this.indicator.style.translate = `${offset.left}px`;\n break;\n\n case 'start':\n case 'end':\n this.indicator.style.width = 'auto';\n this.indicator.style.height = `${height}px`;\n this.indicator.style.translate = `0 ${offset.top}px`;\n break;\n }\n }\n\n // This stores tabs and panels so we can refer to a cache instead of calling querySelectorAll() multiple times.\n private syncTabsAndPanels() {\n this.tabs = this.getAllTabs({ includeDisabled: false });\n this.panels = this.getAllPanels();\n this.syncIndicator();\n\n this.tabs.forEach((tab:any) => {\n tab.centered = this.centered;\n });\n\n // After updating, show or hide scroll controls as needed\n this.updateComplete.then(() => this.updateScrollControls());\n }\n\n @watch('noScrollControls', { waitUntilFirstUpdate: true })\n updateScrollControls() {\n if (this.noScrollControls) {\n this.hasScrollControls = false;\n } else {\n this.hasScrollControls =\n ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;\n this.hasScrollControls = false;\n }\n }\n\n @watch('placement', { waitUntilFirstUpdate: true })\n syncIndicator() {\n const tab = this.getActiveTab();\n\n if (tab) {\n this.indicator.style.display = 'block';\n this.repositionIndicator();\n } else {\n this.indicator.style.display = 'none';\n }\n }\n\n /** Shows the specified tab panel. */\n show(panel: string) {\n const tab = this.tabs.find(el => el.panel === panel);\n\n if (tab) {\n this.setActiveTab(tab, { scrollBehavior: 'smooth' });\n }\n }\n\n render() {\n const isRtl = true;\n\n return html`\n <div\n part=\"base\"\n class=${classMap({\n 'tab-group': true,\n 'tab-group--top': this.placement === 'top',\n 'tab-group--bottom': this.placement === 'bottom',\n 'tab-group--start': this.placement === 'start',\n 'tab-group--end': this.placement === 'end',\n 'tab-group--rtl': true,\n 'tab-group--has-scroll-controls': this.hasScrollControls,\n 'hide__track':this.noTrack\n })}\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n >\n <div class=\"tab-group__nav-container\" part=\"nav\">\n ${this.hasScrollControls\n ? html`\n <nile-icon-button\n part=\"scroll-button scroll-button--start\"\n exportparts=\"base:scroll-button__base\"\n class=\"tab-group__scroll-button tab-group__scroll-button--start\"\n name='arrowright'\n library=\"system\"\n label=\"scrollToStart\"\n @click=${this.handleScrollToStart}\n ></nile-icon-button>\n `\n : ''}\n\n <div class=\"tab-group__nav\">\n <div part=\"tabs\" class=\"tab-group__tabs\" role=\"tablist\">\n <div\n part=\"active-tab-indicator\"\n class=${classMap({\n 'tab-group__indicator': !this.noTrack,\n })}\n ></div>\n <slot name=\"nav\" @slotchange=${this.syncTabsAndPanels}></slot>\n </div>\n </div>\n\n ${this.hasScrollControls\n ? html`\n <nile-icon-button\n part=\"scroll-button scroll-button--end\"\n exportparts=\"base:scroll-button__base\"\n class=\"tab-group__scroll-button tab-group__scroll-button--end\"\n name='arrowleft'\n library=\"system\"\n label=\"scrollToEnd\"\n @click=${this.handleScrollToEnd}\n ></nile-icon-button>\n `\n : ''}\n </div>\n\n <slot part=\"body\" class=\"tab-group__body\" @slotchange=${this.syncTabsAndPanels}></slot>\n </div>\n `;\n }\n}\n\nexport default NileTabGroup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-tab-group': NileTabGroup;\n }\n}\n"]}
@@ -27,8 +27,6 @@ export declare class NileTableBody extends NileElement {
27
27
  private getChildren;
28
28
  private getIndexValue;
29
29
  handleSlotchange(e: any): void;
30
- private handleDataChange;
31
- private handleDataSort;
32
30
  private handleSort;
33
31
  private handleSearch;
34
32
  render(): TemplateResult;
@@ -60,41 +60,12 @@ let NileTableBody = class NileTableBody extends NileElement {
60
60
  }
61
61
  });
62
62
  }
63
- handleDataChange() {
64
- let i = 0;
65
- let j = 0;
66
- this._childNodes.forEach((child, index) => {
67
- if (index != 0 &&
68
- child.tagName &&
69
- child?.tagName?.toLowerCase() === 'nile-table-row') {
70
- let nilerows = this.getChildren(child, 'nile-table-cell-item');
71
- if (nilerows.length > 0) {
72
- nilerows.forEach((element, curr_index) => {
73
- element.innerHTML = this.rows_data[i][curr_index];
74
- });
75
- i++;
76
- }
77
- }
78
- });
79
- }
80
- handleDataSort(index, order) {
81
- this.rows_data.sort((a, b) => {
82
- let first_row_value = a[index]?.toLowerCase();
83
- let second_row_value = b[index]?.toLowerCase();
84
- return order == 'asc'
85
- ? first_row_value <= second_row_value
86
- ? 1
87
- : -1
88
- : first_row_value < second_row_value
89
- ? -1
90
- : 1;
91
- });
92
- }
93
63
  handleSort(e) {
94
64
  const { curr_sort_string, order } = e.detail.value;
95
- this.sort__index = this.getIndexValue(curr_sort_string);
96
- this.handleDataSort(this.sort__index, order);
97
- this.handleDataChange();
65
+ const header_index = this.getIndexValue(curr_sort_string);
66
+ this.emit('nile-sort', {
67
+ value: { header_index, curr_sort_string, order },
68
+ });
98
69
  }
99
70
  handleSearch(e) {
100
71
  const searchText = e.detail.value;
@@ -1 +1 @@
1
- {"version":3,"file":"nile-table-body.js","sourceRoot":"","sources":["../../../src/nile-table-body/nile-table-body.ts"],"names":[],"mappings":"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","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 property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport {\n customElement,\n query,\n state,\n queryAll,\n queryAssignedElements,\n queryAssignedNodes,\n} from 'lit/decorators.js';\nimport { styles } from './nile-table-body.css';\nimport NileElement from '../internal/nile-element';\nimport { getInnerHTML } from '../slot';\n\n/**\n * nile-table-body component.\n *\n * @tag nile-table-body\n *\n */\n@customElement('nile-table-body')\nexport class NileTableBody extends NileElement {\n /**\n * The styles for TableBody\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n\n @query('slot') defaultSlot: HTMLSlotElement;\n @queryAssignedNodes({ flatten: true })\n _childNodes!: Array<HTMLElement>;\n\n @state() private rows_data: any[] = [];\n @state() private header_rows_data: any[] = [];\n @state() private sort__index: number;\n @state() private search__index: number;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n /* #endregion */\n\n /* #region Methods */\n\n private getChildren(child: any, tagname: string) {\n return child.querySelectorAll(tagname);\n }\n\n private getIndexValue(index__value: string): number {\n return this.header_rows_data.indexOf(index__value);\n }\n\n handleSlotchange(e: any) {\n let row_data: any = [];\n this._childNodes.forEach((child: any) => {\n if (child.tagName && child?.tagName?.toLowerCase() === 'nile-table-row') {\n let nilerows = this.getChildren(child, 'nile-table-cell-item');\n if (nilerows.length > 0) {\n nilerows.forEach((element: { innerHTML: any }) => {\n row_data.push(element.innerHTML);\n });\n this.rows_data.push(row_data);\n } else {\n let nileheaders = this.getChildren(child, 'nile-table-header-item');\n if (nileheaders.length > 0) {\n nileheaders.forEach((header: HTMLSlotElement, index: number) => {\n this.header_rows_data.push(header.innerHTML);\n });\n }\n }\n row_data = [];\n }\n });\n }\n\n private handleDataChange() {\n let i = 0;\n let j = 0;\n this._childNodes.forEach((child: any, index) => {\n if (\n index != 0 &&\n child.tagName &&\n child?.tagName?.toLowerCase() === 'nile-table-row'\n ) {\n let nilerows = this.getChildren(child, 'nile-table-cell-item');\n if (nilerows.length > 0) {\n nilerows.forEach(\n (element: { innerHTML: any }, curr_index: number) => {\n element.innerHTML = this.rows_data[i][curr_index];\n }\n );\n i++;\n }\n }\n });\n }\n\n private handleDataSort(index: number, order: string) {\n this.rows_data.sort((a: any, b: any) => {\n let first_row_value = a[index]?.toLowerCase();\n let second_row_value = b[index]?.toLowerCase();\n return order == 'asc'\n ? first_row_value <= second_row_value\n ? 1\n : -1\n : first_row_value < second_row_value\n ? -1\n : 1;\n });\n }\n\n private handleSort(e: any) {\n const { curr_sort_string, order } = e.detail.value;\n this.sort__index = this.getIndexValue(curr_sort_string);\n this.handleDataSort(this.sort__index, order);\n this.handleDataChange();\n }\n\n private handleSearch(e: any) {\n const searchText = e.detail.value;\n this.search__index = this.getIndexValue(e.target.textContent);\n this.emit('nile-table-search', {\n index: this.search__index,\n value: searchText,\n });\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"base\" part=\"base\">\n <slot name=\"table__header\" class=\"table__header\"></slot>\n <slot\n @slotchange=${this.handleSlotchange}\n @nile-click-sort=${this.handleSort}\n class=\"nile__table__body\"\n @nile-search=${this.handleSearch}\n ></slot>\n </div>\n `;\n }\n\n /* #endregion */\n}\n\nexport default NileTableBody;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-table-body': NileTableBody;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-table-body.js","sourceRoot":"","sources":["../../../src/nile-table-body/nile-table-body.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAEL,IAAI,GAIL,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,KAAK,EACL,KAAK,EAGL,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,WAAW,MAAM,0BAA0B,CAAC;AAGnD;;;;;GAKG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,WAAW;IAAvC;QACL;;;WAGG;;QAMc,cAAS,GAAU,EAAE,CAAC;QACtB,qBAAgB,GAAU,EAAE,CAAC;QA0E9C,gBAAgB;IAClB,CAAC;IAvEQ,MAAM,KAAK,MAAM;QACtB,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB;IAEhB,qBAAqB;IAEb,WAAW,CAAC,KAAU,EAAE,OAAe;QAC7C,OAAO,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAEO,aAAa,CAAC,YAAoB;QACxC,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IAED,gBAAgB,CAAC,CAAM;QACrB,IAAI,QAAQ,GAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;YACtC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE;gBACvE,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;gBAC/D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;oBACvB,QAAQ,CAAC,OAAO,CAAC,CAAC,OAA2B,EAAE,EAAE;wBAC/C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC/B;qBAAM;oBACL,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;oBACpE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1B,WAAW,CAAC,OAAO,CAAC,CAAC,MAAuB,EAAE,KAAa,EAAE,EAAE;4BAC7D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBAC/C,CAAC,CAAC,CAAC;qBACJ;iBACF;gBACD,QAAQ,GAAG,EAAE,CAAC;aACf;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,CAAM;QACvB,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,KAAK,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,KAAK,EAAE;SACjD,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,CAAM;QACzB,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC7B,KAAK,EAAE,IAAI,CAAC,aAAa;YACzB,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;IACL,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAA;;;;wBAIS,IAAI,CAAC,gBAAgB;6BAChB,IAAI,CAAC,UAAU;;yBAEnB,IAAI,CAAC,YAAY;;;KAGrC,CAAC;IACJ,CAAC;CAGF,CAAA;AAhFgB;IAAd,KAAK,CAAC,MAAM,CAAC;kDAA8B;AAE5C;IADC,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDACL;AAExB;IAAR,KAAK,EAAE;gDAA+B;AAC9B;IAAR,KAAK,EAAE;uDAAsC;AACrC;IAAR,KAAK,EAAE;kDAA6B;AAC5B;IAAR,KAAK,EAAE;oDAA+B;AAb5B,aAAa;IADzB,aAAa,CAAC,iBAAiB,CAAC;GACpB,aAAa,CAsFzB;SAtFY,aAAa;AAwF1B,eAAe,aAAa,CAAC","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 property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport {\n customElement,\n query,\n state,\n queryAll,\n queryAssignedElements,\n queryAssignedNodes,\n} from 'lit/decorators.js';\nimport { styles } from './nile-table-body.css';\nimport NileElement from '../internal/nile-element';\nimport { getInnerHTML } from '../slot';\n\n/**\n * nile-table-body component.\n *\n * @tag nile-table-body\n *\n */\n@customElement('nile-table-body')\nexport class NileTableBody extends NileElement {\n /**\n * The styles for TableBody\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n\n @query('slot') defaultSlot: HTMLSlotElement;\n @queryAssignedNodes({ flatten: true })\n _childNodes!: Array<HTMLElement>;\n\n @state() private rows_data: any[] = [];\n @state() private header_rows_data: any[] = [];\n @state() private sort__index: number;\n @state() private search__index: number;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n /* #endregion */\n\n /* #region Methods */\n\n private getChildren(child: any, tagname: string) {\n return child.querySelectorAll(tagname);\n }\n\n private getIndexValue(index__value: string): number {\n return this.header_rows_data.indexOf(index__value);\n }\n\n handleSlotchange(e: any) {\n let row_data: any = [];\n this._childNodes.forEach((child: any) => {\n if (child.tagName && child?.tagName?.toLowerCase() === 'nile-table-row') {\n let nilerows = this.getChildren(child, 'nile-table-cell-item');\n if (nilerows.length > 0) {\n nilerows.forEach((element: { innerHTML: any }) => {\n row_data.push(element.innerHTML);\n });\n this.rows_data.push(row_data);\n } else {\n let nileheaders = this.getChildren(child, 'nile-table-header-item');\n if (nileheaders.length > 0) {\n nileheaders.forEach((header: HTMLSlotElement, index: number) => {\n this.header_rows_data.push(header.innerHTML);\n });\n }\n }\n row_data = [];\n }\n });\n }\n\n private handleSort(e: any) {\n const { curr_sort_string, order } = e.detail.value;\n const header_index = this.getIndexValue(curr_sort_string);\n this.emit('nile-sort', {\n value: { header_index, curr_sort_string, order },\n });\n }\n\n private handleSearch(e: any) {\n const searchText = e.detail.value;\n this.search__index = this.getIndexValue(e.target.textContent);\n this.emit('nile-table-search', {\n index: this.search__index,\n value: searchText,\n });\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"base\" part=\"base\">\n <slot name=\"table__header\" class=\"table__header\"></slot>\n <slot\n @slotchange=${this.handleSlotchange}\n @nile-click-sort=${this.handleSort}\n class=\"nile__table__body\"\n @nile-search=${this.handleSearch}\n ></slot>\n </div>\n `;\n }\n\n /* #endregion */\n}\n\nexport default NileTableBody;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-table-body': NileTableBody;\n }\n}\n"]}
@@ -14,6 +14,7 @@ export const styles = css `
14
14
  box-sizing: border-box;
15
15
  padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-3xl);
16
16
  min-height: 44px;
17
+ height: 44px;
17
18
  }
18
19
 
19
20
  .headers {
@@ -22,7 +23,7 @@ export const styles = css `
22
23
  height: auto;
23
24
  width: 100%;
24
25
  gap: 8px;
25
- color: var(--nile-colors-dark-900);
26
+ color: var(--nile-colors-gray-light-mode-600);
26
27
  font-family: var(--nile-font-family-serif);
27
28
  font-feature-settings: 'clig' off, 'liga' off;
28
29
  font-size: var(--nile-type-scale-2);
@@ -42,13 +43,20 @@ export const styles = css `
42
43
  .sorting__icons {
43
44
  display: flex;
44
45
  flex-direction: column;
45
- /* justify-content: space-between; */
46
46
  align-items: centre;
47
47
  }
48
48
 
49
49
  .sorting__icons nile-icon:hover {
50
50
  opacity: 0.4;
51
51
  }
52
+
53
+ .hover__arrow {
54
+ opacity: 0;
55
+ }
56
+
57
+ .headers:hover .hover__arrow {
58
+ opacity: 0.3;
59
+ }
52
60
  `;
53
61
  export default [styles];
54
62
  //# sourceMappingURL=nile-table-header-item.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-table-header-item.css.js","sourceRoot":"","sources":["../../../src/nile-table-header-item/nile-table-header-item.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","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 { css } from 'lit-element';\n\n/**\n * TableHeaderItem CSS\n */\nexport const styles = css`\n :host {\n display: table-cell;\n box-sizing: border-box;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-3xl);\n min-height: 44px;\n }\n\n .headers {\n display: flex;\n align-items: center;\n height: auto;\n width: 100%;\n gap: 8px;\n color: var(--nile-colors-dark-900);\n font-family: var(--nile-font-family-serif);\n font-feature-settings: 'clig' off, 'liga' off;\n font-size: var(--nile-type-scale-2);\n font-weight: 500;\n font-style: normal;\n line-height: var(--nile-type-scale-5);\n }\n\n slot {\n cursor: pointer;\n }\n\n nile-icon {\n cursor: pointer;\n }\n\n .sorting__icons {\n display: flex;\n flex-direction: column;\n /* justify-content: space-between; */\n align-items: centre;\n }\n\n .sorting__icons nile-icon:hover {\n opacity: 0.4;\n }\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-table-header-item.css.js","sourceRoot":"","sources":["../../../src/nile-table-header-item/nile-table-header-item.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","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 { css } from 'lit-element';\n\n/**\n * TableHeaderItem CSS\n */\nexport const styles = css`\n :host {\n display: table-cell;\n box-sizing: border-box;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-3xl);\n min-height: 44px;\n height: 44px;\n }\n\n .headers {\n display: flex;\n align-items: center;\n height: auto;\n width: 100%;\n gap: 8px;\n color: var(--nile-colors-gray-light-mode-600);\n font-family: var(--nile-font-family-serif);\n font-feature-settings: 'clig' off, 'liga' off;\n font-size: var(--nile-type-scale-2);\n font-weight: 500;\n font-style: normal;\n line-height: var(--nile-type-scale-5);\n }\n\n slot {\n cursor: pointer;\n }\n\n nile-icon {\n cursor: pointer;\n }\n\n .sorting__icons {\n display: flex;\n flex-direction: column;\n align-items: centre;\n }\n\n .sorting__icons nile-icon:hover {\n opacity: 0.4;\n }\n\n .hover__arrow {\n opacity: 0;\n }\n\n .headers:hover .hover__arrow {\n opacity: 0.3;\n }\n`;\n\nexport default [styles];\n"]}
@@ -25,6 +25,7 @@ export declare class NileTableHeaderItem extends NileElement {
25
25
  havefilter: boolean;
26
26
  /** Places the icon . */
27
27
  iconName: string;
28
+ sorting_ct: number;
28
29
  /**
29
30
  * Render method
30
31
  * @slot This is a slot test
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { __decorate } from "tslib";
8
8
  import { html, property, } from 'lit-element';
9
- import { customElement } from 'lit/decorators.js';
9
+ import { customElement, state } from 'lit/decorators.js';
10
10
  import { styles } from './nile-table-header-item.css';
11
11
  import NileElement from '../internal/nile-element';
12
12
  import { HasSlotController } from '../internal/slot';
@@ -26,6 +26,7 @@ let NileTableHeaderItem = class NileTableHeaderItem extends NileElement {
26
26
  this.havefilter = false;
27
27
  /** Places the icon . */
28
28
  this.iconName = '';
29
+ this.sorting_ct = 0;
29
30
  /* #endregion */
30
31
  }
31
32
  /**
@@ -42,11 +43,11 @@ let NileTableHeaderItem = class NileTableHeaderItem extends NileElement {
42
43
  * @slot This is a slot test
43
44
  */
44
45
  handleSort(e) {
45
- const clickedIcon = e.target;
46
- const order = clickedIcon.getAttribute('name') === 'arrowdropup' ? 'asc' : 'desc';
46
+ this.sorting_ct++;
47
47
  let curr_sort_string = this.hasSlotController.host.innerHTML;
48
+ const order = ['normal', 'asc', 'des'];
48
49
  this.emit('nile-click-sort', {
49
- value: { curr_sort_string, order },
50
+ value: { curr_sort_string, order: order[this.sorting_ct % 3] },
50
51
  });
51
52
  }
52
53
  handleSearch(e) {
@@ -56,19 +57,27 @@ let NileTableHeaderItem = class NileTableHeaderItem extends NileElement {
56
57
  return html ` ${this.hasSlotController.test('[default]')
57
58
  ? html ` <div class="headers">
58
59
  <slot> </slot>
59
- ${this.havesort
60
- ? html ` <span class="sorting__icons">
61
- <nile-icon
62
- name="arrowdropup"
63
- size="16"
64
- @click=${this.handleSort}
65
- ></nile-icon>
66
- <nile-icon
67
- name="arrowdropdown"
68
- size="16"
69
- @click=${this.handleSort}
70
- ></nile-icon>
71
- </span>`
60
+ ${this.havesort && this.sorting_ct % 3 === 0
61
+ ? html `<nile-icon
62
+ name="sortdown"
63
+ size="16"
64
+ @click=${this.handleSort}
65
+ class="hover__arrow"
66
+ ></nile-icon>`
67
+ : null}
68
+ ${this.havesort && this.sorting_ct % 3 === 1
69
+ ? html `<nile-icon
70
+ name="sortdown"
71
+ size="16"
72
+ @click=${this.handleSort}
73
+ ></nile-icon>`
74
+ : null}
75
+ ${this.havesort && this.sorting_ct % 3 === 2
76
+ ? html `<nile-icon
77
+ name="sortup"
78
+ size="16"
79
+ @click=${this.handleSort}
80
+ ></nile-icon>`
72
81
  : null}
73
82
  ${this.iconName
74
83
  ? html ` <nile-icon name="${this.iconName}" size="16"></nile-icon>`
@@ -97,6 +106,9 @@ __decorate([
97
106
  __decorate([
98
107
  property({ type: String, reflect: true, attribute: 'icon-name' })
99
108
  ], NileTableHeaderItem.prototype, "iconName", void 0);
109
+ __decorate([
110
+ state()
111
+ ], NileTableHeaderItem.prototype, "sorting_ct", void 0);
100
112
  NileTableHeaderItem = __decorate([
101
113
  customElement('nile-table-header-item')
102
114
  ], NileTableHeaderItem);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-table-header-item.js","sourceRoot":"","sources":["../../../src/nile-table-header-item/nile-table-header-item.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAEL,IAAI,EACJ,QAAQ,GAGT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;GAKG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,WAAW;IAA7C;;QACY,sBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAS9E,sCAAsC;QACM,aAAQ,GAAG,KAAK,CAAC;QAE7D,sCAAsC;QACM,eAAU,GAAG,KAAK,CAAC;QAE/D,wBAAwB;QAC2C,aAAQ,GACzE,EAAE,CAAC;QA2DL,gBAAgB;IAClB,CAAC;IA5EC;;;OAGG;IACI,MAAM,KAAK,MAAM;QACtB,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAYD,gBAAgB;IAEhB,qBAAqB;IAErB;;;OAGG;IACK,UAAU,CAAC,CAAM;QACvB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;QAC7B,MAAM,KAAK,GACT,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACtE,IAAI,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,KAAK,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,CAAM;QACzB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;YACrD,CAAC,CAAC,IAAI,CAAA;;YAEA,IAAI,CAAC,QAAQ;gBACb,CAAC,CAAC,IAAI,CAAA;;;;2BAIS,IAAI,CAAC,UAAU;;;;;2BAKf,IAAI,CAAC,UAAU;;sBAEpB;gBACV,CAAC,CAAC,IAAI;YACN,IAAI,CAAC,QAAQ;gBACb,CAAC,CAAC,IAAI,CAAA,qBAAqB,IAAI,CAAC,QAAQ,0BAA0B;gBAClE,CAAC,CAAC,IAAI,CAAA,EAAE;YACR,IAAI,CAAC,UAAU;gBACf,CAAC,CAAC,IAAI,CAAA;;;;gCAIc,IAAI,CAAC,YAAY;;;;8BAInB;gBAClB,CAAC,CAAC,IAAI,CAAA,EAAE;eACL;YACT,CAAC,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;CAEF,CAAA;AAnE6C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;qDAAkB;AAGjB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDAAoB;AAGI;IAAlE,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;qDAC7D;AAlBM,mBAAmB;IAD/B,aAAa,CAAC,wBAAwB,CAAC;GAC3B,mBAAmB,CA8E/B;SA9EY,mBAAmB;AAgFhC,eAAe,mBAAmB,CAAC","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 property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-table-header-item.css';\nimport NileElement from '../internal/nile-element';\nimport { HasSlotController } from '../internal/slot';\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 /* #endregion */\n\n /* #region Methods */\n\n /**\n * Render method\n * @slot This is a slot test\n */\n private handleSort(e: any) {\n const clickedIcon = e.target;\n const order =\n clickedIcon.getAttribute('name') === 'arrowdropup' ? 'asc' : 'desc';\n let curr_sort_string = this.hasSlotController.host.innerHTML;\n this.emit('nile-click-sort', {\n value: { curr_sort_string, order },\n });\n }\n\n private handleSearch(e: any) {\n this.emit('nile-search', { value: e.detail.value });\n }\n\n public render(): TemplateResult {\n return html` ${this.hasSlotController.test('[default]')\n ? html` <div class=\"headers\">\n <slot> </slot>\n ${this.havesort\n ? html` <span class=\"sorting__icons\">\n <nile-icon\n name=\"arrowdropup\"\n size=\"16\"\n @click=${this.handleSort}\n ></nile-icon>\n <nile-icon\n name=\"arrowdropdown\"\n size=\"16\"\n @click=${this.handleSort}\n ></nile-icon>\n </span>`\n : null}\n ${this.iconName\n ? html` <nile-icon name=\"${this.iconName}\" size=\"16\"></nile-icon>`\n : html``}\n ${this.havefilter\n ? html` <nile-popover title=\"Filter\" placement=\"bottom\">\n <nile-icon name=\"filter\" size=\"16\" 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 : null}`;\n }\n /* #endregion */\n}\n\nexport default NileTableHeaderItem;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-table-header-item': NileTableHeaderItem;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-table-header-item.js","sourceRoot":"","sources":["../../../src/nile-table-header-item/nile-table-header-item.ts"],"names":[],"mappings":"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","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 property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport { customElement, state } from 'lit/decorators.js';\nimport { styles } from './nile-table-header-item.css';\nimport NileElement from '../internal/nile-element';\nimport { HasSlotController } from '../internal/slot';\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 @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 public render(): TemplateResult {\n return html` ${this.hasSlotController.test('[default]')\n ? html` <div class=\"headers\">\n <slot> </slot>\n ${this.havesort && this.sorting_ct % 3 === 0\n ? html`<nile-icon\n name=\"sortdown\"\n size=\"16\"\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=\"sortdown\"\n size=\"16\"\n @click=${this.handleSort}\n ></nile-icon>`\n : null}\n ${this.havesort && this.sorting_ct % 3 === 2\n ? html`<nile-icon\n name=\"sortup\"\n size=\"16\"\n @click=${this.handleSort}\n ></nile-icon>`\n : null}\n ${this.iconName\n ? html` <nile-icon name=\"${this.iconName}\" size=\"16\"></nile-icon>`\n : html``}\n ${this.havefilter\n ? html` <nile-popover title=\"Filter\" placement=\"bottom\">\n <nile-icon name=\"filter\" size=\"16\" 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 : null}`;\n }\n /* #endregion */\n}\n\nexport default NileTableHeaderItem;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-table-header-item': NileTableHeaderItem;\n }\n}\n"]}
@@ -22,6 +22,7 @@ export declare class NileTableRow extends NileElement {
22
22
  * Render method
23
23
  * @slot This is a slot test
24
24
  */
25
+ private handleSortingAlter;
25
26
  render(): TemplateResult;
26
27
  }
27
28
  export default NileTableRow;