@aquera/nile-elements 1.6.2 → 1.6.4

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 (747) hide show
  1. package/README.md +16 -0
  2. package/demo/variables.css +1 -0
  3. package/dist/index.cjs.js +1 -1
  4. package/dist/index.esm.js +1 -1
  5. package/dist/index.js +527 -339
  6. package/dist/internal/accessibility/a11y.custom-value.enum.cjs.js +2 -0
  7. package/dist/internal/accessibility/a11y.custom-value.enum.cjs.js.map +1 -0
  8. package/dist/internal/accessibility/a11y.custom-value.enum.esm.js +1 -0
  9. package/dist/internal/accessibility/a11y.property.enum.cjs.js +2 -0
  10. package/dist/internal/accessibility/a11y.property.enum.cjs.js.map +1 -0
  11. package/dist/internal/accessibility/a11y.property.enum.esm.js +1 -0
  12. package/dist/internal/accessibility/a11y.role.enum.cjs.js +2 -0
  13. package/dist/internal/accessibility/a11y.role.enum.cjs.js.map +1 -0
  14. package/dist/internal/accessibility/a11y.role.enum.esm.js +1 -0
  15. package/dist/internal/accessibility/a11y.state.enum.cjs.js +2 -0
  16. package/dist/internal/accessibility/a11y.state.enum.cjs.js.map +1 -0
  17. package/dist/internal/accessibility/a11y.state.enum.esm.js +1 -0
  18. package/dist/internal/accessibility/accessibility.const.cjs.js +2 -0
  19. package/dist/internal/accessibility/accessibility.const.cjs.js.map +1 -0
  20. package/dist/internal/accessibility/accessibility.const.esm.js +1 -0
  21. package/dist/internal/accessibility/role.enum.cjs.js +2 -0
  22. package/dist/internal/accessibility/role.enum.cjs.js.map +1 -0
  23. package/dist/internal/accessibility/role.enum.esm.js +1 -0
  24. package/dist/internal/nile-element.cjs.js +1 -1
  25. package/dist/internal/nile-element.cjs.js.map +1 -1
  26. package/dist/internal/nile-element.esm.js +1 -1
  27. package/dist/nile-accordion/index.cjs.js +1 -1
  28. package/dist/nile-accordion/index.esm.js +1 -1
  29. package/dist/nile-accordion/nile-accordion.cjs.js +1 -1
  30. package/dist/nile-accordion/nile-accordion.cjs.js.map +1 -1
  31. package/dist/nile-accordion/nile-accordion.esm.js +2 -2
  32. package/dist/nile-auto-complete/index.cjs.js +1 -1
  33. package/dist/nile-auto-complete/index.esm.js +1 -1
  34. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  35. package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
  36. package/dist/nile-auto-complete/nile-auto-complete.esm.js +1 -1
  37. package/dist/nile-avatar/index.cjs.js +1 -1
  38. package/dist/nile-avatar/index.esm.js +1 -1
  39. package/dist/nile-avatar/nile-avatar.cjs.js +1 -1
  40. package/dist/nile-avatar/nile-avatar.cjs.js.map +1 -1
  41. package/dist/nile-avatar/nile-avatar.esm.js +3 -1
  42. package/dist/nile-badge/index.cjs.js +1 -1
  43. package/dist/nile-badge/index.esm.js +1 -1
  44. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  45. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  46. package/dist/nile-badge/nile-badge.esm.js +2 -2
  47. package/dist/nile-breadcrumb/index.cjs.js +1 -1
  48. package/dist/nile-breadcrumb/index.esm.js +1 -1
  49. package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js +1 -1
  50. package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js.map +1 -1
  51. package/dist/nile-breadcrumb/nile-breadcrumb.esm.js +1 -1
  52. package/dist/nile-breadcrumb-item/index.cjs.js +1 -1
  53. package/dist/nile-breadcrumb-item/index.esm.js +1 -1
  54. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js +1 -1
  55. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js.map +1 -1
  56. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.esm.js +4 -4
  57. package/dist/nile-button/index.cjs.js +1 -1
  58. package/dist/nile-button/index.esm.js +1 -1
  59. package/dist/nile-button/nile-button.cjs.js +1 -1
  60. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  61. package/dist/nile-button/nile-button.css.cjs.js +1 -1
  62. package/dist/nile-button/nile-button.css.cjs.js.map +1 -1
  63. package/dist/nile-button/nile-button.css.esm.js +5 -0
  64. package/dist/nile-button/nile-button.esm.js +1 -1
  65. package/dist/nile-button-filter/index.cjs.js +1 -1
  66. package/dist/nile-button-filter/index.esm.js +1 -1
  67. package/dist/nile-button-filter/nile-button-filter.cjs.js +1 -1
  68. package/dist/nile-button-filter/nile-button-filter.cjs.js.map +1 -1
  69. package/dist/nile-button-filter/nile-button-filter.esm.js +7 -7
  70. package/dist/nile-button-toggle/index.cjs.js +1 -1
  71. package/dist/nile-button-toggle/index.esm.js +1 -1
  72. package/dist/nile-button-toggle/nile-button-toggle.cjs.js +1 -1
  73. package/dist/nile-button-toggle/nile-button-toggle.cjs.js.map +1 -1
  74. package/dist/nile-button-toggle/nile-button-toggle.esm.js +2 -2
  75. package/dist/nile-button-toggle-group/index.cjs.js +1 -1
  76. package/dist/nile-button-toggle-group/index.esm.js +1 -1
  77. package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js +1 -1
  78. package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js.map +1 -1
  79. package/dist/nile-button-toggle-group/nile-button-toggle-group.esm.js +1 -1
  80. package/dist/nile-calendar/index.cjs.js +1 -1
  81. package/dist/nile-calendar/index.esm.js +1 -1
  82. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  83. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  84. package/dist/nile-calendar/nile-calendar.esm.js +4 -4
  85. package/dist/nile-card/index.cjs.js +1 -1
  86. package/dist/nile-card/index.esm.js +1 -1
  87. package/dist/nile-card/nile-card.cjs.js +1 -1
  88. package/dist/nile-card/nile-card.cjs.js.map +1 -1
  89. package/dist/nile-card/nile-card.esm.js +2 -2
  90. package/dist/nile-carousel/index.cjs.js +1 -1
  91. package/dist/nile-carousel/index.esm.js +1 -1
  92. package/dist/nile-carousel/nile-carousel-item/index.cjs.js +1 -1
  93. package/dist/nile-carousel/nile-carousel-item/index.esm.js +1 -1
  94. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.cjs.js +1 -1
  95. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.cjs.js.map +1 -1
  96. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.esm.js +2 -2
  97. package/dist/nile-carousel/nile-carousel.cjs.js +1 -1
  98. package/dist/nile-carousel/nile-carousel.cjs.js.map +1 -1
  99. package/dist/nile-carousel/nile-carousel.esm.js +1 -1
  100. package/dist/nile-checkbox/index.cjs.js +1 -1
  101. package/dist/nile-checkbox/index.esm.js +1 -1
  102. package/dist/nile-checkbox/nile-checkbox.cjs.js +1 -1
  103. package/dist/nile-checkbox/nile-checkbox.cjs.js.map +1 -1
  104. package/dist/nile-checkbox/nile-checkbox.css.cjs.js +1 -1
  105. package/dist/nile-checkbox/nile-checkbox.css.cjs.js.map +1 -1
  106. package/dist/nile-checkbox/nile-checkbox.css.esm.js +4 -0
  107. package/dist/nile-checkbox/nile-checkbox.esm.js +3 -3
  108. package/dist/nile-checkbox-group/index.cjs.js +2 -0
  109. package/dist/nile-checkbox-group/index.cjs.js.map +1 -0
  110. package/dist/nile-checkbox-group/index.esm.js +1 -0
  111. package/dist/nile-checkbox-group/nile-checkbox-group.cjs.js +2 -0
  112. package/dist/nile-checkbox-group/nile-checkbox-group.cjs.js.map +1 -0
  113. package/dist/nile-checkbox-group/nile-checkbox-group.css.cjs.js +2 -0
  114. package/dist/nile-checkbox-group/nile-checkbox-group.css.cjs.js.map +1 -0
  115. package/dist/nile-checkbox-group/nile-checkbox-group.css.esm.js +68 -0
  116. package/dist/nile-checkbox-group/nile-checkbox-group.esm.js +56 -0
  117. package/dist/nile-chip/index.cjs.js +1 -1
  118. package/dist/nile-chip/index.esm.js +1 -1
  119. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  120. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  121. package/dist/nile-chip/nile-chip.esm.js +2 -2
  122. package/dist/nile-circular-progressbar/index.cjs.js +1 -1
  123. package/dist/nile-circular-progressbar/index.esm.js +1 -1
  124. package/dist/nile-circular-progressbar/nile-circular-progressbar.cjs.js +1 -1
  125. package/dist/nile-circular-progressbar/nile-circular-progressbar.cjs.js.map +1 -1
  126. package/dist/nile-circular-progressbar/nile-circular-progressbar.esm.js +2 -2
  127. package/dist/nile-code-editor/index.cjs.js +1 -1
  128. package/dist/nile-code-editor/index.esm.js +1 -1
  129. package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
  130. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  131. package/dist/nile-code-editor/nile-code-editor.esm.js +2 -2
  132. package/dist/nile-content-editor/index.cjs.js +1 -1
  133. package/dist/nile-content-editor/index.esm.js +1 -1
  134. package/dist/nile-content-editor/nile-content-editor.cjs.js +1 -1
  135. package/dist/nile-content-editor/nile-content-editor.cjs.js.map +1 -1
  136. package/dist/nile-content-editor/nile-content-editor.esm.js +5 -5
  137. package/dist/nile-date-picker/index.cjs.js +1 -1
  138. package/dist/nile-date-picker/index.esm.js +1 -1
  139. package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
  140. package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
  141. package/dist/nile-date-picker/nile-date-picker.esm.js +1 -1
  142. package/dist/nile-detail/index.cjs.js +1 -1
  143. package/dist/nile-detail/index.esm.js +1 -1
  144. package/dist/nile-detail/nile-detail.cjs.js +1 -1
  145. package/dist/nile-detail/nile-detail.cjs.js.map +1 -1
  146. package/dist/nile-detail/nile-detail.esm.js +2 -2
  147. package/dist/nile-dialog/index.cjs.js +1 -1
  148. package/dist/nile-dialog/index.esm.js +1 -1
  149. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  150. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  151. package/dist/nile-dialog/nile-dialog.esm.js +2 -2
  152. package/dist/nile-divider/index.cjs.js +1 -1
  153. package/dist/nile-divider/index.esm.js +1 -1
  154. package/dist/nile-divider/nile-divider.cjs.js +1 -1
  155. package/dist/nile-divider/nile-divider.cjs.js.map +1 -1
  156. package/dist/nile-divider/nile-divider.esm.js +2 -2
  157. package/dist/nile-drawer/index.cjs.js +1 -1
  158. package/dist/nile-drawer/index.esm.js +1 -1
  159. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  160. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  161. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  162. package/dist/nile-dropdown/index.cjs.js +1 -1
  163. package/dist/nile-dropdown/index.esm.js +1 -1
  164. package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
  165. package/dist/nile-dropdown/nile-dropdown.cjs.js.map +1 -1
  166. package/dist/nile-dropdown/nile-dropdown.esm.js +1 -1
  167. package/dist/nile-empty-state/index.cjs.js +1 -1
  168. package/dist/nile-empty-state/index.esm.js +1 -1
  169. package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
  170. package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
  171. package/dist/nile-empty-state/nile-empty-state.esm.js +2 -2
  172. package/dist/nile-file-preview/index.cjs.js +1 -1
  173. package/dist/nile-file-preview/index.esm.js +1 -1
  174. package/dist/nile-file-preview/nile-file-preview.cjs.js +1 -1
  175. package/dist/nile-file-preview/nile-file-preview.cjs.js.map +1 -1
  176. package/dist/nile-file-preview/nile-file-preview.esm.js +1 -1
  177. package/dist/nile-file-upload/index.cjs.js +1 -1
  178. package/dist/nile-file-upload/index.esm.js +1 -1
  179. package/dist/nile-file-upload/nile-file-upload.cjs.js +1 -1
  180. package/dist/nile-file-upload/nile-file-upload.cjs.js.map +1 -1
  181. package/dist/nile-file-upload/nile-file-upload.esm.js +2 -2
  182. package/dist/nile-filter-chip/index.cjs.js +1 -1
  183. package/dist/nile-filter-chip/index.esm.js +1 -1
  184. package/dist/nile-filter-chip/nile-filter-chip.cjs.js +1 -1
  185. package/dist/nile-filter-chip/nile-filter-chip.cjs.js.map +1 -1
  186. package/dist/nile-filter-chip/nile-filter-chip.esm.js +2 -2
  187. package/dist/nile-floating-panel/index.cjs.js +1 -1
  188. package/dist/nile-floating-panel/index.esm.js +1 -1
  189. package/dist/nile-floating-panel/nile-floating-panel.cjs.js +1 -1
  190. package/dist/nile-floating-panel/nile-floating-panel.cjs.js.map +1 -1
  191. package/dist/nile-floating-panel/nile-floating-panel.esm.js +1 -1
  192. package/dist/nile-form-group/index.cjs.js +1 -1
  193. package/dist/nile-form-group/index.esm.js +1 -1
  194. package/dist/nile-form-group/nile-form-group.cjs.js +1 -1
  195. package/dist/nile-form-group/nile-form-group.cjs.js.map +1 -1
  196. package/dist/nile-form-group/nile-form-group.esm.js +2 -2
  197. package/dist/nile-format-date/index.cjs.js +1 -1
  198. package/dist/nile-format-date/index.esm.js +1 -1
  199. package/dist/nile-format-date/nile-format-date.cjs.js +1 -1
  200. package/dist/nile-format-date/nile-format-date.cjs.js.map +1 -1
  201. package/dist/nile-format-date/nile-format-date.esm.js +1 -1
  202. package/dist/nile-grid/index.cjs.js +1 -1
  203. package/dist/nile-grid/index.esm.js +1 -1
  204. package/dist/nile-grid/nile-grid-body/index.cjs.js +1 -1
  205. package/dist/nile-grid/nile-grid-body/index.esm.js +1 -1
  206. package/dist/nile-grid/nile-grid-body/nile-grid-body.cjs.js +1 -1
  207. package/dist/nile-grid/nile-grid-body/nile-grid-body.cjs.js.map +1 -1
  208. package/dist/nile-grid/nile-grid-body/nile-grid-body.esm.js +2 -2
  209. package/dist/nile-grid/nile-grid-cell-item/index.cjs.js +1 -1
  210. package/dist/nile-grid/nile-grid-cell-item/index.esm.js +1 -1
  211. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js +1 -1
  212. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -1
  213. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.esm.js +2 -2
  214. package/dist/nile-grid/nile-grid-head/index.cjs.js +1 -1
  215. package/dist/nile-grid/nile-grid-head/index.esm.js +1 -1
  216. package/dist/nile-grid/nile-grid-head/nile-grid-head.cjs.js +1 -1
  217. package/dist/nile-grid/nile-grid-head/nile-grid-head.cjs.js.map +1 -1
  218. package/dist/nile-grid/nile-grid-head/nile-grid-head.esm.js +2 -2
  219. package/dist/nile-grid/nile-grid-head-item/index.cjs.js +1 -1
  220. package/dist/nile-grid/nile-grid-head-item/index.esm.js +1 -1
  221. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js +1 -1
  222. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -1
  223. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.esm.js +3 -3
  224. package/dist/nile-grid/nile-grid-row/index.cjs.js +1 -1
  225. package/dist/nile-grid/nile-grid-row/index.esm.js +1 -1
  226. package/dist/nile-grid/nile-grid-row/nile-grid-row.cjs.js +1 -1
  227. package/dist/nile-grid/nile-grid-row/nile-grid-row.cjs.js.map +1 -1
  228. package/dist/nile-grid/nile-grid-row/nile-grid-row.esm.js +2 -2
  229. package/dist/nile-grid/nile-grid.cjs.js +1 -1
  230. package/dist/nile-grid/nile-grid.cjs.js.map +1 -1
  231. package/dist/nile-grid/nile-grid.esm.js +2 -2
  232. package/dist/nile-hero/index.cjs.js +1 -1
  233. package/dist/nile-hero/index.esm.js +1 -1
  234. package/dist/nile-hero/nile-hero.cjs.js +1 -1
  235. package/dist/nile-hero/nile-hero.cjs.js.map +1 -1
  236. package/dist/nile-hero/nile-hero.esm.js +2 -2
  237. package/dist/nile-hero-header/index.cjs.js +1 -1
  238. package/dist/nile-hero-header/index.esm.js +1 -1
  239. package/dist/nile-hero-header/nile-hero-header.cjs.js +1 -1
  240. package/dist/nile-hero-header/nile-hero-header.cjs.js.map +1 -1
  241. package/dist/nile-hero-header/nile-hero-header.esm.js +2 -2
  242. package/dist/nile-icon/icons/svg/arrow-left-small.cjs.js +2 -0
  243. package/dist/nile-icon/icons/svg/arrow-left-small.cjs.js.map +1 -0
  244. package/dist/nile-icon/icons/svg/arrow-left-small.esm.js +1 -0
  245. package/dist/nile-icon/icons/svg/arrow-right-small.cjs.js +2 -0
  246. package/dist/nile-icon/icons/svg/arrow-right-small.cjs.js.map +1 -0
  247. package/dist/nile-icon/icons/svg/arrow-right-small.esm.js +1 -0
  248. package/dist/nile-icon/icons/svg/arrow_left_small.cjs.js +2 -0
  249. package/dist/nile-icon/icons/svg/arrow_left_small.cjs.js.map +1 -0
  250. package/dist/nile-icon/icons/svg/arrow_left_small.esm.js +1 -0
  251. package/dist/nile-icon/icons/svg/arrow_right_small.cjs.js +2 -0
  252. package/dist/nile-icon/icons/svg/arrow_right_small.cjs.js.map +1 -0
  253. package/dist/nile-icon/icons/svg/arrow_right_small.esm.js +1 -0
  254. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  255. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  256. package/dist/nile-icon/index.cjs.js +1 -1
  257. package/dist/nile-icon/index.cjs.js.map +1 -1
  258. package/dist/nile-icon/index.esm.js +1 -1
  259. package/dist/nile-icon-button/index.cjs.js +1 -1
  260. package/dist/nile-icon-button/index.esm.js +1 -1
  261. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  262. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  263. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  264. package/dist/nile-inline-edit/index.cjs.js +1 -1
  265. package/dist/nile-inline-edit/index.esm.js +1 -1
  266. package/dist/nile-inline-edit/nile-inline-edit.cjs.js +1 -1
  267. package/dist/nile-inline-edit/nile-inline-edit.cjs.js.map +1 -1
  268. package/dist/nile-inline-edit/nile-inline-edit.esm.js +2 -2
  269. package/dist/nile-inline-sidebar/index.cjs.js +1 -1
  270. package/dist/nile-inline-sidebar/index.esm.js +1 -1
  271. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js +1 -1
  272. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js.map +1 -1
  273. package/dist/nile-inline-sidebar/nile-inline-sidebar.esm.js +3 -3
  274. package/dist/nile-inline-sidebar-group/index.cjs.js +1 -1
  275. package/dist/nile-inline-sidebar-group/index.esm.js +1 -1
  276. package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.cjs.js +1 -1
  277. package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.cjs.js.map +1 -1
  278. package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.esm.js +3 -3
  279. package/dist/nile-inline-sidebar-item/index.cjs.js +1 -1
  280. package/dist/nile-inline-sidebar-item/index.esm.js +1 -1
  281. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +1 -1
  282. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -1
  283. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +3 -3
  284. package/dist/nile-input/index.cjs.js +1 -1
  285. package/dist/nile-input/index.esm.js +1 -1
  286. package/dist/nile-input/nile-input.cjs.js +1 -1
  287. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  288. package/dist/nile-input/nile-input.esm.js +1 -1
  289. package/dist/nile-link/index.cjs.js +1 -1
  290. package/dist/nile-link/index.esm.js +1 -1
  291. package/dist/nile-link/nile-link.cjs.js +1 -1
  292. package/dist/nile-link/nile-link.cjs.js.map +1 -1
  293. package/dist/nile-link/nile-link.esm.js +3 -3
  294. package/dist/nile-list/index.cjs.js +1 -1
  295. package/dist/nile-list/index.esm.js +1 -1
  296. package/dist/nile-list/nile-list.cjs.js +1 -1
  297. package/dist/nile-list/nile-list.cjs.js.map +1 -1
  298. package/dist/nile-list/nile-list.esm.js +1 -1
  299. package/dist/nile-list-item/index.cjs.js +1 -1
  300. package/dist/nile-list-item/index.esm.js +1 -1
  301. package/dist/nile-list-item/nile-list-item.cjs.js +1 -1
  302. package/dist/nile-list-item/nile-list-item.cjs.js.map +1 -1
  303. package/dist/nile-list-item/nile-list-item.esm.js +2 -2
  304. package/dist/nile-lite-tooltip/index.cjs.js +1 -1
  305. package/dist/nile-lite-tooltip/index.esm.js +1 -1
  306. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js +1 -1
  307. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js.map +1 -1
  308. package/dist/nile-lite-tooltip/nile-lite-tooltip.esm.js +1 -1
  309. package/dist/nile-menu/index.cjs.js +1 -1
  310. package/dist/nile-menu/index.esm.js +1 -1
  311. package/dist/nile-menu/nile-menu.cjs.js +1 -1
  312. package/dist/nile-menu/nile-menu.cjs.js.map +1 -1
  313. package/dist/nile-menu/nile-menu.esm.js +2 -2
  314. package/dist/nile-menu-item/index.cjs.js +1 -1
  315. package/dist/nile-menu-item/index.esm.js +1 -1
  316. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  317. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  318. package/dist/nile-menu-item/nile-menu-item.css.cjs.js +1 -1
  319. package/dist/nile-menu-item/nile-menu-item.css.cjs.js.map +1 -1
  320. package/dist/nile-menu-item/nile-menu-item.css.esm.js +11 -2
  321. package/dist/nile-menu-item/nile-menu-item.esm.js +3 -3
  322. package/dist/nile-option/index.cjs.js +1 -1
  323. package/dist/nile-option/index.esm.js +1 -1
  324. package/dist/nile-option/nile-option.cjs.js +1 -1
  325. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  326. package/dist/nile-option/nile-option.esm.js +1 -1
  327. package/dist/nile-option-group/index.cjs.js +1 -1
  328. package/dist/nile-option-group/index.esm.js +1 -1
  329. package/dist/nile-option-group/nile-option-group.cjs.js +1 -1
  330. package/dist/nile-option-group/nile-option-group.cjs.js.map +1 -1
  331. package/dist/nile-option-group/nile-option-group.esm.js +2 -2
  332. package/dist/nile-otp-input/index.cjs.js +1 -1
  333. package/dist/nile-otp-input/index.esm.js +1 -1
  334. package/dist/nile-otp-input/nile-otp-input.cjs.js +1 -1
  335. package/dist/nile-otp-input/nile-otp-input.cjs.js.map +1 -1
  336. package/dist/nile-otp-input/nile-otp-input.esm.js +1 -1
  337. package/dist/nile-page-header/index.cjs.js +1 -1
  338. package/dist/nile-page-header/index.esm.js +1 -1
  339. package/dist/nile-page-header/nile-page-header.cjs.js +1 -1
  340. package/dist/nile-page-header/nile-page-header.cjs.js.map +1 -1
  341. package/dist/nile-page-header/nile-page-header.esm.js +2 -2
  342. package/dist/nile-pagination/index.cjs.js +1 -1
  343. package/dist/nile-pagination/index.esm.js +1 -1
  344. package/dist/nile-pagination/nile-pagination.cjs.js +1 -1
  345. package/dist/nile-pagination/nile-pagination.cjs.js.map +1 -1
  346. package/dist/nile-pagination/nile-pagination.css.cjs.js +1 -1
  347. package/dist/nile-pagination/nile-pagination.css.cjs.js.map +1 -1
  348. package/dist/nile-pagination/nile-pagination.css.esm.js +13 -0
  349. package/dist/nile-pagination/nile-pagination.esm.js +1 -1
  350. package/dist/nile-popover/index.cjs.js +1 -1
  351. package/dist/nile-popover/index.esm.js +1 -1
  352. package/dist/nile-popover/nile-popover.cjs.js +2 -2
  353. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  354. package/dist/nile-popover/nile-popover.esm.js +3 -3
  355. package/dist/nile-popup/index.cjs.js +1 -1
  356. package/dist/nile-popup/index.esm.js +1 -1
  357. package/dist/nile-popup/nile-popup.cjs.js +1 -1
  358. package/dist/nile-popup/nile-popup.cjs.js.map +1 -1
  359. package/dist/nile-popup/nile-popup.esm.js +2 -2
  360. package/dist/nile-progress-bar/index.cjs.js +1 -1
  361. package/dist/nile-progress-bar/index.esm.js +1 -1
  362. package/dist/nile-progress-bar/nile-progress-bar.cjs.js +1 -1
  363. package/dist/nile-progress-bar/nile-progress-bar.cjs.js.map +1 -1
  364. package/dist/nile-progress-bar/nile-progress-bar.esm.js +2 -2
  365. package/dist/nile-qr-code/index.cjs.js +1 -1
  366. package/dist/nile-qr-code/index.esm.js +1 -1
  367. package/dist/nile-qr-code/nile-qr-code.cjs.js +1 -1
  368. package/dist/nile-qr-code/nile-qr-code.cjs.js.map +1 -1
  369. package/dist/nile-qr-code/nile-qr-code.esm.js +2 -2
  370. package/dist/nile-radio/index.cjs.js +1 -1
  371. package/dist/nile-radio/index.esm.js +1 -1
  372. package/dist/nile-radio/nile-radio.cjs.js +1 -1
  373. package/dist/nile-radio/nile-radio.cjs.js.map +1 -1
  374. package/dist/nile-radio/nile-radio.css.cjs.js +1 -1
  375. package/dist/nile-radio/nile-radio.css.cjs.js.map +1 -1
  376. package/dist/nile-radio/nile-radio.css.esm.js +4 -0
  377. package/dist/nile-radio/nile-radio.esm.js +2 -2
  378. package/dist/nile-radio-group/index.cjs.js +1 -1
  379. package/dist/nile-radio-group/index.esm.js +1 -1
  380. package/dist/nile-radio-group/nile-radio-group.cjs.js +1 -1
  381. package/dist/nile-radio-group/nile-radio-group.cjs.js.map +1 -1
  382. package/dist/nile-radio-group/nile-radio-group.esm.js +2 -2
  383. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +1 -1
  384. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -1
  385. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
  386. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
  387. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +8 -6
  388. package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -1
  389. package/dist/nile-rich-text-editor/utils/list-utils.cjs.js +1 -1
  390. package/dist/nile-rich-text-editor/utils/list-utils.cjs.js.map +1 -1
  391. package/dist/nile-rich-text-editor/utils/list-utils.esm.js +1 -1
  392. package/dist/nile-section-message/index.cjs.js +1 -1
  393. package/dist/nile-section-message/index.esm.js +1 -1
  394. package/dist/nile-section-message/nile-section-message.cjs.js +1 -1
  395. package/dist/nile-section-message/nile-section-message.cjs.js.map +1 -1
  396. package/dist/nile-section-message/nile-section-message.esm.js +2 -2
  397. package/dist/nile-select/index.cjs.js +1 -1
  398. package/dist/nile-select/index.esm.js +1 -1
  399. package/dist/nile-select/nile-select.cjs.js +1 -1
  400. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  401. package/dist/nile-select/nile-select.css.cjs.js +1 -1
  402. package/dist/nile-select/nile-select.css.cjs.js.map +1 -1
  403. package/dist/nile-select/nile-select.css.esm.js +21 -2
  404. package/dist/nile-select/nile-select.esm.js +33 -25
  405. package/dist/nile-select/portal-utils.cjs.js +1 -1
  406. package/dist/nile-select/portal-utils.cjs.js.map +1 -1
  407. package/dist/nile-select/portal-utils.esm.js +1 -1
  408. package/dist/nile-side-bar/index.cjs.js +1 -1
  409. package/dist/nile-side-bar/index.esm.js +1 -1
  410. package/dist/nile-side-bar/nile-side-bar.cjs.js +1 -1
  411. package/dist/nile-side-bar/nile-side-bar.cjs.js.map +1 -1
  412. package/dist/nile-side-bar/nile-side-bar.esm.js +2 -2
  413. package/dist/nile-side-bar-action/index.cjs.js +1 -1
  414. package/dist/nile-side-bar-action/index.esm.js +1 -1
  415. package/dist/nile-side-bar-action/nile-side-bar-action.cjs.js +1 -1
  416. package/dist/nile-side-bar-action/nile-side-bar-action.cjs.js.map +1 -1
  417. package/dist/nile-side-bar-action/nile-side-bar-action.esm.js +3 -3
  418. package/dist/nile-side-bar-action-menu/index.cjs.js +1 -1
  419. package/dist/nile-side-bar-action-menu/index.esm.js +1 -1
  420. package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.cjs.js +1 -1
  421. package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.cjs.js.map +1 -1
  422. package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.esm.js +2 -2
  423. package/dist/nile-side-bar-action-menu-item/index.cjs.js +1 -1
  424. package/dist/nile-side-bar-action-menu-item/index.esm.js +1 -1
  425. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js +1 -1
  426. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js.map +1 -1
  427. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.esm.js +1 -1
  428. package/dist/nile-side-bar-expand/index.cjs.js +1 -1
  429. package/dist/nile-side-bar-expand/index.esm.js +1 -1
  430. package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js +1 -1
  431. package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js.map +1 -1
  432. package/dist/nile-side-bar-expand/nile-side-bar-expand.esm.js +2 -2
  433. package/dist/nile-side-bar-footer/index.cjs.js +1 -1
  434. package/dist/nile-side-bar-footer/index.esm.js +1 -1
  435. package/dist/nile-side-bar-footer/nile-side-bar-footer.cjs.js +1 -1
  436. package/dist/nile-side-bar-footer/nile-side-bar-footer.cjs.js.map +1 -1
  437. package/dist/nile-side-bar-footer/nile-side-bar-footer.esm.js +2 -2
  438. package/dist/nile-side-bar-footer-item/index.cjs.js +1 -1
  439. package/dist/nile-side-bar-footer-item/index.esm.js +1 -1
  440. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js +1 -1
  441. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js.map +1 -1
  442. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.esm.js +1 -1
  443. package/dist/nile-side-bar-footer-text/index.cjs.js +1 -1
  444. package/dist/nile-side-bar-footer-text/index.esm.js +1 -1
  445. package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.cjs.js +1 -1
  446. package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.cjs.js.map +1 -1
  447. package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.esm.js +3 -3
  448. package/dist/nile-side-bar-group/index.cjs.js +1 -1
  449. package/dist/nile-side-bar-group/index.esm.js +1 -1
  450. package/dist/nile-side-bar-group/nile-side-bar-group.cjs.js +1 -1
  451. package/dist/nile-side-bar-group/nile-side-bar-group.cjs.js.map +1 -1
  452. package/dist/nile-side-bar-group/nile-side-bar-group.esm.js +2 -2
  453. package/dist/nile-side-bar-group-item/index.cjs.js +1 -1
  454. package/dist/nile-side-bar-group-item/index.esm.js +1 -1
  455. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.cjs.js +1 -1
  456. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.cjs.js.map +1 -1
  457. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.esm.js +2 -2
  458. package/dist/nile-side-bar-group-item-icon/index.cjs.js +1 -1
  459. package/dist/nile-side-bar-group-item-icon/index.esm.js +1 -1
  460. package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.cjs.js +1 -1
  461. package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.cjs.js.map +1 -1
  462. package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.esm.js +2 -2
  463. package/dist/nile-side-bar-group-item-text/index.cjs.js +1 -1
  464. package/dist/nile-side-bar-group-item-text/index.esm.js +1 -1
  465. package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.cjs.js +1 -1
  466. package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.cjs.js.map +1 -1
  467. package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.esm.js +1 -1
  468. package/dist/nile-side-bar-header/index.cjs.js +1 -1
  469. package/dist/nile-side-bar-header/index.esm.js +1 -1
  470. package/dist/nile-side-bar-header/nile-side-bar-header.cjs.js +1 -1
  471. package/dist/nile-side-bar-header/nile-side-bar-header.cjs.js.map +1 -1
  472. package/dist/nile-side-bar-header/nile-side-bar-header.esm.js +2 -2
  473. package/dist/nile-side-bar-logo/index.cjs.js +1 -1
  474. package/dist/nile-side-bar-logo/index.esm.js +1 -1
  475. package/dist/nile-side-bar-logo/nile-side-bar-logo.cjs.js +1 -1
  476. package/dist/nile-side-bar-logo/nile-side-bar-logo.cjs.js.map +1 -1
  477. package/dist/nile-side-bar-logo/nile-side-bar-logo.esm.js +2 -2
  478. package/dist/nile-side-bar-panel/index.cjs.js +1 -1
  479. package/dist/nile-side-bar-panel/index.esm.js +1 -1
  480. package/dist/nile-side-bar-panel/nile-side-bar-panel.cjs.js +1 -1
  481. package/dist/nile-side-bar-panel/nile-side-bar-panel.cjs.js.map +1 -1
  482. package/dist/nile-side-bar-panel/nile-side-bar-panel.esm.js +2 -2
  483. package/dist/nile-skeleton-loader/index.cjs.js +1 -1
  484. package/dist/nile-skeleton-loader/index.esm.js +1 -1
  485. package/dist/nile-skeleton-loader/nile-skeleton-loader.cjs.js +1 -1
  486. package/dist/nile-skeleton-loader/nile-skeleton-loader.cjs.js.map +1 -1
  487. package/dist/nile-skeleton-loader/nile-skeleton-loader.esm.js +2 -2
  488. package/dist/nile-slide-toggle/index.cjs.js +1 -1
  489. package/dist/nile-slide-toggle/index.esm.js +1 -1
  490. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js +1 -1
  491. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js.map +1 -1
  492. package/dist/nile-slide-toggle/nile-slide-toggle.esm.js +2 -2
  493. package/dist/nile-slider/index.cjs.js +1 -1
  494. package/dist/nile-slider/index.esm.js +1 -1
  495. package/dist/nile-slider/nile-slider.cjs.js +1 -1
  496. package/dist/nile-slider/nile-slider.cjs.js.map +1 -1
  497. package/dist/nile-slider/nile-slider.esm.js +3 -3
  498. package/dist/nile-split-panel/index.cjs.js +1 -1
  499. package/dist/nile-split-panel/index.esm.js +1 -1
  500. package/dist/nile-split-panel/nile-split-panel.cjs.js +1 -1
  501. package/dist/nile-split-panel/nile-split-panel.cjs.js.map +1 -1
  502. package/dist/nile-split-panel/nile-split-panel.esm.js +2 -2
  503. package/dist/nile-stepper/index.cjs.js +1 -1
  504. package/dist/nile-stepper/index.esm.js +1 -1
  505. package/dist/nile-stepper/nile-stepper.cjs.js +1 -1
  506. package/dist/nile-stepper/nile-stepper.cjs.js.map +1 -1
  507. package/dist/nile-stepper/nile-stepper.esm.js +3 -3
  508. package/dist/nile-stepper-item/index.cjs.js +1 -1
  509. package/dist/nile-stepper-item/index.esm.js +1 -1
  510. package/dist/nile-stepper-item/nile-stepper-item.cjs.js +1 -1
  511. package/dist/nile-stepper-item/nile-stepper-item.cjs.js.map +1 -1
  512. package/dist/nile-stepper-item/nile-stepper-item.esm.js +1 -1
  513. package/dist/nile-switcher/index.cjs.js +1 -1
  514. package/dist/nile-switcher/index.esm.js +1 -1
  515. package/dist/nile-switcher/nile-switcher.cjs.js +1 -1
  516. package/dist/nile-switcher/nile-switcher.cjs.js.map +1 -1
  517. package/dist/nile-switcher/nile-switcher.esm.js +23 -23
  518. package/dist/nile-tab/index.cjs.js +1 -1
  519. package/dist/nile-tab/index.esm.js +1 -1
  520. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  521. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  522. package/dist/nile-tab/nile-tab.esm.js +1 -1
  523. package/dist/nile-tab-group/index.cjs.js +1 -1
  524. package/dist/nile-tab-group/index.esm.js +1 -1
  525. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  526. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  527. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  528. package/dist/nile-tab-panel/index.cjs.js +1 -1
  529. package/dist/nile-tab-panel/index.esm.js +1 -1
  530. package/dist/nile-tab-panel/nile-tab-panel.cjs.js +1 -1
  531. package/dist/nile-tab-panel/nile-tab-panel.cjs.js.map +1 -1
  532. package/dist/nile-tab-panel/nile-tab-panel.esm.js +3 -3
  533. package/dist/nile-table/index.cjs.js +1 -1
  534. package/dist/nile-table/index.esm.js +1 -1
  535. package/dist/nile-table/nile-table.cjs.js +1 -1
  536. package/dist/nile-table/nile-table.cjs.js.map +1 -1
  537. package/dist/nile-table/nile-table.esm.js +1 -1
  538. package/dist/nile-table-body/index.cjs.js +1 -1
  539. package/dist/nile-table-body/index.esm.js +1 -1
  540. package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
  541. package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
  542. package/dist/nile-table-body/nile-table-body.esm.js +3 -3
  543. package/dist/nile-table-cell-item/index.cjs.js +1 -1
  544. package/dist/nile-table-cell-item/index.esm.js +1 -1
  545. package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js +1 -1
  546. package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js.map +1 -1
  547. package/dist/nile-table-cell-item/nile-table-cell-item.esm.js +5 -5
  548. package/dist/nile-table-header-item/index.cjs.js +1 -1
  549. package/dist/nile-table-header-item/index.esm.js +1 -1
  550. package/dist/nile-table-header-item/nile-table-header-item.cjs.js +1 -1
  551. package/dist/nile-table-header-item/nile-table-header-item.cjs.js.map +1 -1
  552. package/dist/nile-table-header-item/nile-table-header-item.esm.js +1 -1
  553. package/dist/nile-table-row/index.cjs.js +1 -1
  554. package/dist/nile-table-row/index.esm.js +1 -1
  555. package/dist/nile-table-row/nile-table-row.cjs.js +1 -1
  556. package/dist/nile-table-row/nile-table-row.cjs.js.map +1 -1
  557. package/dist/nile-table-row/nile-table-row.esm.js +2 -2
  558. package/dist/nile-tag/index.cjs.js +1 -1
  559. package/dist/nile-tag/index.esm.js +1 -1
  560. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  561. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  562. package/dist/nile-tag/nile-tag.esm.js +1 -1
  563. package/dist/nile-textarea/index.cjs.js +1 -1
  564. package/dist/nile-textarea/index.esm.js +1 -1
  565. package/dist/nile-textarea/nile-textarea.cjs.js +1 -1
  566. package/dist/nile-textarea/nile-textarea.cjs.js.map +1 -1
  567. package/dist/nile-textarea/nile-textarea.esm.js +2 -2
  568. package/dist/nile-title/index.cjs.js +1 -1
  569. package/dist/nile-title/index.esm.js +1 -1
  570. package/dist/nile-title/nile-title.cjs.js +1 -1
  571. package/dist/nile-title/nile-title.cjs.js.map +1 -1
  572. package/dist/nile-title/nile-title.esm.js +1 -1
  573. package/dist/nile-toast/index.cjs.js +1 -1
  574. package/dist/nile-toast/index.esm.js +1 -1
  575. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  576. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  577. package/dist/nile-toast/nile-toast.esm.js +1 -1
  578. package/dist/nile-toolbar/index.cjs.js +1 -1
  579. package/dist/nile-toolbar/index.esm.js +1 -1
  580. package/dist/nile-toolbar/nile-toolbar.cjs.js +1 -1
  581. package/dist/nile-toolbar/nile-toolbar.cjs.js.map +1 -1
  582. package/dist/nile-toolbar/nile-toolbar.esm.js +2 -2
  583. package/dist/nile-tooltip/index.cjs.js +1 -1
  584. package/dist/nile-tooltip/index.esm.js +1 -1
  585. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  586. package/dist/nile-tooltip/nile-tooltip.cjs.js.map +1 -1
  587. package/dist/nile-tooltip/nile-tooltip.esm.js +2 -2
  588. package/dist/nile-tree/index.cjs.js +1 -1
  589. package/dist/nile-tree/index.esm.js +1 -1
  590. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  591. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  592. package/dist/nile-tree/nile-tree.esm.js +1 -1
  593. package/dist/nile-tree-item/index.cjs.js +1 -1
  594. package/dist/nile-tree-item/index.esm.js +1 -1
  595. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  596. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  597. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  598. package/dist/nile-vertical-stepper-item/index.cjs.js +1 -1
  599. package/dist/nile-vertical-stepper-item/index.esm.js +1 -1
  600. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.cjs.js +1 -1
  601. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.cjs.js.map +1 -1
  602. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.esm.js +7 -7
  603. package/dist/nile-virtual-select/index.cjs.js +1 -1
  604. package/dist/nile-virtual-select/index.esm.js +1 -1
  605. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +2 -2
  606. package/dist/nile-virtual-select/nile-virtual-select.esm.js +1 -1
  607. package/dist/src/index.d.ts +1 -0
  608. package/dist/src/index.js +1 -0
  609. package/dist/src/index.js.map +1 -1
  610. package/dist/src/internal/accessibility/a11y.custom-value.enum.d.ts +69 -0
  611. package/dist/src/internal/accessibility/a11y.custom-value.enum.js +71 -0
  612. package/dist/src/internal/accessibility/a11y.custom-value.enum.js.map +1 -0
  613. package/dist/src/internal/accessibility/a11y.property.enum.d.ts +33 -0
  614. package/dist/src/internal/accessibility/a11y.property.enum.js +35 -0
  615. package/dist/src/internal/accessibility/a11y.property.enum.js.map +1 -0
  616. package/dist/src/internal/accessibility/a11y.role.enum.d.ts +50 -0
  617. package/dist/src/internal/accessibility/a11y.role.enum.js +52 -0
  618. package/dist/src/internal/accessibility/a11y.role.enum.js.map +1 -0
  619. package/dist/src/internal/accessibility/a11y.state.enum.d.ts +17 -0
  620. package/dist/src/internal/accessibility/a11y.state.enum.js +19 -0
  621. package/dist/src/internal/accessibility/a11y.state.enum.js.map +1 -0
  622. package/dist/src/internal/accessibility/accessibility.const.d.ts +8 -0
  623. package/dist/src/internal/accessibility/accessibility.const.js +9 -0
  624. package/dist/src/internal/accessibility/accessibility.const.js.map +1 -0
  625. package/dist/src/internal/accessibility/role.enum.d.ts +3 -0
  626. package/dist/src/internal/accessibility/role.enum.js +5 -0
  627. package/dist/src/internal/accessibility/role.enum.js.map +1 -0
  628. package/dist/src/internal/nile-element.d.ts +52 -0
  629. package/dist/src/internal/nile-element.js +45 -0
  630. package/dist/src/internal/nile-element.js.map +1 -1
  631. package/dist/src/nile-avatar/nile-avatar.js +2 -0
  632. package/dist/src/nile-avatar/nile-avatar.js.map +1 -1
  633. package/dist/src/nile-badge/nile-badge.d.ts +1 -0
  634. package/dist/src/nile-badge/nile-badge.js +12 -1
  635. package/dist/src/nile-badge/nile-badge.js.map +1 -1
  636. package/dist/src/nile-button/nile-button.css.js +5 -0
  637. package/dist/src/nile-button/nile-button.css.js.map +1 -1
  638. package/dist/src/nile-checkbox/nile-checkbox.css.js +4 -0
  639. package/dist/src/nile-checkbox/nile-checkbox.css.js.map +1 -1
  640. package/dist/src/nile-checkbox/nile-checkbox.d.ts +2 -0
  641. package/dist/src/nile-checkbox/nile-checkbox.js +5 -0
  642. package/dist/src/nile-checkbox/nile-checkbox.js.map +1 -1
  643. package/dist/src/nile-checkbox-group/index.d.ts +1 -0
  644. package/dist/src/nile-checkbox-group/index.js +2 -0
  645. package/dist/src/nile-checkbox-group/index.js.map +1 -0
  646. package/dist/src/nile-checkbox-group/nile-checkbox-group.css.d.ts +1 -0
  647. package/dist/src/nile-checkbox-group/nile-checkbox-group.css.js +70 -0
  648. package/dist/src/nile-checkbox-group/nile-checkbox-group.css.js.map +1 -0
  649. package/dist/src/nile-checkbox-group/nile-checkbox-group.d.ts +84 -0
  650. package/dist/src/nile-checkbox-group/nile-checkbox-group.js +355 -0
  651. package/dist/src/nile-checkbox-group/nile-checkbox-group.js.map +1 -0
  652. package/dist/src/nile-checkbox-group/nile-checkbox-group.test.d.ts +2 -0
  653. package/dist/src/nile-checkbox-group/nile-checkbox-group.test.js +671 -0
  654. package/dist/src/nile-checkbox-group/nile-checkbox-group.test.js.map +1 -0
  655. package/dist/src/nile-code-editor/nile-code-editor.d.ts +1 -1
  656. package/dist/src/nile-code-editor/nile-code-editor.js +1 -7
  657. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  658. package/dist/src/nile-icon/icons/svg/arrow-left-small.d.ts +5 -0
  659. package/dist/src/nile-icon/icons/svg/arrow-left-small.js +5 -0
  660. package/dist/src/nile-icon/icons/svg/arrow-left-small.js.map +1 -0
  661. package/dist/src/nile-icon/icons/svg/arrow-right-small.d.ts +5 -0
  662. package/dist/src/nile-icon/icons/svg/arrow-right-small.js +5 -0
  663. package/dist/src/nile-icon/icons/svg/arrow-right-small.js.map +1 -0
  664. package/dist/src/nile-icon/icons/svg/arrow_left_small.d.ts +5 -0
  665. package/dist/src/nile-icon/icons/svg/arrow_left_small.js +5 -0
  666. package/dist/src/nile-icon/icons/svg/arrow_left_small.js.map +1 -0
  667. package/dist/src/nile-icon/icons/svg/arrow_right_small.d.ts +5 -0
  668. package/dist/src/nile-icon/icons/svg/arrow_right_small.js +5 -0
  669. package/dist/src/nile-icon/icons/svg/arrow_right_small.js.map +1 -0
  670. package/dist/src/nile-icon/icons/svg/index.d.ts +4 -0
  671. package/dist/src/nile-icon/icons/svg/index.js +4 -0
  672. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  673. package/dist/src/nile-link/nile-link.d.ts +2 -1
  674. package/dist/src/nile-link/nile-link.js +18 -1
  675. package/dist/src/nile-link/nile-link.js.map +1 -1
  676. package/dist/src/nile-menu-item/nile-menu-item.css.js +11 -2
  677. package/dist/src/nile-menu-item/nile-menu-item.css.js.map +1 -1
  678. package/dist/src/nile-menu-item/nile-menu-item.d.ts +2 -0
  679. package/dist/src/nile-menu-item/nile-menu-item.js +7 -1
  680. package/dist/src/nile-menu-item/nile-menu-item.js.map +1 -1
  681. package/dist/src/nile-otp-input/nile-otp-input.test.js +7 -7
  682. package/dist/src/nile-otp-input/nile-otp-input.test.js.map +1 -1
  683. package/dist/src/nile-pagination/nile-pagination.css.js +13 -0
  684. package/dist/src/nile-pagination/nile-pagination.css.js.map +1 -1
  685. package/dist/src/nile-radio/nile-radio.css.js +4 -0
  686. package/dist/src/nile-radio/nile-radio.css.js.map +1 -1
  687. package/dist/src/nile-radio-group/nile-radio-group.js +7 -0
  688. package/dist/src/nile-radio-group/nile-radio-group.js.map +1 -1
  689. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +8 -6
  690. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
  691. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +2 -0
  692. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +43 -0
  693. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -1
  694. package/dist/src/nile-rich-text-editor/nile-rte-link.test.js +6 -5
  695. package/dist/src/nile-rich-text-editor/nile-rte-link.test.js.map +1 -1
  696. package/dist/src/nile-rich-text-editor/utils/list-utils.js +0 -1
  697. package/dist/src/nile-rich-text-editor/utils/list-utils.js.map +1 -1
  698. package/dist/src/nile-select/nile-select.css.js +21 -2
  699. package/dist/src/nile-select/nile-select.css.js.map +1 -1
  700. package/dist/src/nile-select/nile-select.d.ts +4 -0
  701. package/dist/src/nile-select/nile-select.js +42 -24
  702. package/dist/src/nile-select/nile-select.js.map +1 -1
  703. package/dist/src/nile-select/portal-utils.d.ts +2 -0
  704. package/dist/src/nile-select/portal-utils.js +36 -3
  705. package/dist/src/nile-select/portal-utils.js.map +1 -1
  706. package/dist/src/version.js +2 -2
  707. package/dist/src/version.js.map +1 -1
  708. package/dist/tsconfig.tsbuildinfo +1 -1
  709. package/package.json +3 -2
  710. package/src/index.ts +1 -0
  711. package/src/internal/accessibility/a11y.custom-value.enum.ts +69 -0
  712. package/src/internal/accessibility/a11y.property.enum.ts +33 -0
  713. package/src/internal/accessibility/a11y.role.enum.ts +50 -0
  714. package/src/internal/accessibility/a11y.state.enum.ts +17 -0
  715. package/src/internal/accessibility/accessibility.const.ts +9 -0
  716. package/src/internal/accessibility/role.enum.ts +3 -0
  717. package/src/internal/nile-element.ts +99 -0
  718. package/src/nile-avatar/nile-avatar.ts +2 -0
  719. package/src/nile-badge/nile-badge.ts +13 -1
  720. package/src/nile-button/nile-button.css.ts +5 -0
  721. package/src/nile-checkbox/nile-checkbox.css.ts +4 -0
  722. package/src/nile-checkbox/nile-checkbox.ts +3 -0
  723. package/src/nile-checkbox-group/index.ts +1 -0
  724. package/src/nile-checkbox-group/nile-checkbox-group.css.ts +70 -0
  725. package/src/nile-checkbox-group/nile-checkbox-group.test.ts +769 -0
  726. package/src/nile-checkbox-group/nile-checkbox-group.ts +351 -0
  727. package/src/nile-code-editor/nile-code-editor.ts +1 -7
  728. package/src/nile-icon/icons/svg/arrow-left-small.ts +5 -0
  729. package/src/nile-icon/icons/svg/arrow-right-small.ts +5 -0
  730. package/src/nile-icon/icons/svg/arrow_left_small.ts +5 -0
  731. package/src/nile-icon/icons/svg/arrow_right_small.ts +5 -0
  732. package/src/nile-icon/icons/svg/index.ts +4 -0
  733. package/src/nile-link/nile-link.ts +21 -2
  734. package/src/nile-menu-item/nile-menu-item.css.ts +11 -2
  735. package/src/nile-menu-item/nile-menu-item.ts +5 -1
  736. package/src/nile-otp-input/nile-otp-input.test.ts +7 -7
  737. package/src/nile-pagination/nile-pagination.css.ts +13 -0
  738. package/src/nile-radio/nile-radio.css.ts +4 -0
  739. package/src/nile-radio-group/nile-radio-group.ts +7 -0
  740. package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +8 -6
  741. package/src/nile-rich-text-editor/nile-rich-text-editor.ts +43 -0
  742. package/src/nile-rich-text-editor/nile-rte-link.test.ts +6 -5
  743. package/src/nile-rich-text-editor/utils/list-utils.ts +1 -2
  744. package/src/nile-select/nile-select.css.ts +21 -2
  745. package/src/nile-select/nile-select.ts +44 -24
  746. package/src/nile-select/portal-utils.ts +46 -3
  747. package/vscode-html-custom-data.json +117 -20
