@aquera/nile-elements 1.5.4 → 1.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/README.md +10 -0
  2. package/demo/index.css +9 -0
  3. package/dist/index.cjs.js +1 -1
  4. package/dist/index.esm.js +1 -1
  5. package/dist/index.js +871 -255
  6. package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js +1 -1
  7. package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js.map +1 -1
  8. package/dist/nile-auto-complete/nile-auto-complete.css.esm.js +13 -2
  9. package/dist/nile-button/nile-button.cjs.js +1 -1
  10. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  11. package/dist/nile-button/nile-button.css.cjs.js +1 -1
  12. package/dist/nile-button/nile-button.css.cjs.js.map +1 -1
  13. package/dist/nile-button/nile-button.css.esm.js +89 -33
  14. package/dist/nile-button/nile-button.esm.js +2 -2
  15. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  16. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  17. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  18. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  19. package/dist/nile-calendar/nile-calendar.css.esm.js +59 -2
  20. package/dist/nile-calendar/nile-calendar.esm.js +16 -10
  21. package/dist/nile-checkbox/nile-checkbox.css.cjs.js +1 -1
  22. package/dist/nile-checkbox/nile-checkbox.css.cjs.js.map +1 -1
  23. package/dist/nile-checkbox/nile-checkbox.css.esm.js +4 -5
  24. package/dist/nile-chip/nile-chip.css.cjs.js +1 -1
  25. package/dist/nile-chip/nile-chip.css.cjs.js.map +1 -1
  26. package/dist/nile-chip/nile-chip.css.esm.js +37 -23
  27. package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
  28. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  29. package/dist/nile-code-editor/nile-code-editor.css.cjs.js +1 -1
  30. package/dist/nile-code-editor/nile-code-editor.css.cjs.js.map +1 -1
  31. package/dist/nile-code-editor/nile-code-editor.css.esm.js +7 -6
  32. package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
  33. package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
  34. package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
  35. package/dist/nile-date-picker/nile-date-picker.esm.js +4 -4
  36. package/dist/nile-detail/index.cjs.js +2 -0
  37. package/dist/nile-detail/index.cjs.js.map +1 -0
  38. package/dist/nile-detail/index.esm.js +1 -0
  39. package/dist/nile-detail/nile-detail.cjs.js +2 -0
  40. package/dist/nile-detail/nile-detail.cjs.js.map +1 -0
  41. package/dist/nile-detail/nile-detail.css.cjs.js +2 -0
  42. package/dist/nile-detail/nile-detail.css.cjs.js.map +1 -0
  43. package/dist/nile-detail/nile-detail.css.esm.js +149 -0
  44. package/dist/nile-detail/nile-detail.esm.js +45 -0
  45. package/dist/nile-detail/nile-detail.utils.cjs.js +2 -0
  46. package/dist/nile-detail/nile-detail.utils.cjs.js.map +1 -0
  47. package/dist/nile-detail/nile-detail.utils.esm.js +1 -0
  48. package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
  49. package/dist/nile-dropdown/nile-dropdown.cjs.js.map +1 -1
  50. package/dist/nile-dropdown/nile-dropdown.esm.js +1 -1
  51. package/dist/nile-file-upload/utils/file-validation.util.cjs.js +2 -2
  52. package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +1 -1
  53. package/dist/nile-file-upload/utils/file-validation.util.esm.js +1 -1
  54. package/dist/nile-filter-chip/nile-filter-chip.cjs.js +1 -1
  55. package/dist/nile-filter-chip/nile-filter-chip.cjs.js.map +1 -1
  56. package/dist/nile-filter-chip/nile-filter-chip.css.cjs.js +1 -1
  57. package/dist/nile-filter-chip/nile-filter-chip.css.cjs.js.map +1 -1
  58. package/dist/nile-filter-chip/nile-filter-chip.css.esm.js +24 -2
  59. package/dist/nile-filter-chip/nile-filter-chip.esm.js +2 -2
  60. package/dist/nile-inline-edit/nile-inline-edit.cjs.js +1 -1
  61. package/dist/nile-inline-edit/nile-inline-edit.cjs.js.map +1 -1
  62. package/dist/nile-inline-edit/nile-inline-edit.css.cjs.js +1 -1
  63. package/dist/nile-inline-edit/nile-inline-edit.css.cjs.js.map +1 -1
  64. package/dist/nile-inline-edit/nile-inline-edit.css.esm.js +15 -6
  65. package/dist/nile-inline-edit/nile-inline-edit.esm.js +2 -2
  66. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js +1 -1
  67. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js.map +1 -1
  68. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js +1 -1
  69. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js.map +1 -1
  70. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.esm.js +19 -0
  71. package/dist/nile-inline-sidebar/nile-inline-sidebar.esm.js +16 -14
  72. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +1 -1
  73. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -1
  74. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +8 -3
  75. package/dist/nile-input/nile-input.css.cjs.js +1 -1
  76. package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
  77. package/dist/nile-input/nile-input.css.esm.js +4 -4
  78. package/dist/nile-link/nile-link.cjs.js +1 -1
  79. package/dist/nile-link/nile-link.cjs.js.map +1 -1
  80. package/dist/nile-link/nile-link.css.cjs.js +1 -1
  81. package/dist/nile-link/nile-link.css.cjs.js.map +1 -1
  82. package/dist/nile-link/nile-link.css.esm.js +3 -4
  83. package/dist/nile-link/nile-link.esm.js +2 -2
  84. package/dist/nile-pagination/nile-pagination.cjs.js +1 -1
  85. package/dist/nile-pagination/nile-pagination.cjs.js.map +1 -1
  86. package/dist/nile-pagination/nile-pagination.css.cjs.js +1 -1
  87. package/dist/nile-pagination/nile-pagination.css.cjs.js.map +1 -1
  88. package/dist/nile-pagination/nile-pagination.css.esm.js +109 -5
  89. package/dist/nile-pagination/nile-pagination.esm.js +70 -3
  90. package/dist/nile-qr-code/index.cjs.js +2 -0
  91. package/dist/nile-qr-code/index.cjs.js.map +1 -0
  92. package/dist/nile-qr-code/index.esm.js +1 -0
  93. package/dist/nile-qr-code/nile-qr-code-utils.cjs.js +2 -0
  94. package/dist/nile-qr-code/nile-qr-code-utils.cjs.js.map +1 -0
  95. package/dist/nile-qr-code/nile-qr-code-utils.esm.js +1 -0
  96. package/dist/nile-qr-code/nile-qr-code.cjs.js +2 -0
  97. package/dist/nile-qr-code/nile-qr-code.cjs.js.map +1 -0
  98. package/dist/nile-qr-code/nile-qr-code.css.cjs.js +2 -0
  99. package/dist/nile-qr-code/nile-qr-code.css.cjs.js.map +1 -0
  100. package/dist/nile-qr-code/nile-qr-code.css.esm.js +12 -0
  101. package/dist/nile-qr-code/nile-qr-code.esm.js +9 -0
  102. package/dist/nile-radio/nile-radio.css.cjs.js +1 -1
  103. package/dist/nile-radio/nile-radio.css.cjs.js.map +1 -1
  104. package/dist/nile-radio/nile-radio.css.esm.js +1 -1
  105. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +1 -1
  106. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -1
  107. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
  108. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
  109. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +25 -6
  110. package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -1
  111. package/dist/nile-rich-text-editor/nile-rte-select.cjs.js +1 -1
  112. package/dist/nile-rich-text-editor/nile-rte-select.cjs.js.map +1 -1
  113. package/dist/nile-rich-text-editor/nile-rte-select.esm.js +4 -3
  114. package/dist/nile-select/nile-select.css.cjs.js +1 -1
  115. package/dist/nile-select/nile-select.css.cjs.js.map +1 -1
  116. package/dist/nile-select/nile-select.css.esm.js +7 -4
  117. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js +1 -1
  118. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js.map +1 -1
  119. package/dist/nile-slide-toggle/nile-slide-toggle.css.esm.js +5 -1
  120. package/dist/nile-textarea/nile-textarea.css.cjs.js +1 -1
  121. package/dist/nile-textarea/nile-textarea.css.cjs.js.map +1 -1
  122. package/dist/nile-textarea/nile-textarea.css.esm.js +10 -5
  123. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
  124. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
  125. package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +5 -3
  126. package/dist/src/index.d.ts +2 -0
  127. package/dist/src/index.js +2 -0
  128. package/dist/src/index.js.map +1 -1
  129. package/dist/src/nile-auto-complete/nile-auto-complete.css.js +11 -0
  130. package/dist/src/nile-auto-complete/nile-auto-complete.css.js.map +1 -1
  131. package/dist/src/nile-button/nile-button.css.js +89 -33
  132. package/dist/src/nile-button/nile-button.css.js.map +1 -1
  133. package/dist/src/nile-button/nile-button.js +5 -5
  134. package/dist/src/nile-button/nile-button.js.map +1 -1
  135. package/dist/src/nile-calendar/nile-calendar.css.js +57 -0
  136. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  137. package/dist/src/nile-calendar/nile-calendar.d.ts +1 -0
  138. package/dist/src/nile-calendar/nile-calendar.js +24 -6
  139. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  140. package/dist/src/nile-checkbox/nile-checkbox.css.js +4 -5
  141. package/dist/src/nile-checkbox/nile-checkbox.css.js.map +1 -1
  142. package/dist/src/nile-chip/nile-chip.css.js +35 -21
  143. package/dist/src/nile-chip/nile-chip.css.js.map +1 -1
  144. package/dist/src/nile-code-editor/nile-code-editor.css.js +7 -6
  145. package/dist/src/nile-code-editor/nile-code-editor.css.js.map +1 -1
  146. package/dist/src/nile-code-editor/nile-code-editor.d.ts +1 -1
  147. package/dist/src/nile-code-editor/nile-code-editor.js +7 -1
  148. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  149. package/dist/src/nile-date-picker/nile-date-picker.d.ts +3 -0
  150. package/dist/src/nile-date-picker/nile-date-picker.js +22 -2
  151. package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
  152. package/dist/src/nile-detail/index.d.ts +1 -0
  153. package/dist/src/nile-detail/index.js +2 -0
  154. package/dist/src/nile-detail/index.js.map +1 -0
  155. package/dist/src/nile-detail/nile-detail.css.d.ts +3 -0
  156. package/dist/src/nile-detail/nile-detail.css.js +152 -0
  157. package/dist/src/nile-detail/nile-detail.css.js.map +1 -0
  158. package/dist/src/nile-detail/nile-detail.d.ts +29 -0
  159. package/dist/src/nile-detail/nile-detail.js +143 -0
  160. package/dist/src/nile-detail/nile-detail.js.map +1 -0
  161. package/dist/src/nile-detail/nile-detail.test.d.ts +1 -0
  162. package/dist/src/nile-detail/nile-detail.test.js +168 -0
  163. package/dist/src/nile-detail/nile-detail.test.js.map +1 -0
  164. package/dist/src/nile-detail/nile-detail.utils.d.ts +8 -0
  165. package/dist/src/nile-detail/nile-detail.utils.js +117 -0
  166. package/dist/src/nile-detail/nile-detail.utils.js.map +1 -0
  167. package/dist/src/nile-dropdown/nile-dropdown.d.ts +1 -0
  168. package/dist/src/nile-dropdown/nile-dropdown.js +11 -0
  169. package/dist/src/nile-dropdown/nile-dropdown.js.map +1 -1
  170. package/dist/src/nile-file-upload/utils/file-validation.util.js +11 -6
  171. package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
  172. package/dist/src/nile-filter-chip/nile-filter-chip.css.js +22 -0
  173. package/dist/src/nile-filter-chip/nile-filter-chip.css.js.map +1 -1
  174. package/dist/src/nile-filter-chip/nile-filter-chip.d.ts +1 -0
  175. package/dist/src/nile-filter-chip/nile-filter-chip.js +6 -0
  176. package/dist/src/nile-filter-chip/nile-filter-chip.js.map +1 -1
  177. package/dist/src/nile-inline-edit/nile-inline-edit.css.js +15 -6
  178. package/dist/src/nile-inline-edit/nile-inline-edit.css.js.map +1 -1
  179. package/dist/src/nile-inline-edit/nile-inline-edit.d.ts +2 -0
  180. package/dist/src/nile-inline-edit/nile-inline-edit.js +7 -0
  181. package/dist/src/nile-inline-edit/nile-inline-edit.js.map +1 -1
  182. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js +19 -0
  183. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js.map +1 -1
  184. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.d.ts +6 -0
  185. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js +88 -4
  186. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js.map +1 -1
  187. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.test.d.ts +3 -0
  188. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.test.js +110 -0
  189. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.test.js.map +1 -0
  190. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.test.d.ts +2 -0
  191. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.test.js +109 -0
  192. package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.test.js.map +1 -0
  193. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.d.ts +4 -0
  194. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js +30 -2
  195. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js.map +1 -1
  196. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.test.d.ts +2 -0
  197. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.test.js +109 -0
  198. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.test.js.map +1 -0
  199. package/dist/src/nile-input/nile-input.css.js +4 -4
  200. package/dist/src/nile-input/nile-input.css.js.map +1 -1
  201. package/dist/src/nile-link/nile-link.css.js +1 -2
  202. package/dist/src/nile-link/nile-link.css.js.map +1 -1
  203. package/dist/src/nile-link/nile-link.js +1 -0
  204. package/dist/src/nile-link/nile-link.js.map +1 -1
  205. package/dist/src/nile-pagination/nile-pagination.css.js +107 -3
  206. package/dist/src/nile-pagination/nile-pagination.css.js.map +1 -1
  207. package/dist/src/nile-pagination/nile-pagination.d.ts +5 -1
  208. package/dist/src/nile-pagination/nile-pagination.js +84 -1
  209. package/dist/src/nile-pagination/nile-pagination.js.map +1 -1
  210. package/dist/src/nile-pagination/nile-pagination.test.js +1187 -103
  211. package/dist/src/nile-pagination/nile-pagination.test.js.map +1 -1
  212. package/dist/src/nile-qr-code/index.d.ts +1 -0
  213. package/dist/src/nile-qr-code/index.js +2 -0
  214. package/dist/src/nile-qr-code/index.js.map +1 -0
  215. package/dist/src/nile-qr-code/nile-qr-code-utils.d.ts +15 -0
  216. package/dist/src/nile-qr-code/nile-qr-code-utils.js +678 -0
  217. package/dist/src/nile-qr-code/nile-qr-code-utils.js.map +1 -0
  218. package/dist/src/nile-qr-code/nile-qr-code.css.d.ts +12 -0
  219. package/dist/src/nile-qr-code/nile-qr-code.css.js +24 -0
  220. package/dist/src/nile-qr-code/nile-qr-code.css.js.map +1 -0
  221. package/dist/src/nile-qr-code/nile-qr-code.d.ts +127 -0
  222. package/dist/src/nile-qr-code/nile-qr-code.js +381 -0
  223. package/dist/src/nile-qr-code/nile-qr-code.js.map +1 -0
  224. package/dist/src/nile-qr-code/nile-qr-code.test.d.ts +1 -0
  225. package/dist/src/nile-qr-code/nile-qr-code.test.js +719 -0
  226. package/dist/src/nile-qr-code/nile-qr-code.test.js.map +1 -0
  227. package/dist/src/nile-radio/nile-radio.css.js +1 -1
  228. package/dist/src/nile-radio/nile-radio.css.js.map +1 -1
  229. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +25 -6
  230. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
  231. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +1 -0
  232. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +17 -6
  233. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -1
  234. package/dist/src/nile-rich-text-editor/nile-rte-select.d.ts +1 -0
  235. package/dist/src/nile-rich-text-editor/nile-rte-select.js +7 -2
  236. package/dist/src/nile-rich-text-editor/nile-rte-select.js.map +1 -1
  237. package/dist/src/nile-select/nile-select.css.js +7 -4
  238. package/dist/src/nile-select/nile-select.css.js.map +1 -1
  239. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js +5 -1
  240. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js.map +1 -1
  241. package/dist/src/nile-textarea/nile-textarea.css.js +10 -5
  242. package/dist/src/nile-textarea/nile-textarea.css.js.map +1 -1
  243. package/dist/src/nile-virtual-select/nile-virtual-select.css.js +5 -3
  244. package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
  245. package/dist/src/version.js +1 -1
  246. package/dist/src/version.js.map +1 -1
  247. package/dist/tsconfig.tsbuildinfo +1 -1
  248. package/package.json +3 -2
  249. package/src/index.ts +3 -2
  250. package/src/nile-auto-complete/nile-auto-complete.css.ts +11 -0
  251. package/src/nile-button/nile-button.css.ts +89 -33
  252. package/src/nile-button/nile-button.ts +6 -5
  253. package/src/nile-calendar/nile-calendar.css.ts +57 -0
  254. package/src/nile-calendar/nile-calendar.ts +17 -6
  255. package/src/nile-checkbox/nile-checkbox.css.ts +4 -5
  256. package/src/nile-chip/nile-chip.css.ts +35 -21
  257. package/src/nile-code-editor/nile-code-editor.css.ts +7 -6
  258. package/src/nile-code-editor/nile-code-editor.ts +7 -1
  259. package/src/nile-date-picker/nile-date-picker.ts +22 -2
  260. package/src/nile-detail/index.ts +1 -0
  261. package/src/nile-detail/nile-detail.css.ts +153 -0
  262. package/src/nile-detail/nile-detail.test.ts +215 -0
  263. package/src/nile-detail/nile-detail.ts +140 -0
  264. package/src/nile-detail/nile-detail.utils.ts +133 -0
  265. package/src/nile-dropdown/nile-dropdown.ts +11 -0
  266. package/src/nile-file-upload/utils/file-validation.util.ts +10 -5
  267. package/src/nile-filter-chip/nile-filter-chip.css.ts +22 -0
  268. package/src/nile-filter-chip/nile-filter-chip.ts +2 -0
  269. package/src/nile-inline-edit/nile-inline-edit.css.ts +15 -6
  270. package/src/nile-inline-edit/nile-inline-edit.ts +4 -0
  271. package/src/nile-inline-sidebar/nile-inline-sidebar.css.ts +19 -0
  272. package/src/nile-inline-sidebar/nile-inline-sidebar.test.ts +108 -0
  273. package/src/nile-inline-sidebar/nile-inline-sidebar.ts +108 -5
  274. package/src/nile-inline-sidebar-group/nile-inline-sidebar-group.test.ts +107 -0
  275. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.test.ts +107 -0
  276. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts +34 -3
  277. package/src/nile-input/nile-input.css.ts +4 -4
  278. package/src/nile-link/nile-link.css.ts +1 -2
  279. package/src/nile-link/nile-link.ts +1 -0
  280. package/src/nile-pagination/nile-pagination.css.ts +107 -3
  281. package/src/nile-pagination/nile-pagination.test.ts +1388 -101
  282. package/src/nile-pagination/nile-pagination.ts +87 -2
  283. package/src/nile-qr-code/index.ts +1 -0
  284. package/src/nile-qr-code/nile-qr-code-utils.ts +733 -0
  285. package/src/nile-qr-code/nile-qr-code.css.ts +26 -0
  286. package/src/nile-qr-code/nile-qr-code.test.ts +879 -0
  287. package/src/nile-qr-code/nile-qr-code.ts +431 -0
  288. package/src/nile-radio/nile-radio.css.ts +1 -1
  289. package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +25 -6
  290. package/src/nile-rich-text-editor/nile-rich-text-editor.ts +14 -6
  291. package/src/nile-rich-text-editor/nile-rte-select.ts +5 -2
  292. package/src/nile-select/nile-select.css.ts +7 -4
  293. package/src/nile-slide-toggle/nile-slide-toggle.css.ts +5 -1
  294. package/src/nile-textarea/nile-textarea.css.ts +10 -5
  295. package/src/nile-virtual-select/nile-virtual-select.css.ts +5 -3
  296. package/vscode-html-custom-data.json +163 -10
  297. package/web-test-runner.config.mjs +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"nile-date-picker.js","sourceRoot":"","sources":["../../../src/nile-date-picker/nile-date-picker.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { \n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n} from 'lit';\nimport { customElement, query, property } from 'lit/decorators.js';\nimport { styles } from './nile-date-picker.css';\nimport NileElement from '../internal/nile-element';\nimport { NileDropdown } from '../nile-dropdown';\n\n/**\n * Nile icon component.\n *\n * @tag nile-date-picker\n *\n */\n\nimport {\n parseDateFromFormat,\n formatDateToFormat,\n parseRangeFromFormat,\n normalizeDateRange\n} from './nile-date-picker-utils';\n\n\n@customElement('nile-date-picker')\nexport class NileDatePicker extends NileElement {\n /**\n * The styles for DatePicker\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({ type: Boolean }) range = false;\n\n @property({ type: Boolean }) hideTypes = false;\n\n @property({ type: Boolean, reflect: true }) doubleClickUnselect = false;\n\n @property({ type: Boolean, reflect: true }) allowClear = false;\n\n @property({ type: Boolean }) open = false;\n\n @property({ type: Boolean, attribute: 'hide-time-zone' }) hideTimeZone = false;\n\n @property({ type: String, reflect: true }) type: 'absolute' | 'relative' = 'absolute';\n\n @property({ type: Boolean, attribute: 'showManualInputs' }) \n showManualInputs = false;\n\n @property() value: any;\n\n @property({ type: Array, attribute: 'hide-duration-fields' }) \n hideDurationFields: any = [];\n\n @property({ attribute: 'allowedDates' }) allowedDates: any = '{}';\n\n @property({ type: Boolean, attribute: true, reflect: true }) syncDatePicker = false;\n\n @property({ type: String, attribute: true, reflect: true }) dateFormat = \"DD/MM/YYYY\"; \n\n @property({ type: String, attribute: true, reflect: true }) rangeSeparator = \" - \";\n\n @property({ type: Number, attribute: true, reflect: true }) startYear: number;\n\n @property({ type: Number, attribute: true, reflect: true }) endYear: number;\n\n @property({ type: Boolean, attribute: true, reflect: true }) showYearDropdown = false;\n\n @property({ type: Boolean, attribute: true, reflect: true }) showMonthDropdown = false;\n\n @property({ type: Boolean, attribute: true, reflect: true }) portal = false;\n\n @query('nile-dropdown') dropdown: NileDropdown;\n\n /**\n * Render method\n * @slot This is a slot test\n */\n firstUpdated() {\n super.firstUpdated?.(new Map());\n\n if (!this.syncDatePicker) return;\n\n const input = this.querySelector(\"nile-input\");\n if (!input) return;\n\n input.addEventListener(\"nile-input\", (e: any) => {\n const text = e.detail.value;\n const { first, second } = parseRangeFromFormat(text, this.dateFormat, this.range, this.rangeSeparator);\n\n if (!this.range) {\n if (first) this.jumpTo(first);\n return;\n }\n\n if (first && !second) {\n this.jumpTo(first);\n this.syncRangeCalendar(first, null);\n }\n\n if (first && second) {\n const [start, end] = normalizeDateRange(first, second);\n if (end) this.jumpTo(end);\n this.syncRangeCalendar(start, end);\n }\n });\n }\n\n private jumpTo(date: Date) {\n this.open = true;\n const cal = this.shadowRoot!.querySelector(\"nile-calendar\") as any;\n if (!cal) return;\n\n cal.currentYear = date.getFullYear();\n cal.currentMonth = date.getMonth();\n cal.value = date;\n cal.valueAttribute = date.toISOString();\n }\n\n\n private syncRangeCalendar(first: Date | null, second: Date | null) {\n const cal = this.shadowRoot!.querySelector(\"nile-calendar\") as any;\n if (!cal) return;\n\n if (!this.range) return;\n\n if (first) cal.startDate = first;\n if (second) cal.endDate = second;\n }\n\n render(): TemplateResult {\n return html`\n <nile-dropdown .open=\"${this.open}\" part=\"dd-base\" .hoist=\"${true}\" distance=\"6\" exportparts=\"base\" .portal=\"${this.portal}\">\n <slot slot=\"trigger\" part=\"trigger\" name=\"trigger\"></slot>\n\n <nile-calendar\n .hideTypes=\"${this.hideTypes}\"\n .type=\"${this.type}\"\n value=\"${this.value}\"\n .range=\"${this.range}\"\n @nile-init=\"${(e:CustomEvent)=>e.stopPropagation()}\"\n @nile-destroy=\"${(e:CustomEvent)=>e.stopPropagation()}\"\n @nile-changed=\"${(e:CustomEvent)=>e.stopPropagation()}\"\n\n @nile-change=\"${this.handleChanged}\"\n\n .allowedDates=\"${this.allowedDates}\"\n\n @nile-type-change=\"${(e:CustomEvent)=>{e.stopPropagation();this.emit('nile-type-change',e.detail)}}\"\n @nile-clear=\"${(e:CustomEvent)=>{e.stopPropagation();this.emit('nile-clear')}}\"\n .hideDurationFields=\"${this.hideDurationFields}\"\n .showManualInputs=\"${this.showManualInputs}\"\n .doubleClickUnselect=\"${this.doubleClickUnselect}\"\n .allowClear=\"${this.allowClear}\"\n .startYear=\"${this.startYear}\"\n .endYear=\"${this.endYear}\"\n ?showYearDropdown=\"${this.showYearDropdown}\"\n ?showMonthDropdown=\"${this.showMonthDropdown}\"\n .dateFormat=\"${this.dateFormat}\"\n ></nile-calendar>\n </nile-dropdown>\n `;\n }\n\n\n handleChanged(event: CustomEvent) {\n event.stopPropagation();\n\n const detail = event.detail;\n const triggerInput = this.querySelector(\"nile-input\");\n\n if (!this.range) {\n const picked = detail.value;\n\n if (picked && triggerInput) {\n triggerInput.value = formatDateToFormat(new Date(picked), this.dateFormat);\n triggerInput.emit(\"nile-input\", { value: triggerInput.value });\n }\n\n this.emit('nile-changed', event.detail);\n this.emit('nile-change', event.detail);\n\n this.dropdown?.hide();\n return;\n }\n\n const start = detail.startDate;\n const end = detail.endDate;\n\n if (triggerInput) {\n let text = \"\";\n if (start) text += formatDateToFormat(new Date(start), this.dateFormat);\n if (start && end) text += \" - \" + formatDateToFormat(new Date(end), this.dateFormat);\n\n triggerInput.value = text;\n triggerInput.emit(\"nile-input\", { value: text });\n }\n\n this.emit('nile-changed', event.detail);\n this.emit('nile-change', event.detail);\n\n if (this.dropdown) {\n this.dropdown.hide();\n }\n }\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\nexport default NileDatePicker;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-date-picker': NileDatePicker;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-date-picker.js","sourceRoot":"","sources":["../../../src/nile-date-picker/nile-date-picker.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { \n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n} from 'lit';\nimport { customElement, query, property } from 'lit/decorators.js';\nimport { styles } from './nile-date-picker.css';\nimport NileElement from '../internal/nile-element';\nimport { NileDropdown } from '../nile-dropdown';\n\n/**\n * Nile icon component.\n *\n * @tag nile-date-picker\n *\n */\n\nimport {\n parseDateFromFormat,\n formatDateToFormat,\n parseRangeFromFormat,\n normalizeDateRange\n} from './nile-date-picker-utils';\n\n\n@customElement('nile-date-picker')\nexport class NileDatePicker extends NileElement {\n /**\n * The styles for DatePicker\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({ type: Boolean }) range = false;\n\n @property({ type: Boolean }) hideTypes = false;\n\n @property({ type: Boolean, reflect: true }) doubleClickUnselect = false;\n\n @property({ type: Boolean, reflect: true }) allowClear = false;\n\n @property({ type: Boolean }) open = false;\n\n @property({ type: Boolean, attribute: 'hide-time-zone' }) hideTimeZone = false;\n\n @property({ type: String, reflect: true }) type: 'absolute' | 'relative' = 'absolute';\n\n @property({ type: Boolean, attribute: 'showManualInputs' }) \n showManualInputs = false;\n\n @property() value: any;\n\n @property({ type: Array, attribute: 'hide-duration-fields' }) \n hideDurationFields: any = [];\n\n @property({ attribute: 'allowedDates' }) allowedDates: any = '{}';\n\n @property({ type: Boolean, attribute: true, reflect: true }) syncDatePicker = false;\n\n @property({ type: String, attribute: true, reflect: true }) dateFormat = \"DD/MM/YYYY\"; \n\n @property({ type: String, attribute: true, reflect: true }) rangeSeparator = \" - \";\n\n @property({ type: Number, attribute: true, reflect: true }) startYear: number;\n\n @property({ type: Number, attribute: true, reflect: true }) endYear: number;\n\n @property({ type: Boolean, attribute: true, reflect: true }) showYearDropdown = false;\n\n @property({ type: Boolean, attribute: true, reflect: true }) showMonthDropdown = false;\n\n @property({ type: Boolean, attribute: true, reflect: true }) portal = false;\n\n @property({ type: Boolean, attribute: true, reflect: true }) disabled = false;\n\n @query('nile-dropdown') dropdown: NileDropdown;\n\n /**\n * Render method\n * @slot This is a slot test\n */\n firstUpdated() {\n super.firstUpdated?.(new Map());\n\n if (!this.syncDatePicker) return;\n\n const input = this.querySelector(\"nile-input\");\n if (!input) return;\n\n input.addEventListener(\"nile-input\", (e: any) => {\n const text = e.detail.value;\n const { first, second } = parseRangeFromFormat(text, this.dateFormat, this.range, this.rangeSeparator);\n\n if (!this.range) {\n if (first) this.jumpTo(first);\n return;\n }\n\n if (first && !second) {\n this.jumpTo(first);\n this.syncRangeCalendar(first, null);\n }\n\n if (first && second) {\n const [start, end] = normalizeDateRange(first, second);\n if (end) this.jumpTo(end);\n this.syncRangeCalendar(start, end);\n }\n });\n }\n \n updated(changedProperties: Map<string, unknown>) {\n super.updated(changedProperties);\n if (changedProperties.has('disabled')) {\n this.updateTriggerDisabledState();\n }\n }\n \n\n private updateTriggerDisabledState() {\n const trigger = this.querySelector('[slot=\"trigger\"]') as HTMLElement | null;\n if (!trigger) return;\n if ('disabled' in trigger) {\n (trigger as any).disabled = this.disabled;\n }\n }\n \n\n private jumpTo(date: Date) {\n this.open = true;\n const cal = this.shadowRoot!.querySelector(\"nile-calendar\") as any;\n if (!cal) return;\n\n cal.currentYear = date.getFullYear();\n cal.currentMonth = date.getMonth();\n cal.value = date;\n cal.valueAttribute = date.toISOString();\n }\n\n\n private syncRangeCalendar(first: Date | null, second: Date | null) {\n const cal = this.shadowRoot!.querySelector(\"nile-calendar\") as any;\n if (!cal) return;\n\n if (!this.range) return;\n\n if (first) cal.startDate = first;\n if (second) cal.endDate = second;\n }\n\n render(): TemplateResult {\n return html`\n <nile-dropdown ?disabled=\"${this.disabled}\" .open=\"${this.open}\" part=\"dd-base\" .hoist=\"${true}\" distance=\"6\" exportparts=\"base\" .portal=\"${this.portal}\">\n <slot slot=\"trigger\" part=\"trigger\" name=\"trigger\"></slot> \n\n <nile-calendar\n .hideTypes=\"${this.hideTypes}\"\n .type=\"${this.type}\"\n value=\"${this.value}\"\n .range=\"${this.range}\"\n @nile-init=\"${(e:CustomEvent)=>e.stopPropagation()}\"\n @nile-destroy=\"${(e:CustomEvent)=>e.stopPropagation()}\"\n @nile-changed=\"${(e:CustomEvent)=>e.stopPropagation()}\"\n\n @nile-change=\"${this.handleChanged}\"\n\n .allowedDates=\"${this.allowedDates}\"\n\n @nile-type-change=\"${(e:CustomEvent)=>{e.stopPropagation();this.emit('nile-type-change',e.detail)}}\"\n @nile-clear=\"${(e:CustomEvent)=>{e.stopPropagation();this.emit('nile-clear')}}\"\n .hideDurationFields=\"${this.hideDurationFields}\"\n .showManualInputs=\"${this.showManualInputs}\"\n .doubleClickUnselect=\"${this.doubleClickUnselect}\"\n .allowClear=\"${this.allowClear}\"\n .startYear=\"${this.startYear}\"\n .endYear=\"${this.endYear}\"\n ?showYearDropdown=\"${this.showYearDropdown}\"\n ?showMonthDropdown=\"${this.showMonthDropdown}\"\n .dateFormat=\"${this.dateFormat}\"\n ></nile-calendar>\n </nile-dropdown>\n `;\n }\n\n\n handleChanged(event: CustomEvent) {\n event.stopPropagation();\n\n const detail = event.detail;\n const triggerInput = this.querySelector(\"nile-input\");\n if (this.disabled) return;\n\n if (!this.range) {\n const picked = detail.value;\n\n if (picked && triggerInput) {\n triggerInput.value = formatDateToFormat(new Date(picked), this.dateFormat);\n triggerInput.emit(\"nile-input\", { value: triggerInput.value });\n }\n\n this.emit('nile-changed', event.detail);\n this.emit('nile-change', event.detail);\n\n this.dropdown?.hide();\n return;\n }\n\n const start = detail.startDate;\n const end = detail.endDate;\n\n if (triggerInput) {\n let text = \"\";\n if (start) text += formatDateToFormat(new Date(start), this.dateFormat);\n if (start && end) text += \" - \" + formatDateToFormat(new Date(end), this.dateFormat);\n\n triggerInput.value = text;\n triggerInput.emit(\"nile-input\", { value: text });\n }\n\n this.emit('nile-changed', event.detail);\n this.emit('nile-change', event.detail);\n\n if (this.dropdown) {\n this.dropdown.hide();\n }\n }\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\nexport default NileDatePicker;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-date-picker': NileDatePicker;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export { NileDetail } from './nile-detail';
@@ -0,0 +1,2 @@
1
+ export { NileDetail } from './nile-detail';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-detail/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export { NileDetail } from './nile-detail';"]}
@@ -0,0 +1,3 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ declare const _default: import("lit").CSSResult[];
3
+ export default _default;
@@ -0,0 +1,152 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ box-sizing: border-box;
5
+ -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));
6
+ -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));
7
+ text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));
8
+ }
9
+
10
+ :host *,
11
+ :host *::before,
12
+ :host *::after {
13
+ box-sizing: inherit;
14
+ }
15
+
16
+ [hidden] {
17
+ display: none;
18
+ }
19
+
20
+ :host {
21
+ display: block;
22
+ width: 100%;
23
+ }
24
+
25
+ .detail {
26
+ border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));
27
+ border-radius: var(--nile-radius-md, var(--ng-radius-xl));
28
+ background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
29
+ box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));
30
+ overflow: hidden;
31
+ width: 100%;
32
+ line-height: var(--nile-line-height-inherit, var(--ng-line-height-text-sm));
33
+ font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));
34
+ }
35
+
36
+ .detail--disabled {
37
+ opacity: var(--nile-opacity-50, var(--ng-opacity-50));
38
+ }
39
+
40
+ .detail__header {
41
+ display: flex;
42
+ gap: var(--nile-spacing-lg, var(--ng-spacing-lg));
43
+ align-items: center;
44
+ border-radius: inherit;
45
+ padding: var(--nile-spacing-xl, var(--ng-spacing-xl));
46
+ background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-tertiary));
47
+ font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));
48
+ font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));
49
+ color: var(--nile-colors-neutral-900, var(--ng-colors-text-primary));
50
+ user-select: none;
51
+ cursor: pointer;
52
+ list-style: none;
53
+ }
54
+
55
+ .detail__header::-webkit-details-marker {
56
+ display: none;
57
+ }
58
+
59
+ .detail__header::marker {
60
+ content: '';
61
+ }
62
+
63
+ .detail__header--icon-left {
64
+ flex-direction: row-reverse;
65
+ }
66
+
67
+ .detail__header:focus {
68
+ outline: none;
69
+ }
70
+
71
+ .detail__header:focus-visible {
72
+ outline: solid 3px var(--nile-colors-blue-500, var(--ng-colors-fg-brand-primary-600));
73
+ outline-offset: calc(1px + 1px);
74
+ }
75
+
76
+ .detail--disabled .detail__header {
77
+ cursor: not-allowed;
78
+ }
79
+
80
+ .detail--disabled .detail__header:focus-visible {
81
+ outline: none;
82
+ box-shadow: none;
83
+ }
84
+
85
+ .detail__label {
86
+ width: 100%;
87
+ display: flex;
88
+ flex-direction: column;
89
+ }
90
+
91
+ .detail__header-actions {
92
+ flex: 0 0 auto;
93
+ display: flex;
94
+ align-items: center;
95
+ gap: var(--nile-spacing-sm, var(--ng-spacing-sm));
96
+ }
97
+
98
+ .detail__prefix {
99
+ flex: 0 0 auto;
100
+ display: flex;
101
+ align-items: center;
102
+ gap: var(--nile-spacing-sm, var(--ng-spacing-sm));
103
+ }
104
+
105
+ .detail__suffix {
106
+ flex: 0 0 auto;
107
+ display: flex;
108
+ align-items: center;
109
+ gap: var(--nile-spacing-sm, var(--ng-spacing-sm));
110
+ }
111
+
112
+ .detail__heading-text {
113
+ font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));
114
+ font-family: var(--nile-font-family-medium, var(--ng-font-family-body));
115
+ font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));
116
+ }
117
+
118
+ .detail__description {
119
+ font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));
120
+ font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));
121
+ color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));
122
+ margin-top: 2px;
123
+ }
124
+
125
+ .detail__summary-icon {
126
+ flex: 0 0 auto;
127
+ display: flex;
128
+ align-items: center;
129
+ transition: 250ms transform ease;
130
+ color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary));
131
+ transform: rotate(90deg);
132
+ }
133
+
134
+ .detail--open .detail__summary-icon {
135
+ transform: rotate(-90deg);
136
+ }
137
+
138
+ .detail__body {
139
+ overflow: hidden;
140
+ }
141
+
142
+ .detail__body[hidden] {
143
+ display: none;
144
+ }
145
+
146
+ .detail__content {
147
+ display: block;
148
+ padding: var(--nile-spacing-xl, var(--ng-spacing-xl));
149
+ }
150
+ `;
151
+ export default [styles];
152
+ //# sourceMappingURL=nile-detail.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-detail.css.js","sourceRoot":"","sources":["../../../src/nile-detail/nile-detail.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoJxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`\n :host {\n box-sizing: border-box;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n :host {\n display: block;\n width: 100%;\n }\n\n .detail {\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n overflow: hidden;\n width: 100%;\n line-height: var(--nile-line-height-inherit, var(--ng-line-height-text-sm));\n font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n }\n\n .detail--disabled {\n opacity: var(--nile-opacity-50, var(--ng-opacity-50));\n }\n\n .detail__header {\n display: flex;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n align-items: center;\n border-radius: inherit;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-tertiary));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n color: var(--nile-colors-neutral-900, var(--ng-colors-text-primary));\n user-select: none;\n cursor: pointer;\n list-style: none;\n }\n\n .detail__header::-webkit-details-marker {\n display: none;\n }\n\n .detail__header::marker {\n content: '';\n }\n\n .detail__header--icon-left {\n flex-direction: row-reverse;\n }\n\n .detail__header:focus {\n outline: none;\n }\n\n .detail__header:focus-visible {\n outline: solid 3px var(--nile-colors-blue-500, var(--ng-colors-fg-brand-primary-600));\n outline-offset: calc(1px + 1px);\n }\n\n .detail--disabled .detail__header {\n cursor: not-allowed;\n }\n\n .detail--disabled .detail__header:focus-visible {\n outline: none;\n box-shadow: none;\n }\n\n .detail__label {\n width: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .detail__header-actions {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__heading-text {\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n font-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n }\n\n .detail__description {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n margin-top: 2px;\n }\n\n .detail__summary-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms transform ease;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary));\n transform: rotate(90deg);\n }\n\n .detail--open .detail__summary-icon {\n transform: rotate(-90deg);\n }\n\n .detail__body {\n overflow: hidden;\n }\n\n .detail__body[hidden] {\n display: none;\n }\n\n .detail__content {\n display: block;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n`;\n\nexport default [styles];\n"]}
@@ -0,0 +1,29 @@
1
+ import { TemplateResult } from 'lit';
2
+ import NileElement from '../internal/nile-element';
3
+ import type { CSSResultGroup } from 'lit';
4
+ export declare class NileDetail extends NileElement {
5
+ static styles: CSSResultGroup;
6
+ detail: HTMLDetailsElement;
7
+ header: HTMLElement;
8
+ body: HTMLElement;
9
+ open: boolean;
10
+ heading: string;
11
+ description: string;
12
+ expandIconPlacement: 'left' | 'right';
13
+ disabled: boolean;
14
+ private _detailOpen;
15
+ firstUpdated(): void;
16
+ private _handleSummaryClick;
17
+ private _handleSummaryKeyDown;
18
+ handleOpenChange(): Promise<void>;
19
+ show(): Promise<unknown>;
20
+ hide(): Promise<unknown>;
21
+ private get _summaryLabel();
22
+ render(): TemplateResult;
23
+ }
24
+ export default NileDetail;
25
+ declare global {
26
+ interface HTMLElementTagNameMap {
27
+ 'nile-detail': NileDetail;
28
+ }
29
+ }
@@ -0,0 +1,143 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, nothing } from 'lit';
3
+ import { customElement, property, query, state } from 'lit/decorators.js';
4
+ import { classMap } from 'lit/directives/class-map.js';
5
+ import { styles } from './nile-detail.css';
6
+ import NileElement from '../internal/nile-element';
7
+ import { watch } from '../internal/watch';
8
+ import { animateShow, animateHide, showDetail, hideDetail, handleSummaryClick, handleSummaryKeyDown, } from './nile-detail.utils';
9
+ let NileDetail = class NileDetail extends NileElement {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.open = false;
13
+ this.heading = '';
14
+ this.description = '';
15
+ this.expandIconPlacement = 'right';
16
+ this.disabled = false;
17
+ this._detailOpen = false;
18
+ }
19
+ firstUpdated() {
20
+ this._detailOpen = this.open;
21
+ this.body.hidden = !this.open;
22
+ this.body.style.height = this.open ? 'auto' : '0';
23
+ }
24
+ _handleSummaryClick(event) {
25
+ event.preventDefault();
26
+ handleSummaryClick(this);
27
+ }
28
+ _handleSummaryKeyDown(event) {
29
+ handleSummaryKeyDown(event, this);
30
+ }
31
+ async handleOpenChange() {
32
+ if (this.open) {
33
+ this._detailOpen = true;
34
+ await animateShow(this);
35
+ }
36
+ else {
37
+ await animateHide(this);
38
+ this._detailOpen = false;
39
+ }
40
+ }
41
+ async show() {
42
+ return showDetail(this);
43
+ }
44
+ async hide() {
45
+ return hideDetail(this);
46
+ }
47
+ get _summaryLabel() {
48
+ return [this.heading, this.description].filter(Boolean).join(', ');
49
+ }
50
+ render() {
51
+ return html `
52
+ <details
53
+ part="base"
54
+ ?open=${this._detailOpen}
55
+ class=${classMap({
56
+ 'detail': true,
57
+ 'detail--open': this.open,
58
+ 'detail--disabled': this.disabled,
59
+ })}
60
+ >
61
+ <summary
62
+ part="header"
63
+ id="header"
64
+ class=${classMap({
65
+ 'detail__header': true,
66
+ 'detail__header--icon-left': this.expandIconPlacement === 'left',
67
+ })}
68
+ aria-label=${this._summaryLabel || nothing}
69
+ aria-expanded=${this.open ? 'true' : 'false'}
70
+ aria-disabled=${this.disabled ? 'true' : 'false'}
71
+ tabindex=${this.disabled ? '-1' : '0'}
72
+ @click=${this._handleSummaryClick}
73
+ @keydown=${this._handleSummaryKeyDown}
74
+ >
75
+ <slot name="label" part="label" class="detail__label">
76
+ <span part="label-text" class="detail__heading-text">${this.heading}</span>
77
+ ${this.description
78
+ ? html `<span part="description" class="detail__description">${this.description}</span>`
79
+ : ''}
80
+ </slot>
81
+
82
+ <slot name="header-actions" part="header-actions" class="detail__header-actions"></slot>
83
+
84
+ <slot name="prefix" part="prefix" class="detail__prefix"></slot>
85
+
86
+ <span part="summary-icon" class="detail__summary-icon" aria-hidden="true">
87
+ <slot name="expand-icon">
88
+ <nile-icon
89
+ name="var(--nile-icon-arrow-right, var(--ng-icon-chevron-right))"
90
+ method="var(--nile-svg-method-fill, var(--ng-svg-method-stroke))"
91
+ library="system"
92
+ ></nile-icon>
93
+ </slot>
94
+ </span>
95
+
96
+ <slot name="suffix" part="suffix" class="detail__suffix"></slot>
97
+
98
+ </summary>
99
+
100
+ <div part="content" class="detail__body">
101
+ <slot id="content" class="detail__content"></slot>
102
+ </div>
103
+ </details>
104
+ `;
105
+ }
106
+ };
107
+ NileDetail.styles = styles;
108
+ __decorate([
109
+ query('details')
110
+ ], NileDetail.prototype, "detail", void 0);
111
+ __decorate([
112
+ query('summary')
113
+ ], NileDetail.prototype, "header", void 0);
114
+ __decorate([
115
+ query('.detail__body')
116
+ ], NileDetail.prototype, "body", void 0);
117
+ __decorate([
118
+ property({ attribute: true, type: Boolean, reflect: true })
119
+ ], NileDetail.prototype, "open", void 0);
120
+ __decorate([
121
+ property({ attribute: true, type: String, reflect: true })
122
+ ], NileDetail.prototype, "heading", void 0);
123
+ __decorate([
124
+ property({ attribute: true, type: String, reflect: true })
125
+ ], NileDetail.prototype, "description", void 0);
126
+ __decorate([
127
+ property({ attribute: true, reflect: true })
128
+ ], NileDetail.prototype, "expandIconPlacement", void 0);
129
+ __decorate([
130
+ property({ attribute: true, type: Boolean, reflect: true })
131
+ ], NileDetail.prototype, "disabled", void 0);
132
+ __decorate([
133
+ state()
134
+ ], NileDetail.prototype, "_detailOpen", void 0);
135
+ __decorate([
136
+ watch('open', { waitUntilFirstUpdate: true })
137
+ ], NileDetail.prototype, "handleOpenChange", null);
138
+ NileDetail = __decorate([
139
+ customElement('nile-detail')
140
+ ], NileDetail);
141
+ export { NileDetail };
142
+ export default NileDetail;
143
+ //# sourceMappingURL=nile-detail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-detail.js","sourceRoot":"","sources":["../../../src/nile-detail/nile-detail.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult, nothing } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styles } from './nile-detail.css';\nimport NileElement from '../internal/nile-element';\nimport { watch } from '../internal/watch';\nimport {\n animateShow,\n animateHide,\n showDetail,\n hideDetail,\n handleSummaryClick,\n handleSummaryKeyDown,\n} from './nile-detail.utils';\nimport type { CSSResultGroup } from 'lit';\n\n@customElement('nile-detail')\nexport class NileDetail extends NileElement {\n\n static styles: CSSResultGroup = styles;\n\n @query('details') detail: HTMLDetailsElement;\n @query('summary') header: HTMLElement;\n @query('.detail__body') body: HTMLElement;\n\n @property({ attribute: true, type: Boolean, reflect: true }) open = false;\n\n @property({ attribute: true, type: String, reflect: true }) heading = '';\n\n @property({ attribute: true, type: String, reflect: true }) description = '';\n\n @property({ attribute: true, reflect: true }) expandIconPlacement: 'left' | 'right' = 'right';\n\n @property({ attribute: true, type: Boolean, reflect: true }) disabled = false;\n\n @state() private _detailOpen = false;\n\n firstUpdated() {\n this._detailOpen = this.open;\n this.body.hidden = !this.open;\n this.body.style.height = this.open ? 'auto' : '0';\n }\n\n private _handleSummaryClick(event: Event) {\n event.preventDefault();\n handleSummaryClick(this);\n }\n\n private _handleSummaryKeyDown(event: KeyboardEvent) {\n handleSummaryKeyDown(event, this);\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n this._detailOpen = true;\n await animateShow(this);\n } else {\n await animateHide(this);\n this._detailOpen = false;\n }\n }\n\n async show() {\n return showDetail(this);\n }\n\n async hide() {\n return hideDetail(this);\n }\n\n private get _summaryLabel(): string {\n return [this.heading, this.description].filter(Boolean).join(', ');\n }\n\n render(): TemplateResult {\n return html`\n <details\n part=\"base\"\n ?open=${this._detailOpen}\n class=${classMap({\n 'detail': true,\n 'detail--open': this.open,\n 'detail--disabled': this.disabled,\n })}\n >\n <summary\n part=\"header\"\n id=\"header\"\n class=${classMap({\n 'detail__header': true,\n 'detail__header--icon-left': this.expandIconPlacement === 'left',\n })}\n aria-label=${this._summaryLabel || nothing}\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this._handleSummaryClick}\n @keydown=${this._handleSummaryKeyDown}\n >\n <slot name=\"label\" part=\"label\" class=\"detail__label\">\n <span part=\"label-text\" class=\"detail__heading-text\">${this.heading}</span>\n ${this.description\n ? html`<span part=\"description\" class=\"detail__description\">${this.description}</span>`\n : ''}\n </slot>\n\n <slot name=\"header-actions\" part=\"header-actions\" class=\"detail__header-actions\"></slot>\n\n <slot name=\"prefix\" part=\"prefix\" class=\"detail__prefix\"></slot>\n\n <span part=\"summary-icon\" class=\"detail__summary-icon\" aria-hidden=\"true\">\n <slot name=\"expand-icon\">\n <nile-icon\n name=\"var(--nile-icon-arrow-right, var(--ng-icon-chevron-right))\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n library=\"system\"\n ></nile-icon>\n </slot>\n </span>\n\n <slot name=\"suffix\" part=\"suffix\" class=\"detail__suffix\"></slot>\n\n </summary>\n\n <div part=\"content\" class=\"detail__body\">\n <slot id=\"content\" class=\"detail__content\"></slot>\n </div>\n </details>\n `;\n }\n}\n\nexport default NileDetail;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-detail': NileDetail;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ import './nile-detail';