@aquera/nile-elements 0.1.39-beta-1.0 → 0.1.39-beta-1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (648) hide show
  1. package/demo/filenames.txt +1 -1
  2. package/demo/nxtgen.css +47 -31
  3. package/demo/variables.css +7 -2
  4. package/dist/index.cjs.js +1 -1
  5. package/dist/index.esm.js +1 -1
  6. package/dist/index.js +613 -384
  7. package/dist/internal/animate.cjs.js +1 -1
  8. package/dist/internal/animate.cjs.js.map +1 -1
  9. package/dist/internal/animate.esm.js +1 -1
  10. package/dist/nile-accordion/nile-accordion.css.cjs.js +1 -1
  11. package/dist/nile-accordion/nile-accordion.css.cjs.js.map +1 -1
  12. package/dist/nile-accordion/nile-accordion.css.esm.js +3 -0
  13. package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js +1 -1
  14. package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js.map +1 -1
  15. package/dist/nile-auto-complete/nile-auto-complete.css.esm.js +5 -2
  16. package/dist/nile-avatar/nile-avatar.css.cjs.js +1 -1
  17. package/dist/nile-avatar/nile-avatar.css.cjs.js.map +1 -1
  18. package/dist/nile-avatar/nile-avatar.css.esm.js +5 -2
  19. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  20. package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -1
  21. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  22. package/dist/nile-badge/index.cjs.js +1 -1
  23. package/dist/nile-badge/index.esm.js +1 -1
  24. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  25. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  26. package/dist/nile-badge/nile-badge.css.cjs.js +1 -1
  27. package/dist/nile-badge/nile-badge.css.cjs.js.map +1 -1
  28. package/dist/nile-badge/nile-badge.css.esm.js +5 -2
  29. package/dist/nile-badge/nile-badge.esm.js +1 -1
  30. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  31. package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
  32. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  33. package/dist/nile-breadcrumb/nile-breadcrumb.css.cjs.js +1 -1
  34. package/dist/nile-breadcrumb/nile-breadcrumb.css.cjs.js.map +1 -1
  35. package/dist/nile-breadcrumb/nile-breadcrumb.css.esm.js +5 -2
  36. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.cjs.js +1 -1
  37. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.cjs.js.map +1 -1
  38. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.esm.js +5 -2
  39. package/dist/nile-button/index.cjs.js +1 -1
  40. package/dist/nile-button/index.esm.js +1 -1
  41. package/dist/nile-button/nile-button.cjs.js +1 -1
  42. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  43. package/dist/nile-button/nile-button.css.cjs.js +1 -1
  44. package/dist/nile-button/nile-button.css.cjs.js.map +1 -1
  45. package/dist/nile-button/nile-button.css.esm.js +13 -10
  46. package/dist/nile-button/nile-button.esm.js +1 -1
  47. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  48. package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
  49. package/dist/nile-button/nile-button.test.esm.js +1 -1
  50. package/dist/nile-button-filter/nile-button-filter.css.cjs.js +1 -1
  51. package/dist/nile-button-filter/nile-button-filter.css.cjs.js.map +1 -1
  52. package/dist/nile-button-filter/nile-button-filter.css.esm.js +5 -2
  53. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js +1 -1
  54. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js.map +1 -1
  55. package/dist/nile-button-toggle/nile-button-toggle.css.esm.js +3 -0
  56. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.cjs.js +1 -1
  57. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.cjs.js.map +1 -1
  58. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.esm.js +5 -2
  59. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  60. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  61. package/dist/nile-calendar/nile-calendar.css.esm.js +3 -0
  62. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  63. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  64. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  65. package/dist/nile-card/nile-card.css.cjs.js +1 -1
  66. package/dist/nile-card/nile-card.css.cjs.js.map +1 -1
  67. package/dist/nile-card/nile-card.css.esm.js +5 -2
  68. package/dist/nile-checkbox/nile-checkbox.css.cjs.js +1 -1
  69. package/dist/nile-checkbox/nile-checkbox.css.cjs.js.map +1 -1
  70. package/dist/nile-checkbox/nile-checkbox.css.esm.js +3 -0
  71. package/dist/nile-chip/nile-chip.css.cjs.js +1 -1
  72. package/dist/nile-chip/nile-chip.css.cjs.js.map +1 -1
  73. package/dist/nile-chip/nile-chip.css.esm.js +5 -2
  74. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  75. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  76. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  77. package/dist/nile-circular-progressbar/nile-circular-progressbar.css.cjs.js +1 -1
  78. package/dist/nile-circular-progressbar/nile-circular-progressbar.css.cjs.js.map +1 -1
  79. package/dist/nile-circular-progressbar/nile-circular-progressbar.css.esm.js +3 -0
  80. package/dist/nile-code-editor/nile-code-editor.css.cjs.js +1 -1
  81. package/dist/nile-code-editor/nile-code-editor.css.cjs.js.map +1 -1
  82. package/dist/nile-code-editor/nile-code-editor.css.esm.js +3 -0
  83. package/dist/nile-content-editor/nile-content-editor.css.cjs.js +1 -1
  84. package/dist/nile-content-editor/nile-content-editor.css.cjs.js.map +1 -1
  85. package/dist/nile-content-editor/nile-content-editor.css.esm.js +3 -0
  86. package/dist/nile-date-picker/nile-date-picker.css.cjs.js +1 -1
  87. package/dist/nile-date-picker/nile-date-picker.css.cjs.js.map +1 -1
  88. package/dist/nile-date-picker/nile-date-picker.css.esm.js +5 -2
  89. package/dist/nile-dialog/index.cjs.js +1 -1
  90. package/dist/nile-dialog/index.esm.js +1 -1
  91. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  92. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  93. package/dist/nile-dialog/nile-dialog.css.cjs.js +1 -1
  94. package/dist/nile-dialog/nile-dialog.css.cjs.js.map +1 -1
  95. package/dist/nile-dialog/nile-dialog.css.esm.js +3 -0
  96. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  97. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  98. package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
  99. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  100. package/dist/nile-divider/nile-divider.css.cjs.js +1 -1
  101. package/dist/nile-divider/nile-divider.css.cjs.js.map +1 -1
  102. package/dist/nile-divider/nile-divider.css.esm.js +3 -0
  103. package/dist/nile-drawer/index.cjs.js +1 -1
  104. package/dist/nile-drawer/index.esm.js +1 -1
  105. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  106. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  107. package/dist/nile-drawer/nile-drawer.css.cjs.js +1 -1
  108. package/dist/nile-drawer/nile-drawer.css.cjs.js.map +1 -1
  109. package/dist/nile-drawer/nile-drawer.css.esm.js +5 -2
  110. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  111. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  112. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
  113. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  114. package/dist/nile-dropdown/nile-dropdown.css.cjs.js +1 -1
  115. package/dist/nile-dropdown/nile-dropdown.css.cjs.js.map +1 -1
  116. package/dist/nile-dropdown/nile-dropdown.css.esm.js +3 -0
  117. package/dist/nile-empty-state/nile-empty-state.css.cjs.js +1 -1
  118. package/dist/nile-empty-state/nile-empty-state.css.cjs.js.map +1 -1
  119. package/dist/nile-empty-state/nile-empty-state.css.esm.js +3 -0
  120. package/dist/nile-error-message/nile-error-message.css.cjs.js +1 -1
  121. package/dist/nile-error-message/nile-error-message.css.cjs.js.map +1 -1
  122. package/dist/nile-error-message/nile-error-message.css.esm.js +3 -0
  123. package/dist/nile-error-notification/nile-error-notification.css.cjs.js +1 -1
  124. package/dist/nile-error-notification/nile-error-notification.css.cjs.js.map +1 -1
  125. package/dist/nile-error-notification/nile-error-notification.css.esm.js +5 -2
  126. package/dist/nile-file-preview/nile-file-preview.css.cjs.js +1 -1
  127. package/dist/nile-file-preview/nile-file-preview.css.cjs.js.map +1 -1
  128. package/dist/nile-file-preview/nile-file-preview.css.esm.js +3 -0
  129. package/dist/nile-file-upload/nile-file-upload.css.cjs.js +1 -1
  130. package/dist/nile-file-upload/nile-file-upload.css.cjs.js.map +1 -1
  131. package/dist/nile-file-upload/nile-file-upload.css.esm.js +3 -0
  132. package/dist/nile-filter-chip/nile-filter-chip.css.cjs.js +1 -1
  133. package/dist/nile-filter-chip/nile-filter-chip.css.cjs.js.map +1 -1
  134. package/dist/nile-filter-chip/nile-filter-chip.css.esm.js +5 -0
  135. package/dist/nile-footer/nile-footer.css.cjs.js +1 -1
  136. package/dist/nile-footer/nile-footer.css.cjs.js.map +1 -1
  137. package/dist/nile-footer/nile-footer.css.esm.js +3 -1
  138. package/dist/nile-form-error-message/nile-form-error-message.css.cjs.js +1 -1
  139. package/dist/nile-form-error-message/nile-form-error-message.css.cjs.js.map +1 -1
  140. package/dist/nile-form-error-message/nile-form-error-message.css.esm.js +5 -2
  141. package/dist/nile-form-group/nile-form-group.css.cjs.js +1 -1
  142. package/dist/nile-form-group/nile-form-group.css.cjs.js.map +1 -1
  143. package/dist/nile-form-group/nile-form-group.css.esm.js +5 -2
  144. package/dist/nile-form-help-text/nile-form-help-text.css.cjs.js +1 -1
  145. package/dist/nile-form-help-text/nile-form-help-text.css.cjs.js.map +1 -1
  146. package/dist/nile-form-help-text/nile-form-help-text.css.esm.js +3 -0
  147. package/dist/nile-format-date/nile-format-date.css.cjs.js +1 -1
  148. package/dist/nile-format-date/nile-format-date.css.cjs.js.map +1 -1
  149. package/dist/nile-format-date/nile-format-date.css.esm.js +3 -0
  150. package/dist/nile-heading/index.cjs.js +1 -1
  151. package/dist/nile-heading/index.cjs.js.map +1 -1
  152. package/dist/nile-heading/index.esm.js +6 -3
  153. package/dist/nile-hero/nile-hero.css.cjs.js +1 -1
  154. package/dist/nile-hero/nile-hero.css.cjs.js.map +1 -1
  155. package/dist/nile-hero/nile-hero.css.esm.js +5 -2
  156. package/dist/nile-hero-header/nile-hero-header.css.cjs.js +1 -1
  157. package/dist/nile-hero-header/nile-hero-header.css.cjs.js.map +1 -1
  158. package/dist/nile-hero-header/nile-hero-header.css.esm.js +5 -2
  159. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  160. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  161. package/dist/nile-icon/icons/svg/savings.cjs.js +2 -0
  162. package/dist/nile-icon/icons/svg/savings.cjs.js.map +1 -0
  163. package/dist/nile-icon/icons/svg/savings.esm.js +1 -0
  164. package/dist/nile-icon/index.cjs.js +1 -1
  165. package/dist/nile-icon/index.cjs.js.map +1 -1
  166. package/dist/nile-icon/index.esm.js +4 -1
  167. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  168. package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
  169. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  170. package/dist/nile-icon-button/index.cjs.js +1 -1
  171. package/dist/nile-icon-button/index.esm.js +1 -1
  172. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  173. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  174. package/dist/nile-icon-button/nile-icon-button.css.cjs.js +1 -1
  175. package/dist/nile-icon-button/nile-icon-button.css.cjs.js.map +1 -1
  176. package/dist/nile-icon-button/nile-icon-button.css.esm.js +4 -1
  177. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  178. package/dist/nile-inline-edit/nile-inline-edit.css.cjs.js +1 -1
  179. package/dist/nile-inline-edit/nile-inline-edit.css.cjs.js.map +1 -1
  180. package/dist/nile-inline-edit/nile-inline-edit.css.esm.js +5 -2
  181. package/dist/nile-input/index.cjs.js +1 -1
  182. package/dist/nile-input/index.esm.js +1 -1
  183. package/dist/nile-input/nile-input.cjs.js +1 -1
  184. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  185. package/dist/nile-input/nile-input.css.cjs.js +1 -1
  186. package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
  187. package/dist/nile-input/nile-input.css.esm.js +15 -4
  188. package/dist/nile-input/nile-input.esm.js +1 -1
  189. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  190. package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
  191. package/dist/nile-input/nile-input.test.esm.js +1 -1
  192. package/dist/nile-link/nile-link.css.cjs.js +1 -1
  193. package/dist/nile-link/nile-link.css.cjs.js.map +1 -1
  194. package/dist/nile-link/nile-link.css.esm.js +3 -0
  195. package/dist/nile-list/nile-list.css.cjs.js +1 -1
  196. package/dist/nile-list/nile-list.css.cjs.js.map +1 -1
  197. package/dist/nile-list/nile-list.css.esm.js +5 -2
  198. package/dist/nile-list-item/nile-list-item.css.cjs.js +1 -1
  199. package/dist/nile-list-item/nile-list-item.css.cjs.js.map +1 -1
  200. package/dist/nile-list-item/nile-list-item.css.esm.js +6 -3
  201. package/dist/nile-loader/nile-loader.css.cjs.js +1 -1
  202. package/dist/nile-loader/nile-loader.css.cjs.js.map +1 -1
  203. package/dist/nile-loader/nile-loader.css.esm.js +5 -2
  204. package/dist/nile-menu/nile-menu.css.cjs.js +1 -1
  205. package/dist/nile-menu/nile-menu.css.cjs.js.map +1 -1
  206. package/dist/nile-menu/nile-menu.css.esm.js +5 -2
  207. package/dist/nile-menu-item/index.cjs.js +1 -1
  208. package/dist/nile-menu-item/index.esm.js +1 -1
  209. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  210. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  211. package/dist/nile-menu-item/nile-menu-item.css.cjs.js +1 -1
  212. package/dist/nile-menu-item/nile-menu-item.css.cjs.js.map +1 -1
  213. package/dist/nile-menu-item/nile-menu-item.css.esm.js +3 -0
  214. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  215. package/dist/nile-option/index.cjs.js +1 -1
  216. package/dist/nile-option/index.esm.js +1 -1
  217. package/dist/nile-option/nile-option.cjs.js +1 -1
  218. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  219. package/dist/nile-option/nile-option.css.cjs.js +1 -1
  220. package/dist/nile-option/nile-option.css.cjs.js.map +1 -1
  221. package/dist/nile-option/nile-option.css.esm.js +5 -2
  222. package/dist/nile-option/nile-option.esm.js +1 -1
  223. package/dist/nile-page-header/nile-page-header.css.cjs.js +1 -1
  224. package/dist/nile-page-header/nile-page-header.css.cjs.js.map +1 -1
  225. package/dist/nile-page-header/nile-page-header.css.esm.js +5 -2
  226. package/dist/nile-popover/nile-popover.css.cjs.js +1 -1
  227. package/dist/nile-popover/nile-popover.css.cjs.js.map +1 -1
  228. package/dist/nile-popover/nile-popover.css.esm.js +5 -2
  229. package/dist/nile-popup/nile-popup.css.cjs.js +1 -1
  230. package/dist/nile-popup/nile-popup.css.cjs.js.map +1 -1
  231. package/dist/nile-popup/nile-popup.css.esm.js +3 -0
  232. package/dist/nile-progress-bar/nile-progress-bar.css.cjs.js +1 -1
  233. package/dist/nile-progress-bar/nile-progress-bar.css.cjs.js.map +1 -1
  234. package/dist/nile-progress-bar/nile-progress-bar.css.esm.js +8 -2
  235. package/dist/nile-radio/nile-radio.css.cjs.js +1 -1
  236. package/dist/nile-radio/nile-radio.css.cjs.js.map +1 -1
  237. package/dist/nile-radio/nile-radio.css.esm.js +3 -0
  238. package/dist/nile-radio-group/nile-radio-group.css.cjs.js +1 -1
  239. package/dist/nile-radio-group/nile-radio-group.css.cjs.js.map +1 -1
  240. package/dist/nile-radio-group/nile-radio-group.css.esm.js +5 -2
  241. package/dist/nile-section-message/nile-section-message.css.cjs.js +1 -1
  242. package/dist/nile-section-message/nile-section-message.css.cjs.js.map +1 -1
  243. package/dist/nile-section-message/nile-section-message.css.esm.js +3 -0
  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.css.cjs.js +1 -1
  249. package/dist/nile-select/nile-select.css.cjs.js.map +1 -1
  250. package/dist/nile-select/nile-select.css.esm.js +8 -5
  251. package/dist/nile-select/nile-select.esm.js +1 -1
  252. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  253. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  254. package/dist/nile-select/nile-select.test.esm.js +1 -1
  255. package/dist/nile-sidebar/index.cjs.js +1 -1
  256. package/dist/nile-sidebar/index.cjs.js.map +1 -1
  257. package/dist/nile-sidebar/index.esm.js +7 -4
  258. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +1 -1
  259. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +1 -1
  260. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +5 -2
  261. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +1 -1
  262. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +1 -1
  263. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +5 -2
  264. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +1 -1
  265. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +1 -1
  266. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +3 -0
  267. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js +1 -1
  268. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js.map +1 -1
  269. package/dist/nile-slide-toggle/nile-slide-toggle.css.esm.js +5 -2
  270. package/dist/nile-spinner/nile-spinner.css.cjs.js +1 -1
  271. package/dist/nile-spinner/nile-spinner.css.cjs.js.map +1 -1
  272. package/dist/nile-spinner/nile-spinner.css.esm.js +5 -2
  273. package/dist/nile-split-panel/nile-split-panel.css.cjs.js +1 -1
  274. package/dist/nile-split-panel/nile-split-panel.css.cjs.js.map +1 -1
  275. package/dist/nile-split-panel/nile-split-panel.css.esm.js +5 -2
  276. package/dist/nile-stepper/nile-stepper.css.cjs.js +1 -1
  277. package/dist/nile-stepper/nile-stepper.css.cjs.js.map +1 -1
  278. package/dist/nile-stepper/nile-stepper.css.esm.js +5 -2
  279. package/dist/nile-stepper-item/nile-stepper-item.css.cjs.js +1 -1
  280. package/dist/nile-stepper-item/nile-stepper-item.css.cjs.js.map +1 -1
  281. package/dist/nile-stepper-item/nile-stepper-item.css.esm.js +3 -0
  282. package/dist/nile-switcher/nile-switcher.css.cjs.js +1 -1
  283. package/dist/nile-switcher/nile-switcher.css.cjs.js.map +1 -1
  284. package/dist/nile-switcher/nile-switcher.css.esm.js +3 -0
  285. package/dist/nile-tab/index.cjs.js +1 -1
  286. package/dist/nile-tab/index.esm.js +1 -1
  287. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  288. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  289. package/dist/nile-tab/nile-tab.css.cjs.js +1 -1
  290. package/dist/nile-tab/nile-tab.css.cjs.js.map +1 -1
  291. package/dist/nile-tab/nile-tab.css.esm.js +3 -0
  292. package/dist/nile-tab/nile-tab.esm.js +1 -1
  293. package/dist/nile-tab-group/index.cjs.js +1 -1
  294. package/dist/nile-tab-group/index.esm.js +1 -1
  295. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  296. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  297. package/dist/nile-tab-group/nile-tab-group.css.cjs.js +1 -1
  298. package/dist/nile-tab-group/nile-tab-group.css.cjs.js.map +1 -1
  299. package/dist/nile-tab-group/nile-tab-group.css.esm.js +5 -2
  300. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  301. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  302. package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
  303. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  304. package/dist/nile-tab-panel/nile-tab-panel.css.cjs.js +1 -1
  305. package/dist/nile-tab-panel/nile-tab-panel.css.cjs.js.map +1 -1
  306. package/dist/nile-tab-panel/nile-tab-panel.css.esm.js +5 -3
  307. package/dist/nile-table/nile-table.css.cjs.js +1 -1
  308. package/dist/nile-table/nile-table.css.cjs.js.map +1 -1
  309. package/dist/nile-table/nile-table.css.esm.js +3 -0
  310. package/dist/nile-table-body/nile-table-body.css.cjs.js +1 -1
  311. package/dist/nile-table-body/nile-table-body.css.cjs.js.map +1 -1
  312. package/dist/nile-table-body/nile-table-body.css.esm.js +3 -0
  313. package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js +1 -1
  314. package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js.map +1 -1
  315. package/dist/nile-table-cell-item/nile-table-cell-item.css.esm.js +6 -3
  316. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
  317. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
  318. package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +4 -1
  319. package/dist/nile-table-row/nile-table-row.css.cjs.js +1 -1
  320. package/dist/nile-table-row/nile-table-row.css.cjs.js.map +1 -1
  321. package/dist/nile-table-row/nile-table-row.css.esm.js +5 -2
  322. package/dist/nile-tag/index.cjs.js +1 -1
  323. package/dist/nile-tag/index.esm.js +1 -1
  324. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  325. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  326. package/dist/nile-tag/nile-tag.css.cjs.js +1 -1
  327. package/dist/nile-tag/nile-tag.css.cjs.js.map +1 -1
  328. package/dist/nile-tag/nile-tag.css.esm.js +3 -0
  329. package/dist/nile-tag/nile-tag.esm.js +1 -1
  330. package/dist/nile-textarea/nile-textarea.css.cjs.js +1 -1
  331. package/dist/nile-textarea/nile-textarea.css.cjs.js.map +1 -1
  332. package/dist/nile-textarea/nile-textarea.css.esm.js +3 -0
  333. package/dist/nile-title/nile-title.css.cjs.js +1 -1
  334. package/dist/nile-title/nile-title.css.cjs.js.map +1 -1
  335. package/dist/nile-title/nile-title.css.esm.js +5 -2
  336. package/dist/nile-toast/index.cjs.js +1 -1
  337. package/dist/nile-toast/index.esm.js +1 -1
  338. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  339. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  340. package/dist/nile-toast/nile-toast.css.cjs.js +1 -1
  341. package/dist/nile-toast/nile-toast.css.cjs.js.map +1 -1
  342. package/dist/nile-toast/nile-toast.css.esm.js +3 -0
  343. package/dist/nile-toast/nile-toast.esm.js +1 -1
  344. package/dist/nile-toolbar/nile-toolbar.css.cjs.js +1 -1
  345. package/dist/nile-toolbar/nile-toolbar.css.cjs.js.map +1 -1
  346. package/dist/nile-toolbar/nile-toolbar.css.esm.js +3 -0
  347. package/dist/nile-tooltip/index.cjs.js +1 -1
  348. package/dist/nile-tooltip/index.esm.js +1 -1
  349. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  350. package/dist/nile-tooltip/nile-tooltip.cjs.js.map +1 -1
  351. package/dist/nile-tooltip/nile-tooltip.css.cjs.js +1 -1
  352. package/dist/nile-tooltip/nile-tooltip.css.cjs.js.map +1 -1
  353. package/dist/nile-tooltip/nile-tooltip.css.esm.js +51 -79
  354. package/dist/nile-tooltip/nile-tooltip.esm.js +28 -23
  355. package/dist/nile-tree/index.cjs.js +1 -1
  356. package/dist/nile-tree/index.esm.js +1 -1
  357. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  358. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  359. package/dist/nile-tree/nile-tree.css.cjs.js +1 -1
  360. package/dist/nile-tree/nile-tree.css.cjs.js.map +1 -1
  361. package/dist/nile-tree/nile-tree.css.esm.js +3 -0
  362. package/dist/nile-tree/nile-tree.esm.js +1 -1
  363. package/dist/nile-tree-item/index.cjs.js +1 -1
  364. package/dist/nile-tree-item/index.esm.js +1 -1
  365. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  366. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  367. package/dist/nile-tree-item/nile-tree-item.css.cjs.js +1 -1
  368. package/dist/nile-tree-item/nile-tree-item.css.cjs.js.map +1 -1
  369. package/dist/nile-tree-item/nile-tree-item.css.esm.js +3 -0
  370. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  371. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.css.cjs.js +1 -1
  372. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.css.cjs.js.map +1 -1
  373. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.css.esm.js +3 -0
  374. package/dist/src/nile-accordion/nile-accordion.css.js +3 -0
  375. package/dist/src/nile-accordion/nile-accordion.css.js.map +1 -1
  376. package/dist/src/nile-auto-complete/nile-auto-complete.css.js +3 -0
  377. package/dist/src/nile-auto-complete/nile-auto-complete.css.js.map +1 -1
  378. package/dist/src/nile-avatar/nile-avatar.css.js +3 -0
  379. package/dist/src/nile-avatar/nile-avatar.css.js.map +1 -1
  380. package/dist/src/nile-badge/nile-badge.css.js +3 -0
  381. package/dist/src/nile-badge/nile-badge.css.js.map +1 -1
  382. package/dist/src/nile-breadcrumb/nile-breadcrumb.css.js +3 -0
  383. package/dist/src/nile-breadcrumb/nile-breadcrumb.css.js.map +1 -1
  384. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.css.js +3 -0
  385. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.css.js.map +1 -1
  386. package/dist/src/nile-button/nile-button.css.js +13 -10
  387. package/dist/src/nile-button/nile-button.css.js.map +1 -1
  388. package/dist/src/nile-button-filter/nile-button-filter.css.js +3 -0
  389. package/dist/src/nile-button-filter/nile-button-filter.css.js.map +1 -1
  390. package/dist/src/nile-button-toggle/nile-button-toggle.css.js +3 -0
  391. package/dist/src/nile-button-toggle/nile-button-toggle.css.js.map +1 -1
  392. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.js +3 -0
  393. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.js.map +1 -1
  394. package/dist/src/nile-calendar/nile-calendar.css.js +3 -0
  395. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  396. package/dist/src/nile-card/nile-card.css.js +3 -0
  397. package/dist/src/nile-card/nile-card.css.js.map +1 -1
  398. package/dist/src/nile-checkbox/nile-checkbox.css.js +3 -0
  399. package/dist/src/nile-checkbox/nile-checkbox.css.js.map +1 -1
  400. package/dist/src/nile-chip/nile-chip.css.js +3 -0
  401. package/dist/src/nile-chip/nile-chip.css.js.map +1 -1
  402. package/dist/src/nile-circular-progressbar/nile-circular-progressbar.css.js +3 -0
  403. package/dist/src/nile-circular-progressbar/nile-circular-progressbar.css.js.map +1 -1
  404. package/dist/src/nile-code-editor/nile-code-editor.css.js +3 -0
  405. package/dist/src/nile-code-editor/nile-code-editor.css.js.map +1 -1
  406. package/dist/src/nile-content-editor/nile-content-editor.css.js +3 -0
  407. package/dist/src/nile-content-editor/nile-content-editor.css.js.map +1 -1
  408. package/dist/src/nile-date-picker/nile-date-picker.css.js +3 -0
  409. package/dist/src/nile-date-picker/nile-date-picker.css.js.map +1 -1
  410. package/dist/src/nile-dialog/nile-dialog.css.js +3 -0
  411. package/dist/src/nile-dialog/nile-dialog.css.js.map +1 -1
  412. package/dist/src/nile-divider/nile-divider.css.js +3 -0
  413. package/dist/src/nile-divider/nile-divider.css.js.map +1 -1
  414. package/dist/src/nile-drawer/nile-drawer.css.js +3 -0
  415. package/dist/src/nile-drawer/nile-drawer.css.js.map +1 -1
  416. package/dist/src/nile-dropdown/nile-dropdown.css.js +3 -0
  417. package/dist/src/nile-dropdown/nile-dropdown.css.js.map +1 -1
  418. package/dist/src/nile-empty-state/nile-empty-state.css.js +3 -0
  419. package/dist/src/nile-empty-state/nile-empty-state.css.js.map +1 -1
  420. package/dist/src/nile-error-message/nile-error-message.css.js +3 -0
  421. package/dist/src/nile-error-message/nile-error-message.css.js.map +1 -1
  422. package/dist/src/nile-error-notification/nile-error-notification.css.js +3 -0
  423. package/dist/src/nile-error-notification/nile-error-notification.css.js.map +1 -1
  424. package/dist/src/nile-file-preview/nile-file-preview.css.js +3 -0
  425. package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -1
  426. package/dist/src/nile-file-upload/nile-file-upload.css.js +3 -0
  427. package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -1
  428. package/dist/src/nile-filter-chip/nile-filter-chip.css.js +5 -0
  429. package/dist/src/nile-filter-chip/nile-filter-chip.css.js.map +1 -1
  430. package/dist/src/nile-footer/nile-footer.css.js +3 -1
  431. package/dist/src/nile-footer/nile-footer.css.js.map +1 -1
  432. package/dist/src/nile-form-error-message/nile-form-error-message.css.js +3 -0
  433. package/dist/src/nile-form-error-message/nile-form-error-message.css.js.map +1 -1
  434. package/dist/src/nile-form-group/nile-form-group.css.js +3 -0
  435. package/dist/src/nile-form-group/nile-form-group.css.js.map +1 -1
  436. package/dist/src/nile-form-help-text/nile-form-help-text.css.js +3 -0
  437. package/dist/src/nile-form-help-text/nile-form-help-text.css.js.map +1 -1
  438. package/dist/src/nile-format-date/nile-format-date.css.js +3 -0
  439. package/dist/src/nile-format-date/nile-format-date.css.js.map +1 -1
  440. package/dist/src/nile-heading/index.js +4 -1
  441. package/dist/src/nile-heading/index.js.map +1 -1
  442. package/dist/src/nile-hero/nile-hero.css.js +3 -0
  443. package/dist/src/nile-hero/nile-hero.css.js.map +1 -1
  444. package/dist/src/nile-hero-header/nile-hero-header.css.js +3 -0
  445. package/dist/src/nile-hero-header/nile-hero-header.css.js.map +1 -1
  446. package/dist/src/nile-icon/icons/svg/index.d.ts +1 -0
  447. package/dist/src/nile-icon/icons/svg/index.js +1 -0
  448. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  449. package/dist/src/nile-icon/icons/svg/savings.d.ts +5 -0
  450. package/dist/src/nile-icon/icons/svg/savings.js +5 -0
  451. package/dist/src/nile-icon/icons/svg/savings.js.map +1 -0
  452. package/dist/src/nile-icon/index.js +3 -0
  453. package/dist/src/nile-icon/index.js.map +1 -1
  454. package/dist/src/nile-icon-button/nile-icon-button.css.js +4 -1
  455. package/dist/src/nile-icon-button/nile-icon-button.css.js.map +1 -1
  456. package/dist/src/nile-inline-edit/nile-inline-edit.css.js +3 -0
  457. package/dist/src/nile-inline-edit/nile-inline-edit.css.js.map +1 -1
  458. package/dist/src/nile-input/nile-input.css.js +13 -2
  459. package/dist/src/nile-input/nile-input.css.js.map +1 -1
  460. package/dist/src/nile-link/nile-link.css.js +3 -0
  461. package/dist/src/nile-link/nile-link.css.js.map +1 -1
  462. package/dist/src/nile-list/nile-list.css.js +3 -0
  463. package/dist/src/nile-list/nile-list.css.js.map +1 -1
  464. package/dist/src/nile-list-item/nile-list-item.css.js +4 -1
  465. package/dist/src/nile-list-item/nile-list-item.css.js.map +1 -1
  466. package/dist/src/nile-loader/nile-loader.css.js +3 -0
  467. package/dist/src/nile-loader/nile-loader.css.js.map +1 -1
  468. package/dist/src/nile-menu/nile-menu.css.js +3 -0
  469. package/dist/src/nile-menu/nile-menu.css.js.map +1 -1
  470. package/dist/src/nile-menu-item/nile-menu-item.css.js +3 -0
  471. package/dist/src/nile-menu-item/nile-menu-item.css.js.map +1 -1
  472. package/dist/src/nile-option/nile-option.css.js +3 -0
  473. package/dist/src/nile-option/nile-option.css.js.map +1 -1
  474. package/dist/src/nile-page-header/nile-page-header.css.js +3 -0
  475. package/dist/src/nile-page-header/nile-page-header.css.js.map +1 -1
  476. package/dist/src/nile-popover/nile-popover.css.js +3 -0
  477. package/dist/src/nile-popover/nile-popover.css.js.map +1 -1
  478. package/dist/src/nile-popup/nile-popup.css.js +3 -0
  479. package/dist/src/nile-popup/nile-popup.css.js.map +1 -1
  480. package/dist/src/nile-progress-bar/nile-progress-bar.css.js +6 -0
  481. package/dist/src/nile-progress-bar/nile-progress-bar.css.js.map +1 -1
  482. package/dist/src/nile-radio/nile-radio.css.js +3 -0
  483. package/dist/src/nile-radio/nile-radio.css.js.map +1 -1
  484. package/dist/src/nile-radio-group/nile-radio-group.css.js +3 -0
  485. package/dist/src/nile-radio-group/nile-radio-group.css.js.map +1 -1
  486. package/dist/src/nile-section-message/nile-section-message.css.js +3 -0
  487. package/dist/src/nile-section-message/nile-section-message.css.js.map +1 -1
  488. package/dist/src/nile-select/nile-select.css.js +8 -5
  489. package/dist/src/nile-select/nile-select.css.js.map +1 -1
  490. package/dist/src/nile-sidebar/index.js +3 -0
  491. package/dist/src/nile-sidebar/index.js.map +1 -1
  492. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +3 -0
  493. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +1 -1
  494. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +3 -0
  495. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +1 -1
  496. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +3 -0
  497. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +1 -1
  498. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js +3 -0
  499. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js.map +1 -1
  500. package/dist/src/nile-spinner/nile-spinner.css.js +3 -0
  501. package/dist/src/nile-spinner/nile-spinner.css.js.map +1 -1
  502. package/dist/src/nile-split-panel/nile-split-panel.css.js +3 -0
  503. package/dist/src/nile-split-panel/nile-split-panel.css.js.map +1 -1
  504. package/dist/src/nile-stepper/nile-stepper.css.js +3 -0
  505. package/dist/src/nile-stepper/nile-stepper.css.js.map +1 -1
  506. package/dist/src/nile-stepper-item/nile-stepper-item.css.js +3 -0
  507. package/dist/src/nile-stepper-item/nile-stepper-item.css.js.map +1 -1
  508. package/dist/src/nile-switcher/nile-switcher.css.js +3 -0
  509. package/dist/src/nile-switcher/nile-switcher.css.js.map +1 -1
  510. package/dist/src/nile-tab/nile-tab.css.js +3 -0
  511. package/dist/src/nile-tab/nile-tab.css.js.map +1 -1
  512. package/dist/src/nile-tab-group/nile-tab-group.css.js +3 -0
  513. package/dist/src/nile-tab-group/nile-tab-group.css.js.map +1 -1
  514. package/dist/src/nile-tab-panel/nile-tab-panel.css.js +3 -1
  515. package/dist/src/nile-tab-panel/nile-tab-panel.css.js.map +1 -1
  516. package/dist/src/nile-table/nile-table.css.js +3 -0
  517. package/dist/src/nile-table/nile-table.css.js.map +1 -1
  518. package/dist/src/nile-table-body/nile-table-body.css.js +3 -0
  519. package/dist/src/nile-table-body/nile-table-body.css.js.map +1 -1
  520. package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js +4 -1
  521. package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js.map +1 -1
  522. package/dist/src/nile-table-header-item/nile-table-header-item.css.js +4 -1
  523. package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
  524. package/dist/src/nile-table-row/nile-table-row.css.js +3 -0
  525. package/dist/src/nile-table-row/nile-table-row.css.js.map +1 -1
  526. package/dist/src/nile-tag/nile-tag.css.js +3 -0
  527. package/dist/src/nile-tag/nile-tag.css.js.map +1 -1
  528. package/dist/src/nile-textarea/nile-textarea.css.js +3 -0
  529. package/dist/src/nile-textarea/nile-textarea.css.js.map +1 -1
  530. package/dist/src/nile-title/nile-title.css.js +3 -0
  531. package/dist/src/nile-title/nile-title.css.js.map +1 -1
  532. package/dist/src/nile-toast/nile-toast.css.js +3 -0
  533. package/dist/src/nile-toast/nile-toast.css.js.map +1 -1
  534. package/dist/src/nile-toolbar/nile-toolbar.css.js +3 -0
  535. package/dist/src/nile-toolbar/nile-toolbar.css.js.map +1 -1
  536. package/dist/src/nile-tooltip/nile-tooltip.css.js +49 -77
  537. package/dist/src/nile-tooltip/nile-tooltip.css.js.map +1 -1
  538. package/dist/src/nile-tooltip/nile-tooltip.d.ts +46 -24
  539. package/dist/src/nile-tooltip/nile-tooltip.js +232 -235
  540. package/dist/src/nile-tooltip/nile-tooltip.js.map +1 -1
  541. package/dist/src/nile-tree/nile-tree.css.js +3 -0
  542. package/dist/src/nile-tree/nile-tree.css.js.map +1 -1
  543. package/dist/src/nile-tree-item/nile-tree-item.css.js +3 -0
  544. package/dist/src/nile-tree-item/nile-tree-item.css.js.map +1 -1
  545. package/dist/src/nile-vertical-stepper-item/nile-vertical-stepper-item.css.js +3 -0
  546. package/dist/src/nile-vertical-stepper-item/nile-vertical-stepper-item.css.js.map +1 -1
  547. package/dist/tsconfig.tsbuildinfo +1 -1
  548. package/package.json +1 -1
  549. package/src/nile-accordion/nile-accordion.css.ts +3 -0
  550. package/src/nile-auto-complete/nile-auto-complete.css.ts +3 -0
  551. package/src/nile-avatar/nile-avatar.css.ts +3 -0
  552. package/src/nile-badge/nile-badge.css.ts +3 -0
  553. package/src/nile-breadcrumb/nile-breadcrumb.css.ts +3 -0
  554. package/src/nile-breadcrumb-item/nile-breadcrumb-item.css.ts +3 -0
  555. package/src/nile-button/nile-button.css.ts +13 -10
  556. package/src/nile-button-filter/nile-button-filter.css.ts +3 -0
  557. package/src/nile-button-toggle/nile-button-toggle.css.ts +3 -0
  558. package/src/nile-button-toggle-group/nile-button-toggle-group.css.ts +3 -0
  559. package/src/nile-calendar/nile-calendar.css.ts +3 -0
  560. package/src/nile-card/nile-card.css.ts +3 -0
  561. package/src/nile-checkbox/nile-checkbox.css.ts +3 -0
  562. package/src/nile-chip/nile-chip.css.ts +3 -0
  563. package/src/nile-circular-progressbar/nile-circular-progressbar.css.ts +3 -0
  564. package/src/nile-code-editor/nile-code-editor.css.ts +3 -0
  565. package/src/nile-content-editor/nile-content-editor.css.ts +3 -0
  566. package/src/nile-date-picker/nile-date-picker.css.ts +3 -0
  567. package/src/nile-dialog/nile-dialog.css.ts +3 -0
  568. package/src/nile-divider/nile-divider.css.ts +3 -0
  569. package/src/nile-drawer/nile-drawer.css.ts +3 -0
  570. package/src/nile-dropdown/nile-dropdown.css.ts +3 -0
  571. package/src/nile-empty-state/nile-empty-state.css.ts +3 -0
  572. package/src/nile-error-message/nile-error-message.css.ts +3 -0
  573. package/src/nile-error-notification/nile-error-notification.css.ts +3 -0
  574. package/src/nile-file-preview/nile-file-preview.css.ts +3 -0
  575. package/src/nile-file-upload/nile-file-upload.css.ts +3 -0
  576. package/src/nile-filter-chip/nile-filter-chip.css.ts +5 -0
  577. package/src/nile-footer/nile-footer.css.ts +3 -1
  578. package/src/nile-form-error-message/nile-form-error-message.css.ts +3 -0
  579. package/src/nile-form-group/nile-form-group.css.ts +3 -0
  580. package/src/nile-form-help-text/nile-form-help-text.css.ts +3 -0
  581. package/src/nile-format-date/nile-format-date.css.ts +3 -0
  582. package/src/nile-heading/index.ts +4 -1
  583. package/src/nile-hero/nile-hero.css.ts +3 -0
  584. package/src/nile-hero-header/nile-hero-header.css.ts +3 -0
  585. package/src/nile-icon/icons/svg/index.ts +1 -0
  586. package/src/nile-icon/icons/svg/savings.ts +5 -0
  587. package/src/nile-icon/index.ts +3 -0
  588. package/src/nile-icon-button/nile-icon-button.css.ts +4 -1
  589. package/src/nile-inline-edit/nile-inline-edit.css.ts +3 -0
  590. package/src/nile-input/nile-input.css.ts +13 -2
  591. package/src/nile-link/nile-link.css.ts +3 -0
  592. package/src/nile-list/nile-list.css.ts +3 -0
  593. package/src/nile-list-item/nile-list-item.css.ts +4 -1
  594. package/src/nile-loader/nile-loader.css.ts +3 -0
  595. package/src/nile-menu/nile-menu.css.ts +3 -0
  596. package/src/nile-menu-item/nile-menu-item.css.ts +3 -0
  597. package/src/nile-option/nile-option.css.ts +3 -0
  598. package/src/nile-page-header/nile-page-header.css.ts +3 -0
  599. package/src/nile-popover/nile-popover.css.ts +3 -0
  600. package/src/nile-popup/nile-popup.css.ts +3 -0
  601. package/src/nile-progress-bar/nile-progress-bar.css.ts +6 -0
  602. package/src/nile-radio/nile-radio.css.ts +3 -0
  603. package/src/nile-radio-group/nile-radio-group.css.ts +3 -0
  604. package/src/nile-section-message/nile-section-message.css.ts +3 -0
  605. package/src/nile-select/nile-select.css.ts +8 -5
  606. package/src/nile-sidebar/index.ts +3 -0
  607. package/src/nile-sidebar-menu/nile-sidebar-menu.css.ts +3 -0
  608. package/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.ts +3 -0
  609. package/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.ts +3 -0
  610. package/src/nile-slide-toggle/nile-slide-toggle.css.ts +3 -0
  611. package/src/nile-spinner/nile-spinner.css.ts +3 -0
  612. package/src/nile-split-panel/nile-split-panel.css.ts +3 -0
  613. package/src/nile-stepper/nile-stepper.css.ts +3 -0
  614. package/src/nile-stepper-item/nile-stepper-item.css.ts +3 -0
  615. package/src/nile-switcher/nile-switcher.css.ts +3 -0
  616. package/src/nile-tab/nile-tab.css.ts +3 -0
  617. package/src/nile-tab-group/nile-tab-group.css.ts +3 -0
  618. package/src/nile-tab-panel/nile-tab-panel.css.ts +3 -1
  619. package/src/nile-table/nile-table.css.ts +3 -0
  620. package/src/nile-table-body/nile-table-body.css.ts +3 -0
  621. package/src/nile-table-cell-item/nile-table-cell-item.css.ts +4 -1
  622. package/src/nile-table-header-item/nile-table-header-item.css.ts +4 -1
  623. package/src/nile-table-row/nile-table-row.css.ts +3 -0
  624. package/src/nile-tag/nile-tag.css.ts +3 -0
  625. package/src/nile-textarea/nile-textarea.css.ts +3 -0
  626. package/src/nile-title/nile-title.css.ts +3 -0
  627. package/src/nile-toast/nile-toast.css.ts +3 -0
  628. package/src/nile-toolbar/nile-toolbar.css.ts +3 -0
  629. package/src/nile-tooltip/nile-tooltip.css.ts +49 -77
  630. package/src/nile-tooltip/nile-tooltip.ts +231 -269
  631. package/src/nile-tree/nile-tree.css.ts +3 -0
  632. package/src/nile-tree-item/nile-tree-item.css.ts +3 -0
  633. package/src/nile-vertical-stepper-item/nile-vertical-stepper-item.css.ts +3 -0
  634. package/vscode-html-custom-data.json +91 -79
  635. package/dist/nile-tooltip/nile-tooltip-utils.cjs.js +0 -2
  636. package/dist/nile-tooltip/nile-tooltip-utils.cjs.js.map +0 -1
  637. package/dist/nile-tooltip/nile-tooltip-utils.esm.js +0 -1
  638. package/dist/nile-tooltip/nile-tooltip.test.cjs.js +0 -2
  639. package/dist/nile-tooltip/nile-tooltip.test.cjs.js.map +0 -1
  640. package/dist/nile-tooltip/nile-tooltip.test.esm.js +0 -47
  641. package/dist/src/nile-tooltip/nile-tooltip-utils.d.ts +0 -18
  642. package/dist/src/nile-tooltip/nile-tooltip-utils.js +0 -216
  643. package/dist/src/nile-tooltip/nile-tooltip-utils.js.map +0 -1
  644. package/dist/src/nile-tooltip/nile-tooltip.test.d.ts +0 -1
  645. package/dist/src/nile-tooltip/nile-tooltip.test.js +0 -148
  646. package/dist/src/nile-tooltip/nile-tooltip.test.js.map +0 -1
  647. package/src/nile-tooltip/nile-tooltip-utils.ts +0 -271
  648. package/src/nile-tooltip/nile-tooltip.test.ts +0 -168