@@ -63,20 +63,20 @@ describe('NileOtpInput', () => {
63
63
  expect(label.textContent).to.contain('Verification code');
64
64
  });
65
65
  it('renders help text when provided', async () => {
66
- const el = await fixture(html `<nile-otp-input help-text="Enter your code"></nile-otp-input>`);
66
+ const el = await fixture(html `<nile-otp-input .helpText=${'Enter your code'}></nile-otp-input>`);
67
67
  const helpText = el.shadowRoot.querySelector('.form-control__help-text');
68
68
  expect(helpText).to.exist;
69
69
  expect(helpText.textContent).to.contain('Enter your code');
70
70
  });
71
71
  it('renders error message when provided', async () => {
72
- const el = await fixture(html `<nile-otp-input error-message="Invalid code"></nile-otp-input>`);
72
+ const el = await fixture(html `<nile-otp-input .errorMessage=${'Invalid code'}></nile-otp-input>`);
73
73
  const errorMsg = el.shadowRoot.querySelector('.form-control__error-message');
74
74
  expect(errorMsg).to.exist;
75
75
  expect(errorMsg.textContent).to.contain('Invalid code');
76
76
  });
77
77
  it('renders separators with separator-every', async () => {
78
78
  const el = await fixture(html `
79
- <nile-otp-input separator="-" separator-every="3"></nile-otp-input>
79
+ <nile-otp-input separator="-" .separatorEvery=${3}></nile-otp-input>
80
80
  `);
81
81
  const separators = el.shadowRoot.querySelectorAll('.otp__separator');
82
82
  expect(separators.length).to.equal(1);
@@ -207,7 +207,7 @@ describe('NileOtpInput', () => {
207
207
  cells[1].focus();
208
208
  await pressKey(el, 1, 'Delete');
209
209
  await aTimeout(0);
210
- expect(cells[1].value).to.equal('');
210
+ expect(el.value).to.equal('13');
211
211
  expect(el.shadowRoot.activeElement).to.equal(cells[1]);
212
212
  });
213
213
  it('ArrowLeft moves focus back', async () => {
@@ -474,10 +474,10 @@ describe('NileOtpInput', () => {
474
474
  const el = await fixture(html `
475
475
  <nile-otp-input
476
476
  label="Test"
477
- help-text="Help"
478
- error-message="Error"
477
+ .helpText=${'Help'}
478
+ .errorMessage=${'Error'}
479
479
  separator="-"
480
- separator-every="3"
480
+ .separatorEvery=${3}
481
481
  ></nile-otp-input>
482
482
  `);
483
483
  expect(el.shadowRoot.querySelector('[part="form-control"]')).to.exist;
@@ -1 +1 @@
1
- {"version":3,"file":"nile-otp-input.test.js","sourceRoot":"","sources":["../../../src/nile-otp-input/nile-otp-input.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { aTimeout, expect, fixture, html } from '@open-wc/testing';\nimport './nile-otp-input';\nimport type { NileOtpInput } from './nile-otp-input';\n\nconst getCells = (el: NileOtpInput) =>\n Array.from(el.shadowRoot!.querySelectorAll<HTMLInputElement>('.otp__cell'));\n\nconst inputCell = async (el: NileOtpInput, index: number, value: string) => {\n const cell = getCells(el)[index];\n cell.value = value;\n cell.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n await el.updateComplete;\n return cell;\n};\n\nconst pressKey = async (\n el: NileOtpInput,\n index: number,\n key: string,\n opts: Partial<KeyboardEventInit> = {}\n) => {\n const cell = getCells(el)[index];\n cell.dispatchEvent(\n new KeyboardEvent('keydown', {\n key,\n bubbles: true,\n composed: true,\n cancelable: true,\n ...opts,\n })\n );\n await el.updateComplete;\n return cell;\n};\n\nconst pasteInto = async (el: NileOtpInput, index: number, text: string) => {\n const cell = getCells(el)[index];\n const event = new Event('paste', {\n bubbles: true,\n composed: true,\n cancelable: true,\n }) as ClipboardEvent;\n Object.defineProperty(event, 'clipboardData', {\n value: { getData: () => text },\n });\n cell.dispatchEvent(event);\n await el.updateComplete;\n};\n\ndescribe('NileOtpInput', () => {\n // ---- Rendering ----\n\n it('renders default 6 cells', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n expect(el).to.exist;\n expect(getCells(el).length).to.equal(6);\n });\n\n it('normalizes incoming value (strips non-numeric in numeric mode)', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12A34B\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.value).to.equal('1234');\n expect(getCells(el).map(c => c.value)).to.deep.equal([\n '1', '2', '3', '4', '', '',\n ]);\n });\n\n it('supports configurable length and clamps below 4', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input length=\"8\"></nile-otp-input>`\n );\n expect(getCells(el).length).to.equal(8);\n\n el.length = 2;\n await el.updateComplete;\n expect(el.length).to.equal(4);\n expect(getCells(el).length).to.equal(4);\n });\n\n it('renders label when provided', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input label=\"Verification code\"></nile-otp-input>`\n );\n const label = el.shadowRoot!.querySelector('.form-control__label');\n expect(label).to.exist;\n expect(label!.textContent).to.contain('Verification code');\n });\n\n it('renders help text when provided', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input help-text=\"Enter your code\"></nile-otp-input>`\n );\n const helpText = el.shadowRoot!.querySelector('.form-control__help-text');\n expect(helpText).to.exist;\n expect(helpText!.textContent).to.contain('Enter your code');\n });\n\n it('renders error message when provided', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input error-message=\"Invalid code\"></nile-otp-input>`\n );\n const errorMsg = el.shadowRoot!.querySelector('.form-control__error-message');\n expect(errorMsg).to.exist;\n expect(errorMsg!.textContent).to.contain('Invalid code');\n });\n\n it('renders separators with separator-every', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input separator=\"-\" separator-every=\"3\"></nile-otp-input>\n `);\n const separators = el.shadowRoot!.querySelectorAll('.otp__separator');\n expect(separators.length).to.equal(1);\n expect(separators[0].textContent!.trim()).to.equal('-');\n });\n\n it('renders separators from separator-positions', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input\n length=\"8\"\n separator=\"/\"\n separator-positions=\"1, 3, 5\"\n ></nile-otp-input>\n `);\n const separators = el.shadowRoot!.querySelectorAll('.otp__separator');\n expect(separators.length).to.equal(3);\n separators.forEach(s =>\n expect(s.textContent!.trim()).to.equal('/')\n );\n });\n\n // ---- Input behavior ----\n\n it('auto-advances focus to next empty cell after typing', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n const cells = getCells(el);\n\n cells[0].focus();\n await inputCell(el, 0, '1');\n await aTimeout(0);\n\n expect(el.value).to.equal('1');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('typing a character on a filled cell replaces it and advances', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await el.updateComplete;\n await pressKey(el, 2, '9');\n await aTimeout(0);\n\n expect(el.value[2]).to.equal('9');\n });\n\n it('blocks invalid characters in numeric mode', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n const first = getCells(el)[0];\n first.focus();\n\n const event = new KeyboardEvent('keydown', {\n key: 'A',\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n first.dispatchEvent(event);\n\n expect(event.defaultPrevented).to.be.true;\n });\n\n it('allows alphanumeric values when alphanumeric attribute is set', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input alphanumeric></nile-otp-input>`\n );\n const cells = getCells(el);\n cells[0].focus();\n await el.updateComplete;\n\n await pressKey(el, 0, 'A');\n expect(el.value).to.equal('A');\n });\n\n it('alphanumeric overrides numeric-only', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input numeric-only alphanumeric></nile-otp-input>`\n );\n const cells = getCells(el);\n cells[0].focus();\n await el.updateComplete;\n\n await pressKey(el, 0, 'B');\n expect(el.value).to.equal('B');\n });\n\n it('supports controlled value updates', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n\n el.value = '2468';\n await el.updateComplete;\n\n expect(getCells(el).map(c => c.value)).to.deep.equal([\n '2', '4', '6', '8', '', '',\n ]);\n });\n\n // ---- Focus management (ShadCN style) ----\n\n it('focus() targets the first empty cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n el.focus();\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n });\n\n it('clicking an empty cell beyond the cursor redirects to first empty', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[5].focus();\n await aTimeout(0);\n await el.updateComplete;\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n });\n\n it('clicking a filled cell focuses it directly', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await aTimeout(0);\n await el.updateComplete;\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n // ---- Keyboard navigation ----\n\n it('Backspace clears current cell and retreats', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'Backspace');\n await aTimeout(0);\n\n expect(el.value).to.equal('12');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('Backspace on empty cell clears previous and moves there', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'Backspace');\n await aTimeout(0);\n\n expect(el.value).to.equal('1');\n expect(cells[1].value).to.equal('');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('Delete clears current cell without moving', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await pressKey(el, 1, 'Delete');\n await aTimeout(0);\n\n expect(cells[1].value).to.equal('');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('ArrowLeft moves focus back', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'ArrowLeft');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('ArrowRight cannot move past the first empty cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await pressKey(el, 1, 'ArrowRight');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n\n await pressKey(el, 2, 'ArrowRight');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n });\n\n it('Home goes to first cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'Home');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[0]);\n });\n\n it('End goes to first empty cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[0].focus();\n await pressKey(el, 0, 'End');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[3]);\n });\n\n it('Space is blocked', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n const cells = getCells(el);\n cells[0].focus();\n\n const event = new KeyboardEvent('keydown', {\n key: ' ',\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n cells[0].dispatchEvent(event);\n\n expect(event.defaultPrevented).to.be.true;\n });\n\n // ---- Paste ----\n\n it('paste fills from position 0 and focuses next empty', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n\n await pasteInto(el, 3, '987654');\n\n expect(el.value).to.equal('987654');\n expect(getCells(el).map(c => c.value).join('')).to.equal('987654');\n });\n\n it('paste emits nile-paste event', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n let pasteValue = '';\n\n el.addEventListener('nile-paste', (e: Event) => {\n pasteValue = (e as CustomEvent).detail.value;\n });\n\n await pasteInto(el, 0, '123456');\n\n expect(pasteValue).to.equal('123456');\n });\n\n it('paste is ignored when disabled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input disabled></nile-otp-input>`\n );\n\n await pasteInto(el, 0, '123456');\n\n expect(el.value).to.equal('');\n });\n\n // ---- Visual states ----\n\n it('applies warning class', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input warning></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--warning')).to.be.true;\n });\n\n it('applies error class', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input error></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--error')).to.be.true;\n });\n\n it('applies success class', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input success></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--success')).to.be.true;\n });\n\n it('applies disabled class and blocks input', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input disabled></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--disabled')).to.be.true;\n\n const first = getCells(el)[0];\n first.value = '9';\n first.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n await el.updateComplete;\n\n expect(el.value).to.equal('');\n expect(first.value).to.equal('');\n });\n\n it('applies readonly class and blocks input', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input readonly value=\"123456\"></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--readonly')).to.be.true;\n\n const first = getCells(el)[0];\n first.value = '9';\n first.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n await el.updateComplete;\n\n expect(el.value).to.equal('123456');\n });\n\n // ---- Masked ----\n\n it('masked cells use type=\"password\" for filled non-active cells', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input masked value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n expect(cells[0].type).to.equal('password');\n expect(cells[1].type).to.equal('password');\n expect(cells[2].type).to.equal('text');\n });\n\n it('active masked cell shows text while typing', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input masked value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await el.updateComplete;\n\n expect(cells[1].type).to.equal('text');\n expect(cells[0].type).to.equal('password');\n });\n\n it('unmasked cells are always type=\"text\"', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells.forEach(c => expect(c.type).to.equal('text'));\n });\n\n // ---- Events ----\n\n it('emits nile-input and nile-change with value detail', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n let inputDetail: any;\n let changeDetail: any;\n\n el.addEventListener('nile-input', (e: Event) => {\n inputDetail = (e as CustomEvent).detail;\n });\n el.addEventListener('nile-change', (e: Event) => {\n changeDetail = (e as CustomEvent).detail;\n });\n\n getCells(el)[0].focus();\n await el.updateComplete;\n await pressKey(el, 0, '7');\n\n expect(inputDetail.value).to.equal('7');\n expect(inputDetail.complete).to.be.false;\n expect(changeDetail.value).to.equal('7');\n });\n\n it('emits nile-complete when all cells are filled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input length=\"4\" value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n let completedValue = '';\n\n el.addEventListener('nile-complete', (e: Event) => {\n completedValue = (e as CustomEvent).detail.value;\n });\n\n const cells = getCells(el);\n cells[3].focus();\n await el.updateComplete;\n await pressKey(el, 3, '4');\n\n expect(completedValue).to.equal('1234');\n });\n\n it('emits nile-focus when entering and nile-blur when leaving', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n let focused = false;\n let blurred = false;\n\n el.addEventListener('nile-focus', () => { focused = true; });\n el.addEventListener('nile-blur', () => { blurred = true; });\n\n getCells(el)[0].focus();\n await el.updateComplete;\n expect(focused).to.be.true;\n\n getCells(el)[0].blur();\n await aTimeout(50);\n expect(blurred).to.be.true;\n });\n\n // ---- Public methods ----\n\n it('clear() empties all cells', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n\n el.clear();\n await el.updateComplete;\n\n expect(el.value).to.equal('');\n getCells(el).forEach(c => expect(c.value).to.equal(''));\n });\n\n it('clear() is blocked when disabled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input disabled value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n\n el.clear();\n await el.updateComplete;\n\n expect(el.value).to.equal('123456');\n });\n\n it('complete getter returns true when all cells filled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.complete).to.be.true;\n });\n\n it('complete getter returns false when cells are empty', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.complete).to.be.false;\n });\n\n // ---- Validation ----\n\n it('validates required and exact length using checkValidity', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input required></nile-otp-input>`\n );\n el.value = '12';\n await el.updateComplete;\n expect(el.checkValidity()).to.be.false;\n\n el.value = '123456';\n await el.updateComplete;\n expect(el.checkValidity()).to.be.true;\n });\n\n it('supports custom validity messaging', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n el.setCustomValidity('Invalid OTP');\n await el.updateComplete;\n\n expect(el.checkValidity()).to.be.false;\n expect(el.validationMessage).to.equal('Invalid OTP');\n\n el.setCustomValidity('');\n await el.updateComplete;\n expect(el.checkValidity()).to.be.true;\n });\n\n it('validates against custom pattern', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input pattern=\"[0-9]{6}\" value=\"1234\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.checkValidity()).to.be.false;\n\n el.value = '123456';\n await el.updateComplete;\n expect(el.checkValidity()).to.be.true;\n });\n\n // ---- Form integration ----\n\n it('participates in form data submission', async () => {\n const form = await fixture<HTMLFormElement>(html`\n <form id=\"otp-form\">\n <nile-otp-input name=\"otp\" value=\"321654\"></nile-otp-input>\n </form>\n `);\n const data = new FormData(form);\n\n expect(data.get('otp')).to.equal('321654');\n });\n\n // ---- Placeholder ----\n\n it('shows no placeholder by default', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input value=\"12\"></nile-otp-input>\n `);\n\n const placeholders = getCells(el).map(c => c.getAttribute('placeholder'));\n expect(placeholders).to.deep.equal([null, null, null, null, null, null]);\n });\n\n it('moves custom placeholder to active cell on focus', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input placeholder=\"0\"></nile-otp-input>`\n );\n const cells = getCells(el);\n\n cells[0].focus();\n await el.updateComplete;\n\n const placeholders = getCells(el).map(c => c.getAttribute('placeholder'));\n expect(placeholders[0]).to.equal('0');\n expect(placeholders.slice(1).every(p => p === null)).to.be.true;\n });\n\n // ---- CSS parts ----\n\n it('exposes all required CSS parts', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input\n label=\"Test\"\n help-text=\"Help\"\n error-message=\"Error\"\n separator=\"-\"\n separator-every=\"3\"\n ></nile-otp-input>\n `);\n\n expect(el.shadowRoot!.querySelector('[part=\"form-control\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-label\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-input\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"base\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"cell\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"separator\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-help-text\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-error-message\"]')).to.exist;\n });\n});\n"]}
1
+ {"version":3,"file":"nile-otp-input.test.js","sourceRoot":"","sources":["../../../src/nile-otp-input/nile-otp-input.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { aTimeout, expect, fixture, html } from '@open-wc/testing';\nimport './nile-otp-input';\nimport type { NileOtpInput } from './nile-otp-input';\n\nconst getCells = (el: NileOtpInput) =>\n Array.from(el.shadowRoot!.querySelectorAll<HTMLInputElement>('.otp__cell'));\n\nconst inputCell = async (el: NileOtpInput, index: number, value: string) => {\n const cell = getCells(el)[index];\n cell.value = value;\n cell.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n await el.updateComplete;\n return cell;\n};\n\nconst pressKey = async (\n el: NileOtpInput,\n index: number,\n key: string,\n opts: Partial<KeyboardEventInit> = {}\n) => {\n const cell = getCells(el)[index];\n cell.dispatchEvent(\n new KeyboardEvent('keydown', {\n key,\n bubbles: true,\n composed: true,\n cancelable: true,\n ...opts,\n })\n );\n await el.updateComplete;\n return cell;\n};\n\nconst pasteInto = async (el: NileOtpInput, index: number, text: string) => {\n const cell = getCells(el)[index];\n const event = new Event('paste', {\n bubbles: true,\n composed: true,\n cancelable: true,\n }) as ClipboardEvent;\n Object.defineProperty(event, 'clipboardData', {\n value: { getData: () => text },\n });\n cell.dispatchEvent(event);\n await el.updateComplete;\n};\n\ndescribe('NileOtpInput', () => {\n // ---- Rendering ----\n\n it('renders default 6 cells', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n expect(el).to.exist;\n expect(getCells(el).length).to.equal(6);\n });\n\n it('normalizes incoming value (strips non-numeric in numeric mode)', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12A34B\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.value).to.equal('1234');\n expect(getCells(el).map(c => c.value)).to.deep.equal([\n '1', '2', '3', '4', '', '',\n ]);\n });\n\n it('supports configurable length and clamps below 4', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input length=\"8\"></nile-otp-input>`\n );\n expect(getCells(el).length).to.equal(8);\n\n el.length = 2;\n await el.updateComplete;\n expect(el.length).to.equal(4);\n expect(getCells(el).length).to.equal(4);\n });\n\n it('renders label when provided', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input label=\"Verification code\"></nile-otp-input>`\n );\n const label = el.shadowRoot!.querySelector('.form-control__label');\n expect(label).to.exist;\n expect(label!.textContent).to.contain('Verification code');\n });\n\n it('renders help text when provided', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input .helpText=${'Enter your code'}></nile-otp-input>`\n );\n const helpText = el.shadowRoot!.querySelector('.form-control__help-text');\n expect(helpText).to.exist;\n expect(helpText!.textContent).to.contain('Enter your code');\n });\n\n it('renders error message when provided', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input .errorMessage=${'Invalid code'}></nile-otp-input>`\n );\n const errorMsg = el.shadowRoot!.querySelector('.form-control__error-message');\n expect(errorMsg).to.exist;\n expect(errorMsg!.textContent).to.contain('Invalid code');\n });\n\n it('renders separators with separator-every', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input separator=\"-\" .separatorEvery=${3}></nile-otp-input>\n `);\n const separators = el.shadowRoot!.querySelectorAll('.otp__separator');\n expect(separators.length).to.equal(1);\n expect(separators[0].textContent!.trim()).to.equal('-');\n });\n\n it('renders separators from separator-positions', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input\n length=\"8\"\n separator=\"/\"\n separator-positions=\"1, 3, 5\"\n ></nile-otp-input>\n `);\n const separators = el.shadowRoot!.querySelectorAll('.otp__separator');\n expect(separators.length).to.equal(3);\n separators.forEach(s =>\n expect(s.textContent!.trim()).to.equal('/')\n );\n });\n\n // ---- Input behavior ----\n\n it('auto-advances focus to next empty cell after typing', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n const cells = getCells(el);\n\n cells[0].focus();\n await inputCell(el, 0, '1');\n await aTimeout(0);\n\n expect(el.value).to.equal('1');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('typing a character on a filled cell replaces it and advances', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await el.updateComplete;\n await pressKey(el, 2, '9');\n await aTimeout(0);\n\n expect(el.value[2]).to.equal('9');\n });\n\n it('blocks invalid characters in numeric mode', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n const first = getCells(el)[0];\n first.focus();\n\n const event = new KeyboardEvent('keydown', {\n key: 'A',\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n first.dispatchEvent(event);\n\n expect(event.defaultPrevented).to.be.true;\n });\n\n it('allows alphanumeric values when alphanumeric attribute is set', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input alphanumeric></nile-otp-input>`\n );\n const cells = getCells(el);\n cells[0].focus();\n await el.updateComplete;\n\n await pressKey(el, 0, 'A');\n expect(el.value).to.equal('A');\n });\n\n it('alphanumeric overrides numeric-only', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input numeric-only alphanumeric></nile-otp-input>`\n );\n const cells = getCells(el);\n cells[0].focus();\n await el.updateComplete;\n\n await pressKey(el, 0, 'B');\n expect(el.value).to.equal('B');\n });\n\n it('supports controlled value updates', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n\n el.value = '2468';\n await el.updateComplete;\n\n expect(getCells(el).map(c => c.value)).to.deep.equal([\n '2', '4', '6', '8', '', '',\n ]);\n });\n\n // ---- Focus management (ShadCN style) ----\n\n it('focus() targets the first empty cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n el.focus();\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n });\n\n it('clicking an empty cell beyond the cursor redirects to first empty', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[5].focus();\n await aTimeout(0);\n await el.updateComplete;\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n });\n\n it('clicking a filled cell focuses it directly', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await aTimeout(0);\n await el.updateComplete;\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n // ---- Keyboard navigation ----\n\n it('Backspace clears current cell and retreats', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'Backspace');\n await aTimeout(0);\n\n expect(el.value).to.equal('12');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('Backspace on empty cell clears previous and moves there', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'Backspace');\n await aTimeout(0);\n\n expect(el.value).to.equal('1');\n expect(cells[1].value).to.equal('');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('Delete clears current cell without moving', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await pressKey(el, 1, 'Delete');\n await aTimeout(0);\n\n expect(el.value).to.equal('13');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('ArrowLeft moves focus back', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'ArrowLeft');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('ArrowRight cannot move past the first empty cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await pressKey(el, 1, 'ArrowRight');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n\n await pressKey(el, 2, 'ArrowRight');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n });\n\n it('Home goes to first cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'Home');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[0]);\n });\n\n it('End goes to first empty cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[0].focus();\n await pressKey(el, 0, 'End');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[3]);\n });\n\n it('Space is blocked', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n const cells = getCells(el);\n cells[0].focus();\n\n const event = new KeyboardEvent('keydown', {\n key: ' ',\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n cells[0].dispatchEvent(event);\n\n expect(event.defaultPrevented).to.be.true;\n });\n\n // ---- Paste ----\n\n it('paste fills from position 0 and focuses next empty', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n\n await pasteInto(el, 3, '987654');\n\n expect(el.value).to.equal('987654');\n expect(getCells(el).map(c => c.value).join('')).to.equal('987654');\n });\n\n it('paste emits nile-paste event', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n let pasteValue = '';\n\n el.addEventListener('nile-paste', (e: Event) => {\n pasteValue = (e as CustomEvent).detail.value;\n });\n\n await pasteInto(el, 0, '123456');\n\n expect(pasteValue).to.equal('123456');\n });\n\n it('paste is ignored when disabled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input disabled></nile-otp-input>`\n );\n\n await pasteInto(el, 0, '123456');\n\n expect(el.value).to.equal('');\n });\n\n // ---- Visual states ----\n\n it('applies warning class', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input warning></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--warning')).to.be.true;\n });\n\n it('applies error class', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input error></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--error')).to.be.true;\n });\n\n it('applies success class', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input success></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--success')).to.be.true;\n });\n\n it('applies disabled class and blocks input', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input disabled></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--disabled')).to.be.true;\n\n const first = getCells(el)[0];\n first.value = '9';\n first.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n await el.updateComplete;\n\n expect(el.value).to.equal('');\n expect(first.value).to.equal('');\n });\n\n it('applies readonly class and blocks input', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input readonly value=\"123456\"></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--readonly')).to.be.true;\n\n const first = getCells(el)[0];\n first.value = '9';\n first.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n await el.updateComplete;\n\n expect(el.value).to.equal('123456');\n });\n\n // ---- Masked ----\n\n it('masked cells use type=\"password\" for filled non-active cells', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input masked value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n expect(cells[0].type).to.equal('password');\n expect(cells[1].type).to.equal('password');\n expect(cells[2].type).to.equal('text');\n });\n\n it('active masked cell shows text while typing', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input masked value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await el.updateComplete;\n\n expect(cells[1].type).to.equal('text');\n expect(cells[0].type).to.equal('password');\n });\n\n it('unmasked cells are always type=\"text\"', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells.forEach(c => expect(c.type).to.equal('text'));\n });\n\n // ---- Events ----\n\n it('emits nile-input and nile-change with value detail', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n let inputDetail: any;\n let changeDetail: any;\n\n el.addEventListener('nile-input', (e: Event) => {\n inputDetail = (e as CustomEvent).detail;\n });\n el.addEventListener('nile-change', (e: Event) => {\n changeDetail = (e as CustomEvent).detail;\n });\n\n getCells(el)[0].focus();\n await el.updateComplete;\n await pressKey(el, 0, '7');\n\n expect(inputDetail.value).to.equal('7');\n expect(inputDetail.complete).to.be.false;\n expect(changeDetail.value).to.equal('7');\n });\n\n it('emits nile-complete when all cells are filled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input length=\"4\" value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n let completedValue = '';\n\n el.addEventListener('nile-complete', (e: Event) => {\n completedValue = (e as CustomEvent).detail.value;\n });\n\n const cells = getCells(el);\n cells[3].focus();\n await el.updateComplete;\n await pressKey(el, 3, '4');\n\n expect(completedValue).to.equal('1234');\n });\n\n it('emits nile-focus when entering and nile-blur when leaving', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n let focused = false;\n let blurred = false;\n\n el.addEventListener('nile-focus', () => { focused = true; });\n el.addEventListener('nile-blur', () => { blurred = true; });\n\n getCells(el)[0].focus();\n await el.updateComplete;\n expect(focused).to.be.true;\n\n getCells(el)[0].blur();\n await aTimeout(50);\n expect(blurred).to.be.true;\n });\n\n // ---- Public methods ----\n\n it('clear() empties all cells', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n\n el.clear();\n await el.updateComplete;\n\n expect(el.value).to.equal('');\n getCells(el).forEach(c => expect(c.value).to.equal(''));\n });\n\n it('clear() is blocked when disabled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input disabled value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n\n el.clear();\n await el.updateComplete;\n\n expect(el.value).to.equal('123456');\n });\n\n it('complete getter returns true when all cells filled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.complete).to.be.true;\n });\n\n it('complete getter returns false when cells are empty', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.complete).to.be.false;\n });\n\n // ---- Validation ----\n\n it('validates required and exact length using checkValidity', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input required></nile-otp-input>`\n );\n el.value = '12';\n await el.updateComplete;\n expect(el.checkValidity()).to.be.false;\n\n el.value = '123456';\n await el.updateComplete;\n expect(el.checkValidity()).to.be.true;\n });\n\n it('supports custom validity messaging', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n el.setCustomValidity('Invalid OTP');\n await el.updateComplete;\n\n expect(el.checkValidity()).to.be.false;\n expect(el.validationMessage).to.equal('Invalid OTP');\n\n el.setCustomValidity('');\n await el.updateComplete;\n expect(el.checkValidity()).to.be.true;\n });\n\n it('validates against custom pattern', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input pattern=\"[0-9]{6}\" value=\"1234\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.checkValidity()).to.be.false;\n\n el.value = '123456';\n await el.updateComplete;\n expect(el.checkValidity()).to.be.true;\n });\n\n // ---- Form integration ----\n\n it('participates in form data submission', async () => {\n const form = await fixture<HTMLFormElement>(html`\n <form id=\"otp-form\">\n <nile-otp-input name=\"otp\" value=\"321654\"></nile-otp-input>\n </form>\n `);\n const data = new FormData(form);\n\n expect(data.get('otp')).to.equal('321654');\n });\n\n // ---- Placeholder ----\n\n it('shows no placeholder by default', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input value=\"12\"></nile-otp-input>\n `);\n\n const placeholders = getCells(el).map(c => c.getAttribute('placeholder'));\n expect(placeholders).to.deep.equal([null, null, null, null, null, null]);\n });\n\n it('moves custom placeholder to active cell on focus', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input placeholder=\"0\"></nile-otp-input>`\n );\n const cells = getCells(el);\n\n cells[0].focus();\n await el.updateComplete;\n\n const placeholders = getCells(el).map(c => c.getAttribute('placeholder'));\n expect(placeholders[0]).to.equal('0');\n expect(placeholders.slice(1).every(p => p === null)).to.be.true;\n });\n\n // ---- CSS parts ----\n\n it('exposes all required CSS parts', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input\n label=\"Test\"\n .helpText=${'Help'}\n .errorMessage=${'Error'}\n separator=\"-\"\n .separatorEvery=${3}\n ></nile-otp-input>\n `);\n\n expect(el.shadowRoot!.querySelector('[part=\"form-control\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-label\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-input\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"base\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"cell\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"separator\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-help-text\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-error-message\"]')).to.exist;\n });\n});\n"]}
@@ -21,6 +21,13 @@ export const styles = css `
21
21
  pointer-events: none;
22
22
  }
23
23
 
24
+ :host([disabled]) .range-text,
25
+ :host([disabled]) .page-size-label,
26
+ :host([disabled]) .mini-showing-label,
27
+ :host([disabled]) .mini-of-label {
28
+ color: var(--nile-colors-neutral-500, var(--ng-colors-text-disabled));
29
+ }
30
+
24
31
  .pagination-wrapper {
25
32
  display: flex;
26
33
  align-items: center;
@@ -373,6 +380,12 @@ export const styles = css `
373
380
  border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));
374
381
  }
375
382
 
383
+ .prev-button[disabled]::part(base) {
384
+ border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-disabled));
385
+ }
386
+ .next-button[disabled]::part(base) {
387
+ border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-disabled));
388
+ }
376
389
  `;
377
390
  export default [styles];
378
391
  //# sourceMappingURL=nile-pagination.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-pagination.css.js","sourceRoot":"","sources":["../../../src/nile-pagination/nile-pagination.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6WxB,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/**\n * Pagination CSS\n */\nexport const styles = css`\n :host {\n }\n\n :host([disabled]) {\n cursor: not-allowed;\n }\n\n :host([disabled]) .pagination-wrapper,\n :host([disabled]) .pagination-wrapper.mini {\n pointer-events: none;\n }\n\n .pagination-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--nile-spacing-spacing-md, var(--ng-spacing-md)) var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) ;\n }\n\n \n .pagination-wrapper.mini .pager-container {\n flex-direction: row;\n align-items: center;\n gap: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n margin-right: var(--nile-spacing-spacing-xl, var(--ng-spacing-xl)); \n }\n\n .pagination-wrapper.mini .range-text {\n margin-right: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n font-size: var(--nile-font-size-small, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var( --ng-colors-text-primary-900));\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n }\n\n .pagination-wrapper.mini {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n padding: var(--nile-spacing-spacing-md, var(--ng-spacing-md)) var(--nile-spacing-spacing-lg, var(--ng-spacing-lg));\n }\n\n .mini-showing-label,\n .mini-of-label {\n font-size: var(--nile-font-size-small, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n white-space: nowrap;\n line-height: 32px;\n }\n\n .mini-page-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .mini-scroll-wrapper {\n max-height: 164px;\n overflow-y: auto;\n width: 60px;\n }\n\n nile-button.mini-page-btn::part(base) {\n min-width: auto;\n height: 10px;\n padding: 0px 4px;\n gap: 2px;\n border: none ;\n box-shadow: none ;\n background: transparent ;\n font-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n font-size: var(--nile-font-size-small, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n }\n\n nile-button.mini-page-btn::part(base):hover,\n nile-button.mini-page-btn::part(base):active {\n min-width: auto;\n height: 10px;\n padding: 0px 4px;\n gap: 2px;\n border: none ;\n background: transparent ;\n }\n\n .mini-page-dropdown {\n display: inline-flex;\n align-items: center;\n }\n\n nile-button.mini-prev-button::part(base),\n nile-button.mini-next-button::part(base) {\n border: none ;\n }\n\n nile-button.mini-prev-button::part(base):hover,\n nile-button.mini-next-button::part(base):hover {\n border: none ;\n }\n\n nile-button.mini-prev-button::part(base):active,\n nile-button.mini-next-button::part(base):active {\n border: none ;\n }\n\n .mini-page-dropdown .chevron {\n transition: transform 0.2s;\n }\n\n .mini-page-dropdown .mini-page-btn.open .chevron {\n transform: rotate(180deg);\n }\n\n .mini-nav {\n display: inline-flex;\n align-items: center;\n margin-left: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n }\n\n .mini-pagination {\n display: inline-flex;\n align-items: center;\n gap: 0;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n \n .pagination-wrapper.compact {\n min-width: 324px;\n justify-content: space-between;\n }\n\n\n\n.pagination-wrapper.compact .range-text {\n margin-right: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n white-space: nowrap;\n}\n\n\n.pagination-wrapper.compact .pager-container {\n gap: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n}\n\n\n .pagination-wrapper.compact .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n }\n\n .pagination-wrapper.compact .page-size-dropdown ::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0 6px;\n }\n\n .pagination-wrapper.compact .page-size-dropdown .chevron {\n transition: transform 0.2s;\n }\n .pagination-wrapper.compact .page-size-dropdown .open .chevron {\n transform: rotate(180deg);\n }\n\n .pagination-wrapper.compact ul.pagination:not(.compact-pagination) {\n display: none;\n }\n\n .compact-pagination {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-xs, var(--ng-spacing-xs));\n list-style: none;\n margin: 0;\n padding: 0;\n }\n .page-dropdown .current-page-btn {\n padding: 2px;\n font-size: var(--nile-font-size-small, var(--ng-font-weight-regular));\n }\n\n nile-button.current-page-btn::part(base){\n min-width: 51px;\n }\n\n nile-button.current-page-btn::part(base):active {\n min-width: 51px;\n}\n\n .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-3xl, var(--ng-spacing-3xl));\n }\n\n.pagination-wrapper.compact .pager-container {\n gap: var(--nile-spacing-xxs, var(--ng-spacing-xxs)) ;\n}\n\n .range-text {\n font-size: var(--nile-font-size-small, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-900,var( --ng-colors-text-primary-900) );\n white-space: nowrap;\n }\n\n .page-size-select {\n display: inline-flex;\n align-items: center;\n }\n\n ul.pagination {\n display: flex;\n list-style: none;\n padding: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n margin: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n gap: var(--nile-radius-radius-xxs, var(--ng-radius-xxs));\n }\n\n ul.pagination li {\n margin: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n }\n\n .ellipsis-scroll-wrapper {\n max-height: 194px;\n overflow-y: auto;\n width: 66px;\n }\n .down-scroll-wrapper {\n max-height: 150px;\n overflow-y: auto;\n width: 60px;\n }\n\n\n .compact-scroll-wrapper {\n max-height: 160px;\n overflow-y: auto;\n width: 60px;\n }\n .compact-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n \n .page-size-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .compact-scroll-wrapper1 {\n max-height: 164px;\n overflow-y: auto;\n width: 60px;\n }\n\n .compact-dropdown1 nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n \n .compact-dropdown1 nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n\n .ellipsis-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .page-size-menu {\n max-height: 144px;\n overflow-y: auto;\n }\n\n.pagination-wrapper.fluid ul.pagination li:first-child {\n margin-right: var(--nile-spacing-spacing-xs, var(--ng-spacing-xs));\n}\n.pagination-wrapper.fluid ul.pagination li:last-child {\n margin-left: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n}\n\n\n .page-size-label {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-primary-500));\n margin-left: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular)); \n }\n\n nile-button::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n }\n \n nile-button.down::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n nile-button.down::part(base):active {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n\n nile-button.current-page-btn::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary)); \n }\n\n nile-button.current-page-btn::part(base):active {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n \n nile-button::part(base):active {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n border: none;\n }\n\n nile-button.down::part(base) {\n min-width: 62px;\n }\n\n nile-button.compactbtn:part(base){\n background-color: red;\n }\n .page-size-dropdown .chevron {\n transition: transform 0.2s;\n }\n .page-size-dropdown .open .chevron {\n transform: rotate(180deg);\n }\n \n .pagination-wrapper.compact .compact-dropdown .chevron,\n .pagination-wrapper.compact .compact-dropdown1 .chevron {\n transition: transform 0.2s;\n }\n .pagination-wrapper.compact .compact-dropdown .down.open .chevron,\n .pagination-wrapper.compact .compact-dropdown1 .current-page-btn.open .chevron {\n transform: rotate(180deg);\n }\n\n .prev-button::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n .next-button::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-pagination.css.js","sourceRoot":"","sources":["../../../src/nile-pagination/nile-pagination.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0XxB,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/**\n * Pagination CSS\n */\nexport const styles = css`\n :host {\n }\n\n :host([disabled]) {\n cursor: not-allowed;\n }\n\n :host([disabled]) .pagination-wrapper,\n :host([disabled]) .pagination-wrapper.mini {\n pointer-events: none;\n }\n\n :host([disabled]) .range-text,\n :host([disabled]) .page-size-label,\n :host([disabled]) .mini-showing-label,\n :host([disabled]) .mini-of-label {\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-disabled));\n }\n\n .pagination-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--nile-spacing-spacing-md, var(--ng-spacing-md)) var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) ;\n }\n\n \n .pagination-wrapper.mini .pager-container {\n flex-direction: row;\n align-items: center;\n gap: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n margin-right: var(--nile-spacing-spacing-xl, var(--ng-spacing-xl)); \n }\n\n .pagination-wrapper.mini .range-text {\n margin-right: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n font-size: var(--nile-font-size-small, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var( --ng-colors-text-primary-900));\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n }\n\n .pagination-wrapper.mini {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n padding: var(--nile-spacing-spacing-md, var(--ng-spacing-md)) var(--nile-spacing-spacing-lg, var(--ng-spacing-lg));\n }\n\n .mini-showing-label,\n .mini-of-label {\n font-size: var(--nile-font-size-small, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n white-space: nowrap;\n line-height: 32px;\n }\n\n .mini-page-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .mini-scroll-wrapper {\n max-height: 164px;\n overflow-y: auto;\n width: 60px;\n }\n\n nile-button.mini-page-btn::part(base) {\n min-width: auto;\n height: 10px;\n padding: 0px 4px;\n gap: 2px;\n border: none ;\n box-shadow: none ;\n background: transparent ;\n font-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n font-size: var(--nile-font-size-small, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n }\n\n nile-button.mini-page-btn::part(base):hover,\n nile-button.mini-page-btn::part(base):active {\n min-width: auto;\n height: 10px;\n padding: 0px 4px;\n gap: 2px;\n border: none ;\n background: transparent ;\n }\n\n .mini-page-dropdown {\n display: inline-flex;\n align-items: center;\n }\n\n nile-button.mini-prev-button::part(base),\n nile-button.mini-next-button::part(base) {\n border: none ;\n }\n\n nile-button.mini-prev-button::part(base):hover,\n nile-button.mini-next-button::part(base):hover {\n border: none ;\n }\n\n nile-button.mini-prev-button::part(base):active,\n nile-button.mini-next-button::part(base):active {\n border: none ;\n }\n\n .mini-page-dropdown .chevron {\n transition: transform 0.2s;\n }\n\n .mini-page-dropdown .mini-page-btn.open .chevron {\n transform: rotate(180deg);\n }\n\n .mini-nav {\n display: inline-flex;\n align-items: center;\n margin-left: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n }\n\n .mini-pagination {\n display: inline-flex;\n align-items: center;\n gap: 0;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n \n .pagination-wrapper.compact {\n min-width: 324px;\n justify-content: space-between;\n }\n\n\n\n.pagination-wrapper.compact .range-text {\n margin-right: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n white-space: nowrap;\n}\n\n\n.pagination-wrapper.compact .pager-container {\n gap: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n}\n\n\n .pagination-wrapper.compact .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n }\n\n .pagination-wrapper.compact .page-size-dropdown ::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0 6px;\n }\n\n .pagination-wrapper.compact .page-size-dropdown .chevron {\n transition: transform 0.2s;\n }\n .pagination-wrapper.compact .page-size-dropdown .open .chevron {\n transform: rotate(180deg);\n }\n\n .pagination-wrapper.compact ul.pagination:not(.compact-pagination) {\n display: none;\n }\n\n .compact-pagination {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-xs, var(--ng-spacing-xs));\n list-style: none;\n margin: 0;\n padding: 0;\n }\n .page-dropdown .current-page-btn {\n padding: 2px;\n font-size: var(--nile-font-size-small, var(--ng-font-weight-regular));\n }\n\n nile-button.current-page-btn::part(base){\n min-width: 51px;\n }\n\n nile-button.current-page-btn::part(base):active {\n min-width: 51px;\n}\n\n .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-3xl, var(--ng-spacing-3xl));\n }\n\n.pagination-wrapper.compact .pager-container {\n gap: var(--nile-spacing-xxs, var(--ng-spacing-xxs)) ;\n}\n\n .range-text {\n font-size: var(--nile-font-size-small, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-900,var( --ng-colors-text-primary-900) );\n white-space: nowrap;\n }\n\n .page-size-select {\n display: inline-flex;\n align-items: center;\n }\n\n ul.pagination {\n display: flex;\n list-style: none;\n padding: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n margin: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n gap: var(--nile-radius-radius-xxs, var(--ng-radius-xxs));\n }\n\n ul.pagination li {\n margin: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n }\n\n .ellipsis-scroll-wrapper {\n max-height: 194px;\n overflow-y: auto;\n width: 66px;\n }\n .down-scroll-wrapper {\n max-height: 150px;\n overflow-y: auto;\n width: 60px;\n }\n\n\n .compact-scroll-wrapper {\n max-height: 160px;\n overflow-y: auto;\n width: 60px;\n }\n .compact-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n \n .page-size-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .compact-scroll-wrapper1 {\n max-height: 164px;\n overflow-y: auto;\n width: 60px;\n }\n\n .compact-dropdown1 nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n \n .compact-dropdown1 nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n\n .ellipsis-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .page-size-menu {\n max-height: 144px;\n overflow-y: auto;\n }\n\n.pagination-wrapper.fluid ul.pagination li:first-child {\n margin-right: var(--nile-spacing-spacing-xs, var(--ng-spacing-xs));\n}\n.pagination-wrapper.fluid ul.pagination li:last-child {\n margin-left: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n}\n\n\n .page-size-label {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-primary-500));\n margin-left: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular)); \n }\n\n nile-button::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n }\n \n nile-button.down::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n nile-button.down::part(base):active {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n\n nile-button.current-page-btn::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary)); \n }\n\n nile-button.current-page-btn::part(base):active {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n \n nile-button::part(base):active {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n border: none;\n }\n\n nile-button.down::part(base) {\n min-width: 62px;\n }\n\n nile-button.compactbtn:part(base){\n background-color: red;\n }\n .page-size-dropdown .chevron {\n transition: transform 0.2s;\n }\n .page-size-dropdown .open .chevron {\n transform: rotate(180deg);\n }\n \n .pagination-wrapper.compact .compact-dropdown .chevron,\n .pagination-wrapper.compact .compact-dropdown1 .chevron {\n transition: transform 0.2s;\n }\n .pagination-wrapper.compact .compact-dropdown .down.open .chevron,\n .pagination-wrapper.compact .compact-dropdown1 .current-page-btn.open .chevron {\n transform: rotate(180deg);\n }\n\n .prev-button::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n .next-button::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n .prev-button[disabled]::part(base) {\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-disabled));\n }\n .next-button[disabled]::part(base) {\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-disabled));\n }\n`;\n\nexport default [styles];\n"]}
@@ -126,6 +126,10 @@ export const styles = css `
126
126
  border: 1px solid var(--nile-colors-dark-100, var(--ng-colors-border-disabled));
127
127
  }
128
128
 
129
+ .radio--disabled .radio__label {
130
+ color: var(--nile-colors-neutral-500, var(--ng-colors-text-disabled));
131
+ }
132
+
129
133
  /* When the control isn't checked, hide the circle for Windows High Contrast mode a11y */
130
134
  .radio:not(.radio--checked) svg circle {
131
135
  opacity: 0;
@@ -1 +1 @@
1
- {"version":3,"file":"nile-radio.css.js","sourceRoot":"","sources":["../../../src/nile-radio/nile-radio.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyIxB,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Radio CSS\n */\nexport const styles = css`\n :host {\n display: block;\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(:focus-visible) {\n outline: 0px;\n }\n\n .radio {\n display: inline-flex;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n vertical-align: middle;\n cursor: pointer;\n margin: var(--nile-spacing-10px, var(--ng-spacing-lg)) var(--nile-spacing-none, var(--ng-spacing-none));\n align-items: center;\n }\n\n .radio--medium {\n --toggle-size: 14px;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md))\n }\n\n .radio__checked-icon {\n display: var(--nile-display-inline-flex, var(--ng-display-block));\n width: var(--nile-radio-inner-width, var(--ng-width-2));\n height: var(--nile-radio-inner-width, var(--ng-height-8px));\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n background: var(--nile-radio-checked-icon-background, var(--ng-colors-bg-primary));\n }\n\n .radio__control {\n flex: 0 0 auto;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--nile-radio-outer-width, var(--ng-width-4));\n height: var(--nile-radio-outer-height, var(--ng-height-16px));\n border: solid 1px var(--nile-radio-outer-border-color, var(--ng-colors-border-primary));\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n background-color: var(--nile-radio-outer-background-color, var(--ng-colors-bg-primary));\n color: transparent;\n transition: var(--nile-transition-duration-default, var(--ng-transition-duration-default)) border-color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) background-color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) box-shadow;\n }\n\n .radio__input {\n position: absolute;\n opacity: 0;\n padding: var(--nile-spacing-none, var(--ng-spacing-none));\n margin: var(--nile-spacing-none, var(--ng-spacing-none));\n pointer-events: none;\n }\n\n /* Hover */\n .radio:not(.radio--checked):not(.radio--disabled) .radio__control:hover {\n border: 1px solid var(--nile-radio-hover-border-color, var(--ng-colors-border-neutral));\n background: var(--nile-radio-hover-background-color, var(--ng-colors-bg-primary));\n }\n\n /* Checked */\n .radio--checked .radio__control {\n color: var(--nile-colors-primary-600, var(--ng-colors-fg-brand-primary-600));\n border: 1px solid var(--nile-radio-checked-border-color, var(--ng-colors-bg-brand-solid));\n background-color: var(--nile-radio-checked-background-color,var(--ng-colors-bg-brand-solid));\n }\n\n /* Checked + hover */\n .radio.radio--checked:not(.radio--disabled) .radio__control:hover {\n border: 1px solid var(--nile-radio-checked-hover-border-color, var(--ng-colors-bg-brand-solid-hover));\n background-color: var(--nile-radio-checked-hover-background-color, var(--ng-colors-bg-brand-solid-hover));\n }\n\n /* Checked + hover */\n .radio__checked-icon:hover {\n background-color: var(--nile-radio-checked-hover-icon-background-color, var(--ng-colors-bg-primary));\n }\n\n /* Checked + focus */\n :host(:focus-visible) .radio__control {\n outline: solid var(--nile-outline-3px, var(--ng-outline-2px)) var(--nile-box-shadow-12, var(--ng-colors-bg-brand-solid));\n outline-offset: 1px;\n }\n\n .radio__control:focus-visible {\n outline: solid var(--nile-outline-3px, var(--ng-outline-2px)) var(--nile-box-shadow-12, var(--ng-colors-bg-brand-solid));\n outline-offset: 2px;\n }\n\n /* Focused, but not disabled */\n.radio--focused:not(.radio--disabled) .radio__control {\n outline: solid var(--nile-outline-none, var(--ng-outline-2px)) var(--nile-outline-none, var(--ng-colors-bg-brand-solid));\n outline-offset: 1px;\n}\n\n /* Disabled */\n .radio--disabled {\n \n cursor: not-allowed;\n }\n\n .radio--disabled .radio__checked-icon {\n background-color:var(--nile-colors-dark-100, var(--ng-colors-fg-disabled-subtle)); // for v2\n }\n\n .radio--disabled .radio__control {\n background-color:var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled-subtle));\n border: 1px solid var(--nile-colors-dark-100, var(--ng-colors-border-disabled));\n }\n\n /* When the control isn't checked, hide the circle for Windows High Contrast mode a11y */\n .radio:not(.radio--checked) svg circle {\n opacity: 0;\n }\n\n .radio__label {\n display: inline-block;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n line-height: var(--nile-type-scale-3, var(--ng-line-height-text-sm));\n margin-inline-start: var(--nile-spacing-7px, var(--ng-spacing-md));\n user-select: none;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n margin-top: var(--nile-spacing-xxs, var(--ng-spacing-xxs));\n }\n .radio__label_border {\n padding: var(--nile-spacing-lg, var(--ng-spacing-xl));\n border-radius: var(--nile-radius-sm, var(--ng-radius-xl));\n border: var(--nile-border-width-1, var(--ng-border-width-1)) solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n }\n`;\n"]}
1
+ {"version":3,"file":"nile-radio.css.js","sourceRoot":"","sources":["../../../src/nile-radio/nile-radio.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6IxB,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Radio CSS\n */\nexport const styles = css`\n :host {\n display: block;\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(:focus-visible) {\n outline: 0px;\n }\n\n .radio {\n display: inline-flex;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n vertical-align: middle;\n cursor: pointer;\n margin: var(--nile-spacing-10px, var(--ng-spacing-lg)) var(--nile-spacing-none, var(--ng-spacing-none));\n align-items: center;\n }\n\n .radio--medium {\n --toggle-size: 14px;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md))\n }\n\n .radio__checked-icon {\n display: var(--nile-display-inline-flex, var(--ng-display-block));\n width: var(--nile-radio-inner-width, var(--ng-width-2));\n height: var(--nile-radio-inner-width, var(--ng-height-8px));\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n background: var(--nile-radio-checked-icon-background, var(--ng-colors-bg-primary));\n }\n\n .radio__control {\n flex: 0 0 auto;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--nile-radio-outer-width, var(--ng-width-4));\n height: var(--nile-radio-outer-height, var(--ng-height-16px));\n border: solid 1px var(--nile-radio-outer-border-color, var(--ng-colors-border-primary));\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n background-color: var(--nile-radio-outer-background-color, var(--ng-colors-bg-primary));\n color: transparent;\n transition: var(--nile-transition-duration-default, var(--ng-transition-duration-default)) border-color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) background-color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) box-shadow;\n }\n\n .radio__input {\n position: absolute;\n opacity: 0;\n padding: var(--nile-spacing-none, var(--ng-spacing-none));\n margin: var(--nile-spacing-none, var(--ng-spacing-none));\n pointer-events: none;\n }\n\n /* Hover */\n .radio:not(.radio--checked):not(.radio--disabled) .radio__control:hover {\n border: 1px solid var(--nile-radio-hover-border-color, var(--ng-colors-border-neutral));\n background: var(--nile-radio-hover-background-color, var(--ng-colors-bg-primary));\n }\n\n /* Checked */\n .radio--checked .radio__control {\n color: var(--nile-colors-primary-600, var(--ng-colors-fg-brand-primary-600));\n border: 1px solid var(--nile-radio-checked-border-color, var(--ng-colors-bg-brand-solid));\n background-color: var(--nile-radio-checked-background-color,var(--ng-colors-bg-brand-solid));\n }\n\n /* Checked + hover */\n .radio.radio--checked:not(.radio--disabled) .radio__control:hover {\n border: 1px solid var(--nile-radio-checked-hover-border-color, var(--ng-colors-bg-brand-solid-hover));\n background-color: var(--nile-radio-checked-hover-background-color, var(--ng-colors-bg-brand-solid-hover));\n }\n\n /* Checked + hover */\n .radio__checked-icon:hover {\n background-color: var(--nile-radio-checked-hover-icon-background-color, var(--ng-colors-bg-primary));\n }\n\n /* Checked + focus */\n :host(:focus-visible) .radio__control {\n outline: solid var(--nile-outline-3px, var(--ng-outline-2px)) var(--nile-box-shadow-12, var(--ng-colors-bg-brand-solid));\n outline-offset: 1px;\n }\n\n .radio__control:focus-visible {\n outline: solid var(--nile-outline-3px, var(--ng-outline-2px)) var(--nile-box-shadow-12, var(--ng-colors-bg-brand-solid));\n outline-offset: 2px;\n }\n\n /* Focused, but not disabled */\n.radio--focused:not(.radio--disabled) .radio__control {\n outline: solid var(--nile-outline-none, var(--ng-outline-2px)) var(--nile-outline-none, var(--ng-colors-bg-brand-solid));\n outline-offset: 1px;\n}\n\n /* Disabled */\n .radio--disabled {\n \n cursor: not-allowed;\n }\n\n .radio--disabled .radio__checked-icon {\n background-color:var(--nile-colors-dark-100, var(--ng-colors-fg-disabled-subtle)); // for v2\n }\n\n .radio--disabled .radio__control {\n background-color:var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled-subtle));\n border: 1px solid var(--nile-colors-dark-100, var(--ng-colors-border-disabled));\n }\n\n .radio--disabled .radio__label {\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-disabled));\n }\n\n /* When the control isn't checked, hide the circle for Windows High Contrast mode a11y */\n .radio:not(.radio--checked) svg circle {\n opacity: 0;\n }\n\n .radio__label {\n display: inline-block;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n line-height: var(--nile-type-scale-3, var(--ng-line-height-text-sm));\n margin-inline-start: var(--nile-spacing-7px, var(--ng-spacing-md));\n user-select: none;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n margin-top: var(--nile-spacing-xxs, var(--ng-spacing-xxs));\n }\n .radio__label_border {\n padding: var(--nile-spacing-lg, var(--ng-spacing-xl));\n border-radius: var(--nile-radius-sm, var(--ng-radius-xl));\n border: var(--nile-border-width-1, var(--ng-border-width-1)) solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n }\n`;\n"]}
@@ -6,6 +6,7 @@ import { html } from 'lit';
6
6
  import { watch } from '../internal/watch';
7
7
  import NileElement from '../internal/nile-element';
8
8
  import styles from './nile-radio-group.css';
9
+ import { Nile_Events } from '../internal/enum';
9
10
  /**
10
11
  * @summary Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.
11
12
  *
@@ -85,10 +86,14 @@ let NileRadioGroup = class NileRadioGroup extends NileElement {
85
86
  if (!this.allowUncheckGroup && this.value !== oldValue) {
86
87
  this.emit('change', { value: this.value });
87
88
  this.emit('input');
89
+ this.emit(Nile_Events.NILE_CHANGE, { value: this.value });
90
+ this.emit(Nile_Events.NILE_INPUT, { value: this.value });
88
91
  }
89
92
  else if (this.allowUncheckGroup) {
90
93
  this.emit('change', { value: this.value, checked: target.checked });
91
94
  this.emit('input');
95
+ this.emit(Nile_Events.NILE_CHANGE, { value: this.value, checked: target.checked });
96
+ this.emit(Nile_Events.NILE_INPUT, { value: this.value, checked: target.checked });
92
97
  }
93
98
  }
94
99
  updated(changedProperties) {
@@ -146,6 +151,8 @@ let NileRadioGroup = class NileRadioGroup extends NileElement {
146
151
  if (this.value !== oldValue) {
147
152
  this.emit('change');
148
153
  this.emit('input');
154
+ this.emit(Nile_Events.NILE_CHANGE, { value: this.value });
155
+ this.emit(Nile_Events.NILE_INPUT, { value: this.value });
149
156
  }
150
157
  event.preventDefault();
151
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nile-radio-group.js","sourceRoot":"","sources":["../../../src/nile-radio-group/nile-radio-group.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { HasSlotController } from '../internal/slot';\nimport { html } from 'lit';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport styles from './nile-radio-group.css';\nimport type { CSSResultGroup, PropertyValues } from 'lit';\nimport type NileRadio from '../nile-radio/nile-radio';\n\n/**\n * @summary Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.\n *\n * @dependency nile-button-group\n *\n * @slot - The default slot where `<nile-radio>` or `<nile-radio-button>` elements are placed.\n * @slot label - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label`\n * attribute.\n *\n * @event change - Emitted when the radio group's selected value changes.\n * @event input - Emitted when the radio group receives user input.\n * @event invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n * @csspart button-group - The button group that wraps radio buttons.\n * @csspart button-group__base - The button group's `base` part.\n */\n@customElement('nile-radio-group')\nexport class NileRadioGroup extends NileElement {\n static styles: CSSResultGroup = styles;\n\n private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label');\n private customValidityMessage = '';\n\n @query('slot:not([name])') defaultSlot: HTMLSlotElement;\n\n @state() private hasButtonGroup = false;\n\n @state() defaultValue = '';\n\n /**\n * The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\n * instead.\n */\n @property() label = '';\n\n /** The name of the radio group, submitted as a name/value pair with form data. */\n @property() name = 'option';\n\n /** The current value of the radio group, submitted as a name/value pair with form data. */\n @property({ reflect: true }) value = '';\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** Ensures a child radio is checked before allowing the containing form to submit. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n\n /** Used to show radio in inline or not */\n @property({ type: Boolean, reflect: true }) labelInline = false;\n\n /** Used to disabled or not */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** The radio's labelborder for whole gp. */\n @property({ type: Boolean, reflect: true }) islabelborder = false;\n\n /** Allow the radio to be unchecked. */\n @property({ type: Boolean, reflect: true, attribute: true }) allowUncheckGroup = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.defaultValue = this.value;\n this.handleInitialDisabledState();\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n private getAllRadios() {\n return [...this.querySelectorAll<NileRadio>('nile-radio')];\n }\n\n private handleRadioClick(event: MouseEvent) {\n const target = (event.target as HTMLElement).closest<NileRadio>('nile-radio')!;\n const radios = this.getAllRadios();\n const oldValue = this.value;\n\n if (target.disabled || this.disabled) {\n return;\n }\n\n this.value = target.value;\n if (!this.allowUncheckGroup) {\n radios.forEach(radio => {\n radio.checked = radio === target;\n });\n }\n\n if (!this.allowUncheckGroup && this.value !== oldValue) {\n this.emit('change', { value: this.value});\n this.emit('input');\n } else if (this.allowUncheckGroup) { \n this.emit('change', { value: this.value , checked: target.checked});\n this.emit('input');\n }\n }\n\n protected updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('allowUncheckGroup')) {\n if (this.allowUncheckGroup) {\n this.getAllRadios().forEach(radio => {\n radio.allowUncheck = true;\n });\n }\n }\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n this.getAllRadios().forEach(radio => {\n radio.disabled = this.disabled;\n });\n }\n\n private handleInitialDisabledState() {\n this.getAllRadios().forEach(radio => {\n radio.disabled = radio.hasAttribute('disabled') ? radio.disabled : this.disabled;\n });\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return;\n if (!['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', ' '].includes(event.key)) {\n return;\n }\n\n const radios = this.getAllRadios().filter(radio => !radio.disabled);\n const checkedRadio = radios.find(radio => radio.checked) ?? radios[0];\n const incr = event.key === ' ' ? 0 : ['ArrowUp', 'ArrowLeft'].includes(event.key) ? -1 : 1;\n const oldValue = this.value;\n let index = radios.indexOf(checkedRadio) + incr;\n\n if (index < 0) {\n index = radios.length - 1;\n }\n\n if (index > radios.length - 1) {\n index = 0;\n }\n\n this.getAllRadios().forEach(radio => {\n radio.checked = false;\n\n if (!this.hasButtonGroup) {\n radio.tabIndex = -1;\n }\n });\n\n this.value = radios[index].value;\n radios[index].checked = true;\n\n if (!this.hasButtonGroup) {\n radios[index].tabIndex = 0;\n radios[index].focus();\n } else {\n radios[index].shadowRoot!.querySelector('button')!.focus();\n }\n\n if (this.value !== oldValue) {\n this.emit('change');\n this.emit('input');\n }\n\n event.preventDefault();\n }\n\n private handleLabelClick() {\n if (this.disabled) return;\n const radios = this.getAllRadios();\n const checked = radios.find(radio => radio.checked);\n const radioToFocus = checked || radios[0];\n\n // Move focus to the checked radio (or the first one if none are checked) when clicking the label\n if (radioToFocus) {\n radioToFocus.focus();\n }\n }\n\n private handleSlotChange() {\n const radios = this.getAllRadios();\n\n radios.forEach(radio => {\n radio.checked = radio.value === this.value;\n if (this.islabelborder) {\n radio.islabelborder=true;\n }\n });\n if (this.disabled) {\n radios.forEach(r => (r.tabIndex = -1));\n return;\n }\n const nile_radio_check='nile-radio-button';\n this.hasButtonGroup = radios.some(radio => radio.tagName.toLowerCase() === nile_radio_check);\n\n if (radios.length > 0 && !radios.some(radio => radio.checked)) {\n if (this.hasButtonGroup) {\n const buttonRadio = radios[0].shadowRoot!.querySelector('button')!;\n buttonRadio.tabIndex = 0;\n } else {\n radios[0].tabIndex = 0;\n }\n }\n\n if (this.hasButtonGroup) {\n const buttonGroup = this.shadowRoot?.querySelector('nile-button-group');\n }\n }\n\n private updateCheckedRadio() {\n const radios = this.getAllRadios();\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n }\n\n @watch('value')\n handleValueChange() {\n if (this.hasUpdated) {\n this.updateCheckedRadio();\n }\n }\n\n render() {\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n\n const defaultSlot = html`\n <slot\n @click=${this.handleRadioClick}\n @keydown=${this.handleKeyDown}\n @slotchange=${this.handleSlotChange}\n role=\"presentation\"\n ></slot>\n `;\n\n return html`\n <fieldset\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--medium': true,\n 'form-control--radio-group': true,\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText\n })}\n role=\"radiogroup\"\n aria-labelledby=\"label\"\n aria-describedby=\"help-text\"\n aria-errormessage=\"error-message\"\n >\n <label\n part=\"form-control-label\"\n id=\"label\"\n class=\"form-control__label\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n @click=${this.handleLabelClick}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n ${hasLabelSuffixSlot ? html` <slot name=\"label-suffix\"></slot> ` : ``}\n\n <div part=\"form-control-input\" class=\"form-control-input\">\n <div class=\"visually-hidden\">\n <label class=\"radio-group__validation\">\n <input\n type=\"text\"\n class=\"radio-group__validation-input\"\n ?required=${this.required}\n tabindex=\"-1\"\n hidden\n />\n </label>\n </div>\n\n ${this.hasButtonGroup\n ? html`\n ${defaultSlot}\n `\n : html`\n <div part=\"options-base\" class=\"${this.labelInline ? `form-control--inline-radio`:``}\"> ${defaultSlot}</div> `}\n </div>\n\n ${\n hasHelpText\n ? html`\n <nile-form-help-text>${this.helpText}</nile-form-help-text>\n `\n : ``\n }\n\n ${\n hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``\n }\n\n </fieldset>\n `;\n }\n}\n\nexport default NileRadioGroup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-radio-group': NileRadioGroup;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-radio-group.js","sourceRoot":"","sources":["../../../src/nile-radio-group/nile-radio-group.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { HasSlotController } from '../internal/slot';\nimport { html } from 'lit';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport styles from './nile-radio-group.css';\nimport type { CSSResultGroup, PropertyValues } from 'lit';\nimport type NileRadio from '../nile-radio/nile-radio';\nimport { Nile_Events } from '../internal/enum';\n\n/**\n * @summary Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.\n *\n * @dependency nile-button-group\n *\n * @slot - The default slot where `<nile-radio>` or `<nile-radio-button>` elements are placed.\n * @slot label - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label`\n * attribute.\n *\n * @event change - Emitted when the radio group's selected value changes.\n * @event input - Emitted when the radio group receives user input.\n * @event invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n * @csspart button-group - The button group that wraps radio buttons.\n * @csspart button-group__base - The button group's `base` part.\n */\n@customElement('nile-radio-group')\nexport class NileRadioGroup extends NileElement {\n static styles: CSSResultGroup = styles;\n\n private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label');\n private customValidityMessage = '';\n\n @query('slot:not([name])') defaultSlot: HTMLSlotElement;\n\n @state() private hasButtonGroup = false;\n\n @state() defaultValue = '';\n\n /**\n * The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\n * instead.\n */\n @property() label = '';\n\n /** The name of the radio group, submitted as a name/value pair with form data. */\n @property() name = 'option';\n\n /** The current value of the radio group, submitted as a name/value pair with form data. */\n @property({ reflect: true }) value = '';\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** Ensures a child radio is checked before allowing the containing form to submit. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n\n /** Used to show radio in inline or not */\n @property({ type: Boolean, reflect: true }) labelInline = false;\n\n /** Used to disabled or not */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** The radio's labelborder for whole gp. */\n @property({ type: Boolean, reflect: true }) islabelborder = false;\n\n /** Allow the radio to be unchecked. */\n @property({ type: Boolean, reflect: true, attribute: true }) allowUncheckGroup = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.defaultValue = this.value;\n this.handleInitialDisabledState();\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n private getAllRadios() {\n return [...this.querySelectorAll<NileRadio>('nile-radio')];\n }\n\n private handleRadioClick(event: MouseEvent) {\n const target = (event.target as HTMLElement).closest<NileRadio>('nile-radio')!;\n const radios = this.getAllRadios();\n const oldValue = this.value;\n\n if (target.disabled || this.disabled) {\n return;\n }\n\n this.value = target.value;\n if (!this.allowUncheckGroup) {\n radios.forEach(radio => {\n radio.checked = radio === target;\n });\n }\n\n if (!this.allowUncheckGroup && this.value !== oldValue) {\n this.emit('change', { value: this.value});\n this.emit('input');\n this.emit(Nile_Events.NILE_CHANGE, { value: this.value});\n this.emit(Nile_Events.NILE_INPUT, { value: this.value});\n } else if (this.allowUncheckGroup) { \n this.emit('change', { value: this.value , checked: target.checked});\n this.emit('input');\n this.emit(Nile_Events.NILE_CHANGE, { value: this.value , checked: target.checked});\n this.emit(Nile_Events.NILE_INPUT, { value: this.value , checked: target.checked});\n }\n }\n\n protected updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('allowUncheckGroup')) {\n if (this.allowUncheckGroup) {\n this.getAllRadios().forEach(radio => {\n radio.allowUncheck = true;\n });\n }\n }\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n this.getAllRadios().forEach(radio => {\n radio.disabled = this.disabled;\n });\n }\n\n private handleInitialDisabledState() {\n this.getAllRadios().forEach(radio => {\n radio.disabled = radio.hasAttribute('disabled') ? radio.disabled : this.disabled;\n });\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return;\n if (!['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', ' '].includes(event.key)) {\n return;\n }\n\n const radios = this.getAllRadios().filter(radio => !radio.disabled);\n const checkedRadio = radios.find(radio => radio.checked) ?? radios[0];\n const incr = event.key === ' ' ? 0 : ['ArrowUp', 'ArrowLeft'].includes(event.key) ? -1 : 1;\n const oldValue = this.value;\n let index = radios.indexOf(checkedRadio) + incr;\n\n if (index < 0) {\n index = radios.length - 1;\n }\n\n if (index > radios.length - 1) {\n index = 0;\n }\n\n this.getAllRadios().forEach(radio => {\n radio.checked = false;\n\n if (!this.hasButtonGroup) {\n radio.tabIndex = -1;\n }\n });\n\n this.value = radios[index].value;\n radios[index].checked = true;\n\n if (!this.hasButtonGroup) {\n radios[index].tabIndex = 0;\n radios[index].focus();\n } else {\n radios[index].shadowRoot!.querySelector('button')!.focus();\n }\n\n if (this.value !== oldValue) {\n this.emit('change');\n this.emit('input');\n this.emit(Nile_Events.NILE_CHANGE, { value: this.value});\n this.emit(Nile_Events.NILE_INPUT, { value: this.value});\n }\n\n event.preventDefault();\n }\n\n private handleLabelClick() {\n if (this.disabled) return;\n const radios = this.getAllRadios();\n const checked = radios.find(radio => radio.checked);\n const radioToFocus = checked || radios[0];\n\n // Move focus to the checked radio (or the first one if none are checked) when clicking the label\n if (radioToFocus) {\n radioToFocus.focus();\n }\n }\n\n private handleSlotChange() {\n const radios = this.getAllRadios();\n\n radios.forEach(radio => {\n radio.checked = radio.value === this.value;\n if (this.islabelborder) {\n radio.islabelborder=true;\n }\n });\n if (this.disabled) {\n radios.forEach(r => (r.tabIndex = -1));\n return;\n }\n const nile_radio_check='nile-radio-button';\n this.hasButtonGroup = radios.some(radio => radio.tagName.toLowerCase() === nile_radio_check);\n\n if (radios.length > 0 && !radios.some(radio => radio.checked)) {\n if (this.hasButtonGroup) {\n const buttonRadio = radios[0].shadowRoot!.querySelector('button')!;\n buttonRadio.tabIndex = 0;\n } else {\n radios[0].tabIndex = 0;\n }\n }\n\n if (this.hasButtonGroup) {\n const buttonGroup = this.shadowRoot?.querySelector('nile-button-group');\n }\n }\n\n private updateCheckedRadio() {\n const radios = this.getAllRadios();\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n }\n\n @watch('value')\n handleValueChange() {\n if (this.hasUpdated) {\n this.updateCheckedRadio();\n }\n }\n\n render() {\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n\n const defaultSlot = html`\n <slot\n @click=${this.handleRadioClick}\n @keydown=${this.handleKeyDown}\n @slotchange=${this.handleSlotChange}\n role=\"presentation\"\n ></slot>\n `;\n\n return html`\n <fieldset\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--medium': true,\n 'form-control--radio-group': true,\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText\n })}\n role=\"radiogroup\"\n aria-labelledby=\"label\"\n aria-describedby=\"help-text\"\n aria-errormessage=\"error-message\"\n >\n <label\n part=\"form-control-label\"\n id=\"label\"\n class=\"form-control__label\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n @click=${this.handleLabelClick}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n ${hasLabelSuffixSlot ? html` <slot name=\"label-suffix\"></slot> ` : ``}\n\n <div part=\"form-control-input\" class=\"form-control-input\">\n <div class=\"visually-hidden\">\n <label class=\"radio-group__validation\">\n <input\n type=\"text\"\n class=\"radio-group__validation-input\"\n ?required=${this.required}\n tabindex=\"-1\"\n hidden\n />\n </label>\n </div>\n\n ${this.hasButtonGroup\n ? html`\n ${defaultSlot}\n `\n : html`\n <div part=\"options-base\" class=\"${this.labelInline ? `form-control--inline-radio`:``}\"> ${defaultSlot}</div> `}\n </div>\n\n ${\n hasHelpText\n ? html`\n <nile-form-help-text>${this.helpText}</nile-form-help-text>\n `\n : ``\n }\n\n ${\n hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``\n }\n\n </fieldset>\n `;\n }\n}\n\nexport default NileRadioGroup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-radio-group': NileRadioGroup;\n }\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import { css } from 'lit';
2
2
  export const styles = css `
3
- .editor { all: revert; }
3
+ .editor { all: revert;
4
+ -webkit-user-modify: read-write; }
4
5
 
5
6
  nile-rich-text-editor {
6
7
  position: relative;
@@ -57,9 +58,10 @@ export const styles = css `
57
58
 
58
59
  nile-rich-text-editor[disabled] .rte-container .editor {
59
60
  background: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));
60
- pointer-events: none ;
61
+ pointer-events: none;
61
62
  user-select: none;
62
63
  -webkit-user-select: none;
64
+ -webkit-user-modify: read-only;
63
65
  border-color: var(--nile-colors-neutral-500, var(--ng-colors-border-disabled));
64
66
  color: var(--nile-colors-dark-500, var(--ng-colors-text-disabled));
65
67
  }
@@ -153,10 +155,10 @@ nile-rte-preview {
153
155
  }
154
156
 
155
157
  .editor ul,
156
- .editor ol {
157
- list-style-position: inside;
158
- padding: 0px;
159
- }
158
+ .editor ol {
159
+ list-style-position: outside;
160
+ padding-inline-start: 24px;
161
+ }
160
162
 
161
163
 
162
164