@aquera/nile-elements 1.6.6 → 1.6.8

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 (231) hide show
  1. package/README.md +7 -0
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/index.esm.js +1 -1
  4. package/dist/index.js +1735 -489
  5. package/dist/internal/enum.cjs.js +1 -1
  6. package/dist/internal/enum.cjs.js.map +1 -1
  7. package/dist/internal/enum.esm.js +1 -1
  8. package/dist/nile-inline-sidebar/index.cjs.js +1 -1
  9. package/dist/nile-inline-sidebar/index.esm.js +1 -1
  10. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js +1 -1
  11. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js.map +1 -1
  12. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js +1 -1
  13. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js.map +1 -1
  14. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.esm.js +76 -19
  15. package/dist/nile-inline-sidebar/nile-inline-sidebar.esm.js +42 -23
  16. package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.css.cjs.js +1 -1
  17. package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.css.cjs.js.map +1 -1
  18. package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.css.esm.js +8 -9
  19. package/dist/nile-inline-sidebar-item/index.cjs.js +1 -1
  20. package/dist/nile-inline-sidebar-item/index.esm.js +1 -1
  21. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +1 -1
  22. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -1
  23. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js +1 -1
  24. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js.map +1 -1
  25. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.esm.js +16 -18
  26. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +22 -4
  27. package/dist/nile-inline-sidebar-item-body/index.cjs.js +2 -0
  28. package/dist/nile-inline-sidebar-item-body/index.cjs.js.map +1 -0
  29. package/dist/nile-inline-sidebar-item-body/index.esm.js +1 -0
  30. package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.cjs.js +2 -0
  31. package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.cjs.js.map +1 -0
  32. package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.cjs.js +2 -0
  33. package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.cjs.js.map +1 -0
  34. package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.esm.js +53 -0
  35. package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.esm.js +13 -0
  36. package/dist/nile-inline-sidebar-item-header/index.cjs.js +2 -0
  37. package/dist/nile-inline-sidebar-item-header/index.cjs.js.map +1 -0
  38. package/dist/nile-inline-sidebar-item-header/index.esm.js +1 -0
  39. package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.cjs.js +2 -0
  40. package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.cjs.js.map +1 -0
  41. package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.cjs.js +2 -0
  42. package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.cjs.js.map +1 -0
  43. package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.esm.js +27 -0
  44. package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.esm.js +16 -0
  45. package/dist/nile-inline-sidebar-panel/index.cjs.js +2 -0
  46. package/dist/nile-inline-sidebar-panel/index.cjs.js.map +1 -0
  47. package/dist/nile-inline-sidebar-panel/index.esm.js +1 -0
  48. package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.cjs.js +2 -0
  49. package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.cjs.js.map +1 -0
  50. package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.cjs.js +2 -0
  51. package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.cjs.js.map +1 -0
  52. package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.esm.js +19 -0
  53. package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.esm.js +5 -0
  54. package/dist/nile-inline-sidebar-panel-group/index.cjs.js +2 -0
  55. package/dist/nile-inline-sidebar-panel-group/index.cjs.js.map +1 -0
  56. package/dist/nile-inline-sidebar-panel-group/index.esm.js +1 -0
  57. package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.cjs.js +2 -0
  58. package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.cjs.js.map +1 -0
  59. package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.cjs.js +2 -0
  60. package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.cjs.js.map +1 -0
  61. package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.esm.js +30 -0
  62. package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.esm.js +12 -0
  63. package/dist/nile-nav-tab/index.cjs.js +2 -0
  64. package/dist/nile-nav-tab/index.cjs.js.map +1 -0
  65. package/dist/nile-nav-tab/index.esm.js +1 -0
  66. package/dist/nile-nav-tab/nile-nav-tab.cjs.js +2 -0
  67. package/dist/nile-nav-tab/nile-nav-tab.cjs.js.map +1 -0
  68. package/dist/nile-nav-tab/nile-nav-tab.css.cjs.js +2 -0
  69. package/dist/nile-nav-tab/nile-nav-tab.css.cjs.js.map +1 -0
  70. package/dist/nile-nav-tab/nile-nav-tab.css.esm.js +190 -0
  71. package/dist/nile-nav-tab/nile-nav-tab.esm.js +36 -0
  72. package/dist/nile-nav-tab-group/index.cjs.js +2 -0
  73. package/dist/nile-nav-tab-group/index.cjs.js.map +1 -0
  74. package/dist/nile-nav-tab-group/index.esm.js +1 -0
  75. package/dist/nile-nav-tab-group/nile-nav-tab-group.cjs.js +4 -0
  76. package/dist/nile-nav-tab-group/nile-nav-tab-group.cjs.js.map +1 -0
  77. package/dist/nile-nav-tab-group/nile-nav-tab-group.css.cjs.js +2 -0
  78. package/dist/nile-nav-tab-group/nile-nav-tab-group.css.cjs.js.map +1 -0
  79. package/dist/nile-nav-tab-group/nile-nav-tab-group.css.esm.js +668 -0
  80. package/dist/nile-nav-tab-group/nile-nav-tab-group.esm.js +61 -0
  81. package/dist/nile-nav-tab-panel/index.cjs.js +2 -0
  82. package/dist/nile-nav-tab-panel/index.cjs.js.map +1 -0
  83. package/dist/nile-nav-tab-panel/index.esm.js +1 -0
  84. package/dist/nile-nav-tab-panel/nile-nav-tab-panel.cjs.js +2 -0
  85. package/dist/nile-nav-tab-panel/nile-nav-tab-panel.cjs.js.map +1 -0
  86. package/dist/nile-nav-tab-panel/nile-nav-tab-panel.css.cjs.js +2 -0
  87. package/dist/nile-nav-tab-panel/nile-nav-tab-panel.css.cjs.js.map +1 -0
  88. package/dist/nile-nav-tab-panel/nile-nav-tab-panel.css.esm.js +22 -0
  89. package/dist/nile-nav-tab-panel/nile-nav-tab-panel.esm.js +8 -0
  90. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +1 -1
  91. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -1
  92. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
  93. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
  94. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +5 -2
  95. package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -1
  96. package/dist/src/index.d.ts +7 -0
  97. package/dist/src/index.js +7 -0
  98. package/dist/src/index.js.map +1 -1
  99. package/dist/src/internal/enum.d.ts +6 -0
  100. package/dist/src/internal/enum.js +7 -0
  101. package/dist/src/internal/enum.js.map +1 -1
  102. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.d.ts +1 -0
  103. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js +75 -17
  104. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js.map +1 -1
  105. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.d.ts +17 -1
  106. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js +147 -18
  107. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js.map +1 -1
  108. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.d.ts +1 -0
  109. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.js +7 -7
  110. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.js.map +1 -1
  111. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.d.ts +1 -1
  112. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js +15 -17
  113. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js.map +1 -1
  114. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.d.ts +7 -1
  115. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js +63 -4
  116. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js.map +1 -1
  117. package/dist/src/nile-inline-sidebar-item-body/index.d.ts +1 -0
  118. package/dist/src/nile-inline-sidebar-item-body/index.js +2 -0
  119. package/dist/src/nile-inline-sidebar-item-body/index.js.map +1 -0
  120. package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.d.ts +9 -0
  121. package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.js +62 -0
  122. package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.js.map +1 -0
  123. package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.d.ts +45 -0
  124. package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.js +110 -0
  125. package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.js.map +1 -0
  126. package/dist/src/nile-inline-sidebar-item-header/index.d.ts +1 -0
  127. package/dist/src/nile-inline-sidebar-item-header/index.js +2 -0
  128. package/dist/src/nile-inline-sidebar-item-header/index.js.map +1 -0
  129. package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.d.ts +9 -0
  130. package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.js +36 -0
  131. package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.js.map +1 -0
  132. package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.d.ts +34 -0
  133. package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.js +68 -0
  134. package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.js.map +1 -0
  135. package/dist/src/nile-inline-sidebar-panel/index.d.ts +1 -0
  136. package/dist/src/nile-inline-sidebar-panel/index.js +2 -0
  137. package/dist/src/nile-inline-sidebar-panel/index.js.map +1 -0
  138. package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.d.ts +9 -0
  139. package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.js +28 -0
  140. package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.js.map +1 -0
  141. package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.d.ts +35 -0
  142. package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.js +55 -0
  143. package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.js.map +1 -0
  144. package/dist/src/nile-inline-sidebar-panel-group/index.d.ts +1 -0
  145. package/dist/src/nile-inline-sidebar-panel-group/index.js +2 -0
  146. package/dist/src/nile-inline-sidebar-panel-group/index.js.map +1 -0
  147. package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.d.ts +9 -0
  148. package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.js +39 -0
  149. package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.js.map +1 -0
  150. package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.d.ts +43 -0
  151. package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.js +93 -0
  152. package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.js.map +1 -0
  153. package/dist/src/nile-nav-tab/index.d.ts +1 -0
  154. package/dist/src/nile-nav-tab/index.js +2 -0
  155. package/dist/src/nile-nav-tab/index.js.map +1 -0
  156. package/dist/src/nile-nav-tab/nile-nav-tab.css.d.ts +9 -0
  157. package/dist/src/nile-nav-tab/nile-nav-tab.css.js +199 -0
  158. package/dist/src/nile-nav-tab/nile-nav-tab.css.js.map +1 -0
  159. package/dist/src/nile-nav-tab/nile-nav-tab.d.ts +50 -0
  160. package/dist/src/nile-nav-tab/nile-nav-tab.js +190 -0
  161. package/dist/src/nile-nav-tab/nile-nav-tab.js.map +1 -0
  162. package/dist/src/nile-nav-tab/nile-nav-tab.test.d.ts +1 -0
  163. package/dist/src/nile-nav-tab/nile-nav-tab.test.js +656 -0
  164. package/dist/src/nile-nav-tab/nile-nav-tab.test.js.map +1 -0
  165. package/dist/src/nile-nav-tab-group/index.d.ts +1 -0
  166. package/dist/src/nile-nav-tab-group/index.js +2 -0
  167. package/dist/src/nile-nav-tab-group/index.js.map +1 -0
  168. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.css.d.ts +12 -0
  169. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.css.js +680 -0
  170. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.css.js.map +1 -0
  171. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.d.ts +119 -0
  172. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.js +765 -0
  173. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.js.map +1 -0
  174. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.test.d.ts +3 -0
  175. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.test.js +838 -0
  176. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.test.js.map +1 -0
  177. package/dist/src/nile-nav-tab-panel/index.d.ts +1 -0
  178. package/dist/src/nile-nav-tab-panel/index.js +2 -0
  179. package/dist/src/nile-nav-tab-panel/index.js.map +1 -0
  180. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.css.d.ts +15 -0
  181. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.css.js +37 -0
  182. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.css.js.map +1 -0
  183. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.d.ts +37 -0
  184. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.js +75 -0
  185. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.js.map +1 -0
  186. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.test.d.ts +1 -0
  187. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.test.js +534 -0
  188. package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.test.js.map +1 -0
  189. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +5 -2
  190. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
  191. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +2 -1
  192. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +9 -0
  193. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -1
  194. package/dist/src/version.js +1 -1
  195. package/dist/src/version.js.map +1 -1
  196. package/dist/tsconfig.tsbuildinfo +1 -1
  197. package/package.json +8 -3
  198. package/src/index.ts +7 -0
  199. package/src/internal/enum.ts +8 -1
  200. package/src/nile-inline-sidebar/nile-inline-sidebar.css.ts +75 -17
  201. package/src/nile-inline-sidebar/nile-inline-sidebar.ts +148 -18
  202. package/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.ts +7 -7
  203. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.ts +15 -17
  204. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts +74 -9
  205. package/src/nile-inline-sidebar-item-body/index.ts +1 -0
  206. package/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.ts +64 -0
  207. package/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.ts +110 -0
  208. package/src/nile-inline-sidebar-item-header/index.ts +1 -0
  209. package/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.ts +38 -0
  210. package/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.ts +69 -0
  211. package/src/nile-inline-sidebar-panel/index.ts +1 -0
  212. package/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.ts +30 -0
  213. package/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.ts +53 -0
  214. package/src/nile-inline-sidebar-panel-group/index.ts +1 -0
  215. package/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.ts +41 -0
  216. package/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.ts +101 -0
  217. package/src/nile-nav-tab/index.ts +1 -0
  218. package/src/nile-nav-tab/nile-nav-tab.css.ts +201 -0
  219. package/src/nile-nav-tab/nile-nav-tab.test.ts +768 -0
  220. package/src/nile-nav-tab/nile-nav-tab.ts +198 -0
  221. package/src/nile-nav-tab-group/index.ts +1 -0
  222. package/src/nile-nav-tab-group/nile-nav-tab-group.css.ts +682 -0
  223. package/src/nile-nav-tab-group/nile-nav-tab-group.test.ts +1009 -0
  224. package/src/nile-nav-tab-group/nile-nav-tab-group.ts +845 -0
  225. package/src/nile-nav-tab-panel/index.ts +1 -0
  226. package/src/nile-nav-tab-panel/nile-nav-tab-panel.css.ts +39 -0
  227. package/src/nile-nav-tab-panel/nile-nav-tab-panel.test.ts +797 -0
  228. package/src/nile-nav-tab-panel/nile-nav-tab-panel.ts +78 -0
  229. package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +5 -2
  230. package/src/nile-rich-text-editor/nile-rich-text-editor.ts +12 -1
  231. package/vscode-html-custom-data.json +272 -2