@@ -1,17 +1,23 @@
1
- import { __decorate } from "tslib";
2
1
  /**
3
2
  * Copyright Aquera Inc 2023
4
3
  *
5
4
  * This source code is licensed under the BSD-3-Clause license found in the
6
5
  * LICENSE file in the root directory of this source tree.
7
6
  */
8
- import { html } from 'lit';
9
- import { customElement, property, query } from 'lit/decorators.js';
7
+ import { __decorate } from "tslib";
10
8
  import { styles } from './nile-tooltip.css';
9
+ import '../nile-popup/nile-popup';
10
+ import { animateTo, parseDuration, stopAnimations } from '../internal/animate';
11
+ import { classMap } from 'lit/directives/class-map.js';
12
+ import { customElement, property, query } from 'lit/decorators.js';
13
+ import { getAnimation, setDefaultAnimation, } from '../utilities/animation-registry';
14
+ import { html } from 'lit';
15
+ // import { LocalizeController } from '../utilities/localize';
16
+ import { waitForEvent } from '../internal/event';
17
+ import { watch } from '../internal/watch';
11
18
  import NileElement from '../internal/nile-element';
12
- import { isInViewport, getValidTooltipPosition, getCaretPosition } from './nile-tooltip-utils';
13
19
  /**
14
- * Nile tooltip component.
20
+ * Nile icon component.
15
21
  *
16
22
  * @tag nile-tooltip
17
23
  *
@@ -19,288 +25,279 @@ import { isInViewport, getValidTooltipPosition, getCaretPosition } from './nile-
19
25
  let NileTooltip = class NileTooltip extends NileElement {
20
26
  constructor() {
21
27
  super(...arguments);
28
+ /** The tooltip's content. If you need to display HTML, use the `content` slot instead. */
22
29
  this.content = '';
