@aquera/nile-elements 0.0.68 → 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 (307) hide show
  1. package/README.md +17 -0
  2. package/demo/filenames.txt +1 -1
  3. package/demo/variables.css +11 -5
  4. package/demo/variables_v2.css +8 -5
  5. package/dist/axe.min-1a358f34.cjs.js +12 -0
  6. package/dist/axe.min-1a358f34.cjs.js.map +1 -0
  7. package/dist/axe.min-c4141dd6.esm.js +12 -0
  8. package/dist/index.cjs.js +1 -1
  9. package/dist/index.esm.js +1 -1
  10. package/dist/index.iife.js +330 -194
  11. package/dist/nile-avatar/nile-avatar.cjs.js +1 -1
  12. package/dist/nile-avatar/nile-avatar.cjs.js.map +1 -1
  13. package/dist/nile-avatar/nile-avatar.css.cjs.js +1 -1
  14. package/dist/nile-avatar/nile-avatar.css.cjs.js.map +1 -1
  15. package/dist/nile-avatar/nile-avatar.css.esm.js +15 -7
  16. package/dist/nile-avatar/nile-avatar.esm.js +1 -1
  17. package/dist/nile-badge/index.cjs.js +1 -1
  18. package/dist/nile-badge/index.esm.js +1 -1
  19. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  20. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  21. package/dist/nile-badge/nile-badge.css.cjs.js +1 -1
  22. package/dist/nile-badge/nile-badge.css.cjs.js.map +1 -1
  23. package/dist/nile-badge/nile-badge.css.esm.js +7 -5
  24. package/dist/nile-badge/nile-badge.esm.js +1 -1
  25. package/dist/nile-button/index.cjs.js +1 -1
  26. package/dist/nile-button/index.esm.js +1 -1
  27. package/dist/nile-button/nile-button.cjs.js +1 -1
  28. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  29. package/dist/nile-button/nile-button.css.cjs.js +1 -1
  30. package/dist/nile-button/nile-button.css.cjs.js.map +1 -1
  31. package/dist/nile-button/nile-button.css.esm.js +13 -23
  32. package/dist/nile-button/nile-button.esm.js +1 -1
  33. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js +1 -1
  34. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js.map +1 -1
  35. package/dist/nile-button-toggle/nile-button-toggle.css.esm.js +11 -6
  36. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.cjs.js +1 -1
  37. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.cjs.js.map +1 -1
  38. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.esm.js +5 -4
  39. package/dist/nile-checkbox/nile-checkbox.cjs.js +1 -1
  40. package/dist/nile-checkbox/nile-checkbox.cjs.js.map +1 -1
  41. package/dist/nile-checkbox/nile-checkbox.css.cjs.js +1 -1
  42. package/dist/nile-checkbox/nile-checkbox.css.cjs.js.map +1 -1
  43. package/dist/nile-checkbox/nile-checkbox.css.esm.js +24 -10
  44. package/dist/nile-checkbox/nile-checkbox.esm.js +4 -4
  45. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +395 -0
  46. package/dist/nile-checkbox/nile-checkbox.test.cjs.js.map +1 -0
  47. package/dist/nile-checkbox/nile-checkbox.test.esm.js +580 -0
  48. package/dist/nile-dialog/index.cjs.js +1 -1
  49. package/dist/nile-dialog/index.esm.js +1 -1
  50. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  51. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  52. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  53. package/dist/nile-drawer/index.cjs.js +1 -1
  54. package/dist/nile-drawer/index.esm.js +1 -1
  55. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  56. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  57. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  58. package/dist/nile-empty-state/index.cjs.js +1 -1
  59. package/dist/nile-empty-state/index.esm.js +1 -1
  60. package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
  61. package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
  62. package/dist/nile-empty-state/nile-empty-state.css.cjs.js +1 -1
  63. package/dist/nile-empty-state/nile-empty-state.css.cjs.js.map +1 -1
  64. package/dist/nile-empty-state/nile-empty-state.css.esm.js +63 -22
  65. package/dist/nile-empty-state/nile-empty-state.esm.js +21 -16
  66. package/dist/nile-hero/index.cjs.js +1 -1
  67. package/dist/nile-hero/index.esm.js +1 -1
  68. package/dist/nile-hero/nile-hero.cjs.js +1 -1
  69. package/dist/nile-hero/nile-hero.cjs.js.map +1 -1
  70. package/dist/nile-hero/nile-hero.css.cjs.js +1 -1
  71. package/dist/nile-hero/nile-hero.css.cjs.js.map +1 -1
  72. package/dist/nile-hero/nile-hero.css.esm.js +14 -33
  73. package/dist/nile-hero/nile-hero.esm.js +6 -9
  74. package/dist/nile-hero-header/index.cjs.js +2 -0
  75. package/dist/nile-hero-header/index.cjs.js.map +1 -0
  76. package/dist/nile-hero-header/index.esm.js +1 -0
  77. package/dist/nile-hero-header/nile-hero-header.cjs.js +2 -0
  78. package/dist/nile-hero-header/nile-hero-header.cjs.js.map +1 -0
  79. package/dist/nile-hero-header/nile-hero-header.css.cjs.js +2 -0
  80. package/dist/nile-hero-header/nile-hero-header.css.cjs.js.map +1 -0
  81. package/dist/nile-hero-header/nile-hero-header.css.esm.js +28 -0
  82. package/dist/nile-hero-header/nile-hero-header.esm.js +6 -0
  83. package/dist/nile-icon/icons/svg/data-insight.cjs.js +2 -0
  84. package/dist/nile-icon/icons/svg/data-insight.cjs.js.map +1 -0
  85. package/dist/nile-icon/icons/svg/data-insight.esm.js +1 -0
  86. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  87. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  88. package/dist/nile-icon/icons/svg/info-circle.cjs.js +2 -0
  89. package/dist/nile-icon/icons/svg/info-circle.cjs.js.map +1 -0
  90. package/dist/nile-icon/icons/svg/info-circle.esm.js +1 -0
  91. package/dist/nile-icon/icons/svg/user-01.cjs.js +2 -0
  92. package/dist/nile-icon/icons/svg/user-01.cjs.js.map +1 -0
  93. package/dist/nile-icon/icons/svg/user-01.esm.js +1 -0
  94. package/dist/nile-icon/index.cjs.js +1 -1
  95. package/dist/nile-icon/index.cjs.js.map +1 -1
  96. package/dist/nile-icon/index.esm.js +3 -2
  97. package/dist/nile-icon-button/index.cjs.js +1 -1
  98. package/dist/nile-icon-button/index.esm.js +1 -1
  99. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  100. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  101. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  102. package/dist/nile-input/index.cjs.js +1 -1
  103. package/dist/nile-input/index.esm.js +1 -1
  104. package/dist/nile-input/nile-input.cjs.js +1 -1
  105. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  106. package/dist/nile-input/nile-input.css.cjs.js +1 -1
  107. package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
  108. package/dist/nile-input/nile-input.css.esm.js +7 -8
  109. package/dist/nile-input/nile-input.esm.js +1 -1
  110. package/dist/nile-menu/nile-menu.css.cjs.js +1 -1
  111. package/dist/nile-menu/nile-menu.css.cjs.js.map +1 -1
  112. package/dist/nile-menu/nile-menu.css.esm.js +2 -1
  113. package/dist/nile-menu-item/index.cjs.js +1 -1
  114. package/dist/nile-menu-item/index.esm.js +1 -1
  115. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  116. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  117. package/dist/nile-menu-item/nile-menu-item.css.cjs.js +1 -1
  118. package/dist/nile-menu-item/nile-menu-item.css.cjs.js.map +1 -1
  119. package/dist/nile-menu-item/nile-menu-item.css.esm.js +7 -4
  120. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  121. package/dist/nile-option/index.cjs.js +1 -1
  122. package/dist/nile-option/index.esm.js +1 -1
  123. package/dist/nile-option/nile-option.cjs.js +1 -1
  124. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  125. package/dist/nile-option/nile-option.esm.js +1 -1
  126. package/dist/nile-select/index.cjs.js +1 -1
  127. package/dist/nile-select/index.esm.js +1 -1
  128. package/dist/nile-select/nile-select.cjs.js +1 -1
  129. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  130. package/dist/nile-select/nile-select.esm.js +1 -1
  131. package/dist/nile-slide-toggle/index.cjs.js +1 -1
  132. package/dist/nile-slide-toggle/index.esm.js +1 -1
  133. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js +1 -1
  134. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js.map +1 -1
  135. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js +1 -1
  136. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js.map +1 -1
  137. package/dist/nile-slide-toggle/nile-slide-toggle.css.esm.js +26 -2
  138. package/dist/nile-slide-toggle/nile-slide-toggle.esm.js +5 -3
  139. package/dist/nile-tab/index.cjs.js +1 -1
  140. package/dist/nile-tab/index.esm.js +1 -1
  141. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  142. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  143. package/dist/nile-tab/nile-tab.css.cjs.js +1 -1
  144. package/dist/nile-tab/nile-tab.css.cjs.js.map +1 -1
  145. package/dist/nile-tab/nile-tab.css.esm.js +17 -7
  146. package/dist/nile-tab/nile-tab.esm.js +1 -1
  147. package/dist/nile-tab-group/index.cjs.js +1 -1
  148. package/dist/nile-tab-group/index.esm.js +1 -1
  149. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  150. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  151. package/dist/nile-tab-group/nile-tab-group.css.cjs.js +1 -1
  152. package/dist/nile-tab-group/nile-tab-group.css.cjs.js.map +1 -1
  153. package/dist/nile-tab-group/nile-tab-group.css.esm.js +16 -2
  154. package/dist/nile-tab-group/nile-tab-group.esm.js +8 -5
  155. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
  156. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
  157. package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +4 -4
  158. package/dist/nile-tag/index.cjs.js +1 -1
  159. package/dist/nile-tag/index.esm.js +1 -1
  160. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  161. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  162. package/dist/nile-tag/nile-tag.esm.js +1 -1
  163. package/dist/nile-toast/index.cjs.js +1 -1
  164. package/dist/nile-toast/index.esm.js +1 -1
  165. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  166. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  167. package/dist/nile-toast/nile-toast.css.cjs.js +1 -1
  168. package/dist/nile-toast/nile-toast.css.cjs.js.map +1 -1
  169. package/dist/nile-toast/nile-toast.css.esm.js +17 -16
  170. package/dist/nile-toast/nile-toast.esm.js +5 -3
  171. package/dist/nile-tooltip/nile-tooltip.css.cjs.js +1 -1
  172. package/dist/nile-tooltip/nile-tooltip.css.cjs.js.map +1 -1
  173. package/dist/nile-tooltip/nile-tooltip.css.esm.js +6 -6
  174. package/dist/scopedElementsWrapper-2fa3aa8b.cjs.js +6 -0
  175. package/dist/scopedElementsWrapper-2fa3aa8b.cjs.js.map +1 -0
  176. package/dist/scopedElementsWrapper-4c29be11.esm.js +7 -0
  177. package/dist/src/index.d.ts +1 -0
  178. package/dist/src/index.js +1 -0
  179. package/dist/src/index.js.map +1 -1
  180. package/dist/src/nile-avatar/nile-avatar.css.js +15 -7
  181. package/dist/src/nile-avatar/nile-avatar.css.js.map +1 -1
  182. package/dist/src/nile-avatar/nile-avatar.d.ts +1 -1
  183. package/dist/src/nile-avatar/nile-avatar.js +1 -0
  184. package/dist/src/nile-avatar/nile-avatar.js.map +1 -1
  185. package/dist/src/nile-badge/nile-badge.css.js +7 -5
  186. package/dist/src/nile-badge/nile-badge.css.js.map +1 -1
  187. package/dist/src/nile-button/nile-button.css.js +13 -23
  188. package/dist/src/nile-button/nile-button.css.js.map +1 -1
  189. package/dist/src/nile-button-toggle/nile-button-toggle.css.js +11 -6
  190. package/dist/src/nile-button-toggle/nile-button-toggle.css.js.map +1 -1
  191. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.d.ts +5 -5
  192. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.js +8 -7
  193. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.js.map +1 -1
  194. package/dist/src/nile-checkbox/nile-checkbox.css.js +24 -10
  195. package/dist/src/nile-checkbox/nile-checkbox.css.js.map +1 -1
  196. package/dist/src/nile-checkbox/nile-checkbox.d.ts +2 -0
  197. package/dist/src/nile-checkbox/nile-checkbox.js +7 -2
  198. package/dist/src/nile-checkbox/nile-checkbox.js.map +1 -1
  199. package/dist/src/nile-checkbox/nile-checkbox.test.d.ts +1 -0
  200. package/dist/src/nile-checkbox/nile-checkbox.test.js +118 -0
  201. package/dist/src/nile-checkbox/nile-checkbox.test.js.map +1 -0
  202. package/dist/src/nile-empty-state/nile-empty-state.css.js +61 -20
  203. package/dist/src/nile-empty-state/nile-empty-state.css.js.map +1 -1
  204. package/dist/src/nile-empty-state/nile-empty-state.d.ts +1 -1
  205. package/dist/src/nile-empty-state/nile-empty-state.js +22 -22
  206. package/dist/src/nile-empty-state/nile-empty-state.js.map +1 -1
  207. package/dist/src/nile-hero/nile-hero.css.js +13 -32
  208. package/dist/src/nile-hero/nile-hero.css.js.map +1 -1
  209. package/dist/src/nile-hero/nile-hero.d.ts +6 -0
  210. package/dist/src/nile-hero/nile-hero.js +45 -8
  211. package/dist/src/nile-hero/nile-hero.js.map +1 -1
  212. package/dist/src/nile-hero-header/index.d.ts +1 -0
  213. package/dist/src/nile-hero-header/index.js +2 -0
  214. package/dist/src/nile-hero-header/index.js.map +1 -0
  215. package/dist/src/nile-hero-header/nile-hero-header.css.d.ts +12 -0
  216. package/dist/src/nile-hero-header/nile-hero-header.css.js +40 -0
  217. package/dist/src/nile-hero-header/nile-hero-header.css.js.map +1 -0
  218. package/dist/src/nile-hero-header/nile-hero-header.d.ts +34 -0
  219. package/dist/src/nile-hero-header/nile-hero-header.js +58 -0
  220. package/dist/src/nile-hero-header/nile-hero-header.js.map +1 -0
  221. package/dist/src/nile-icon/icons/svg/data-insight.d.ts +5 -0
  222. package/dist/src/nile-icon/icons/svg/data-insight.js +5 -0
  223. package/dist/src/nile-icon/icons/svg/data-insight.js.map +1 -0
  224. package/dist/src/nile-icon/icons/svg/index.d.ts +3 -0
  225. package/dist/src/nile-icon/icons/svg/index.js +3 -0
  226. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  227. package/dist/src/nile-icon/icons/svg/info-circle.d.ts +5 -0
  228. package/dist/src/nile-icon/icons/svg/info-circle.js +5 -0
  229. package/dist/src/nile-icon/icons/svg/info-circle.js.map +1 -0
  230. package/dist/src/nile-icon/icons/svg/user-01.d.ts +5 -0
  231. package/dist/src/nile-icon/icons/svg/user-01.js +5 -0
  232. package/dist/src/nile-icon/icons/svg/user-01.js.map +1 -0
  233. package/dist/src/nile-icon/index.js +2 -1
  234. package/dist/src/nile-icon/index.js.map +1 -1
  235. package/dist/src/nile-input/nile-input.css.js +7 -8
  236. package/dist/src/nile-input/nile-input.css.js.map +1 -1
  237. package/dist/src/nile-menu/nile-menu.css.js +2 -1
  238. package/dist/src/nile-menu/nile-menu.css.js.map +1 -1
  239. package/dist/src/nile-menu-item/nile-menu-item.css.js +7 -4
  240. package/dist/src/nile-menu-item/nile-menu-item.css.js.map +1 -1
  241. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js +26 -2
  242. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js.map +1 -1
  243. package/dist/src/nile-slide-toggle/nile-slide-toggle.d.ts +1 -0
  244. package/dist/src/nile-slide-toggle/nile-slide-toggle.js +11 -1
  245. package/dist/src/nile-slide-toggle/nile-slide-toggle.js.map +1 -1
  246. package/dist/src/nile-tab/nile-tab.css.js +15 -5
  247. package/dist/src/nile-tab/nile-tab.css.js.map +1 -1
  248. package/dist/src/nile-tab-group/nile-tab-group.css.js +16 -2
  249. package/dist/src/nile-tab-group/nile-tab-group.css.js.map +1 -1
  250. package/dist/src/nile-tab-group/nile-tab-group.d.ts +2 -0
  251. package/dist/src/nile-tab-group/nile-tab-group.js +14 -3
  252. package/dist/src/nile-tab-group/nile-tab-group.js.map +1 -1
  253. package/dist/src/nile-table-header-item/nile-table-header-item.css.js +2 -2
  254. package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
  255. package/dist/src/nile-toast/nile-toast.css.js +17 -16
  256. package/dist/src/nile-toast/nile-toast.css.js.map +1 -1
  257. package/dist/src/nile-toast/nile-toast.d.ts +1 -1
  258. package/dist/src/nile-toast/nile-toast.js +9 -7
  259. package/dist/src/nile-toast/nile-toast.js.map +1 -1
  260. package/dist/src/nile-tooltip/nile-tooltip.css.js +6 -6
  261. package/dist/src/nile-tooltip/nile-tooltip.css.js.map +1 -1
  262. package/dist/tsconfig.tsbuildinfo +1 -1
  263. package/package.json +3 -2
  264. package/plopfile.js +5 -0
  265. package/rollup.config.js +11 -6
  266. package/src/index.ts +2 -1
  267. package/src/nile-avatar/nile-avatar.css.ts +15 -7
  268. package/src/nile-avatar/nile-avatar.ts +2 -1
  269. package/src/nile-badge/nile-badge.css.ts +7 -5
  270. package/src/nile-button/nile-button.css.ts +13 -23
  271. package/src/nile-button-toggle/nile-button-toggle.css.ts +11 -6
  272. package/src/nile-button-toggle-group/nile-button-toggle-group.css.ts +9 -8
  273. package/src/nile-checkbox/nile-checkbox.css.ts +24 -10
  274. package/src/nile-checkbox/nile-checkbox.test.ts +146 -0
  275. package/src/nile-checkbox/nile-checkbox.ts +6 -3
  276. package/src/nile-empty-state/nile-empty-state.css.ts +61 -20
  277. package/src/nile-empty-state/nile-empty-state.ts +22 -28
  278. package/src/nile-hero/nile-hero.css.ts +13 -32
  279. package/src/nile-hero/nile-hero.ts +39 -13
  280. package/src/nile-hero-header/index.ts +1 -0
  281. package/src/nile-hero-header/nile-hero-header.css.ts +42 -0
  282. package/src/nile-hero-header/nile-hero-header.ts +59 -0
  283. package/src/nile-icon/icons/svg/data-insight.ts +5 -0
  284. package/src/nile-icon/icons/svg/index.ts +3 -0
  285. package/src/nile-icon/icons/svg/info-circle.ts +5 -0
  286. package/src/nile-icon/icons/svg/user-01.ts +5 -0
  287. package/src/nile-icon/index.ts +2 -1
  288. package/src/nile-input/nile-input.css.ts +7 -8
  289. package/src/nile-menu/nile-menu.css.ts +2 -1
  290. package/src/nile-menu-item/nile-menu-item.css.ts +7 -4
  291. package/src/nile-slide-toggle/nile-slide-toggle.css.ts +26 -2
  292. package/src/nile-slide-toggle/nile-slide-toggle.ts +9 -1
  293. package/src/nile-tab/nile-tab.css.ts +16 -6
  294. package/src/nile-tab-group/nile-tab-group.css.ts +16 -2
  295. package/src/nile-tab-group/nile-tab-group.ts +23 -13
  296. package/src/nile-table-header-item/nile-table-header-item.css.ts +2 -2
  297. package/src/nile-toast/nile-toast.css.ts +17 -16
  298. package/src/nile-toast/nile-toast.ts +9 -7
  299. package/src/nile-tooltip/nile-tooltip.css.ts +6 -6
  300. package/tsconfig.json +3 -1
  301. package/web-test-runner.config.mjs +15 -15
  302. package/dist/stories/icons.stories.d.ts +0 -29
  303. package/dist/stories/icons.stories.js +0 -27
  304. package/dist/stories/icons.stories.js.map +0 -1
  305. package/dist/stories/index.stories.d.ts +0 -33
  306. package/dist/stories/index.stories.js +0 -37
  307. package/dist/stories/index.stories.js.map +0 -1