@@ -1 +1 @@
1
- {"version":3,"file":"nile-inline-sidebar.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar/nile-inline-sidebar.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { styles } from './nile-inline-sidebar.css';\nimport NileElement from '../internal/nile-element';\n\n/**\n * Nile inline sidebar component.\n *\n * @tag nile-inline-sidebar\n */\n@customElement('nile-inline-sidebar')\nexport class NileInlineSidebar extends NileElement {\n @property({ type: Boolean, reflect: true }) collapsed = false;\n\n @property({ type: Boolean, reflect: true, attribute: true }) fixed = false;\n\n @property({ type: Boolean, reflect: true }) showTooltip = false;\n\n /** The side on which the sidebar is placed. */\n @property({ type: String, reflect: true }) placement: 'left' | 'right' = 'left';\n\n @state() private activeIndex: number = -1;\n\n @query('slot') private defaultSlot!: HTMLSlotElement;\n\n private mutationObserver?: MutationObserver;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n private get sidebarItems(): HTMLElement[] {\n if (!this.defaultSlot) return [];\n const assigned = this.defaultSlot.assignedElements({ flatten: true });\n const items = assigned.flatMap(el =>\n el.tagName.toLowerCase() === 'nile-inline-sidebar-item'\n ? [el]\n : Array.from(el.querySelectorAll('nile-inline-sidebar-item'))\n );\n return items as HTMLElement[];\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('nile-click', this.handleItemSelect);\n this.addEventListener('keydown', this.handleKeyDown);\n this.mutationObserver = new MutationObserver(() =>\n this.syncActiveFromItems()\n );\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.mutationObserver?.disconnect();\n this.removeEventListener('nile-click', this.handleItemSelect);\n this.removeEventListener('keydown', this.handleKeyDown);\n }\n\n firstUpdated() {\n this.observeSidebarItems();\n this.syncActiveFromItems();\n\n if (this.fixed) {\n this.collapsed = false;\n }\n }\n\n private observeSidebarItems() {\n if (!this.sidebarItems?.length || !this.mutationObserver) return;\n this.sidebarItems.forEach(item =>\n this.mutationObserver!.observe(item, {\n attributes: true,\n attributeFilter: ['active'],\n })\n );\n }\n\n private syncActiveFromItems() {\n if (!this.sidebarItems?.length) return;\n const activeIndex = this.sidebarItems.findIndex(item =>\n item.hasAttribute('active')\n );\n if (activeIndex !== -1 && activeIndex !== this.activeIndex) {\n this.activeIndex = activeIndex;\n this.requestUpdate();\n }\n this.updateTabIndices();\n }\n\n \n private get focusableItems(): HTMLElement[] {\n return this.sidebarItems.filter(\n item => !item.hasAttribute('disabled')\n );\n }\n\n private updateTabIndices() {\n const items = this.sidebarItems;\n if (!items.length) return;\n\n const focusTarget =\n this.activeIndex >= 0 ? items[this.activeIndex] : null;\n\n items.forEach(item => {\n if (item.hasAttribute('disabled')) {\n item.setAttribute('tabindex', '-1');\n } else if (item === focusTarget) {\n item.setAttribute('tabindex', '0');\n } else if (!focusTarget && item === this.focusableItems[0]) {\n item.setAttribute('tabindex', '0');\n } else {\n item.setAttribute('tabindex', '-1');\n }\n });\n }\n\n private focusItem(item: HTMLElement) {\n const items = this.sidebarItems;\n items.forEach(el => el.setAttribute('tabindex', '-1'));\n item.setAttribute('tabindex', '0');\n item.focus();\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.collapsed) return;\n\n const focusable = this.focusableItems;\n if (!focusable.length) return;\n\n const currentFocus = this.sidebarItems.find(\n item =>\n item === document.activeElement ||\n item === this.shadowRoot?.activeElement ||\n item.matches(':focus-within')\n );\n\n const currentIndex = currentFocus\n ? focusable.indexOf(currentFocus)\n : -1;\n\n let nextIndex: number | null = null;\n\n switch (event.key) {\n case 'ArrowDown':\n nextIndex =\n currentIndex < focusable.length - 1 ? currentIndex + 1 : 0;\n break;\n\n case 'ArrowUp':\n nextIndex =\n currentIndex > 0 ? currentIndex - 1 : focusable.length - 1;\n break;\n\n case 'Home':\n nextIndex = 0;\n break;\n\n case 'End':\n nextIndex = focusable.length - 1;\n break;\n\n case 'Enter':\n case ' ':\n return;\n\n default:\n return;\n }\n\n event.preventDefault();\n\n if (nextIndex !== null && focusable[nextIndex]) {\n this.focusItem(focusable[nextIndex]);\n }\n };\n\n private handleItemSelect = (event: CustomEvent) => {\n const selectedItem = event.detail.item as HTMLElement;\n const index = this.sidebarItems.indexOf(selectedItem);\n\n this.sidebarItems.forEach(\n (item, i) => ((item as any).active = i === index)\n );\n this.activeIndex = index;\n this.updateTabIndices();\n\n this.dispatchEvent(\n new CustomEvent('nile-change', {\n detail: { selectedItem, index },\n bubbles: true,\n composed: true,\n })\n );\n\n this.requestUpdate();\n };\n\n private toggleCollapse() {\n if (this.fixed) return;\n this.collapsed = !this.collapsed;\n\n this.dispatchEvent(\n new CustomEvent('nile-toggle', {\n detail: { collapsed: this.collapsed },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private handleMenuItemClick(index: number) {\n const selectedItem = this.sidebarItems[index];\n if (!selectedItem || selectedItem.hasAttribute('disabled')) return;\n\n this.sidebarItems.forEach(\n (item, i) => ((item as any).active = i === index)\n );\n this.activeIndex = index;\n const text = selectedItem.textContent?.trim() || '';\n const href = (selectedItem as any).href;\n this.dispatchEvent(\n new CustomEvent('nile-click', {\n detail: { item: selectedItem, href, text },\n bubbles: true,\n composed: true,\n })\n );\n\n if (href) window.location.href = href;\n\n this.requestUpdate();\n }\n\n private get menuItemsTemplate() {\n if (!this.sidebarItems?.length) return null;\n\n const tooltipPlacement = this.placement === 'right' ? 'left' : 'right';\n\n return this.sidebarItems.map((item, index) => {\n const shouldShowTooltip = (item as any).tooltip;\n const isTruncated =\n item.scrollWidth > item.clientWidth ||\n item.scrollHeight > item.clientHeight;\n \n const content = html`\n <nile-side-bar-action-menu-item\n ?disabled=${item.hasAttribute('disabled')}\n ?active=${this.activeIndex === index}\n @click=${() => this.handleMenuItemClick(index)}\n >\n ${item.textContent}\n </nile-side-bar-action-menu-item>\n `;\n return shouldShowTooltip || isTruncated\n ? html`\n <nile-tooltip\n content=${item.textContent?.trim() || ''}\n hoist\n placement=${tooltipPlacement}\n >\n ${content}\n </nile-tooltip>\n `\n : content;\n });\n }\n \n \n \n\n public render(): TemplateResult {\n const isRight = this.placement === 'right';\n const collapsedIcon = isRight ? 'menu_open' : 'menu_close';\n const expandedIcon = isRight ? 'menu_close' : 'menu_open';\n const actionPlacement = isRight ? 'bottom-end' : 'bottom-start';\n\n return html`\n <div class=\"sidebar\" part=\"base\">\n <div class=\"sidebar-header\" part=\"header\">\n ${!this.fixed\n ? this.collapsed\n ? html`\n <nile-side-bar-action\n class=\"toggle-action\"\n placement=${actionPlacement}\n hoist\n open\n triggerDropdown=\"hover\"\n >\n <nile-button\n slot=\"trigger\"\n class=\"toggle-btn\"\n variant=\"tertiary\"\n @click=${this.toggleCollapse}\n >\n <nile-icon name=${collapsedIcon}></nile-icon>\n </nile-button>\n <nile-side-bar-action-menu>\n ${this.menuItemsTemplate}\n </nile-side-bar-action-menu>\n </nile-side-bar-action>\n `\n : html`\n <nile-button\n class=\"toggle-btn\"\n variant=\"tertiary\"\n @click=${this.toggleCollapse}\n >\n <nile-icon name=${expandedIcon}></nile-icon>\n </nile-button>\n `\n : null}\n </div>\n\n <nav\n class=\"sidebar-nav\"\n role=\"navigation\"\n aria-label=\"Sidebar\"\n style=${this.collapsed ? 'display:none;' : ''}\n part=\"nav-items\"\n >\n <slot\n @slotchange=${() => {\n this.requestUpdate();\n this.observeSidebarItems();\n this.syncActiveFromItems();\n }}\n ></slot>\n </nav>\n </div>\n `;\n }\n}\n\nexport default NileInlineSidebar;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-inline-sidebar': NileInlineSidebar;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-inline-sidebar.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar/nile-inline-sidebar.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult, nothing, PropertyValues } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styles } from './nile-inline-sidebar.css';\nimport NileElement from '../internal/nile-element';\nimport { drag } from '../internal/drag';\nimport { clamp } from '../internal/math';\nimport NileInlineSidebarItem from '../nile-inline-sidebar-item/nile-inline-sidebar-item';\n\n/**\n * Nile inline sidebar component.\n *\n * @tag nile-inline-sidebar\n */\n@customElement('nile-inline-sidebar')\nexport class NileInlineSidebar extends NileElement {\n @property({ type: Boolean, reflect: true }) collapsed = false;\n\n @property({ type: Boolean, reflect: true, attribute: true }) fixed = false;\n\n @property({ type: Boolean, reflect: true }) showTooltip = false;\n\n /** The side on which the sidebar is placed. */\n @property({ type: String, reflect: true }) placement: 'left' | 'right' = 'left';\n\n /** Enables a draggable resize handle on the sidebar's trailing edge. */\n @property({ type: Boolean, reflect: true }) resizable = false;\n\n /** Current sidebar width in pixels when resizable is enabled. */\n @property({ type: Number, attribute: true }) sidebarWidth = 216;\n\n /** Minimum sidebar width in pixels. */\n @property({ type: Number, attribute: true }) minSidebarWidth = 120;\n\n @property({ type: Boolean, attribute: true }) showToggleBtn = true;\n\n /** Maximum sidebar width in pixels. */\n @property({ type: Number, attribute: true}) maxSidebarWidth = 400;\n\n @property({ type: String, reflect: true, attribute: true }) variant?: 'minimal' | 'rich' = 'minimal';\n\n @state() private activeIndex: number = -1;\n\n @query('slot') private defaultSlot!: HTMLSlotElement;\n\n private mutationObserver?: MutationObserver;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n private get sidebarItems(): HTMLElement[] {\n if (!this.defaultSlot) return [];\n const assigned = this.defaultSlot.assignedElements({ flatten: true });\n const items = assigned.flatMap(el =>\n el.tagName.toLowerCase() === 'nile-inline-sidebar-item'\n ? [el]\n : Array.from(el.querySelectorAll('nile-inline-sidebar-item'))\n );\n return items as HTMLElement[];\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('nile-click', this.handleItemSelect);\n this.addEventListener('keydown', this.handleKeyDown);\n this.mutationObserver = new MutationObserver(() =>\n this.syncActiveFromItems()\n );\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.mutationObserver?.disconnect();\n this.removeEventListener('nile-click', this.handleItemSelect);\n this.removeEventListener('keydown', this.handleKeyDown);\n }\n\n firstUpdated() {\n this.observeSidebarItems();\n this.syncActiveFromItems();\n this.syncChildSidebarItemVariants();\n\n if (this.fixed) {\n this.collapsed = false;\n }\n }\n\n updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (changedProperties.has('variant')) {\n this.syncChildSidebarItemVariants();\n }\n }\n\n /** Pushes sidebar `variant` onto each item (rich vs minimal) so layout stays in sync with slotted content. */\n private syncChildSidebarItemVariants() {\n const items = this.querySelectorAll(\n 'nile-inline-sidebar-item',\n ) as NodeListOf<NileInlineSidebarItem>;\n const v = this.variant ?? 'minimal';\n items.forEach(item => {\n item.variant = v;\n });\n }\n\n private observeSidebarItems() {\n if (!this.sidebarItems?.length || !this.mutationObserver) return;\n this.sidebarItems.forEach(item =>\n this.mutationObserver!.observe(item, {\n attributes: true,\n attributeFilter: ['active'],\n })\n );\n }\n\n private syncActiveFromItems() {\n if (!this.sidebarItems?.length) return;\n const activeIndex = this.sidebarItems.findIndex(item =>\n item.hasAttribute('active')\n );\n if (activeIndex !== -1 && activeIndex !== this.activeIndex) {\n this.activeIndex = activeIndex;\n this.requestUpdate();\n }\n this.updateTabIndices();\n }\n\n \n private get focusableItems(): HTMLElement[] {\n return this.sidebarItems.filter(\n item => !item.hasAttribute('disabled')\n );\n }\n\n private updateTabIndices() {\n const items = this.sidebarItems;\n if (!items.length) return;\n\n const focusTarget =\n this.activeIndex >= 0 ? items[this.activeIndex] : null;\n\n items.forEach(item => {\n if (item.hasAttribute('disabled')) {\n item.setAttribute('tabindex', '-1');\n } else if (item === focusTarget) {\n item.setAttribute('tabindex', '0');\n } else if (!focusTarget && item === this.focusableItems[0]) {\n item.setAttribute('tabindex', '0');\n } else {\n item.setAttribute('tabindex', '-1');\n }\n });\n }\n\n private focusItem(item: HTMLElement) {\n const items = this.sidebarItems;\n items.forEach(el => el.setAttribute('tabindex', '-1'));\n item.setAttribute('tabindex', '0');\n item.focus();\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.collapsed) return;\n\n const focusable = this.focusableItems;\n if (!focusable.length) return;\n\n const currentFocus = this.sidebarItems.find(\n item =>\n item === document.activeElement ||\n item === this.shadowRoot?.activeElement ||\n item.matches(':focus-within')\n );\n\n const currentIndex = currentFocus\n ? focusable.indexOf(currentFocus)\n : -1;\n\n let nextIndex: number | null = null;\n\n switch (event.key) {\n case 'ArrowDown':\n nextIndex =\n currentIndex < focusable.length - 1 ? currentIndex + 1 : 0;\n break;\n\n case 'ArrowUp':\n nextIndex =\n currentIndex > 0 ? currentIndex - 1 : focusable.length - 1;\n break;\n\n case 'Home':\n nextIndex = 0;\n break;\n\n case 'End':\n nextIndex = focusable.length - 1;\n break;\n\n case 'Enter':\n case ' ':\n return;\n\n default:\n return;\n }\n\n event.preventDefault();\n\n if (nextIndex !== null && focusable[nextIndex]) {\n this.focusItem(focusable[nextIndex]);\n }\n };\n\n private handleItemSelect = (event: CustomEvent) => {\n const selectedItem = event.detail.item as HTMLElement;\n const index = this.sidebarItems.indexOf(selectedItem);\n\n this.sidebarItems.forEach(\n (item, i) => ((item as any).active = i === index)\n );\n this.activeIndex = index;\n this.updateTabIndices();\n\n this.dispatchEvent(\n new CustomEvent('nile-change', {\n detail: { selectedItem, index },\n bubbles: true,\n composed: true,\n })\n );\n\n this.requestUpdate();\n };\n\n private toggleCollapse() {\n if (this.fixed) return;\n this.collapsed = !this.collapsed;\n\n this.dispatchEvent(\n new CustomEvent('nile-toggle', {\n detail: { collapsed: this.collapsed },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private handleMenuItemClick(index: number) {\n const selectedItem = this.sidebarItems[index];\n if (!selectedItem || selectedItem.hasAttribute('disabled')) return;\n\n this.sidebarItems.forEach(\n (item, i) => ((item as any).active = i === index)\n );\n this.activeIndex = index;\n const text = selectedItem.textContent?.trim() || '';\n const href = (selectedItem as any).href;\n this.dispatchEvent(\n new CustomEvent('nile-click', {\n detail: { item: selectedItem, href, text },\n bubbles: true,\n composed: true,\n })\n );\n\n if (href) window.location.href = href;\n\n this.requestUpdate();\n }\n\n private handleSeparatorDrag(event: PointerEvent) {\n if (!this.resizable || this.collapsed) return;\n if (event.cancelable) event.preventDefault();\n\n const isRight = this.placement === 'right';\n\n this.style.setProperty('--sidebar-transition', 'none');\n\n drag(this, {\n onMove: (x: number) => {\n const hostRect = this.getBoundingClientRect();\n let newWidth: number;\n\n if (isRight) {\n newWidth = hostRect.width - x;\n } else {\n newWidth = x;\n }\n\n this.sidebarWidth = clamp(newWidth, this.minSidebarWidth, this.maxSidebarWidth);\n this.emit('nile-sidebar-resize', { width: this.sidebarWidth });\n },\n onStop: () => {\n this.style.removeProperty('--sidebar-transition');\n },\n initialEvent: event,\n });\n }\n\n private handleSeparatorKeyDown(event: KeyboardEvent) {\n if (!this.resizable || this.collapsed) return;\n\n const step = event.shiftKey ? 10 : 1;\n let newWidth = this.sidebarWidth;\n\n switch (event.key) {\n case 'ArrowLeft':\n newWidth -= step;\n break;\n case 'ArrowRight':\n newWidth += step;\n break;\n case 'Home':\n newWidth = this.minSidebarWidth;\n break;\n case 'End':\n newWidth = this.maxSidebarWidth;\n break;\n default:\n return;\n }\n\n event.preventDefault();\n this.sidebarWidth = clamp(newWidth, this.minSidebarWidth, this.maxSidebarWidth);\n this.emit('nile-sidebar-resize', { width: this.sidebarWidth });\n }\n\n private get separatorTemplate() {\n if (!this.resizable || this.collapsed) return nothing;\n\n return html`\n <div\n class=\"separator\"\n part=\"separator\"\n tabindex=\"0\"\n role=\"separator\"\n aria-valuenow=${this.sidebarWidth}\n aria-valuemin=${this.minSidebarWidth}\n aria-valuemax=${this.maxSidebarWidth}\n aria-label=\"Resize sidebar\"\n @keydown=${this.handleSeparatorKeyDown}\n @mousedown=${this.handleSeparatorDrag}\n @touchstart=${this.handleSeparatorDrag}\n ></div>\n `;\n }\n\n private get menuItemsTemplate() {\n if (!this.sidebarItems?.length) return null;\n\n const tooltipPlacement = this.placement === 'right' ? 'left' : 'right';\n\n return this.sidebarItems.map((item, index) => {\n const shouldShowTooltip = (item as any).tooltip;\n const isTruncated =\n item.scrollWidth > item.clientWidth ||\n item.scrollHeight > item.clientHeight;\n \n const content = html`\n <nile-side-bar-action-menu-item\n ?disabled=${item.hasAttribute('disabled')}\n ?active=${this.activeIndex === index}\n @click=${() => this.handleMenuItemClick(index)}\n >\n ${item.textContent}\n </nile-side-bar-action-menu-item>\n `;\n return shouldShowTooltip || isTruncated\n ? html`\n <nile-tooltip\n content=${item.textContent?.trim() || ''}\n hoist\n placement=${tooltipPlacement}\n >\n ${content}\n </nile-tooltip>\n `\n : content;\n });\n }\n \n \n \n\n public render(): TemplateResult {\n const isRight = this.placement === 'right';\n const collapsedIcon = isRight ? 'menu_open' : 'menu_close';\n const expandedIcon = isRight ? 'menu_close' : 'menu_open';\n const actionPlacement = isRight ? 'bottom-end' : 'bottom-start';\n\n const sidebarStyle = !this.collapsed\n ? `width: ${this.sidebarWidth}px;`\n : '';\n\n return html`\n <div class=\"sidebar\" part=\"base\" style=${sidebarStyle}>\n <div class=\"sidebar-header\" part=\"header\">\n ${!this.fixed\n ? this.collapsed\n ? html`\n <nile-side-bar-action\n class=\"toggle-action\"\n placement=${actionPlacement}\n hoist\n open\n triggerDropdown=\"hover\"\n >\n ${this.showToggleBtn\n ? html`\n <nile-button\n slot=\"trigger\"\n class=\"toggle-btn\"\n variant=\"tertiary\"\n @click=${this.toggleCollapse}\n >\n <nile-icon name=${collapsedIcon}></nile-icon>\n </nile-button>\n `\n : nothing}\n <nile-side-bar-action-menu>\n ${this.menuItemsTemplate}\n </nile-side-bar-action-menu>\n </nile-side-bar-action>\n `\n : html`\n ${this.showToggleBtn\n ? html` \n <nile-button\n class=\"toggle-btn\"\n variant=\"tertiary\"\n @click=${this.toggleCollapse}\n >\n <nile-icon name=${expandedIcon}></nile-icon>\n </nile-button>\n `\n : nothing}\n `\n : null}\n </div>\n\n <nav\n class=${classMap({ 'sidebar-nav': true, 'sidebar-nav--rich': this.variant === 'rich' })}\n role=\"navigation\"\n aria-label=\"Sidebar\"\n style=${this.collapsed ? 'display:none;' : ''}\n part=\"nav-items\"\n >\n <slot\n @slotchange=${() => {\n this.requestUpdate();\n this.observeSidebarItems();\n this.syncActiveFromItems();\n this.syncChildSidebarItemVariants();\n }}\n ></slot>\n </nav>\n </div>\n ${this.separatorTemplate}\n `;\n }\n}\n\nexport default NileInlineSidebar;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-inline-sidebar': NileInlineSidebar;\n }\n}\n"]}
@@ -4,6 +4,7 @@
4
4
  * This source code is licensed under the BSD-3-Clause license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