30
+ /** Size Property to decide the tool tip size */
31
+ this.size = 'small';
32
+ /**
33
+ * The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip
34
+ * inside of the viewport.
35
+ */
23
36
  this.placement = 'top';
37
+ /** Disables the tooltip so it won't show when triggered. */
24
38
  this.disabled = false;
39
+ /** The distance in pixels from which to offset the tooltip away from its target. */
40
+ this.distance = 8;
41
+ /** Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods. */
25
42
  this.open = false;
43
+ /** The distance in pixels from which to offset the tooltip along its target. */
44
+ this.skidding = 0;
26
45
  /**
27
46
  * Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple
28
47
  * options can be passed by separating them with a space. When manual is used, the tooltip must be activated
29
48
  * programmatically.
30
49
  */
31
50
  this.trigger = 'hover focus';
32
- this.distance = 8;
33
- this.SHIFT_OFFSET = 16;
34
- /** The distance in pixels from which to offset the tooltip along its target. */
35
- this.skidding = 0;
51
+ /**
52
+ * Enable this option to prevent the tooltip from being clipped when the component is placed inside a container with
53
+ * `overflow: auto|hidden|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all,
54
+ * scenarios.
55
+ */
36
56
  this.hoist = false;
37
- this.hasTooltipSlot = false;
38
- this.hoverTimeout = 0;
39
- this.caretSize = 6;
40
- this.originalPlacement = this.placement;
41
- this.updateTooltipPosition = () => {
42
- if (!isInViewport(this.triggerContainer)) {
43
- this.open = false;
44
- return;
45
- }
46
- const triggerRect = this.triggerContainer.getBoundingClientRect();
47
- const tooltipRect = this.tooltip.getBoundingClientRect();
48
- const viewportWidth = window.innerWidth;
49
- const viewportHeight = window.innerHeight;
50
- let { top, left, placement } = getValidTooltipPosition(triggerRect, tooltipRect, this.originalPlacement, this.distance, this.skidding, this.caretSize, viewportWidth, viewportHeight);
51
- // FallBack Positions
52
- // Bottom
53
- if (this.originalPlacement.startsWith('bottom')) {
54
- const availableSpaceBelow = viewportHeight - triggerRect.bottom;
55
- if (availableSpaceBelow < tooltipRect.height + this.distance) {
56
- let newPlacement = 'top';
57
- if (this.originalPlacement === 'bottom-start') {
58
- newPlacement = 'top';
59
- }
60
- else if (this.originalPlacement === 'bottom-end') {
61
- newPlacement = 'top';
62
- }
63
- const newPosition = getValidTooltipPosition(triggerRect, tooltipRect, newPlacement, this.distance, this.skidding, this.caretSize, viewportWidth, viewportHeight);
64
- top = newPosition.top;
65
- left = newPosition.left;
66
- placement = newPosition.placement;
67
- }
68
- }
69
- // Top
70
- if (this.originalPlacement.startsWith('top')) {
71
- const availableSpaceAbove = triggerRect.top;
72
- const availableSpaceBelow = viewportHeight - triggerRect.bottom;
73
- if (availableSpaceAbove < tooltipRect.height + this.distance && availableSpaceBelow >= tooltipRect.height + this.distance) {
74
- let newPlacement = 'bottom';
75
- if (this.originalPlacement === 'top-start') {
76
- newPlacement = 'bottom-start';
77
- }
78
- else if (this.originalPlacement === 'top-end') {
79
- newPlacement = 'bottom-end';
80
- }
81
- const newPosition = getValidTooltipPosition(triggerRect, tooltipRect, newPlacement, this.distance, this.skidding, this.caretSize, viewportWidth, viewportHeight);
82
- top = newPosition.top;
83
- left = newPosition.left;
84
- placement = newPosition.placement;
85
- }
86
- }
87
- // Left
88
- if (this.originalPlacement.startsWith('left')) {
89
- const availableSpaceLeft = triggerRect.left;
90
- const availableSpaceRight = viewportWidth - triggerRect.right;
91
- if (availableSpaceLeft < tooltipRect.width + this.distance && availableSpaceRight >= tooltipRect.width + this.distance) {
92
- let newPlacement = 'right';
93
- if (this.originalPlacement === 'left-start') {
94
- newPlacement = 'right-start';
95
- }
96
- else if (this.originalPlacement === 'left-end') {
97
- newPlacement = 'right-end';
98
- }
99
- const newPosition = getValidTooltipPosition(triggerRect, tooltipRect, newPlacement, this.distance, this.skidding, this.caretSize, viewportWidth, viewportHeight);
100
- top = newPosition.top;
101
- left = newPosition.left;
102
- placement = newPosition.placement;
103
- }
104
- }
105
- // Right
106
- if (this.originalPlacement.startsWith('right')) {
107
- const availableSpaceRight = viewportWidth - triggerRect.right;
108
- const availableSpaceLeft = triggerRect.left;
109
- if (availableSpaceRight < tooltipRect.width + this.distance && availableSpaceLeft >= tooltipRect.width + this.distance) {
110
- let newPlacement = 'left';
111
- if (this.originalPlacement === 'right-start') {
112
- newPlacement = 'left-start';
113
- }
114
- else if (this.originalPlacement === 'right-end') {
115
- newPlacement = 'left-end';
116
- }
117
- const newPosition = getValidTooltipPosition(triggerRect, tooltipRect, newPlacement, this.distance, this.skidding, this.caretSize, viewportWidth, viewportHeight);
118
- top = newPosition.top;
119
- left = newPosition.left;
120
- placement = newPosition.placement;
121
- }
122
- }
123
- this.setAttribute('placement', placement);
124
- this.tooltip.style.top = `${top}px`;
125
- this.tooltip.style.left = `${left}px`;
126
- const { caretLeft, caretTop } = getCaretPosition({
127
- placement,
128
- tooltipRect,
129
- triggerRect,
130
- caretSize: this.caretSize,
131
- left,
132
- top
133
- });
134
- this.caret.style.left = `${caretLeft}px`;
135
- this.caret.style.top = `${caretTop}px`;
136
- };
137
- this.showTooltip = () => {
138
- const trimmedContent = this.content.trim();
139
- if (!trimmedContent && !this.hasTooltipSlot) {
140
- return;
141
- }
142
- if (!this.disabled && isInViewport(this.triggerContainer)) {
143
- this.emit('nile-show');
144
- this.open = true;
145
- this.updateComplete.then(() => {
146
- requestAnimationFrame(() => {
147
- this.updateTooltipPosition();
148
- this.emit('nile-after-show');
149
- });
150
- });
151
- }
152
- else {
153
- this.open = false;
154
- }
155
- };
156
- this.hideTooltip = () => {
157
- this.emit('nile-hide');
158
- this.open = false;
159
- setTimeout(() => {
160
- this.emit('nile-after-hide');
161
- }, 200);
162
- };
163
- this.handleMouseOver = () => {
164
- if (this.trigger.includes('hover')) {
165
- clearTimeout(this.hoverTimeout);
166
- this.hoverTimeout = window.setTimeout(() => this.showTooltip(), 300);
167
- }
168
- };
169
- this.handleMouseOut = () => {
170
- if (this.trigger.includes('hover')) {
171
- clearTimeout(this.hoverTimeout);
172
- this.hoverTimeout = window.setTimeout(() => this.hideTooltip(), 150);
173
- }
174
- };
175
- this.handleClick = () => {
176
- if (this.trigger.includes('click')) {
177
- if (!this.open && isInViewport(this.triggerContainer)) {
178
- this.showTooltip();
179
- }
180
- else {
181
- this.hideTooltip();
182
- }
183
- }
184
- };
185
- this.handleFocus = () => {
186
- if (this.trigger.includes('focus')) {
187
- this.showTooltip();
188
- }
189
- };
190
- this.handleBlur = () => {
191
- if (this.trigger.includes('focus')) {
192
- this.hideTooltip();
193
- }
194
- };
195
57
  }