@@ -12,13 +12,12 @@ export default css `
12
12
  width: 36px;
13
13
  height: 20px;
14
14
  line-height: 22px;
15
- margin-right: 10px;
15
+ margin-right: 8px;
16
16
  }
17
17
 
18
18
  .nile-slide-toggle__label {
19
19
  display: flex;
20
20
  flex-direction: column;
21
- margin-right: 6px;
22
21
  font-size: 14px;
23
22
  color: var(--nile-colors-gray-light-mode-700);
24
23
  font-family: var(--nile-font-family-serif);
@@ -27,6 +26,7 @@ export default css `
27
26
  font-weight: 500;
28
27
  line-height: 20px;
29
28
  letter-spacing: 0.2px;
29
+ gap: 2px;
30
30
  }
31
31
 
32
32
  .nile-slide-toggle__sublabel {
@@ -54,6 +54,14 @@ export default css `
54
54
  border-radius: 34px;
55
55
  }
56
56
 
57
+ .nile-slide-toggle__slider:active {
58
+ box-shadow: 0px 0px 0px 1px rgba(133, 170, 209, 0.54);
59
+ }
60
+
61
+ .nile-slide-toggle__slider:focus {
62
+ box-shadow: 0px 0px 0px 1px rgba(133, 170, 209, 0.54);
63
+ }
64
+
57
65
  .nile-slide-toggle__slider:before {
58
66
  position: absolute;
59
67
  content: '';
@@ -85,5 +93,21 @@ export default css `
85
93
  .nile-slide-toggle__slider.round:before {
86
94
  border-radius: 50%;
87
95
  }
96
+
97
+ .nile-slide--disabled .nile-slide-toggle__slider {
98
+ background-color: #f2f4f7;
99
+ }
100
+
101
+ .nile-slide--disabled .nile-slide-toggle__switch {
102
+ pointer-events: none;
103
+ cursor: not-allowed;
104
+ }
105
+
106
+ .nile-slide--disabled
107
+ .nile-slide-toggle__switch
108
+ input:checked
109
+ + .nile-slide-toggle__slider {
110
+ background-color: #f2f4f7;
111
+ }
88
112
  `;
89
113
  //# sourceMappingURL=nile-slide-toggle.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-slide-toggle.css.js","sourceRoot":"","sources":["../../../src/nile-slide-toggle/nile-slide-toggle.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFjB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport default css`\n .nile-slide-toggle {\n display: inline-flex;\n align-items: baseline;\n }\n\n .nile-slide-toggle__switch {\n flex: 0 0 auto;\n position: relative;\n display: inline-block;\n width: 36px;\n height: 20px;\n line-height: 22px;\n margin-right: 10px;\n }\n\n .nile-slide-toggle__label {\n display: flex;\n flex-direction: column;\n margin-right: 6px;\n font-size: 14px;\n color: var(--nile-colors-gray-light-mode-700);\n font-family: var(--nile-font-family-serif);\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n line-height: 20px;\n letter-spacing: 0.2px;\n }\n\n .nile-slide-toggle__sublabel {\n color: var(--nile-colors-gray-light-mode-600);\n font-size: 12px;\n font-weight: 400;\n line-height: 18px;\n }\n\n .nile-slide-toggle__switch input {\n opacity: 0;\n width: 0;\n height: 0;\n }\n\n .nile-slide-toggle__slider {\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: var(--nile-slide-toggle-color-background-inactive);\n transition: 0.4s;\n border-radius: 34px;\n }\n\n .nile-slide-toggle__slider:before {\n position: absolute;\n content: '';\n height: 16px;\n width: 16px;\n bottom: 2px;\n left: 2px;\n background-color: var(--nile-slide-toggle-color-indicator);\n transition: 0.4s;\n border-radius: 50%;\n }\n\n .nile-slide-toggle__switch input:checked + .nile-slide-toggle__slider {\n background-color: var(--nile-slide-toggle-color-background-active);\n }\n\n .nile-slide-toggle__switch input:focus + .nile-slide-toggle__slider {\n box-shadow: 0 0 1px var(--nile-slide-toggle-color-background-active);\n }\n\n .nile-slide-toggle__switch input:checked + .nile-slide-toggle__slider:before {\n transform: translateX(16px);\n }\n\n .nile-slide-toggle__slider.round {\n border-radius: 20px;\n }\n\n .nile-slide-toggle__slider.round:before {\n border-radius: 50%;\n }\n`;\n"]}
1
+ {"version":3,"file":"nile-slide-toggle.css.js","sourceRoot":"","sources":["../../../src/nile-slide-toggle/nile-slide-toggle.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8GjB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport default css`\n .nile-slide-toggle {\n display: inline-flex;\n align-items: baseline;\n }\n\n .nile-slide-toggle__switch {\n flex: 0 0 auto;\n position: relative;\n display: inline-block;\n width: 36px;\n height: 20px;\n line-height: 22px;\n margin-right: 8px;\n }\n\n .nile-slide-toggle__label {\n display: flex;\n flex-direction: column;\n font-size: 14px;\n color: var(--nile-colors-gray-light-mode-700);\n font-family: var(--nile-font-family-serif);\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n line-height: 20px;\n letter-spacing: 0.2px;\n gap: 2px;\n }\n\n .nile-slide-toggle__sublabel {\n color: var(--nile-colors-gray-light-mode-600);\n font-size: 12px;\n font-weight: 400;\n line-height: 18px;\n }\n\n .nile-slide-toggle__switch input {\n opacity: 0;\n width: 0;\n height: 0;\n }\n\n .nile-slide-toggle__slider {\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: var(--nile-slide-toggle-color-background-inactive);\n transition: 0.4s;\n border-radius: 34px;\n }\n\n .nile-slide-toggle__slider:active {\n box-shadow: 0px 0px 0px 1px rgba(133, 170, 209, 0.54);\n }\n\n .nile-slide-toggle__slider:focus {\n box-shadow: 0px 0px 0px 1px rgba(133, 170, 209, 0.54);\n }\n\n .nile-slide-toggle__slider:before {\n position: absolute;\n content: '';\n height: 16px;\n width: 16px;\n bottom: 2px;\n left: 2px;\n background-color: var(--nile-slide-toggle-color-indicator);\n transition: 0.4s;\n border-radius: 50%;\n }\n\n .nile-slide-toggle__switch input:checked + .nile-slide-toggle__slider {\n background-color: var(--nile-slide-toggle-color-background-active);\n }\n\n .nile-slide-toggle__switch input:focus + .nile-slide-toggle__slider {\n box-shadow: 0 0 1px var(--nile-slide-toggle-color-background-active);\n }\n\n .nile-slide-toggle__switch input:checked + .nile-slide-toggle__slider:before {\n transform: translateX(16px);\n }\n\n .nile-slide-toggle__slider.round {\n border-radius: 20px;\n }\n\n .nile-slide-toggle__slider.round:before {\n border-radius: 50%;\n }\n\n .nile-slide--disabled .nile-slide-toggle__slider {\n background-color: #f2f4f7;\n }\n\n .nile-slide--disabled .nile-slide-toggle__switch {\n pointer-events: none;\n cursor: not-allowed;\n }\n\n .nile-slide--disabled\n .nile-slide-toggle__switch\n input:checked\n + .nile-slide-toggle__slider {\n background-color: #f2f4f7;\n }\n`;\n"]}
@@ -5,6 +5,7 @@ export declare class NileSlideToggle extends NileElement {
5
5
  label: string;
6
6
  sublabel: string;
7
7
  isChecked: boolean;
8
+ disabled: boolean;
8
9
  helpText: string;
9
10
  errorMessage: string;
10
11
  connectedCallback(): void;
@@ -2,12 +2,14 @@ import { __decorate } from "tslib";
2
2
  import { html, property, customElement } from 'lit-element';
3
3
  import styles from './nile-slide-toggle.css';
4
4
  import NileElement from '../internal/nile-element';
5
+ import { classMap } from 'lit/directives/class-map.js';
5
6
  let NileSlideToggle = class NileSlideToggle extends NileElement {
6
7
  constructor() {
7
8
  super(...arguments);
8
9
  this.label = '';
9
10
  this.sublabel = '';
10
11
  this.isChecked = false;
12
+ this.disabled = false;
11
13
  this.helpText = '';
12
14
  this.errorMessage = '';
13
15
  }
@@ -27,7 +29,12 @@ let NileSlideToggle = class NileSlideToggle extends NileElement {
27
29
  const hasHelpText = this.helpText ? true : false;
28
30
  const hasErrorMessage = this.errorMessage ? true : false;
29
31
  return html `
30
- <div class="nile-slide-toggle">
32
+ <div
33
+ class=${classMap({
34
+ 'nile-slide-toggle': true,
35
+ 'nile-slide--disabled': this.disabled,
36
+ })}
37
+ >
31
38
  <label class="nile-slide-toggle__switch">
32
39
  <input
33
40
  type="checkbox"
@@ -64,6 +71,9 @@ __decorate([
64
71
  __decorate([
65
72
  property({ type: Boolean, reflect: true })
66
73
  ], NileSlideToggle.prototype, "isChecked", void 0);
74
+ __decorate([
75
+ property({ type: Boolean, reflect: true })
76
+ ], NileSlideToggle.prototype, "disabled", void 0);
67
77
  __decorate([
68
78
  property({ attribute: 'help-text', reflect: true })
69
79
  ], NileSlideToggle.prototype, "helpText", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-slide-toggle.js","sourceRoot":"","sources":["../../../src/nile-slide-toggle/nile-slide-toggle.ts"],"names":[],"mappings":";AACA,OAAO,EAAc,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAC7C,OAAO,WAAW,MAAM,0BAA0B,CAAC;AAG5C,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,WAAW;IAAzC;;QAGuB,UAAK,GAAG,EAAE,CAAC;QACX,aAAQ,GAAG,EAAE,CAAC;QAEE,cAAS,GAAG,KAAK,CAAC;QAET,aAAQ,GAAG,EAAE,CAAC;QAEV,iBAAY,GAAG,EAAE,CAAC;IAkD7E,CAAC;IAhDC,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CACnE,CAAC;IACJ,CAAC;IAEM,MAAM;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACjD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAEzD,OAAO,IAAI,CAAA;;;;;uBAKQ,IAAI,CAAC,SAAS;sBACf,IAAI,CAAC,WAAW;;;;;kBAKpB,IAAI,CAAC,KAAK;sDAC0B,IAAI,CAAC,QAAQ;;;QAG3D,WAAW;YACX,CAAC,CAAC,IAAI,CAAA,yBAAyB,IAAI,CAAC,QAAQ,yBAAyB;YACrE,CAAC,CAAC,EAAE;QACJ,eAAe;YACf,CAAC,CAAC,IAAI,CAAA;;iBAEG,IAAI,CAAC,YAAY;;WAEvB;YACH,CAAC,CAAC,EAAE;KACP,CAAC;IACJ,CAAC;;AA1Da,sBAAM,GAAmB,MAAM,CAAC;AAElB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAY;AACX;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDAAe;AAEE;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDAAmB;AAET;IAApD,QAAQ,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAAe;AAEV;IAAxD,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;qDAAmB;AAVhE,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CA4D3B;SA5DY,eAAe","sourcesContent":["import { CSSResultGroup } from 'lit';\nimport { LitElement, html, property, customElement } from 'lit-element';\nimport styles from './nile-slide-toggle.css';\nimport NileElement from '../internal/nile-element';\n\n@customElement('nile-slide-toggle')\nexport class NileSlideToggle extends NileElement {\n public static styles: CSSResultGroup = styles;\n\n @property({ type: String }) label = '';\n @property({ type: String }) sublabel = '';\n\n @property({ type: Boolean, reflect: true }) isChecked = false;\n\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n connectedCallback() {\n super.connectedCallback();\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n toggleValue() {\n this.isChecked = !this.isChecked;\n this.dispatchEvent(\n new CustomEvent('change', { detail: { checked: this.isChecked } })\n );\n }\n\n public render() {\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n\n return html`\n <div class=\"nile-slide-toggle\">\n <label class=\"nile-slide-toggle__switch\">\n <input\n type=\"checkbox\"\n .checked=${this.isChecked}\n @change=${this.toggleValue}\n />\n <span class=\"nile-slide-toggle__slider\"></span>\n </label>\n <span class=\"nile-slide-toggle__label\">\n <span>${this.label}</span>\n <span class=\"nile-slide-toggle__sublabel\">${this.sublabel}</span>\n </span>\n </div>\n ${hasHelpText\n ? html` <nile-form-help-text>${this.helpText}</nile-form-help-text> `\n : ``}\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-slide-toggle.js","sourceRoot":"","sources":["../../../src/nile-slide-toggle/nile-slide-toggle.ts"],"names":[],"mappings":";AACA,OAAO,EAAc,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAC7C,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGhD,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,WAAW;IAAzC;;QAGuB,UAAK,GAAG,EAAE,CAAC;QACX,aAAQ,GAAG,EAAE,CAAC;QAEE,cAAS,GAAG,KAAK,CAAC;QAElB,aAAQ,GAAG,KAAK,CAAC;QAER,aAAQ,GAAG,EAAE,CAAC;QAEV,iBAAY,GAAG,EAAE,CAAC;IAuD7E,CAAC;IArDC,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CACnE,CAAC;IACJ,CAAC;IAEM,MAAM;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACjD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAEzD,OAAO,IAAI,CAAA;;gBAEC,QAAQ,CAAC;YACf,mBAAmB,EAAE,IAAI;YACzB,sBAAsB,EAAE,IAAI,CAAC,QAAQ;SACtC,CAAC;;;;;uBAKa,IAAI,CAAC,SAAS;sBACf,IAAI,CAAC,WAAW;;;;;kBAKpB,IAAI,CAAC,KAAK;sDAC0B,IAAI,CAAC,QAAQ;;;QAG3D,WAAW;YACX,CAAC,CAAC,IAAI,CAAA,yBAAyB,IAAI,CAAC,QAAQ,yBAAyB;YACrE,CAAC,CAAC,EAAE;QACJ,eAAe;YACf,CAAC,CAAC,IAAI,CAAA;;iBAEG,IAAI,CAAC,YAAY;;WAEvB;YACH,CAAC,CAAC,EAAE;KACP,CAAC;IACJ,CAAC;;AAjEa,sBAAM,GAAmB,MAAM,CAAC;AAElB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAY;AACX;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDAAe;AAEE;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDAAmB;AAElB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAAkB;AAER;IAApD,QAAQ,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAAe;AAEV;IAAxD,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;qDAAmB;AAZhE,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CAmE3B;SAnEY,eAAe","sourcesContent":["import { CSSResultGroup } from 'lit';\nimport { LitElement, html, property, customElement } from 'lit-element';\nimport styles from './nile-slide-toggle.css';\nimport NileElement from '../internal/nile-element';\nimport { classMap } from 'lit/directives/class-map.js';\n\n@customElement('nile-slide-toggle')\nexport class NileSlideToggle extends NileElement {\n public static styles: CSSResultGroup = styles;\n\n @property({ type: String }) label = '';\n @property({ type: String }) sublabel = '';\n\n @property({ type: Boolean, reflect: true }) isChecked = false;\n\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n connectedCallback() {\n super.connectedCallback();\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n toggleValue() {\n this.isChecked = !this.isChecked;\n this.dispatchEvent(\n new CustomEvent('change', { detail: { checked: this.isChecked } })\n );\n }\n\n public render() {\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n\n return html`\n <div\n class=${classMap({\n 'nile-slide-toggle': true,\n 'nile-slide--disabled': this.disabled,\n })}\n >\n <label class=\"nile-slide-toggle__switch\">\n <input\n type=\"checkbox\"\n .checked=${this.isChecked}\n @change=${this.toggleValue}\n />\n <span class=\"nile-slide-toggle__slider\"></span>\n </label>\n <span class=\"nile-slide-toggle__label\">\n <span>${this.label}</span>\n <span class=\"nile-slide-toggle__sublabel\">${this.sublabel}</span>\n </span>\n </div>\n ${hasHelpText\n ? html` <nile-form-help-text>${this.helpText}</nile-form-help-text> `\n : ``}\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n `;\n }\n}\n"]}
@@ -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"]}
@@ -17,6 +17,7 @@ export const styles = css `
17
17
  --indicator-color: var(--nile-colors-primary-600);
18
18
  --track-color: #e5e9eb;
19
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: 2px;\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.
@@ -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":"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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\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 + 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 })}\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"]}
@@ -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,7 +43,6 @@ 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
 
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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 }\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 .hover__arrow {\n opacity: 0;\n }\n\n .headers:hover .hover__arrow {\n opacity: 0.3;\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"]}
@@ -19,12 +19,14 @@ export const styles = css `
19
19
  .alert {
20
20
  position: relative;
21
21
  display: flex;
22
- align-items: stretch;
22
+ align-items: flex-start;
23
23
  border: solid 2px 2px;
24
- border-radius: var(--nile-radius-base-standard);
24
+ border-radius: 8px;
25
25
  margin: inherit;
26
- padding: 12px;
27
- gap: 10px;
26
+ padding: 16px;
27
+ gap: 16px;
28
+ width: max-content;
29
+ min-width: 400px;
28
30
  }
29
31
 
30
32
  .alert:not(.alert--has-icon) .alert__icon,
@@ -33,10 +35,8 @@ export const styles = css `
33
35
  }
34
36
 
35
37
  .alert__prefix-icon-container {
36
- height: 26px;
37
- width: 26px;
38
+ background-color: red;
38
39
  border-radius: 4px;
39
- padding: 6px;
40
40
  box-sizing: border-box;
41
41
  display: flex;
42
42
  justify-content: center;
@@ -109,10 +109,9 @@ export const styles = css `
109
109
  .alert--black .alert__prefix-icon-container {
110
110
  background: var(--nile-toast-color-icon-background-color-black);
111
111
  }
112
-
112
+
113
113
  .alert__message {
114
114
  flex: 1 1 auto;
115
- display: block;
116
115
  overflow: hidden;
117
116
  display: flex;
118
117
  align-items: center;
@@ -120,17 +119,19 @@ export const styles = css `
120
119
  align-items: flex-start;
121
120
  font-family: var(--nile-font-family-serif);
122
121
  font-size: 14px;
123
- font-weight: 400;
124
- line-height: 14px;
122
+ line-height: 20px;
125
123
  color: black;
124
+ gap:3px;
126
125
  }
127
126
 
128
127
  .alert__message--title {
129
128
  font-weight: 600;
129
+ color:#344054;
130
130
  }
131
131
 
132
132
  .alert__message--content {
133
- line-height: 21px;
133
+ font-weight:400;
134
+ color:#475467;
134
135
  }
135
136
 
136
137
  .alert__message--content-only {
@@ -166,11 +167,11 @@ export const styles = css `
166
167
  padding: 0 6px;
167
168
 
168
169
  color: var(--nile-colors-dark-900);
169
- font-family: Colfax-regular;
170
- font-size: 12px;
170
+ font-family: var
171
+ font-size: 14px;
171
172
  font-style: normal;
172
- font-weight: 500;
173
- line-height: 12px;
173
+ font-weight: 400;
174
+ line-height: 20px;
174
175
  letter-spacing: 0.2px;
175
176
  }
176
177
 
@@ -1 +1 @@
1
- {"version":3,"file":"nile-toast.css.js","sourceRoot":"","sources":["../../../src/nile-toast/nile-toast.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoLxB,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 * Toast CSS\n */\nexport const styles = css`\n :host {\n display: contents;\n\n /* For better DX, we'll reset the margin here so the base part can inherit it */\n margin: 0;\n }\n\n .alert {\n position: relative;\n display: flex;\n align-items: stretch;\n border: solid 2px 2px;\n border-radius: var(--nile-radius-base-standard);\n margin: inherit;\n padding: 12px;\n gap: 10px;\n }\n\n .alert:not(.alert--has-icon) .alert__icon,\n .alert:not(.alert--closable) .alert__close-button {\n display: none;\n }\n\n .alert__prefix-icon-container {\n height: 26px;\n width: 26px;\n border-radius: 4px;\n padding: 6px;\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .alert__icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: 10px;\n }\n\n .alert--success {\n border: 1px solid var(--nile-toast-color-border-success);\n background: var(--nile-toast-color-background-success);\n box-shadow: var(--nile-toast-color-box-shadow);\n }\n\n .alert--success .alert__prefix-icon-container {\n background: var(--nile-toast-color-icon-background-color-success);\n }\n\n .alert--info {\n border: 1px solid var(--nile-toast-color-border-info);\n background: var(--nile-toast-color-background-info);\n box-shadow: var(--nile-toast-color-box-shadow);\n }\n\n .alert--info .alert__prefix-icon-container {\n background: var(--nile-toast-color-icon-background-color-info);\n }\n\n .alert--warning {\n border: 1px solid var(--nile-toast-color-border-warning);\n background: var(--nile-toast-color-background-warning);\n box-shadow: var(--nile-toast-color-box-shadow);\n }\n\n .alert--warning .alert__prefix-icon-container {\n background: var(--nile-toast-color-icon-background-color-warning);\n }\n\n .alert--error {\n border: 1px solid var(--nile-toast-color-border-error);\n background: var(--nile-toast-color-background-error);\n box-shadow: var(--nile-toast-color-box-shadow);\n }\n\n .alert--error .alert__prefix-icon-container {\n background: var(--nile-toast-color-icon-background-color-error);\n }\n\n .alert--gray {\n border: 1px solid var(--nile-toast-color-border-gray);\n background: var(--nile-toast-color-background-gray);\n box-shadow: var(--nile-toast-color-box-shadow);\n }\n\n .alert--gray .alert__prefix-icon-container {\n background: var(--nile-toast-color-icon-background-color-gray);\n }\n\n .alert--black {\n border: 1px solid var(--nile-toast-color-border-black);\n background: var(--nile-toast-color-background-black);\n box-shadow: var(--nile-toast-color-box-black);\n }\n\n .alert--black .alert__prefix-icon-container {\n background: var(--nile-toast-color-icon-background-color-black);\n }\n \n .alert__message {\n flex: 1 1 auto;\n display: block;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-direction: column;\n align-items: flex-start;\n font-family: var(--nile-font-family-serif);\n font-size: 14px;\n font-weight: 400;\n line-height: 14px;\n color: black;\n }\n\n .alert__message--title {\n font-weight: 600;\n }\n\n .alert__message--content {\n line-height: 21px;\n }\n\n .alert__message--content-only {\n margin-top: 3px;\n }\n\n .alert__close-button {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n }\n\n .alert__tags {\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n margin-top: 4px;\n }\n\n .alert__tag {\n height: 24px;\n display: flex;\n border-radius: 4px;\n border: 1px solid #e5e9eb;\n background: var(--nile-colors-white-base);\n }\n\n .alert__tag-content {\n border-left: 1px solid #e5e9eb;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 6px;\n\n color: var(--nile-colors-dark-900);\n font-family: Colfax-regular;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 12px;\n letter-spacing: 0.2px;\n }\n\n .alert__tag-image {\n height: 24px;\n width: 24px;\n border-radius: 4px 0 0 4px;\n }\n\n .alert__prefix-img {\n height: 24px;\n border-radius: 4px;\n }\n\n [hidden] {\n display: none;\n }\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-toast.css.js","sourceRoot":"","sources":["../../../src/nile-toast/nile-toast.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqLxB,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 * Toast CSS\n */\nexport const styles = css`\n :host {\n display: contents;\n\n /* For better DX, we'll reset the margin here so the base part can inherit it */\n margin: 0;\n }\n\n .alert {\n position: relative;\n display: flex;\n align-items: flex-start;\n border: solid 2px 2px;\n border-radius: 8px;\n margin: inherit;\n padding: 16px;\n gap: 16px;\n width: max-content;\n min-width: 400px;\n }\n\n .alert:not(.alert--has-icon) .alert__icon,\n .alert:not(.alert--closable) .alert__close-button {\n display: none;\n }\n\n .alert__prefix-icon-container {\n background-color: red;\n border-radius: 4px;\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .alert__icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: 10px;\n }\n\n .alert--success {\n border: 1px solid var(--nile-toast-color-border-success);\n background: var(--nile-toast-color-background-success);\n box-shadow: var(--nile-toast-color-box-shadow);\n }\n\n .alert--success .alert__prefix-icon-container {\n background: var(--nile-toast-color-icon-background-color-success);\n }\n\n .alert--info {\n border: 1px solid var(--nile-toast-color-border-info);\n background: var(--nile-toast-color-background-info);\n box-shadow: var(--nile-toast-color-box-shadow);\n }\n\n .alert--info .alert__prefix-icon-container {\n background: var(--nile-toast-color-icon-background-color-info);\n }\n\n .alert--warning {\n border: 1px solid var(--nile-toast-color-border-warning);\n background: var(--nile-toast-color-background-warning);\n box-shadow: var(--nile-toast-color-box-shadow);\n }\n\n .alert--warning .alert__prefix-icon-container {\n background: var(--nile-toast-color-icon-background-color-warning);\n }\n\n .alert--error {\n border: 1px solid var(--nile-toast-color-border-error);\n background: var(--nile-toast-color-background-error);\n box-shadow: var(--nile-toast-color-box-shadow);\n }\n\n .alert--error .alert__prefix-icon-container {\n background: var(--nile-toast-color-icon-background-color-error);\n }\n\n .alert--gray {\n border: 1px solid var(--nile-toast-color-border-gray);\n background: var(--nile-toast-color-background-gray);\n box-shadow: var(--nile-toast-color-box-shadow);\n }\n\n .alert--gray .alert__prefix-icon-container {\n background: var(--nile-toast-color-icon-background-color-gray);\n }\n\n .alert--black {\n border: 1px solid var(--nile-toast-color-border-black);\n background: var(--nile-toast-color-background-black);\n box-shadow: var(--nile-toast-color-box-black);\n }\n\n .alert--black .alert__prefix-icon-container {\n background: var(--nile-toast-color-icon-background-color-black);\n }\n\n .alert__message {\n flex: 1 1 auto;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-direction: column;\n align-items: flex-start;\n font-family: var(--nile-font-family-serif);\n font-size: 14px;\n line-height: 20px;\n color: black;\n gap:3px;\n }\n\n .alert__message--title {\n font-weight: 600;\n color:#344054;\n }\n\n .alert__message--content {\n font-weight:400;\n color:#475467;\n }\n\n .alert__message--content-only {\n margin-top: 3px;\n }\n\n .alert__close-button {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n }\n\n .alert__tags {\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n margin-top: 4px;\n }\n\n .alert__tag {\n height: 24px;\n display: flex;\n border-radius: 4px;\n border: 1px solid #e5e9eb;\n background: var(--nile-colors-white-base);\n }\n\n .alert__tag-content {\n border-left: 1px solid #e5e9eb;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 6px;\n\n color: var(--nile-colors-dark-900);\n font-family: var\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n letter-spacing: 0.2px;\n }\n\n .alert__tag-image {\n height: 24px;\n width: 24px;\n border-radius: 4px 0 0 4px;\n }\n\n .alert__prefix-img {\n height: 24px;\n border-radius: 4px;\n }\n\n [hidden] {\n display: none;\n }\n`;\n\nexport default [styles];\n"]}
@@ -69,7 +69,7 @@ export declare class NileToast extends NileElement {
69
69
  show(): Promise<void>;
70
70
  /** Hides the alert */
71
71
  hide(): Promise<void>;
72
- getIconNameByVariant(): "check-circle" | "info-icon";
72
+ getIconNameByVariant(): "check-circle" | "info-circle" | "alert-circle";
73
73
  getIconColorByVariant(): "var(--nile-toast-color-icon-color-success)" | "var(--nile-toast-color-icon-color-info)" | "var(--nile-toast-color-icon-color-warning)" | "var(--nile-toast-color-icon-color-error)" | "var(--nile-toast-color-icon-color-gray)" | "var(--nile-toast-color-icon-color-black)";
74
74
  handleSlotChange(e: any): void;
75
75
  /**