+ /** Enterprise (`--nile-*`) primary, NxtGen (`--ng-*`) fallback. */
7
8
  export declare const styles: import("lit").CSSResult;
8
9
  declare const _default: import("lit").CSSResult[];
9
10
  export default _default;
@@ -5,6 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { css } from 'lit';
8
+ /** Enterprise (`--nile-*`) primary, NxtGen (`--ng-*`) fallback. */
8
9
  export const styles = css `
9
10
  :host {
10
11
  display: block;
@@ -13,10 +14,9 @@ export const styles = css `
13
14
  .group {
14
15
  display: flex;
15
16
  flex-direction: column;
16
- gap: var(--nile-spacing-xs);
17
+ gap: var(--nile-spacing-xs, var(--ng-spacing-xs));
17
18
  }
18
19
 
19
-
20
20
  :host([divider="false"]) .group {
21
21
  border-bottom: none;
22
22
  margin-bottom: 0;
@@ -24,18 +24,18 @@ export const styles = css `
24
24
  }
25
25
 
26
26
  .group-label {
27
- font-size: var(--nile-type-scale-3);
28
- font-weight: var(--nile-font-weight-semibold);
27
+ font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));
28
+ font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));
29
29
  text-transform: uppercase;
30
- color: var(--nile-colors-neutral-500);
31
- margin: var(--nile-spacing-xs) 0 var(--nile-spacing-xs) var(--nile-spacing-md);
30
+ color: var(--nile-colors-neutral-500, var(--ng-colors-text-disabled));
31
+ margin: var(--nile-spacing-xs, var(--ng-spacing-xs)) 0 var(--nile-spacing-xs, var(--ng-spacing-xs)) var(--nile-spacing-md, var(--ng-spacing-md));
32
32
  letter-spacing: 0.05em;
33
33
  }
34
34
 
35
35
  .group-items {
36
36
  display: flex;
37
37
  flex-direction: column;
38
- gap: var(--nile-spacing-xs);
38
+ gap: var(--nile-spacing-xs, var(--ng-spacing-xs));
39
39
  }
40
40
  `;
41
41
  export default [styles];
@@ -1 +1 @@
1
- {"version":3,"file":"nile-inline-sidebar-group.css.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2025\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport { css } from 'lit';\n\nexport const styles = css`\n:host {\n display: block;\n}\n\n.group {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-xs);\n}\n\n\n:host([divider=\"false\"]) .group {\n border-bottom: none;\n margin-bottom: 0;\n padding-bottom: 0;\n}\n\n.group-label {\n font-size: var(--nile-type-scale-3);\n font-weight: var(--nile-font-weight-semibold);\n text-transform: uppercase;\n color: var(--nile-colors-neutral-500); \n margin: var(--nile-spacing-xs) 0 var(--nile-spacing-xs) var(--nile-spacing-md);\n letter-spacing: 0.05em;\n}\n\n.group-items {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-xs);\n}\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-inline-sidebar-group.css.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,mEAAmE;AACnE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2025\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport { css } from 'lit';\n\n/** Enterprise (`--nile-*`) primary, NxtGen (`--ng-*`) fallback. */\nexport const styles = css`\n:host {\n display: block;\n}\n\n.group {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-xs, var(--ng-spacing-xs));\n}\n\n:host([divider=\"false\"]) .group {\n border-bottom: none;\n margin-bottom: 0;\n padding-bottom: 0;\n}\n\n.group-label {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n text-transform: uppercase;\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-disabled));\n margin: var(--nile-spacing-xs, var(--ng-spacing-xs)) 0 var(--nile-spacing-xs, var(--ng-spacing-xs)) var(--nile-spacing-md, var(--ng-spacing-md));\n letter-spacing: 0.05em;\n}\n\n.group-items {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-xs, var(--ng-spacing-xs));\n}\n`;\n\nexport default [styles];\n"]}
@@ -5,6 +5,6 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  /**
8
- * InlinesidebarItem CSS
8
+ * InlinesidebarItem CSS — Enterprise (`--nile-*`) primary, NxtGen (`--ng-*`) fallback.
9
9
  */