58
+ /**
59
+ * The styles for Tooltip
60
+ * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
61
+ */
196
62
  static get styles() {
197
63
  return [styles];
198
64
  }
199
65
  connectedCallback() {
200
66
  super.connectedCallback();
201
- this.originalPlacement = this.placement;
202
- window.addEventListener('resize', this.updateTooltipPosition);
203
- window.addEventListener('scroll', this.updateTooltipPosition, true);
67
+ this.handleBlur = this.handleBlur.bind(this);
68
+ this.handleClick = this.handleClick.bind(this);
69
+ this.handleFocus = this.handleFocus.bind(this);
70
+ this.handleKeyDown = this.handleKeyDown.bind(this);
71
+ this.handleMouseOver = this.handleMouseOver.bind(this);
72
+ this.handleMouseOut = this.handleMouseOut.bind(this);
73
+ this.updateComplete.then(() => {
74
+ this.addEventListener('blur', this.handleBlur, true);
75
+ this.addEventListener('focus', this.handleFocus, true);
76
+ this.addEventListener('click', this.handleClick);
77
+ this.addEventListener('keydown', this.handleKeyDown);
78
+ this.addEventListener('mouseover', this.handleMouseOver);
79
+ this.addEventListener('mouseout', this.handleMouseOut);
80
+ });
204
81
  }
205
- updated(changedProps) {
206
- super.updated?.(changedProps);
207
- const validPlacements = [
208
- 'top', 'top-start', 'top-end',
209
- 'right', 'right-start', 'right-end',
210
- 'bottom', 'bottom-start', 'bottom-end',
211
- 'left', 'left-start', 'left-end'
212
- ];
213
- if (!validPlacements.includes(this.placement)) {
214
- console.warn(`[nile-tooltip] Invalid placement "${this.placement}", defaulting to "bottom".`);
215
- this.placement = 'top';
82
+ firstUpdated() {
83
+ this.body.hidden = !this.open;
84
+ // If the tooltip is visible on init, update its position
85
+ if (this.open) {
86
+ this.popup.active = true;
87
+ this.popup.reposition();
216
88
  }
217
- if (!validPlacements.includes(this.originalPlacement)) {
218
- this.originalPlacement = 'top';
89
+ }
90
+ disconnectedCallback() {
91
+ super.disconnectedCallback();
92
+ this.removeEventListener('blur', this.handleBlur, true);
93
+ this.removeEventListener('focus', this.handleFocus, true);
94
+ this.removeEventListener('click', this.handleClick);
95
+ this.removeEventListener('keydown', this.handleKeyDown);
96
+ this.removeEventListener('mouseover', this.handleMouseOver);
97
+ this.removeEventListener('mouseout', this.handleMouseOut);
98
+ }
99
+ handleBlur() {
100
+ if (this.hasTrigger('focus')) {
101
+ this.hide();
219
102
  }
220
- if (changedProps.has('open') && this.open) {
221
- this.updateComplete.then(() => {
222
- requestAnimationFrame(() => {
223
- this.updateTooltipPosition();
224
- });
103
+ }
104
+ handleClick() {
105
+ if (this.hasTrigger('click')) {
106
+ if (this.open) {
107
+ this.hide();
108
+ }
109
+ else {
110
+ this.show();
111
+ }
112
+ }
113
+ }
114
+ handleFocus() {
115
+ if (this.hasTrigger('focus')) {
116
+ this.show();
117
+ }
118
+ }
119
+ handleKeyDown(event) {
120
+ // Pressing escape when the target element has focus should dismiss the tooltip
121
+ if (this.open && event.key === 'Escape') {
122
+ event.stopPropagation();
123
+ this.hide();
124
+ }
125
+ }
126
+ handleMouseOver() {
127
+ if (this.hasTrigger('hover')) {
128
+ const delay = parseDuration(getComputedStyle(this).getPropertyValue('--show-delay'));
129
+ clearTimeout(this.hoverTimeout);
130
+ this.hoverTimeout = window.setTimeout(() => this.show(), delay);
131
+ }
132
+ }
133
+ handleMouseOut() {
134
+ if (this.hasTrigger('hover')) {
135
+ const delay = parseDuration(getComputedStyle(this).getPropertyValue('--hide-delay'));
136
+ clearTimeout(this.hoverTimeout);
137
+ this.hoverTimeout = window.setTimeout(() => this.hide(), delay);
138
+ }
139
+ }
140
+ hasTrigger(triggerType) {
141
+ const triggers = this.trigger.split(' ');
142
+ return triggers.includes(triggerType);
143
+ }
144
+ async handleOpenChange() {
145
+ if (this.open) {
146
+ if (this.disabled) {
147
+ return;
148
+ }
149
+ // Show
150
+ this.emit('nile-show');
151
+ await stopAnimations(this.body);
152
+ this.body.hidden = false;
153
+ this.popup.active = true;
154
+ const { keyframes, options } = getAnimation(this, 'tooltip.show', {
155
+ dir: '',
225
156
  });
157
+ await animateTo(this.popup.popup, keyframes, options);
158
+ this.emit('nile-after-show');
159
+ }
160
+ else {
161
+ // Hide
162
+ this.emit('nile-hide');
163
+ await stopAnimations(this.body);
164
+ const { keyframes, options } = getAnimation(this, 'tooltip.hide', {
165
+ dir: '',
166
+ });
167
+ await animateTo(this.popup.popup, keyframes, options);
168
+ this.popup.active = false;
169
+ this.body.hidden = true;
170
+ this.emit('nile-after-hide');
226
171
  }
227
172
  }
228
- disconnectedCallback() {
229
- super.disconnectedCallback();
230
- window.removeEventListener('resize', this.updateTooltipPosition);
231
- window.removeEventListener('scroll', this.updateTooltipPosition, true);
173
+ async handleOptionsChange() {
174
+ if (this.hasUpdated) {
175
+ await this.updateComplete;
176
+ this.popup.reposition();
177
+ }
232
178
  }
233
- handleTooltipSlotChange() {
234
- const nodes = this.tooltipSlot.assignedNodes({ flatten: true });
235
- this.hasTooltipSlot = nodes.length > 0;
236
- this.requestUpdate();
179
+ handleDisabledChange() {
180
+ if (this.disabled && this.open) {
181
+ this.hide();
182
+ }
183
+ }
184
+ /** Shows the tooltip. */
185
+ async show() {
186
+ if (this.open || !this.content?.trim().length) {
187
+ return undefined;
188
+ }
189
+ this.open = true;
190
+ return waitForEvent(this, 'nile-after-show');
191
+ }
192
+ /** Hides the tooltip */
193
+ async hide() {
194
+ if (!this.open) {
195
+ return undefined;
196
+ }
197
+ this.open = false;
198
+ return waitForEvent(this, 'nile-after-hide');
237
199
  }
238
200
  render() {
239
201
  return html `
240
- <div
241
- class="tooltip"
242
- id="tooltip"
202
+ <nile-popup
203
+ part="base"
204
+ exportparts="
205
+ popup:base__popup,
206
+ arrow:base__arrow
207
+ "
208
+ class=${classMap({
209
+ tooltip: true,
210
+ 'tooltip--open': this.open,
211
+ })}
212
+ placement=${this.placement}
213
+ distance=${this.distance}
214
+ skidding=${this.skidding}
215
+ strategy=${this.hoist ? 'fixed' : 'absolute'}
216
+ flip
217
+ shift
218
+ arrow
243
219
  >
244
- <div class="tooltip-content" part="content">
245
- <slot name="content" @slotchange=${this.handleTooltipSlotChange}></slot>
246
- ${!this.hasTooltipSlot ? html `${this.content}` : null}
247
- </div>
248
- <div class="tooltip-caret" style="--caret-size: ${this.caretSize}px;"></div>
249
- </div>
220
+ <slot slot="anchor" aria-describedby="tooltip"></slot>
250
221
 
251
- <div
252
- class="trigger-container"
253
- tabindex="0"
254
- @mouseover=${this.handleMouseOver}
255
- @mouseout=${this.handleMouseOut}
256
- @click=${this.handleClick}
257
- @focusin=${this.handleFocus}
258
- @focusout=${this.handleBlur}
259
- aria-describedby="tooltip"
260
- >
261
- <slot></slot>
262
- </div>
222
+ <slot
223
+ name="content"
224
+ part="body"
225
+ id="tooltip"
226
+ class=${classMap({
227
+ tooltip__body: true,
228
+ 'tooltip__body--large': this.size === 'large',
229
+ })}
230
+ role="tooltip"
231
+ aria-live=${this.open ? 'polite' : 'off'}
232
+ >
233
+ ${this.content}
234
+ </slot>
235
+ </nile-popup>
263
236
  `;
264
237
  }
265
238
  };
266
239
  __decorate([
267
- property({ type: String })
240
+ query('slot:not([name])')
241
+ ], NileTooltip.prototype, "defaultSlot", void 0);
242
+ __decorate([
243
+ query('.tooltip__body')
244
+ ], NileTooltip.prototype, "body", void 0);
245
+ __decorate([
246
+ query('nile-popup')
247
+ ], NileTooltip.prototype, "popup", void 0);
248
+ __decorate([
249
+ property({ type: String, reflect: true })
268
250
  ], NileTooltip.prototype, "content", void 0);
269
251
  __decorate([
270
- property({ type: String })
252
+ property({ reflect: true })
253
+ ], NileTooltip.prototype, "size", void 0);
254
+ __decorate([
255
+ property()
271
256
  ], NileTooltip.prototype, "placement", void 0);
272
257
  __decorate([
273
258
  property({ type: Boolean, reflect: true })
274
259
  ], NileTooltip.prototype, "disabled", void 0);
275
- __decorate([
276
- property({ type: Boolean, reflect: true })
277
- ], NileTooltip.prototype, "open", void 0);
278
- __decorate([
279
- property()
280
- ], NileTooltip.prototype, "trigger", void 0);
281
260
  __decorate([
282
261
  property({ type: Number })
283
262
  ], NileTooltip.prototype, "distance", void 0);
263
+ __decorate([
264
+ property({ type: Boolean, reflect: true })
265
+ ], NileTooltip.prototype, "open", void 0);
284
266
  __decorate([
285
267
  property({ type: Number })
286
268
  ], NileTooltip.prototype, "skidding", void 0);
287
269
  __decorate([
288
- property({ type: Boolean, reflect: true })
289
- ], NileTooltip.prototype, "hoist", void 0);
270
+ property()
271
+ ], NileTooltip.prototype, "trigger", void 0);
290
272
  __decorate([
291
- query('.tooltip')
292
- ], NileTooltip.prototype, "tooltip", void 0);
273
+ property({ type: Boolean })
274
+ ], NileTooltip.prototype, "hoist", void 0);
293
275
  __decorate([
294
- query('.trigger-container')
295
- ], NileTooltip.prototype, "triggerContainer", void 0);
276
+ watch('open', { waitUntilFirstUpdate: true })
277
+ ], NileTooltip.prototype, "handleOpenChange", null);
296
278
  __decorate([
297
- query('.tooltip-caret')
298
- ], NileTooltip.prototype, "caret", void 0);
279
+ watch(['content', 'distance', 'hoist', 'placement', 'skidding'])
280
+ ], NileTooltip.prototype, "handleOptionsChange", null);
299
281
  __decorate([
300
- query('slot[name="content"]')
301
- ], NileTooltip.prototype, "tooltipSlot", void 0);
282
+ watch('disabled')
283
+ ], NileTooltip.prototype, "handleDisabledChange", null);
302
284
  NileTooltip = __decorate([
303
285
  customElement('nile-tooltip')
304
286
  ], NileTooltip);