10
10
  export declare const styles: import("lit").CSSResult;
@@ -6,42 +6,43 @@
6
6
  */
7
7
  import { css } from 'lit';
8
8
  /**
9
- * InlinesidebarItem CSS
9
+ * InlinesidebarItem CSS — Enterprise (`--nile-*`) primary, NxtGen (`--ng-*`) fallback.
10
10
  */
11
11
  export const styles = css `
12
12
  :host {
13
13
  display: block;
14
- font-family: var(--nile-font-family-sans-serif);
15
- font-size: var(--nile-type-scale-3);
16
- color: var(--nile-colors-dark-900);
14
+ font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));
15
+ font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));
16
+ color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));
17
17
  cursor: pointer;
18
18
  user-select: none;
19
19
  }
20
20
 
21
21
  .item {
22
- padding: var(--nile-spacing-lg) var(--nile-spacing-md);
23
- border-radius: var(--nile-radius-sm);
22
+ padding: var(--nile-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-md, var(--ng-spacing-md));
23
+ border-radius: var(--nile-radius-sm, var(--ng-radius-xs));
24
24
  transition: background 0.2s, color 0.2s;
25
25
  }
26
26
 
27
-
28
27
  :host(:not([disabled])) .item:hover {
29
- background: var(--nile-colors-neutral-400);
28
+ background: var(--nile-colors-neutral-400, var(--ng-colors-bg-tertiary));
30
29
  }
31
30
 
32
-
33
31
  :host([active]) .item {
34
- background: var(--nile-colors-primary-100);
35
- font-weight: 500;
32
+ background: var(--nile-colors-primary-100, var(--ng-colors-bg-brand-secondary));
33
+ font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));
34
+ color: var(--nile-colors-primary-700, var(--ng-colors-text-brand-secondary-700));
35
+ }
36
+ :host([active]) .item--rich {
37
+ border-right: 2px solid var(--nile-colors-primary-600, var(--ng-colors-border-brand));
36
38
  }
37
39
 
38
40
  :host([active]) .item:hover {
39
- background: var(--nile-colors-primary-100);
41
+ background: var(--nile-colors-primary-100, var(--ng-colors-bg-brand-secondary));
40
42
  }
41
43
 
42
-
43
44
  :host([disabled]) {
44
- color: var(--nile-colors-neutral-500);
45
+ color: var(--nile-colors-neutral-500, var(--ng-colors-text-disabled));
45
46
  cursor: not-allowed;
46
47
  }
47
48
 
@@ -63,8 +64,5 @@ a {
63
64
  color: inherit;
64
65
  text-decoration: none;
65
66
  }
66
-
67
-
68
-
69
67
  `;