305
287
  export { NileTooltip };
288
+ setDefaultAnimation('tooltip.show', {
289
+ keyframes: [
290
+ { opacity: 0, scale: 0.8 },
291
+ { opacity: 1, scale: 1 },
292
+ ],
293
+ options: { duration: 150, easing: 'ease' },
294
+ });
295
+ setDefaultAnimation('tooltip.hide', {
296
+ keyframes: [
297
+ { opacity: 1, scale: 1 },
298
+ { opacity: 0, scale: 0.8 },
299
+ ],
300
+ options: { duration: 150, easing: 'ease' },
301
+ });
302
+ export default NileTooltip;
306
303
  //# sourceMappingURL=nile-tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-tooltip.js","sourceRoot":"","sources":["../../../src/nile-tooltip/nile-tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["\n/**\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 */\nimport { LitElement, html, css, CSSResultArray } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styles } from './nile-tooltip.css';\nimport NileElement from '../internal/nile-element';\nimport { isInViewport, getValidTooltipPosition, getCaretPosition } from './nile-tooltip-utils';\n\n/**\n * Nile tooltip component.\n *\n * @tag nile-tooltip\n *\n */\n@customElement('nile-tooltip')\nexport class NileTooltip extends NileElement {\n @property({ type: String }) content = '';\n @property({ type: String })\n placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'top';\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: Boolean, reflect: true }) open = false;\n /**\n * Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\n * options can be passed by separating them with a space. When manual is used, the tooltip must be activated\n * programmatically.\n */\n @property() trigger = 'hover focus';\n @property({ type: Number }) distance = 8;\n private readonly SHIFT_OFFSET = 16;\n /** The distance in pixels from which to offset the tooltip along its target. */\n @property({ type: Number }) skidding = 0;\n @property({ type: Boolean, reflect: true }) hoist = false;\n\n @query('.tooltip') tooltip!: HTMLElement;\n @query('.trigger-container') triggerContainer!: HTMLElement;\n @query('.tooltip-caret') caret!: HTMLElement;\n @query('slot[name=\"content\"]') tooltipSlot!: HTMLSlotElement;\n\n private hasTooltipSlot = false;\n private hoverTimeout: number = 0;\n private caretSize = 6;\n private originalPlacement: string = this.placement;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.originalPlacement = this.placement;\n window.addEventListener('resize', this.updateTooltipPosition);\n window.addEventListener('scroll', this.updateTooltipPosition, true);\n }\n\n updated(changedProps: Map<string, unknown>) {\n super.updated?.(changedProps);\n\n const validPlacements = [\n 'top', 'top-start', 'top-end',\n 'right', 'right-start', 'right-end',\n 'bottom', 'bottom-start', 'bottom-end',\n 'left', 'left-start', 'left-end'\n ];\n\n if (!validPlacements.includes(this.placement)) {\n console.warn(`[nile-tooltip] Invalid placement \"${this.placement}\", defaulting to \"bottom\".`);\n this.placement = 'top';\n }\n\n if (!validPlacements.includes(this.originalPlacement)) {\n this.originalPlacement = 'top';\n }\n \n if (changedProps.has('open') && this.open) {\n this.updateComplete.then(() => {\n requestAnimationFrame(() => {\n this.updateTooltipPosition();\n });\n });\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n window.removeEventListener('resize', this.updateTooltipPosition);\n window.removeEventListener('scroll', this.updateTooltipPosition, true);\n }\n\n private handleTooltipSlotChange() {\n const nodes = this.tooltipSlot.assignedNodes({ flatten: true });\n this.hasTooltipSlot = nodes.length > 0;\n this.requestUpdate();\n }\n\n private updateTooltipPosition = () => {\n if (!isInViewport(this.triggerContainer)) {\n this.open = false;\n return;\n }\n\n const triggerRect = this.triggerContainer.getBoundingClientRect();\n const tooltipRect = this.tooltip.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n\n \n let { top, left, placement } = getValidTooltipPosition(\n triggerRect,\n tooltipRect,\n this.originalPlacement,\n this.distance,\n this.skidding,\n this.caretSize,\n viewportWidth,\n viewportHeight\n );\n\n // FallBack Positions\n\n // Bottom\n if (this.originalPlacement.startsWith('bottom')) {\n const availableSpaceBelow = viewportHeight - triggerRect.bottom;\n if (availableSpaceBelow < tooltipRect.height + this.distance) {\n let newPlacement: typeof this.originalPlacement = 'top';\n if (this.originalPlacement === 'bottom-start') {\n newPlacement = 'top';\n } else if (this.originalPlacement === 'bottom-end') {\n newPlacement = 'top';\n }\n \n const newPosition = getValidTooltipPosition(\n triggerRect,\n tooltipRect,\n newPlacement,\n this.distance,\n this.skidding,\n this.caretSize,\n viewportWidth,\n viewportHeight\n );\n top = newPosition.top;\n left = newPosition.left;\n placement = newPosition.placement;\n }\n }\n // Top\n if (this.originalPlacement.startsWith('top')) {\n const availableSpaceAbove = triggerRect.top;\n const availableSpaceBelow = viewportHeight - triggerRect.bottom;\n if (availableSpaceAbove < tooltipRect.height + this.distance && availableSpaceBelow >= tooltipRect.height + this.distance) {\n let newPlacement: typeof this.originalPlacement = 'bottom';\n if (this.originalPlacement === 'top-start') {\n newPlacement = 'bottom-start';\n } else if (this.originalPlacement === 'top-end') {\n newPlacement = 'bottom-end';\n }\n \n const newPosition = getValidTooltipPosition(\n triggerRect,\n tooltipRect,\n newPlacement,\n this.distance,\n this.skidding,\n this.caretSize,\n viewportWidth,\n viewportHeight\n );\n top = newPosition.top;\n left = newPosition.left;\n placement = newPosition.placement;\n }\n }\n\n // Left\n if (this.originalPlacement.startsWith('left')) {\n const availableSpaceLeft = triggerRect.left;\n const availableSpaceRight = viewportWidth - triggerRect.right;\n if (availableSpaceLeft < tooltipRect.width + this.distance && availableSpaceRight >= tooltipRect.width + this.distance) {\n let newPlacement: typeof this.originalPlacement = 'right';\n if (this.originalPlacement === 'left-start') {\n newPlacement = 'right-start';\n } else if (this.originalPlacement === 'left-end') {\n newPlacement = 'right-end';\n }\n \n const newPosition = getValidTooltipPosition(\n triggerRect,\n tooltipRect,\n newPlacement,\n this.distance,\n this.skidding,\n this.caretSize,\n viewportWidth,\n viewportHeight\n );\n top = newPosition.top;\n left = newPosition.left;\n placement = newPosition.placement;\n }\n }\n\n // Right\n if (this.originalPlacement.startsWith('right')) {\n const availableSpaceRight = viewportWidth - triggerRect.right;\n const availableSpaceLeft = triggerRect.left;\n if (availableSpaceRight < tooltipRect.width + this.distance && availableSpaceLeft >= tooltipRect.width + this.distance) {\n let newPlacement: typeof this.originalPlacement = 'left';\n if (this.originalPlacement === 'right-start') {\n newPlacement = 'left-start';\n } else if (this.originalPlacement === 'right-end') {\n newPlacement = 'left-end';\n }\n \n const newPosition = getValidTooltipPosition(\n triggerRect,\n tooltipRect,\n newPlacement,\n this.distance,\n this.skidding,\n this.caretSize,\n viewportWidth,\n viewportHeight\n );\n top = newPosition.top;\n left = newPosition.left;\n placement = newPosition.placement;\n }\n }\n\n this.setAttribute('placement', placement);\n this.tooltip.style.top = `${top}px`;\n this.tooltip.style.left = `${left}px`;\n\n const { caretLeft, caretTop } = getCaretPosition({\n placement,\n tooltipRect,\n triggerRect,\n caretSize: this.caretSize,\n left,\n top\n });\n\n this.caret.style.left = `${caretLeft}px`;\n this.caret.style.top = `${caretTop}px`;\n };\n\n private showTooltip = () => {\n const trimmedContent = this.content.trim();\n if (!trimmedContent && !this.hasTooltipSlot) {\n return;\n }\n if (!this.disabled && isInViewport(this.triggerContainer)) {\n this.emit('nile-show');\n this.open = true;\n this.updateComplete.then(() => {\n requestAnimationFrame(() => {\n this.updateTooltipPosition();\n this.emit('nile-after-show');\n });\n });\n } else {\n this.open = false;\n }\n };\n\n private hideTooltip = () => {\n this.emit('nile-hide');\n this.open = false;\n setTimeout(() => {\n this.emit('nile-after-hide');\n }, 200);\n };\n\n private handleMouseOver = () => {\n if (this.trigger.includes('hover')) {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = window.setTimeout(() => this.showTooltip(), 300);\n }\n };\n\n private handleMouseOut = () => {\n if (this.trigger.includes('hover')) {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = window.setTimeout(() => this.hideTooltip(), 150);\n }\n };\n\n private handleClick = () => {\n if (this.trigger.includes('click')) {\n if (!this.open && isInViewport(this.triggerContainer)) {\n this.showTooltip();\n } else {\n this.hideTooltip();\n }\n }\n };\n\n private handleFocus = () => {\n if (this.trigger.includes('focus')) {\n this.showTooltip();\n }\n };\n \n\n private handleBlur = () => {\n if (this.trigger.includes('focus')) {\n this.hideTooltip();\n }\n };\n\n render() {\n return html`\n <div\n class=\"tooltip\"\n id=\"tooltip\"\n >\n <div class=\"tooltip-content\" part=\"content\">\n <slot name=\"content\" @slotchange=${this.handleTooltipSlotChange}></slot>\n ${!this.hasTooltipSlot ? html`${this.content}` : null}\n </div>\n <div class=\"tooltip-caret\" style=\"--caret-size: ${this.caretSize}px;\"></div>\n </div>\n\n <div\n class=\"trigger-container\"\n tabindex=\"0\"\n @mouseover=${this.handleMouseOver}\n @mouseout=${this.handleMouseOut}\n @click=${this.handleClick}\n @focusin=${this.handleFocus}\n @focusout=${this.handleBlur}\n aria-describedby=\"tooltip\"\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-tooltip': NileTooltip;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-tooltip.js","sourceRoot":"","sources":["../../../src/nile-tooltip/nile-tooltip.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, CSSResultArray, TemplateResult } from 'lit';\nimport { styles } from './nile-tooltip.css';\nimport '../nile-popup/nile-popup';\nimport { animateTo, parseDuration, stopAnimations } from '../internal/animate';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport {\n getAnimation,\n setDefaultAnimation,\n} from '../utilities/animation-registry';\nimport { html } from 'lit';\n// import { LocalizeController } from '../utilities/localize';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup } from 'lit';\nimport type NilePopup from '../nile-popup/nile-popup';\n/**\n * Nile icon component.\n *\n * @tag nile-tooltip\n *\n */\n@customElement('nile-tooltip')\nexport class NileTooltip extends NileElement {\n /**\n * The styles for Tooltip\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 private hoverTimeout: number;\n // private readonly localize = new LocalizeController(this);\n\n @query('slot:not([name])') defaultSlot: HTMLSlotElement;\n @query('.tooltip__body') body: HTMLElement;\n @query('nile-popup') popup: NilePopup;\n\n /** The tooltip's content. If you need to display HTML, use the `content` slot instead. */\n @property({ type: String, reflect: true }) content = '';\n\n /** Size Property to decide the tool tip size */\n @property({ reflect: true }) size: 'small' | 'large' = 'small';\n\n /**\n * The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\n * inside of the viewport.\n */\n @property() placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'top';\n\n /** Disables the tooltip so it won't show when triggered. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** The distance in pixels from which to offset the tooltip away from its target. */\n @property({ type: Number }) distance = 8;\n\n /** Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods. */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** The distance in pixels from which to offset the tooltip along its target. */\n @property({ type: Number }) skidding = 0;\n\n /**\n * Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\n * options can be passed by separating them with a space. When manual is used, the tooltip must be activated\n * programmatically.\n */\n @property() trigger = 'hover focus';\n\n /**\n * Enable this option to prevent the tooltip from being clipped when the component is placed inside a container with\n * `overflow: auto|hidden|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all,\n * scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.handleBlur = this.handleBlur.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleMouseOver = this.handleMouseOver.bind(this);\n this.handleMouseOut = this.handleMouseOut.bind(this);\n\n this.updateComplete.then(() => {\n this.addEventListener('blur', this.handleBlur, true);\n this.addEventListener('focus', this.handleFocus, true);\n this.addEventListener('click', this.handleClick);\n this.addEventListener('keydown', this.handleKeyDown);\n this.addEventListener('mouseover', this.handleMouseOver);\n this.addEventListener('mouseout', this.handleMouseOut);\n });\n }\n\n firstUpdated() {\n this.body.hidden = !this.open;\n\n // If the tooltip is visible on init, update its position\n if (this.open) {\n this.popup.active = true;\n this.popup.reposition();\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('blur', this.handleBlur, true);\n this.removeEventListener('focus', this.handleFocus, true);\n this.removeEventListener('click', this.handleClick);\n this.removeEventListener('keydown', this.handleKeyDown);\n this.removeEventListener('mouseover', this.handleMouseOver);\n this.removeEventListener('mouseout', this.handleMouseOut);\n }\n\n private handleBlur() {\n if (this.hasTrigger('focus')) {\n this.hide();\n }\n }\n\n private handleClick() {\n if (this.hasTrigger('click')) {\n if (this.open) {\n this.hide();\n } else {\n this.show();\n }\n }\n }\n\n private handleFocus() {\n if (this.hasTrigger('focus')) {\n this.show();\n }\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n // Pressing escape when the target element has focus should dismiss the tooltip\n if (this.open && event.key === 'Escape') {\n event.stopPropagation();\n this.hide();\n }\n }\n\n private handleMouseOver() {\n if (this.hasTrigger('hover')) {\n const delay = parseDuration(\n getComputedStyle(this).getPropertyValue('--show-delay')\n );\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = window.setTimeout(() => this.show(), delay);\n }\n }\n\n private handleMouseOut() {\n if (this.hasTrigger('hover')) {\n const delay = parseDuration(\n getComputedStyle(this).getPropertyValue('--hide-delay')\n );\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = window.setTimeout(() => this.hide(), delay);\n }\n }\n\n private hasTrigger(triggerType: string) {\n const triggers = this.trigger.split(' ');\n return triggers.includes(triggerType);\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n if (this.disabled) {\n return;\n }\n\n // Show\n this.emit('nile-show');\n\n await stopAnimations(this.body);\n this.body.hidden = false;\n this.popup.active = true;\n const { keyframes, options } = getAnimation(this, 'tooltip.show', {\n dir: '',\n });\n await animateTo(this.popup.popup, keyframes, options);\n\n this.emit('nile-after-show');\n } else {\n // Hide\n this.emit('nile-hide');\n\n await stopAnimations(this.body);\n const { keyframes, options } = getAnimation(this, 'tooltip.hide', {\n dir: '',\n });\n await animateTo(this.popup.popup, keyframes, options);\n this.popup.active = false;\n this.body.hidden = true;\n\n this.emit('nile-after-hide');\n }\n }\n\n @watch(['content', 'distance', 'hoist', 'placement', 'skidding'])\n async handleOptionsChange() {\n if (this.hasUpdated) {\n await this.updateComplete;\n this.popup.reposition();\n }\n }\n\n @watch('disabled')\n handleDisabledChange() {\n if (this.disabled && this.open) {\n this.hide();\n }\n }\n\n /** Shows the tooltip. */\n async show() {\n if (this.open || !this.content?.trim().length) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'nile-after-show');\n }\n\n /** Hides the tooltip */\n async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'nile-after-hide');\n }\n\n render() {\n return html`\n <nile-popup\n part=\"base\"\n exportparts=\"\n popup:base__popup,\n arrow:base__arrow\n \"\n class=${classMap({\n tooltip: true,\n 'tooltip--open': this.open,\n })}\n placement=${this.placement}\n distance=${this.distance}\n skidding=${this.skidding}\n strategy=${this.hoist ? 'fixed' : 'absolute'}\n flip\n shift\n arrow\n >\n <slot slot=\"anchor\" aria-describedby=\"tooltip\"></slot>\n\n <slot\n name=\"content\"\n part=\"body\"\n id=\"tooltip\"\n class=${classMap({\n tooltip__body: true,\n 'tooltip__body--large': this.size === 'large',\n })}\n role=\"tooltip\"\n aria-live=${this.open ? 'polite' : 'off'}\n >\n ${this.content}\n </slot>\n </nile-popup>\n `;\n }\n}\n\nsetDefaultAnimation('tooltip.show', {\n keyframes: [\n { opacity: 0, scale: 0.8 },\n { opacity: 1, scale: 1 },\n ],\n options: { duration: 150, easing: 'ease' },\n});\n\nsetDefaultAnimation('tooltip.hide', {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.8 },\n ],\n options: { duration: 150, easing: 'ease' },\n});\n\nexport default NileTooltip;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-tooltip': NileTooltip;\n }\n}"]}