70
68
  //# sourceMappingURL=nile-inline-sidebar-item.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-inline-sidebar-item.css.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DxB,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2025\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport { css } from 'lit';\n\n/**\n * InlinesidebarItem CSS\n */\nexport const styles = css`\n:host {\n display: block;\n font-family: var(--nile-font-family-sans-serif);\n font-size: var(--nile-type-scale-3);\n color: var(--nile-colors-dark-900);\n cursor: pointer;\n user-select: none;\n}\n\n.item {\n padding: var(--nile-spacing-lg) var(--nile-spacing-md);\n border-radius: var(--nile-radius-sm);\n transition: background 0.2s, color 0.2s;\n}\n\n \n:host(:not([disabled])) .item:hover {\n background: var(--nile-colors-neutral-400);\n}\n\n \n:host([active]) .item {\n background: var(--nile-colors-primary-100);\n font-weight: 500;\n}\n\n:host([active]) .item:hover {\n background: var(--nile-colors-primary-100);\n}\n\n \n:host([disabled]) {\n color: var(--nile-colors-neutral-500); \n cursor: not-allowed;\n}\n\n:host([disabled]) .item {\n pointer-events: none;\n}\na {\n color: inherit;\n text-decoration: none;\n display: block;\n width: 100%;\n height: 100%;\n }\n\n a:visited,\n a:hover,\n a:active,\n a:focus {\n color: inherit;\n text-decoration: none;\n }\n\n \n\n`;\n"]}
1
+ {"version":3,"file":"nile-inline-sidebar-item.css.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDxB,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2025\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport { css } from 'lit';\n\n/**\n * InlinesidebarItem CSS — Enterprise (`--nile-*`) primary, NxtGen (`--ng-*`) fallback.\n */\nexport const styles = css`\n:host {\n display: block;\n font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n cursor: pointer;\n user-select: none;\n}\n\n.item {\n padding: var(--nile-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-md, var(--ng-spacing-md));\n border-radius: var(--nile-radius-sm, var(--ng-radius-xs));\n transition: background 0.2s, color 0.2s;\n}\n\n:host(:not([disabled])) .item:hover {\n background: var(--nile-colors-neutral-400, var(--ng-colors-bg-tertiary));\n}\n\n:host([active]) .item {\n background: var(--nile-colors-primary-100, var(--ng-colors-bg-brand-secondary));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n color: var(--nile-colors-primary-700, var(--ng-colors-text-brand-secondary-700));\n}\n:host([active]) .item--rich {\n border-right: 2px solid var(--nile-colors-primary-600, var(--ng-colors-border-brand));\n}\n\n:host([active]) .item:hover {\n background: var(--nile-colors-primary-100, var(--ng-colors-bg-brand-secondary));\n}\n\n:host([disabled]) {\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-disabled));\n cursor: not-allowed;\n}\n\n:host([disabled]) .item {\n pointer-events: none;\n}\na {\n color: inherit;\n text-decoration: none;\n display: block;\n width: 100%;\n height: 100%;\n }\n\n a:visited,\n a:hover,\n a:active,\n a:focus {\n color: inherit;\n text-decoration: none;\n }\n`;\n"]}
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the BSD-3-Clause license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import { CSSResultArray, TemplateResult } from 'lit';
7
+ import { CSSResultArray, TemplateResult, PropertyValues } from 'lit';
8
8
  import NileElement from '../internal/nile-element';
9
9
  /**
10
10
  * Nile inline sidebar item.
@@ -25,7 +25,13 @@ export declare class NileInlineSidebarItem extends NileElement {
25
25
  disabled: boolean;
26
26
  href?: string;
27
27
  tooltip: boolean;
28
+ variant?: 'minimal' | 'rich';
29
+ /** Links this item to a `nile-inline-sidebar-panel` by matching its `name` property. */
30
+ panel?: string;
28
31
  static get styles(): CSSResultArray;
32
+ firstUpdated(changedProperties: PropertyValues): void;
33
+ updated(changedProperties: PropertyValues): void;
34
+ private syncBodyAndHeaderStates;
29
35
  connectedCallback(): void;
30
36
  disconnectedCallback(): void;
31
37
  private _handleHostKeyDown;
@@ -9,6 +9,7 @@ import { html } from 'lit';
9
9
  import { customElement, property } from 'lit/decorators.js';
10
10
  import { styles } from './nile-inline-sidebar-item.css';
11
11
  import NileElement from '../internal/nile-element';