@@ -11,6 +11,9 @@ import { css } from 'lit';
11
11
  export const styles = css `
12
12
  :host {
13
13
  box-sizing: border-box;
14
+ -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));
15
+ -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));
16
+ text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));
14
17
  }
15
18
 
16
19
  :host *,
@@ -1 +1 @@
1
- {"version":3,"file":"nile-tree.css.js","sourceRoot":"","sources":["../../../src/nile-tree/nile-tree.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCxB,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';\n\n/**\n * Tree CSS\n */\nexport const styles = css`\n :host {\n box-sizing: border-box;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n\n :host {\n /*\n * These are actually used by tree item, but we define them here so they can more easily be set and all tree items\n * stay consistent.\n */\n --indent-guide-color: var(--nile-colors-dark-200);\n --indent-guide-offset: 0;\n --indent-guide-style: solid;\n --indent-guide-width: 0;\n --indent-size: var(--nile-spacing-2xl);\n\n display: block;\n isolation: isolate;\n\n /*\n * Tree item indentation uses the \"em\" unit to increment its width on each level, so setting the font size to zero\n * here removes the indentation for all the nodes on the first level.\n */\n font-size: 0;\n }\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-tree.css.js","sourceRoot":"","sources":["../../../src/nile-tree/nile-tree.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCxB,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';\n\n/**\n * Tree CSS\n */\nexport const styles = css`\n :host {\n box-sizing: border-box;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n\n :host {\n /*\n * These are actually used by tree item, but we define them here so they can more easily be set and all tree items\n * stay consistent.\n */\n --indent-guide-color: var(--nile-colors-dark-200);\n --indent-guide-offset: 0;\n --indent-guide-style: solid;\n --indent-guide-width: 0;\n --indent-size: var(--nile-spacing-2xl);\n\n display: block;\n isolation: isolate;\n\n /*\n * Tree item indentation uses the \"em\" unit to increment its width on each level, so setting the font size to zero\n * here removes the indentation for all the nodes on the first level.\n */\n font-size: 0;\n }\n`;\n\nexport default [styles];\n"]}