12
+ import { classMap } from 'lit/directives/class-map.js';
12
13
  /**
13
14
  * Nile inline sidebar item.
14
15
  *
@@ -29,6 +30,7 @@ let NileInlineSidebarItem = class NileInlineSidebarItem extends NileElement {
29
30
  this.active = false;
30
31
  this.disabled = false;
31
32
  this.tooltip = false;
33
+ this.variant = 'minimal';
32
34
  this._handleHostKeyDown = (e) => {
33
35
  if (e.key === 'Enter' || e.key === ' ') {
34
36
  e.preventDefault();
@@ -39,6 +41,35 @@ let NileInlineSidebarItem = class NileInlineSidebarItem extends NileElement {
39
41
  static get styles() {
40
42
  return [styles];
41
43
  }
44
+ firstUpdated(changedProperties) {
45
+ super.firstUpdated(changedProperties);
46
+ this.syncBodyAndHeaderStates();
47
+ }
48
+ updated(changedProperties) {
49
+ super.updated(changedProperties);
50
+ if (changedProperties.has('disabled') || changedProperties.has('active')) {
51
+ this.syncBodyAndHeaderStates();
52
+ }
53
+ }
54
+ syncBodyAndHeaderStates() {
55
+ const elements = [
56
+ this.querySelector('[slot="body"]'),
57
+ this.querySelector('[slot="header"]')
58
+ ];
59
+ const props = {
60
+ disabled: this.disabled,
61
+ active: this.active
62
+ };
63
+ elements.forEach(el => {
64
+ if (!el)
65
+ return;
66
+ Object.entries(props).forEach(([key, value]) => {
67
+ if (key in el) {
68
+ el[key] = value;
69
+ }
70
+ });
71
+ });
72
+ }
42
73
  connectedCallback() {
43
74
  super.connectedCallback();
44
75
  if (!this.hasAttribute('tabindex')) {
@@ -80,14 +111,36 @@ let NileInlineSidebarItem = class NileInlineSidebarItem extends NileElement {
80
111
  render() {
81
112
  return html `
82
113
  <div
83
- class="item"
114
+ class=${classMap({ 'item': true, 'item--rich': this.variant === 'rich' })}
84
115
  @click=${this.handleClick}
85
116
  role="menuitem"
117
+ style=${this.variant === 'rich' ? 'border-radius: 0px;' : ''}
86
118
  aria-disabled=${this.disabled}
87
119
  >
88
- ${this.href
89
- ? html `<a href=${this.href} @click=${(e) => e.preventDefault()}><slot></slot></a>`
90
- : html `<slot></slot>`}
120
+ ${this.variant === 'minimal'
121
+ ? this.href
122
+ ? html `<a href=${this.href} @click=${(e) => e.preventDefault()}><slot></slot></a>`
123
+ : html `<slot></slot>`
124
+ : this.href
125
+ ? html `<a
126
+ href=${this.href}
127
+ @click=${(e) => e.preventDefault()}
128
+ >
129
+ <div class="header-content" part="header-content">
130
+ <slot name="header"></slot>
131
+ </div>
132
+ <div class="body-content" part="body-content">
133
+ <slot name="body"></slot>
134
+ </div>
135
+ </a>`
136
+ : html `
137
+ <div class="header-content" part="header-content">
138
+ <slot name="header"></slot>
139
+ </div>
140
+ <div class="body-content" part="body-content">
141
+ <slot name="body"></slot>
142
+ </div>
143
+ `}
91
144
  </div>
92
145
  `;
93
146
  }
@@ -104,6 +157,12 @@ __decorate([
104
157
  __decorate([
105
158
  property({ type: Boolean, reflect: true })
106
159
  ], NileInlineSidebarItem.prototype, "tooltip", void 0);
160
+ __decorate([
161
+ property({ type: String, reflect: true, attribute: true })
162
+ ], NileInlineSidebarItem.prototype, "variant", void 0);
163
+ __decorate([
164
+ property({ type: String, reflect: true })
165
+ ], NileInlineSidebarItem.prototype, "panel", void 0);
107
166
  NileInlineSidebarItem = __decorate([
108
167
  customElement('nile-inline-sidebar-item')
109
168
  ], NileInlineSidebarItem);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-inline-sidebar-item.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-inline-sidebar-item.css';\nimport NileElement from '../internal/nile-element';\n\n/**\n * Nile inline sidebar item.\n *\n * @tag nile-inlinesidebar-item\n *\n * @attr active - Marks the item as active (selected).\n * @attr disabled - Marks the item as disabled (non-interactive).\n * @attr href - Optional URL to navigate to when the item is clicked.\n *\n * @slot - Default slot for the item text or content.\n *\n * @fires nile-select - Emitted when the item is clicked (not disabled).\n * detail: { item: this, href?: string }\n */\n@customElement('nile-inline-sidebar-item')\nexport class NileInlineSidebarItem extends NileElement {\n @property({ type: Boolean, reflect: true }) active = false;\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: String }) href?: string;\n @property({ type: Boolean, reflect: true }) tooltip = false;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n connectedCallback() {\n super.connectedCallback();\n if (!this.hasAttribute('tabindex')) {\n this.setAttribute('tabindex', this.disabled ? '-1' : '0');\n }\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'menuitem');\n }\n this.addEventListener('keydown', this._handleHostKeyDown);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('keydown', this._handleHostKeyDown);\n }\n\n private _handleHostKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this._select(e);\n }\n };\n\n private _select(e: Event) {\n if (this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n \n const parent = this.closest('nile-inline-sidebar');\n if (parent) {\n const allItems = parent.querySelectorAll('nile-inline-sidebar-item');\n allItems.forEach((item) => (item as NileInlineSidebarItem).active = item === this);\n }\n \n const text = this.textContent?.trim() || '';\n \n this.dispatchEvent(\n new CustomEvent('nile-click', {\n detail: { item: this, href: this.href, text },\n bubbles: true,\n composed: true,\n }),\n );\n \n if (this.href) {\n window.location.href = this.href;\n }\n }\n\n private handleClick(e: Event) {\n this._select(e);\n }\n\n public render(): TemplateResult {\n return html`\n <div\n class=\"item\"\n @click=${this.handleClick}\n role=\"menuitem\"\n aria-disabled=${this.disabled}\n >\n ${this.href\n ? html`<a href=${this.href} @click=${(e: Event) => e.preventDefault()}><slot></slot></a>`\n : html`<slot></slot>`}\n </div>\n `;\n }\n}\n\nexport default NileInlineSidebarItem;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-inline-sidebar-item': NileInlineSidebarItem;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-inline-sidebar-item.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult, PropertyValues } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-inline-sidebar-item.css';\nimport NileElement from '../internal/nile-element';\nimport { classMap } from 'lit/directives/class-map.js';\n\n/**\n * Nile inline sidebar item.\n *\n * @tag nile-inlinesidebar-item\n *\n * @attr active - Marks the item as active (selected).\n * @attr disabled - Marks the item as disabled (non-interactive).\n * @attr href - Optional URL to navigate to when the item is clicked.\n *\n * @slot - Default slot for the item text or content.\n *\n * @fires nile-select - Emitted when the item is clicked (not disabled).\n * detail: { item: this, href?: string }\n */\n@customElement('nile-inline-sidebar-item')\nexport class NileInlineSidebarItem extends NileElement {\n @property({ type: Boolean, reflect: true }) active = false;\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: String }) href?: string;\n @property({ type: Boolean, reflect: true }) tooltip = false;\n @property({ type: String, reflect: true, attribute: true }) variant?: 'minimal' | 'rich' = 'minimal';\n\n /** Links this item to a `nile-inline-sidebar-panel` by matching its `name` property. */\n @property({ type: String, reflect: true }) panel?: string;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n\n firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n this.syncBodyAndHeaderStates();\n }\n\n updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (changedProperties.has('disabled') || changedProperties.has('active')) {\n this.syncBodyAndHeaderStates();\n }\n }\n\n private syncBodyAndHeaderStates() {\n const elements = [\n this.querySelector('[slot=\"body\"]'),\n this.querySelector('[slot=\"header\"]')\n ] as (HTMLElement | null)[];\n\n const props = {\n disabled: this.disabled,\n active: this.active\n };\n\n elements.forEach(el => {\n if (!el) return;\n\n Object.entries(props).forEach(([key, value]) => {\n if (key in el) {\n (el as any)[key] = value;\n }\n });\n });\n }\n\n connectedCallback() {\n super.connectedCallback();\n if (!this.hasAttribute('tabindex')) {\n this.setAttribute('tabindex', this.disabled ? '-1' : '0');\n }\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'menuitem');\n }\n this.addEventListener('keydown', this._handleHostKeyDown);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('keydown', this._handleHostKeyDown);\n }\n\n private _handleHostKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this._select(e);\n }\n };\n\n private _select(e: Event) {\n if (this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n const parent = this.closest('nile-inline-sidebar');\n if (parent) {\n const allItems = parent.querySelectorAll('nile-inline-sidebar-item');\n allItems.forEach((item) => (item as NileInlineSidebarItem).active = item === this);\n }\n\n const text = this.textContent?.trim() || '';\n\n this.dispatchEvent(\n new CustomEvent('nile-click', {\n detail: { item: this, href: this.href, text },\n bubbles: true,\n composed: true,\n }),\n );\n\n if (this.href) {\n window.location.href = this.href;\n }\n }\n\n private handleClick(e: Event) {\n this._select(e);\n }\n\n public render(): TemplateResult {\n return html`\n <div\n class=${classMap({ 'item': true, 'item--rich': this.variant === 'rich' })}\n @click=${this.handleClick}\n role=\"menuitem\"\n style=${this.variant === 'rich' ? 'border-radius: 0px;' : ''}\n aria-disabled=${this.disabled}\n >\n ${this.variant === 'minimal'\n ? this.href\n ? html`<a href=${this.href} @click=${(e: Event) => e.preventDefault()}><slot></slot></a>`\n : html`<slot></slot>`\n : this.href\n ? html`<a\n href=${this.href}\n @click=${(e: Event) => e.preventDefault()}\n >\n <div class=\"header-content\" part=\"header-content\">\n <slot name=\"header\"></slot>\n </div>\n <div class=\"body-content\" part=\"body-content\">\n <slot name=\"body\"></slot>\n </div>\n </a>`\n : html`\n <div class=\"header-content\" part=\"header-content\">\n <slot name=\"header\"></slot>\n </div>\n <div class=\"body-content\" part=\"body-content\">\n <slot name=\"body\"></slot>\n </div>\n `}\n </div>\n `;\n }\n\n\n \n}\n\nexport default NileInlineSidebarItem;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-inline-sidebar-item': NileInlineSidebarItem;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export { NileInlineSidebarItemBody } from './nile-inline-sidebar-item-body';
@@ -0,0 +1,2 @@
1
+ export { NileInlineSidebarItemBody } from './nile-inline-sidebar-item-body';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-item-body/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC","sourcesContent":["export { NileInlineSidebarItemBody } from './nile-inline-sidebar-item-body';"]}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright Aquera Inc 2026
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ export declare const styles: import("lit").CSSResult;
8
+ declare const _default: import("lit").CSSResult[];
9
+ export default _default;
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Copyright Aquera Inc 2026
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { css } from 'lit';
8
+ export const styles = css `
9
+ :host {
10
+ display: block;
11
+ min-width: 0;
12
+ font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));
13
+ }
14
+ .item-body {
15
+ display: flex;
16
+ align-items: flex-start;
17
+ min-width: 0;
18
+ padding-top: var(--nile-spacing-xxsmall, var(--ng-spacing-xxs));
19
+ }
20
+ .body-content {
21
+ box-sizing: border-box;
22
+ min-width: 0;
23
+ flex: 1 1 0%;
24
+ max-width: 100%;
25
+ color: var(--nile-colors-dark-500, var(--ng-componentcolors-alpha-black-50));
26
+ font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));
27
+ font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));
28
+ line-height: var(--nile-line-height-xsmall, var(--ng-line-height-text-xs));
29
+ }
30
+ .body-content nile-lite-tooltip {
31
+ display: block;
32
+ min-width: 0;
33
+ max-width: 100%;
34
+ }
35
+ .body-text {
36
+ display: -webkit-box;
37
+ -webkit-box-orient: vertical;
38
+ overflow: hidden;
39
+ text-overflow: ellipsis;
40
+ word-break: break-word;
41
+ overflow-wrap: anywhere;
42
+ -webkit-line-clamp: var(--line-clamp);
43
+ line-clamp: var(--line-clamp);
44
+ }
45
+ /* Slotted block/paragraph nodes need the same clamp (slot composition) */
46
+ .body-text ::slotted(*) {
47
+ display: -webkit-box;
48
+ -webkit-box-orient: vertical;
49
+ overflow: hidden;
50
+ text-overflow: ellipsis;
51
+ word-break: break-word;
52
+ overflow-wrap: anywhere;
53
+ -webkit-line-clamp: var(--line-clamp);
54
+ line-clamp: var(--line-clamp);
55
+ margin-block: 0;
56
+ }
57
+ :host([disabled]) .body-content {
58
+ color: var(--nile-colors-neutral-300, var(--ng-colors-text-disabled));
59
+ }
60
+ `;
61
+ export default [styles];
62
+ //# sourceMappingURL=nile-inline-sidebar-item-body.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-inline-sidebar-item-body.css.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2026\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport {css} from 'lit';\n\nexport const styles = css`\n\t:host {\n\t\tdisplay: block;\n\t\tmin-width: 0;\n\t\tfont-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n\t}\n\t.item-body {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\tmin-width: 0;\n\t\tpadding-top: var(--nile-spacing-xxsmall, var(--ng-spacing-xxs));\n\t}\n\t.body-content {\n\t\tbox-sizing: border-box;\n\t\tmin-width: 0;\n\t\tflex: 1 1 0%;\n\t\tmax-width: 100%;\n\t\tcolor: var(--nile-colors-dark-500, var(--ng-componentcolors-alpha-black-50));\n\t\tfont-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\t\tfont-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n\t\tline-height: var(--nile-line-height-xsmall, var(--ng-line-height-text-xs));\n\t}\n\t.body-content nile-lite-tooltip {\n\t\tdisplay: block;\n\t\tmin-width: 0;\n\t\tmax-width: 100%;\n\t}\n\t.body-text {\n\t\tdisplay: -webkit-box;\n\t\t-webkit-box-orient: vertical;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tword-break: break-word;\n\t\toverflow-wrap: anywhere;\n\t\t-webkit-line-clamp: var(--line-clamp);\n\t\tline-clamp: var(--line-clamp);\n\t}\n\t/* Slotted block/paragraph nodes need the same clamp (slot composition) */\n\t.body-text ::slotted(*) {\n\t\tdisplay: -webkit-box;\n\t\t-webkit-box-orient: vertical;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tword-break: break-word;\n\t\toverflow-wrap: anywhere;\n\t\t-webkit-line-clamp: var(--line-clamp);\n\t\tline-clamp: var(--line-clamp);\n\t\tmargin-block: 0;\n\t}\n\t:host([disabled]) .body-content {\n\t\tcolor: var(--nile-colors-neutral-300, var(--ng-colors-text-disabled));\n\t}\n`;\n\nexport default [styles];\n"]}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Copyright Aquera Inc 2025
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { CSSResultArray, TemplateResult } from 'lit';
8
+ import NileElement from '../internal/nile-element';
9
+ /**
10
+ * Nile inline-sidebar-item-body component.
11
+ *
12
+ * @tag nile-inline-sidebar-item-body
13
+ *
14
+ */
15
+ export declare class NileInlineSidebarItemBody extends NileElement {
16
+ /** Maximum number of visible lines before text is truncated with an ellipsis. */
17
+ lines: number;
18
+ content: string;
19
+ showTooltip: boolean;
20
+ private isTruncated;
21
+ private bodyContentEl;
22
+ disabled: boolean;
23
+ active: boolean;
24
+ private resizeObserver?;
25
+ /**
26
+ * The styles for nile-inline-sidebar-item-body
27
+ * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
28
+ */
29
+ static get styles(): CSSResultArray;
30
+ firstUpdated(): void;
31
+ disconnectedCallback(): void;
32
+ private checkTruncation;
33
+ private get contentTemplate();
34
+ /**
35
+ * Render method
36
+ * @slot This is a slot test
37
+ */
38
+ render(): TemplateResult;
39
+ }
40
+ export default NileInlineSidebarItemBody;
41
+ declare global {
42
+ interface HTMLElementTagNameMap {
43
+ 'nile-inline-sidebar-item-body': NileInlineSidebarItemBody;
44
+ }
45
+ }