@aquera/nile-elements 0.1.57-beta-1.7 → 0.1.57-beta-1.9

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 (394) hide show
  1. package/README.md +23 -0
  2. package/demo/index.html +1 -9
  3. package/demo/index.js +0 -1
  4. package/dist/axe.min-2720cd56.esm.js +1 -0
  5. package/dist/axe.min-69d47269.cjs.js +2 -0
  6. package/dist/axe.min-69d47269.cjs.js.map +1 -0
  7. package/dist/{fixture-f2693d97.esm.js → fixture-2b5b3aba.esm.js} +1 -1
  8. package/dist/{fixture-c1bd203f.cjs.js → fixture-7bfb866e.cjs.js} +2 -2
  9. package/dist/{fixture-c1bd203f.cjs.js.map → fixture-7bfb866e.cjs.js.map} +1 -1
  10. package/dist/{fixture-add72f26.esm.js → fixture-e7023246.esm.js} +1 -1
  11. package/dist/{fixture-cb376a7f.cjs.js → fixture-fe6c932e.cjs.js} +3 -3
  12. package/dist/fixture-fe6c932e.cjs.js.map +1 -0
  13. package/dist/index.cjs.js +1 -1
  14. package/dist/index.esm.js +1 -1
  15. package/dist/index.js +10341 -0
  16. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  17. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  18. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  19. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  20. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  21. package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -1
  22. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  23. package/dist/nile-badge/index.cjs.js +1 -1
  24. package/dist/nile-badge/index.esm.js +1 -1
  25. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  26. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  27. package/dist/nile-badge/nile-badge.esm.js +1 -1
  28. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  29. package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
  30. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  31. package/dist/nile-button/index.cjs.js +1 -1
  32. package/dist/nile-button/index.esm.js +1 -1
  33. package/dist/nile-button/nile-button.cjs.js +1 -1
  34. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  35. package/dist/nile-button/nile-button.esm.js +1 -1
  36. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  37. package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
  38. package/dist/nile-button/nile-button.test.esm.js +1 -1
  39. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  40. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  41. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  42. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  43. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  44. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  45. package/dist/nile-calendar/nile-calendar.css.esm.js +29 -168
  46. package/dist/nile-calendar/nile-calendar.esm.js +37 -124
  47. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  48. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  49. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  50. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  51. package/dist/nile-card/nile-card.test.esm.js +1 -1
  52. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  53. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  54. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  55. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  56. package/dist/nile-chip/nile-chip.esm.js +1 -0
  57. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  58. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  59. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  60. package/dist/nile-code-editor/extensionSetup.cjs.js +5 -5
  61. package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
  62. package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
  63. package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
  64. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  65. package/dist/nile-code-editor/nile-code-editor.esm.js +3 -3
  66. package/dist/nile-code-editor/theme.cjs.js +1 -1
  67. package/dist/nile-code-editor/theme.cjs.js.map +1 -1
  68. package/dist/nile-code-editor/theme.esm.js +1 -1
  69. package/dist/nile-dialog/index.cjs.js +1 -1
  70. package/dist/nile-dialog/index.esm.js +1 -1
  71. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  72. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  73. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  74. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  75. package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
  76. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  77. package/dist/nile-drawer/index.cjs.js +1 -1
  78. package/dist/nile-drawer/index.esm.js +1 -1
  79. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  80. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  81. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  82. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  83. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
  84. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  85. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  86. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  87. package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
  88. package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
  89. package/dist/nile-empty-state/nile-empty-state.esm.js +13 -13
  90. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  91. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  92. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  93. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  94. package/dist/nile-error-notification/nile-error-notification.cjs.js +1 -1
  95. package/dist/nile-error-notification/nile-error-notification.cjs.js.map +1 -1
  96. package/dist/nile-error-notification/nile-error-notification.esm.js +4 -2
  97. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  98. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  99. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  100. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  101. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  102. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  103. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  104. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  105. package/dist/nile-icon/icons/svg/attribute.cjs.js +2 -0
  106. package/dist/nile-icon/icons/svg/attribute.cjs.js.map +1 -0
  107. package/dist/nile-icon/icons/svg/attribute.esm.js +1 -0
  108. package/dist/nile-icon/icons/svg/class.cjs.js +2 -0
  109. package/dist/nile-icon/icons/svg/class.cjs.js.map +1 -0
  110. package/dist/nile-icon/icons/svg/class.esm.js +1 -0
  111. package/dist/nile-icon/icons/svg/column-add.cjs.js +2 -0
  112. package/dist/nile-icon/icons/svg/column-add.cjs.js.map +1 -0
  113. package/dist/nile-icon/icons/svg/column-add.esm.js +1 -0
  114. package/dist/nile-icon/icons/svg/function.cjs.js +2 -0
  115. package/dist/nile-icon/icons/svg/function.cjs.js.map +1 -0
  116. package/dist/nile-icon/icons/svg/function.esm.js +1 -0
  117. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  118. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  119. package/dist/nile-icon/icons/svg/keyword.cjs.js +2 -0
  120. package/dist/nile-icon/icons/svg/keyword.cjs.js.map +1 -0
  121. package/dist/nile-icon/icons/svg/keyword.esm.js +1 -0
  122. package/dist/nile-icon/index.cjs.js +1 -1
  123. package/dist/nile-icon/index.cjs.js.map +1 -1
  124. package/dist/nile-icon/index.esm.js +1 -1
  125. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  126. package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
  127. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  128. package/dist/nile-icon-button/index.cjs.js +1 -1
  129. package/dist/nile-icon-button/index.esm.js +1 -1
  130. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  131. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  132. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  133. package/dist/nile-input/index.cjs.js +1 -1
  134. package/dist/nile-input/index.esm.js +1 -1
  135. package/dist/nile-input/nile-input.cjs.js +1 -1
  136. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  137. package/dist/nile-input/nile-input.esm.js +1 -1
  138. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  139. package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
  140. package/dist/nile-input/nile-input.test.esm.js +1 -1
  141. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  142. package/dist/nile-link/nile-link.test.esm.js +1 -1
  143. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  144. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  145. package/dist/nile-menu-item/index.cjs.js +1 -1
  146. package/dist/nile-menu-item/index.esm.js +1 -1
  147. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  148. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  149. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  150. package/dist/nile-option/index.cjs.js +1 -1
  151. package/dist/nile-option/index.esm.js +1 -1
  152. package/dist/nile-option/nile-option.cjs.js +1 -1
  153. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  154. package/dist/nile-option/nile-option.esm.js +1 -1
  155. package/dist/nile-pagination/nile-pagination.cjs.js +1 -1
  156. package/dist/nile-pagination/nile-pagination.cjs.js.map +1 -1
  157. package/dist/nile-pagination/nile-pagination.css.cjs.js +1 -1
  158. package/dist/nile-pagination/nile-pagination.css.cjs.js.map +1 -1
  159. package/dist/nile-pagination/nile-pagination.css.esm.js +152 -39
  160. package/dist/nile-pagination/nile-pagination.esm.js +118 -29
  161. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  162. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  163. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  164. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  165. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  166. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  167. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  168. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  169. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  170. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  171. package/dist/nile-select/index.cjs.js +1 -1
  172. package/dist/nile-select/index.esm.js +1 -1
  173. package/dist/nile-select/nile-select.cjs.js +1 -1
  174. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  175. package/dist/nile-select/nile-select.esm.js +1 -1
  176. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  177. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  178. package/dist/nile-select/nile-select.test.esm.js +1 -1
  179. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  180. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  181. package/dist/nile-tab/index.cjs.js +1 -1
  182. package/dist/nile-tab/index.esm.js +1 -1
  183. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  184. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  185. package/dist/nile-tab/nile-tab.esm.js +1 -1
  186. package/dist/nile-tab-group/index.cjs.js +1 -1
  187. package/dist/nile-tab-group/index.esm.js +1 -1
  188. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  189. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  190. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  191. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  192. package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
  193. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  194. package/dist/nile-tag/index.cjs.js +1 -1
  195. package/dist/nile-tag/index.esm.js +1 -1
  196. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  197. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  198. package/dist/nile-tag/nile-tag.esm.js +1 -1
  199. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  200. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  201. package/dist/nile-toast/index.cjs.js +1 -1
  202. package/dist/nile-toast/index.esm.js +1 -1
  203. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  204. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  205. package/dist/nile-toast/nile-toast.esm.js +1 -1
  206. package/dist/nile-tree/index.cjs.js +1 -1
  207. package/dist/nile-tree/index.esm.js +1 -1
  208. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  209. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  210. package/dist/nile-tree/nile-tree.esm.js +1 -1
  211. package/dist/nile-tree-item/index.cjs.js +1 -1
  212. package/dist/nile-tree-item/index.esm.js +1 -1
  213. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  214. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  215. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  216. package/dist/src/nile-calendar/nile-calendar.css.js +27 -166
  217. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  218. package/dist/src/nile-calendar/nile-calendar.d.ts +0 -8
  219. package/dist/src/nile-calendar/nile-calendar.js +34 -173
  220. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  221. package/dist/src/nile-chip/nile-chip.js +1 -0
  222. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  223. package/dist/src/nile-code-editor/nile-code-editor.d.ts +2 -0
  224. package/dist/src/nile-code-editor/nile-code-editor.js +48 -6
  225. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  226. package/dist/src/nile-code-editor/theme.d.ts +110 -0
  227. package/dist/src/nile-code-editor/theme.js +110 -0
  228. package/dist/src/nile-code-editor/theme.js.map +1 -1
  229. package/dist/src/nile-empty-state/nile-empty-state.js +11 -11
  230. package/dist/src/nile-empty-state/nile-empty-state.js.map +1 -1
  231. package/dist/src/nile-error-notification/nile-error-notification.js +4 -2
  232. package/dist/src/nile-error-notification/nile-error-notification.js.map +1 -1
  233. package/dist/src/nile-file-preview/nile-file-preview.css.js +162 -151
  234. package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -1
  235. package/dist/src/nile-file-preview/nile-file-preview.d.ts +0 -1
  236. package/dist/src/nile-file-preview/nile-file-preview.js +2 -6
  237. package/dist/src/nile-file-preview/nile-file-preview.js.map +1 -1
  238. package/dist/src/nile-file-preview/nile-file-preview.template.js +29 -24
  239. package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -1
  240. package/dist/src/nile-file-preview/types/nile-file-preview.enums.d.ts +2 -2
  241. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js +1 -1
  242. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js.map +1 -1
  243. package/dist/src/nile-file-preview/utils/nile-file-preview.util.d.ts +0 -4
  244. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js +0 -22
  245. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js.map +1 -1
  246. package/dist/src/nile-file-upload/nile-file-upload.css.js +78 -82
  247. package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -1
  248. package/dist/src/nile-file-upload/nile-file-upload.d.ts +1 -2
  249. package/dist/src/nile-file-upload/nile-file-upload.js +20 -21
  250. package/dist/src/nile-file-upload/nile-file-upload.js.map +1 -1
  251. package/dist/src/nile-file-upload/nile-file-upload.template.d.ts +5 -4
  252. package/dist/src/nile-file-upload/nile-file-upload.template.js +78 -30
  253. package/dist/src/nile-file-upload/nile-file-upload.template.js.map +1 -1
  254. package/dist/src/nile-file-upload/types/file-upload.enums.d.ts +5 -9
  255. package/dist/src/nile-file-upload/types/file-upload.enums.js +3 -7
  256. package/dist/src/nile-file-upload/types/file-upload.enums.js.map +1 -1
  257. package/dist/src/nile-file-upload/utils/drag-drop.util.d.ts +4 -2
  258. package/dist/src/nile-file-upload/utils/drag-drop.util.js +21 -18
  259. package/dist/src/nile-file-upload/utils/drag-drop.util.js.map +1 -1
  260. package/dist/src/nile-file-upload/utils/file-validation.util.d.ts +1 -3
  261. package/dist/src/nile-file-upload/utils/file-validation.util.js +18 -52
  262. package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
  263. package/dist/src/nile-icon/icons/svg/index.d.ts +5 -0
  264. package/dist/src/nile-icon/icons/svg/index.js +5 -0
  265. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  266. package/dist/src/nile-pagination/nile-pagination.css.js +151 -38
  267. package/dist/src/nile-pagination/nile-pagination.css.js.map +1 -1
  268. package/dist/src/nile-pagination/nile-pagination.d.ts +3 -0
  269. package/dist/src/nile-pagination/nile-pagination.js +167 -40
  270. package/dist/src/nile-pagination/nile-pagination.js.map +1 -1
  271. package/dist/src/nile-select/nile-select.d.ts +4 -0
  272. package/dist/src/nile-select/nile-select.js +31 -1
  273. package/dist/src/nile-select/nile-select.js.map +1 -1
  274. package/dist/src/nile-slider/nile-slider.css.d.ts +8 -2
  275. package/dist/src/nile-slider/nile-slider.css.js +13 -21
  276. package/dist/src/nile-slider/nile-slider.css.js.map +1 -1
  277. package/dist/src/nile-slider/nile-slider.d.ts +2 -3
  278. package/dist/src/nile-slider/nile-slider.js +24 -60
  279. package/dist/src/nile-slider/nile-slider.js.map +1 -1
  280. package/dist/src/nile-slider/nile-slider.template.js +4 -33
  281. package/dist/src/nile-slider/nile-slider.template.js.map +1 -1
  282. package/dist/src/nile-slider/types/nile-slider.enums.js.map +1 -1
  283. package/dist/src/nile-slider/utils/nile-slider.utils.js +13 -26
  284. package/dist/src/nile-slider/utils/nile-slider.utils.js.map +1 -1
  285. package/dist/tsconfig.tsbuildinfo +1 -1
  286. package/package.json +1 -1
  287. package/rollup.config.js +27 -39
  288. package/src/nile-calendar/nile-calendar.css.ts +27 -166
  289. package/src/nile-calendar/nile-calendar.ts +41 -191
  290. package/src/nile-chip/nile-chip.ts +1 -0
  291. package/src/nile-code-editor/nile-code-editor.ts +55 -6
  292. package/src/nile-code-editor/theme.ts +111 -0
  293. package/src/nile-empty-state/nile-empty-state.ts +11 -11
  294. package/src/nile-error-notification/nile-error-notification.ts +4 -3
  295. package/src/nile-icon/icons/svg/attribute.ts +5 -0
  296. package/src/nile-icon/icons/svg/class.ts +5 -0
  297. package/src/nile-icon/icons/svg/column-add.ts +5 -0
  298. package/src/nile-icon/icons/svg/function.ts +5 -0
  299. package/src/nile-icon/icons/svg/index.ts +5 -0
  300. package/src/nile-icon/icons/svg/keyword.ts +5 -0
  301. package/src/nile-pagination/nile-pagination.css.ts +151 -38
  302. package/src/nile-pagination/nile-pagination.ts +188 -46
  303. package/src/nile-select/nile-select.ts +37 -1
  304. package/vscode-html-custom-data.json +19 -24
  305. package/demo/filenames.txt +0 -1
  306. package/demo/filenames.txt +0 -1
  307. package/dist/fixture-cb376a7f.cjs.js.map +0 -1
  308. package/dist/lit-html-39a6718c.esm.js +0 -6
  309. package/dist/lit-html-9b3af046.cjs.js +0 -6
  310. package/dist/lit-html-9b3af046.cjs.js.map +0 -1
  311. package/dist/nile-file-preview/index.cjs.js +0 -2
  312. package/dist/nile-file-preview/index.cjs.js.map +0 -1
  313. package/dist/nile-file-preview/index.esm.js +0 -1
  314. package/dist/nile-file-preview/nile-file-preview.cjs.js +0 -2
  315. package/dist/nile-file-preview/nile-file-preview.cjs.js.map +0 -1
  316. package/dist/nile-file-preview/nile-file-preview.css.cjs.js +0 -2
  317. package/dist/nile-file-preview/nile-file-preview.css.cjs.js.map +0 -1
  318. package/dist/nile-file-preview/nile-file-preview.css.esm.js +0 -545
  319. package/dist/nile-file-preview/nile-file-preview.esm.js +0 -3
  320. package/dist/nile-file-preview/nile-file-preview.template.cjs.js +0 -2
  321. package/dist/nile-file-preview/nile-file-preview.template.cjs.js.map +0 -1
  322. package/dist/nile-file-preview/nile-file-preview.template.esm.js +0 -173
  323. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +0 -2
  324. package/dist/nile-file-preview/nile-file-preview.test.cjs.js.map +0 -1
  325. package/dist/nile-file-preview/nile-file-preview.test.esm.js +0 -1
  326. package/dist/nile-file-preview/types/index.cjs.js +0 -2
  327. package/dist/nile-file-preview/types/index.cjs.js.map +0 -1
  328. package/dist/nile-file-preview/types/index.esm.js +0 -1
  329. package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js +0 -2
  330. package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js.map +0 -1
  331. package/dist/nile-file-preview/types/nile-file-preview.enums.esm.js +0 -1
  332. package/dist/nile-file-preview/types/nile-file-preview.interface.cjs.js +0 -2
  333. package/dist/nile-file-preview/types/nile-file-preview.interface.cjs.js.map +0 -1
  334. package/dist/nile-file-preview/types/nile-file-preview.interface.esm.js +0 -1
  335. package/dist/nile-file-preview/utils/index.cjs.js +0 -2
  336. package/dist/nile-file-preview/utils/index.cjs.js.map +0 -1
  337. package/dist/nile-file-preview/utils/index.esm.js +0 -1
  338. package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js +0 -2
  339. package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js.map +0 -1
  340. package/dist/nile-file-preview/utils/nile-file-preview.util.esm.js +0 -1
  341. package/dist/nile-file-upload/index.cjs.js +0 -2
  342. package/dist/nile-file-upload/index.cjs.js.map +0 -1
  343. package/dist/nile-file-upload/index.esm.js +0 -1
  344. package/dist/nile-file-upload/nile-file-upload.cjs.js +0 -2
  345. package/dist/nile-file-upload/nile-file-upload.cjs.js.map +0 -1
  346. package/dist/nile-file-upload/nile-file-upload.css.cjs.js +0 -2
  347. package/dist/nile-file-upload/nile-file-upload.css.cjs.js.map +0 -1
  348. package/dist/nile-file-upload/nile-file-upload.css.esm.js +0 -559
  349. package/dist/nile-file-upload/nile-file-upload.esm.js +0 -3
  350. package/dist/nile-file-upload/nile-file-upload.template.cjs.js +0 -10
  351. package/dist/nile-file-upload/nile-file-upload.template.cjs.js.map +0 -1
  352. package/dist/nile-file-upload/nile-file-upload.template.esm.js +0 -111
  353. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +0 -2
  354. package/dist/nile-file-upload/nile-file-upload.test.cjs.js.map +0 -1
  355. package/dist/nile-file-upload/nile-file-upload.test.esm.js +0 -1
  356. package/dist/nile-file-upload/types/file-upload.enums.cjs.js +0 -2
  357. package/dist/nile-file-upload/types/file-upload.enums.cjs.js.map +0 -1
  358. package/dist/nile-file-upload/types/file-upload.enums.esm.js +0 -1
  359. package/dist/nile-file-upload/types/file-upload.type.cjs.js +0 -2
  360. package/dist/nile-file-upload/types/file-upload.type.cjs.js.map +0 -1
  361. package/dist/nile-file-upload/types/file-upload.type.esm.js +0 -1
  362. package/dist/nile-file-upload/types/index.cjs.js +0 -2
  363. package/dist/nile-file-upload/types/index.cjs.js.map +0 -1
  364. package/dist/nile-file-upload/types/index.esm.js +0 -1
  365. package/dist/nile-file-upload/utils/drag-drop.util.cjs.js +0 -2
  366. package/dist/nile-file-upload/utils/drag-drop.util.cjs.js.map +0 -1
  367. package/dist/nile-file-upload/utils/drag-drop.util.esm.js +0 -1
  368. package/dist/nile-file-upload/utils/file-validation.util.cjs.js +0 -3
  369. package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +0 -1
  370. package/dist/nile-file-upload/utils/file-validation.util.esm.js +0 -1
  371. package/dist/nile-slider/index.cjs.js +0 -2
  372. package/dist/nile-slider/index.cjs.js.map +0 -1
  373. package/dist/nile-slider/index.esm.js +0 -1
  374. package/dist/nile-slider/nile-slider.cjs.js +0 -2
  375. package/dist/nile-slider/nile-slider.cjs.js.map +0 -1
  376. package/dist/nile-slider/nile-slider.css.cjs.js +0 -2
  377. package/dist/nile-slider/nile-slider.css.cjs.js.map +0 -1
  378. package/dist/nile-slider/nile-slider.css.esm.js +0 -106
  379. package/dist/nile-slider/nile-slider.esm.js +0 -27
  380. package/dist/nile-slider/nile-slider.template.cjs.js +0 -2
  381. package/dist/nile-slider/nile-slider.template.cjs.js.map +0 -1
  382. package/dist/nile-slider/nile-slider.template.esm.js +0 -59
  383. package/dist/nile-slider/types/nile-slider.enums.cjs.js +0 -2
  384. package/dist/nile-slider/types/nile-slider.enums.cjs.js.map +0 -1
  385. package/dist/nile-slider/types/nile-slider.enums.esm.js +0 -1
  386. package/dist/nile-slider/types/nile-slider.types.cjs.js +0 -2
  387. package/dist/nile-slider/types/nile-slider.types.cjs.js.map +0 -1
  388. package/dist/nile-slider/types/nile-slider.types.esm.js +0 -1
  389. package/dist/nile-slider/utils/nile-slider.utils.cjs.js +0 -2
  390. package/dist/nile-slider/utils/nile-slider.utils.cjs.js.map +0 -1
  391. package/dist/nile-slider/utils/nile-slider.utils.esm.js +0 -1
  392. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.d.ts +0 -5
  393. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js +0 -5
  394. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js.map +0 -1
@@ -11,7 +11,7 @@ import { classMap } from 'lit/directives/class-map.js';
11
11
  import { html } from 'lit';
12
12
  import { customElement, property } from 'lit/decorators.js';
13
13
  import { rangeSlider, singleSlider, lableContaier } from './nile-slider.template';
14
- import { handleSingleSlider, handleRangeOne, handleRangeTwo, getHtmlElements, removeMoveListeners, valueToPercent, handleTwoThumbClick, addMoveListeners } from './utils/nile-slider.utils';
14
+ import { handleSingleSlider, handleRangeOne, handleRangeTwo, getHtmlElements, removeMoveListeners, valueToPercent, handleTwoThumbClick } from './utils/nile-slider.utils';
15
15
  /**
16
16
  * Nile slider component.
17
17
  *
@@ -20,9 +20,9 @@ import { handleSingleSlider, handleRangeOne, handleRangeTwo, getHtmlElements, re
20
20
  let NileSlider = class NileSlider extends NileElement {
21
21
  constructor() {
22
22
  super(...arguments);
23
+ this.value = 0;
23
24
  this.minValue = 0;
24
- this.value = this.minValue;
25
- this.maxValue = 100;
25
+ this.maxValue = 0;
26
26
  this.rangeOneValue = this.minValue;
27
27
  this.rangeTwoValue = this.maxValue;
28
28
  this.showLabel = false;
@@ -64,22 +64,16 @@ let NileSlider = class NileSlider extends NileElement {
64
64
  this.activeThumb = null;
65
65
  removeMoveListeners(this);
66
66
  };
67
- this.onMouseDown = (e) => {
67
+ this.onMouseClick = (e) => {
68
68
  const rect = this.range.getBoundingClientRect();
69
69
  const clickX = e.clientX - rect.left;
70
70
  const percent = (clickX / rect.width) * 100;
71
71
  const value = this.minValue + (percent / 100) * (this.maxValue - this.minValue);
72
72
  if (!this.rangeSlider) {
73
73
  handleSingleSlider(e, rect, this);
74
- this.activeThumb = 'one';
75
- addMoveListeners(this);
76
74
  }
77
75
  else {
78
76
  handleTwoThumbClick(value, this);
79
- const distToOne = Math.abs(value - this.rangeOneValue);
80
- const distToTwo = Math.abs(value - this.rangeTwoValue);
81
- this.activeThumb = distToOne <= distToTwo ? 'one' : 'two';
82
- addMoveListeners(this);
83
77
  }
84
78
  };
85
79
  }
@@ -89,9 +83,6 @@ let NileSlider = class NileSlider extends NileElement {
89
83
  connectedCallback() {
90
84
  super.connectedCallback();
91
85
  this.emit("nile-init" /* NileSliderEvents.NILE_INIT */);
92
- if (this.rangeSlider) {
93
- this.checkRangeValidity();
94
- }
95
86
  }
96
87
  firstUpdated(changedProps) {
97
88
  getHtmlElements(this);
@@ -101,7 +92,9 @@ let NileSlider = class NileSlider extends NileElement {
101
92
  this.buttonOne.style.left = `${percent}%`;
102
93
  this.completed.style.width = `${percent}%`;
103
94
  }
104
- else if (this.rangeSlider) {
95
+ else if (this.rangeSlider && changedProps.has('rangeOneValue') || changedProps.has('rangeTwoValue')) {
96
+ this.rangeOneValue = this.checkValueValidity(this.rangeOneValue, this.minValue, this.maxValue);
97
+ this.rangeTwoValue = this.checkValueValidity(this.rangeTwoValue, this.minValue, this.maxValue);
105
98
  const percentOne = valueToPercent(this.rangeOneValue, this);
106
99
  const percentTwo = valueToPercent(this.rangeTwoValue, this);
107
100
  if (this.buttonOne)
@@ -115,58 +108,29 @@ let NileSlider = class NileSlider extends NileElement {
115
108
  }
116
109
  }
117
110
  checkValueValidity(value, min, max) {
118
- if (max - min <= 1) {
119
- return Math.max(min, Math.min(value, max));
120
- }
121
- return Math.floor(Math.max(min, Math.min(value, max)));
122
- }
123
- checkRangeValidity() {
124
- if (this.rangeTwoValue > this.maxValue) {
125
- this.rangeTwoValue = this.maxValue;
126
- }
127
- else if (this.rangeTwoValue < this.rangeOneValue) {
128
- this.rangeTwoValue = this.rangeOneValue;
129
- }
130
- if (this.rangeOneValue < this.minValue) {
131
- this.rangeOneValue = this.minValue;
132
- }
133
- else if (this.rangeOneValue > this.rangeTwoValue) {
134
- this.rangeOneValue = this.rangeTwoValue;
135
- }
111
+ return Math.max(min, Math.min(value, max));
136
112
  }
137
113
  render() {
138
- const hasLabels = this.showLabel;
139
- const ariaLabelledby = hasLabels ? 'label-start label-end' : undefined;
140
114
  return html `
141
- <div
142
- part="base"
143
- class=${classMap({
144
- 'container': true,
145
- 'align-item-center': !hasLabels
146
- })}
147
- >
115
+ <div part="base" class=${classMap({
116
+ container: true,
117
+ 'align-item-center': !this.showLabel
118
+ })}>
148
119
  <slot class="span" name="prefix"></slot>
149
-
150
- <div
151
- part="range-container"
152
- class=${classMap({
120
+ <div part="range-container" class=${classMap({
153
121
  'range-container': true,
154
- 'column-reverse': this.labelPosition === 'bottom'
155
- })}
156
- >
157
- ${hasLabels ? lableContaier(this) : html ``}
158
-
159
- <div
160
- class="range"
161
- part="range"
162
- role="group"
163
- aria-labelledby=${ariaLabelledby}
164
- >
122
+ 'column-reverse': this.labelPosition === "bottom"
123
+ })}>
124
+ ${this.showLabel
125
+ ? lableContaier(this)
126
+ : html ``}
127
+ <div class="range" part="range">
165
128
  <span class="range-completed" part="range-completed"></span>
166
- ${this.rangeSlider ? rangeSlider(this) : singleSlider(this)}
129
+ ${this.rangeSlider
130
+ ? rangeSlider(this)
131
+ : singleSlider(this)}
167
132
  </div>
168
133
  </div>
169
-
170
134
  <slot class="span" name="suffix"></slot>
171
135
  </div>
172
136
  `;
@@ -178,10 +142,10 @@ let NileSlider = class NileSlider extends NileElement {
178
142
  };
179
143
  __decorate([
180
144
  property({ type: Number })
181
- ], NileSlider.prototype, "minValue", void 0);
145
+ ], NileSlider.prototype, "value", void 0);
182
146
  __decorate([
183
147
  property({ type: Number })
184
- ], NileSlider.prototype, "value", void 0);
148
+ ], NileSlider.prototype, "minValue", void 0);
185
149
  __decorate([
186
150
  property({ type: Number })
187
151
  ], NileSlider.prototype, "maxValue", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-slider.js","sourceRoot":"","sources":["../../../src/nile-slider/nile-slider.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { styles } from './nile-slider.css';\nimport NileElement from '../internal/nile-element';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { TooltipPosition } from './types/nile-slider.types';\nimport { NileSliderEvents } from './types/nile-slider.enums';\nimport { rangeSlider, singleSlider, lableContaier } from './nile-slider.template';\nimport { \n handleSingleSlider, \n handleRangeOne, \n handleRangeTwo, \n getHtmlElements, \n removeMoveListeners,\n valueToPercent,\n handleTwoThumbClick,\n addMoveListeners\n} from './utils/nile-slider.utils'\n\n/** \n * Nile slider component.\n *\n * @tag nile-slider\n */\n@customElement('nile-slider')\nexport class NileSlider extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({ type: Number }) minValue: number = 0;\n @property({ type: Number }) value: number = this.minValue;\n @property({ type: Number }) maxValue: number = 100;\n @property({ type: Number }) rangeOneValue: number = this.minValue;\n @property({ type: Number }) rangeTwoValue: number = this.maxValue;\n @property({ type: Boolean}) showLabel: boolean = false;\n @property({ type: String }) labelStart: string = \"\";\n @property({ type: String }) labelEnd: string = \"\";\n @property({ type: Boolean}) rangeSlider: boolean = false;\n @property({ type: String }) labelPosition: string = \"top\";\n @property({ type: String }) tooltipPosition: TooltipPosition = \"top\";\n\n public buttonOne!: HTMLElement;\n public buttonTwo!: HTMLElement;\n public range!: HTMLElement;\n public completed!: HTMLElement;\n public activeThumb: 'one' | 'two' | null = null;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.emit(NileSliderEvents.NILE_INIT); \n\n if(this.rangeSlider) {\n this.checkRangeValidity();\n }\n }\n\n firstUpdated(changedProps: Map<string, any>): void {\n getHtmlElements(this);\n\n if (!this.rangeSlider && changedProps.has('value')) {\n this.value = this.checkValueValidity(this.value, this.minValue, this.maxValue);\n const percent = valueToPercent(this.value, this);\n \n this.buttonOne.style.left = `${percent}%`;\n this.completed.style.width = `${percent}%`;\n } else if (this.rangeSlider) {\n \n const percentOne = valueToPercent(this.rangeOneValue, this);\n const percentTwo = valueToPercent(this.rangeTwoValue, this);\n \n if (this.buttonOne) this.buttonOne.style.left = `${percentOne}%`;\n if (this.buttonTwo) this.buttonTwo.style.left = `${percentTwo}%`;\n \n const left = Math.min(percentOne, percentTwo);\n const width = Math.abs(percentTwo - percentOne);\n \n this.completed.style.left = `${left}%`;\n this.completed.style.width = `${width}%`;\n }\n }\n\n checkValueValidity(value: number, min: number, max: number): number {\n if(max - min <= 1) { \n return Math.max(min, Math.min(value, max));\n }\n return Math.floor(Math.max(min, Math.min(value, max)));\n }\n\n checkRangeValidity(): void {\n if(this.rangeTwoValue > this.maxValue) {\n this.rangeTwoValue = this.maxValue;\n } else if(this.rangeTwoValue < this.rangeOneValue) {\n this.rangeTwoValue = this.rangeOneValue;\n }\n\n if(this.rangeOneValue < this.minValue) {\n this.rangeOneValue = this.minValue;\n } else if(this.rangeOneValue > this.rangeTwoValue) {\n this.rangeOneValue = this.rangeTwoValue;\n }\n } \n\n public onMouseMove = (e: MouseEvent): void => {\n const rect = this.range.getBoundingClientRect();\n\n if (!this.rangeSlider) {\n handleSingleSlider(e, rect, this);\n } else {\n if (this.activeThumb === 'one') {\n handleRangeOne(e, rect, this);\n } else if (this.activeThumb === 'two') {\n handleRangeTwo(e, rect, this);\n }\n\n const start = valueToPercent(this.rangeOneValue, this);\n const end = valueToPercent(this.rangeTwoValue, this);\n const left = Math.min(start, end);\n const width = Math.abs(end - start);\n\n if(this.rangeTwoValue >= this.rangeOneValue) {\n this.completed.style.left = `${left}%`;\n this.completed.style.width = `${width}%`;\n }\n }\n };\n\n public onMouseUp = (): void => {\n if(!this.rangeSlider) this.emit(NileSliderEvents.NILE_CHANGE_END, { value: this.value });\n else {\n this.emit(NileSliderEvents.NILE_BUTTON_FIRST_CHANGE_END, { value: this.rangeOneValue });\n this.emit(NileSliderEvents.NILE_BUTTON_LAST_CHANGE_END, { value: this.rangeTwoValue });\n }\n this.activeThumb = null;\n removeMoveListeners(this);\n };\n\n public onMouseDown = (e: MouseEvent): void => {\n const rect = this.range.getBoundingClientRect();\n const clickX = e.clientX - rect.left;\n const percent = (clickX / rect.width) * 100;\n const value = this.minValue + (percent / 100) * (this.maxValue - this.minValue);\n \n if (!this.rangeSlider) {\n handleSingleSlider(e, rect, this);\n this.activeThumb = 'one';\n addMoveListeners(this);\n } else {\n handleTwoThumbClick(value, this);\n const distToOne = Math.abs(value - this.rangeOneValue);\n const distToTwo = Math.abs(value - this.rangeTwoValue);\n this.activeThumb = distToOne <= distToTwo ? 'one' : 'two';\n addMoveListeners(this);\n }\n };\n\n public render(): TemplateResult {\n const hasLabels = this.showLabel;\n const ariaLabelledby = hasLabels ? 'label-start label-end' : undefined;\n \n return html`\n <div\n part=\"base\"\n class=${classMap({\n 'container': true,\n 'align-item-center': !hasLabels\n })}\n >\n <slot class=\"span\" name=\"prefix\"></slot>\n \n <div\n part=\"range-container\"\n class=${classMap({\n 'range-container': true,\n 'column-reverse': this.labelPosition === 'bottom'\n })}\n >\n ${hasLabels ? lableContaier(this) : html``}\n \n <div\n class=\"range\"\n part=\"range\"\n role=\"group\"\n aria-labelledby=${ariaLabelledby}\n >\n <span class=\"range-completed\" part=\"range-completed\"></span>\n ${this.rangeSlider ? rangeSlider(this) : singleSlider(this)}\n </div>\n </div>\n \n <slot class=\"span\" name=\"suffix\"></slot>\n </div>\n `;\n } \n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.emit(NileSliderEvents.NILE_DESTROY);\n }\n}\n\nexport default NileSlider;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-slider': NileSlider;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-slider.js","sourceRoot":"","sources":["../../../src/nile-slider/nile-slider.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { styles } from './nile-slider.css';\nimport NileElement from '../internal/nile-element';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { TooltipPosition } from './types/nile-slider.types';\nimport { NileSliderEvents } from './types/nile-slider.enums';\nimport { rangeSlider, singleSlider, lableContaier } from './nile-slider.template';\nimport { \n handleSingleSlider, \n handleRangeOne, \n handleRangeTwo, \n getHtmlElements, \n removeMoveListeners,\n valueToPercent,\n handleTwoThumbClick\n} from './utils/nile-slider.utils'\n\n/** \n * Nile slider component.\n *\n * @tag nile-slider\n */\n@customElement('nile-slider')\nexport class NileSlider extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({ type: Number }) value: number = 0;\n @property({ type: Number }) minValue: number = 0;\n @property({ type: Number }) maxValue: number = 0;\n @property({ type: Number }) rangeOneValue: number = this.minValue;\n @property({ type: Number }) rangeTwoValue: number = this.maxValue;\n @property({ type: Boolean}) showLabel: boolean = false;\n @property({ type: String }) labelStart: string = \"\";\n @property({ type: String }) labelEnd: string = \"\";\n @property({ type: Boolean}) rangeSlider: boolean = false;\n @property({ type: String }) labelPosition: string = \"top\";\n @property({ type: String }) tooltipPosition: TooltipPosition = \"top\";\n\n public buttonOne!: HTMLElement;\n public buttonTwo!: HTMLElement;\n public range!: HTMLElement;\n public completed!: HTMLElement;\n public activeThumb: 'one' | 'two' | null = null;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.emit(NileSliderEvents.NILE_INIT); \n }\n\n firstUpdated(changedProps: Map<string, any>): void {\n getHtmlElements(this);\n\n if (!this.rangeSlider && changedProps.has('value')) {\n this.value = this.checkValueValidity(this.value, this.minValue, this.maxValue);\n const percent = valueToPercent(this.value, this);\n\n this.buttonOne.style.left = `${percent}%`;\n this.completed.style.width = `${percent}%`;\n } else if (this.rangeSlider && changedProps.has('rangeOneValue') || changedProps.has('rangeTwoValue')) {\n this.rangeOneValue = this.checkValueValidity(this.rangeOneValue, this.minValue, this.maxValue);\n this.rangeTwoValue = this.checkValueValidity(this.rangeTwoValue, this.minValue, this.maxValue);\n\n const percentOne = valueToPercent(this.rangeOneValue, this);\n const percentTwo = valueToPercent(this.rangeTwoValue, this);\n\n if (this.buttonOne) this.buttonOne.style.left = `${percentOne}%`;\n if (this.buttonTwo) this.buttonTwo.style.left = `${percentTwo}%`;\n\n const left = Math.min(percentOne, percentTwo);\n const width = Math.abs(percentTwo - percentOne);\n\n this.completed.style.left = `${left}%`;\n this.completed.style.width = `${width}%`;\n }\n }\n\n checkValueValidity(value: number, min: number, max: number): number {\n return Math.max(min, Math.min(value, max));\n }\n\n public onMouseMove = (e: MouseEvent): void => {\n const rect = this.range.getBoundingClientRect();\n\n if (!this.rangeSlider) {\n handleSingleSlider(e, rect, this);\n } else {\n if (this.activeThumb === 'one') {\n handleRangeOne(e, rect, this);\n } else if (this.activeThumb === 'two') {\n handleRangeTwo(e, rect, this);\n }\n\n const start = valueToPercent(this.rangeOneValue, this);\n const end = valueToPercent(this.rangeTwoValue, this);\n const left = Math.min(start, end);\n const width = Math.abs(end - start);\n\n if(this.rangeTwoValue >= this.rangeOneValue) {\n this.completed.style.left = `${left}%`;\n this.completed.style.width = `${width}%`;\n }\n }\n };\n\n public onMouseUp = (): void => {\n if(!this.rangeSlider) this.emit(NileSliderEvents.NILE_CHANGE_END, { value: this.value });\n else {\n this.emit(NileSliderEvents.NILE_BUTTON_FIRST_CHANGE_END, { value: this.rangeOneValue });\n this.emit(NileSliderEvents.NILE_BUTTON_LAST_CHANGE_END, { value: this.rangeTwoValue });\n }\n this.activeThumb = null;\n removeMoveListeners(this);\n };\n\n public onMouseClick = (e: MouseEvent): void => {\n const rect = this.range.getBoundingClientRect();\n const clickX = e.clientX - rect.left;\n const percent = (clickX / rect.width) * 100;\n const value = this.minValue + (percent / 100) * (this.maxValue - this.minValue);\n \n if (!this.rangeSlider) {\n handleSingleSlider(e, rect, this);\n } else {\n handleTwoThumbClick(value, this);\n }\n };\n \n\n public render(): TemplateResult {\n return html`\n <div part=\"base\" class=${classMap({\n container: true,\n 'align-item-center': !this.showLabel\n })}>\n <slot class=\"span\" name=\"prefix\"></slot>\n <div part=\"range-container\" class=${classMap({\n 'range-container': true,\n 'column-reverse': this.labelPosition === \"bottom\"\n })}>\n ${this.showLabel\n ? lableContaier(this)\n : html``}\n <div class=\"range\" part=\"range\">\n <span class=\"range-completed\" part=\"range-completed\"></span>\n ${this.rangeSlider\n ? rangeSlider(this)\n : singleSlider(this)}\n </div>\n </div>\n <slot class=\"span\" name=\"suffix\"></slot>\n </div>\n `;\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.emit(NileSliderEvents.NILE_DESTROY);\n }\n}\n\nexport default NileSlider;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-slider': NileSlider;\n }\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  import { html } from 'lit';
2
- import { classMap } from 'lit/directives/class-map.js';
3
2
  export const rangeSlider = (nileSlider) => {
4
3
  return html `
5
4
  <div>
@@ -7,17 +6,7 @@ export const rangeSlider = (nileSlider) => {
7
6
  content=${nileSlider.rangeOneValue}
8
7
  placement=${nileSlider.tooltipPosition}
9
8
  >
10
- <div
11
- id="range-one"
12
- class="range-button"
13
- part="range-button"
14
- role="slider"
15
- tabindex="0"
16
- aria-valuemin=${nileSlider.minValue}
17
- aria-valuemax=${nileSlider.maxValue}
18
- aria-valuenow=${nileSlider.rangeOneValue}
19
- aria-label="Minimum value"
20
- ></div>
9
+ <div id="range-one" class="range-button" part="range-button"></div>
21
10
  </nile-tooltip>
22
11
  <nile-tooltip
23
12
  content=${nileSlider.rangeTwoValue}
@@ -27,12 +16,6 @@ export const rangeSlider = (nileSlider) => {
27
16
  id="range-two"
28
17
  class="range-button-two"
29
18
  part="range-button-two"
30
- role="slider"
31
- tabindex="0"
32
- aria-valuemin=${nileSlider.minValue}
33
- aria-valuemax=${nileSlider.maxValue}
34
- aria-valuenow=${nileSlider.rangeTwoValue}
35
- aria-label="Maximum value"
36
19
  ></div>
37
20
  </nile-tooltip>
38
21
  </div>
@@ -45,19 +28,7 @@ export const singleSlider = (nileSlider) => {
45
28
  content=${nileSlider.value}
46
29
  placement=${nileSlider.tooltipPosition}
47
30
  >
48
- <div
49
- class=${classMap({
50
- 'range-button': true,
51
- 'range-button-active': nileSlider.activeThumb === 'one',
52
- })}
53
- part="range-button"
54
- role="slider"
55
- tabindex="0"
56
- aria-valuemin=${nileSlider.minValue}
57
- aria-valuemax=${nileSlider.maxValue}
58
- aria-valuenow=${nileSlider.value}
59
- aria-label=${nileSlider.ariaLabel || "Slider value"}
60
- ></div>
31
+ <div class="range-button" part="range-button"></div>
61
32
  </nile-tooltip>
62
33
  </div>
63
34
  `;
@@ -65,8 +36,8 @@ export const singleSlider = (nileSlider) => {
65
36
  export const lableContaier = (nileSlider) => {
66
37
  return html `
67
38
  <div part="label-container" class="label-container">
68
- <span id="label-start">${nileSlider.labelStart}</span>
69
- <span id="label-end">${nileSlider.labelEnd}</span>
39
+ <span>${nileSlider.labelStart}</span>
40
+ <span>${nileSlider.labelEnd}</span>
70
41
  </div>
71
42
  `;
72
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"nile-slider.template.js","sourceRoot":"","sources":["../../../src/nile-slider/nile-slider.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAsB,EAAkB,EAAE;IACpE,OAAO,IAAI,CAAA;;;kBAGK,UAAU,CAAC,aAAa;oBACtB,UAAU,CAAC,eAAe;;;;;;;;0BAQpB,UAAU,CAAC,QAAQ;0BACnB,UAAU,CAAC,QAAQ;0BACnB,UAAU,CAAC,aAAa;;;;;kBAKhC,UAAU,CAAC,aAAa;oBACtB,UAAU,CAAC,eAAe;;;;;;;;0BAQpB,UAAU,CAAC,QAAQ;0BACnB,UAAU,CAAC,QAAQ;0BACnB,UAAU,CAAC,aAAa;;;;;GAK/C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAsB,EAAkB,EAAE;IACrE,OAAO,IAAI,CAAA;;;kBAGK,UAAU,CAAC,KAAK;oBACd,UAAU,CAAC,eAAe;;;kBAG5B,QAAQ,CAAC;QACf,cAAc,EAAE,IAAI;QACpB,qBAAqB,EAAE,UAAU,CAAC,WAAW,KAAK,KAAK;KACxD,CAAC;;;;0BAIc,UAAU,CAAC,QAAQ;0BACnB,UAAU,CAAC,QAAQ;0BACnB,UAAU,CAAC,KAAK;uBACnB,UAAU,CAAC,SAAS,IAAI,cAAc;;;;GAI1D,CAAC;AACJ,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAsB,EAAkB,EAAE;IACtE,OAAO,IAAI,CAAA;;+BAEkB,UAAU,CAAC,UAAU;6BACvB,UAAU,CAAC,QAAQ;;GAE7C,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { TemplateResult, html } from 'lit';\nimport NileSlider from './nile-slider';\nimport { classMap } from 'lit/directives/class-map.js';\n\nexport const rangeSlider = (nileSlider: NileSlider): TemplateResult => {\n return html`\n <div>\n <nile-tooltip\n content=${nileSlider.rangeOneValue}\n placement=${nileSlider.tooltipPosition}\n >\n <div \n id=\"range-one\" \n class=\"range-button\"\n part=\"range-button\"\n role=\"slider\"\n tabindex=\"0\"\n aria-valuemin=${nileSlider.minValue}\n aria-valuemax=${nileSlider.maxValue}\n aria-valuenow=${nileSlider.rangeOneValue}\n aria-label=\"Minimum value\"\n ></div>\n </nile-tooltip>\n <nile-tooltip\n content=${nileSlider.rangeTwoValue}\n placement=${nileSlider.tooltipPosition}\n >\n <div\n id=\"range-two\"\n class=\"range-button-two\"\n part=\"range-button-two\"\n role=\"slider\"\n tabindex=\"0\"\n aria-valuemin=${nileSlider.minValue}\n aria-valuemax=${nileSlider.maxValue}\n aria-valuenow=${nileSlider.rangeTwoValue}\n aria-label=\"Maximum value\"\n ></div>\n </nile-tooltip>\n </div>\n `;\n};\n\nexport const singleSlider = (nileSlider: NileSlider): TemplateResult => {\n return html`\n <div>\n <nile-tooltip\n content=${nileSlider.value}\n placement=${nileSlider.tooltipPosition}\n >\n <div \n class=${classMap({\n 'range-button': true,\n 'range-button-active': nileSlider.activeThumb === 'one',\n })} \n part=\"range-button\"\n role=\"slider\"\n tabindex=\"0\"\n aria-valuemin=${nileSlider.minValue}\n aria-valuemax=${nileSlider.maxValue}\n aria-valuenow=${nileSlider.value}\n aria-label=${nileSlider.ariaLabel || \"Slider value\"}\n ></div>\n </nile-tooltip>\n </div>\n `;\n};\n\n\nexport const lableContaier = (nileSlider: NileSlider): TemplateResult => {\n return html`\n <div part=\"label-container\" class=\"label-container\">\n <span id=\"label-start\">${nileSlider.labelStart}</span>\n <span id=\"label-end\">${nileSlider.labelEnd}</span>\n </div>\n `;\n};"]}
1
+ {"version":3,"file":"nile-slider.template.js","sourceRoot":"","sources":["../../../src/nile-slider/nile-slider.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAsB,EAAkB,EAAE;IACpE,OAAO,IAAI,CAAA;;;kBAGK,UAAU,CAAC,aAAa;oBACtB,UAAU,CAAC,eAAe;;;;;kBAK5B,UAAU,CAAC,aAAa;oBACtB,UAAU,CAAC,eAAe;;;;;;;;;GAS3C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAsB,EAAkB,EAAE;IACrE,OAAO,IAAI,CAAA;;;kBAGK,UAAU,CAAC,KAAK;oBACd,UAAU,CAAC,eAAe;;;;;GAK3C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAsB,EAAkB,EAAE;IACtE,OAAO,IAAI,CAAA;;cAEC,UAAU,CAAC,UAAU;cACrB,UAAU,CAAC,QAAQ;;GAE9B,CAAC;AACJ,CAAC,CAAA","sourcesContent":["import { TemplateResult, html } from 'lit';\nimport NileSlider from './nile-slider';\n\nexport const rangeSlider = (nileSlider: NileSlider): TemplateResult => {\n return html`\n <div>\n <nile-tooltip\n content=${nileSlider.rangeOneValue}\n placement=${nileSlider.tooltipPosition}\n >\n <div id=\"range-one\" class=\"range-button\" part=\"range-button\"></div>\n </nile-tooltip>\n <nile-tooltip\n content=${nileSlider.rangeTwoValue}\n placement=${nileSlider.tooltipPosition}\n >\n <div\n id=\"range-two\"\n class=\"range-button-two\"\n part=\"range-button-two\"\n ></div>\n </nile-tooltip>\n </div>\n `;\n};\n\nexport const singleSlider = (nileSlider: NileSlider): TemplateResult => {\n return html`\n <div>\n <nile-tooltip\n content=${nileSlider.value}\n placement=${nileSlider.tooltipPosition}\n >\n <div class=\"range-button\" part=\"range-button\"></div>\n </nile-tooltip>\n </div>\n `;\n};\n\nexport const lableContaier = (nileSlider: NileSlider): TemplateResult => {\n return html`\n <div part=\"label-container\" class=\"label-container\">\n <span>${nileSlider.labelStart}</span>\n <span>${nileSlider.labelEnd}</span>\n </div>\n `;\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"nile-slider.enums.js","sourceRoot":"","sources":["../../../../src/nile-slider/types/nile-slider.enums.ts"],"names":[],"mappings":"","sourcesContent":["export const enum NileSliderEvents {\n NILE_INIT = \"nile-init\",\n NILE_CHANGE = \"nile-change\",\n NILE_CHANGE_END = \"nile-change-end\",\n NILE_BUTTON_FIRST_CHANGE = \"nile-button-first-change\",\n NILE_BUTTON_LAST_CHANGE = \"nile-button-last-change\",\n NILE_BUTTON_FIRST_CHANGE_END = \"nile-button-first-change-end\",\n NILE_BUTTON_LAST_CHANGE_END = \"nile-button-last-change-end\",\n NILE_DESTROY = \"nile-destroy\", \n}"]}
1
+ {"version":3,"file":"nile-slider.enums.js","sourceRoot":"","sources":["../../../../src/nile-slider/types/nile-slider.enums.ts"],"names":[],"mappings":"","sourcesContent":["export const enum NileSliderEvents {\n NILE_INIT = \"nile-init\",\n NILE_CHANGE = \"nile-change\",\n NILE_CHANGE_END = \"nile-change-end\",\n NILE_BUTTON_FIRST_CHANGE = \"nile-button-first-change\",\n NILE_BUTTON_LAST_CHANGE = \"nile-button-last-change\",\n NILE_BUTTON_FIRST_CHANGE_END = \"nile-button-first-change-end\",\n NILE_BUTTON_LAST_CHANGE_END = \"nile-button-last-change-end\",\n NILE_DESTROY = \"nile-destroy\",\n}"]}
@@ -1,19 +1,12 @@
1
1
  export const getClampedPercent = (rect, x) => {
2
- const clampedX = Math.max(0, Math.min(x, rect.width));
3
- const percent = (clampedX / rect.width) * 100;
4
- return percent;
2
+ const clamped = Math.max(0, Math.min(x, rect.width));
3
+ return (clamped / rect.width) * 100;
5
4
  };
6
5
  export const percentToValue = (percent, nileSlider) => {
7
- const value = nileSlider.minValue + (percent / 100) * (nileSlider.maxValue - nileSlider.minValue);
8
- if (nileSlider.maxValue - nileSlider.minValue < 1) {
9
- return parseFloat(value.toFixed(2));
10
- }
11
- else {
12
- return Math.floor(value);
13
- }
6
+ return Math.floor((percent / 100) * nileSlider.maxValue);
14
7
  };
15
8
  export const valueToPercent = (value, nileSlider) => {
16
- return ((value - nileSlider.minValue) / (nileSlider.maxValue - nileSlider.minValue)) * 100;
9
+ return (value / nileSlider.maxValue) * 100;
17
10
  };
18
11
  export const handleSingleSlider = (e, rect, nileSlider) => {
19
12
  const x = e.clientX - rect.left;
@@ -27,32 +20,28 @@ export const handleRangeOne = (e, rect, nileSlider) => {
27
20
  const x = e.clientX - rect.left;
28
21
  const percent = getClampedPercent(rect, x);
29
22
  nileSlider.rangeOneValue = percentToValue(percent, nileSlider);
30
- nileSlider.rangeOneValue = Math.min(nileSlider.rangeOneValue, nileSlider.rangeTwoValue);
31
23
  nileSlider.emit("nile-button-first-change" /* NileSliderEvents.NILE_BUTTON_FIRST_CHANGE */, {
32
24
  value: nileSlider.rangeOneValue,
33
25
  });
34
- if (nileSlider.rangeTwoValue > nileSlider.rangeOneValue) {
26
+ if (nileSlider.rangeTwoValue > nileSlider.rangeOneValue)
35
27
  nileSlider.buttonOne.style.left = `${percent}%`;
36
- }
37
28
  };
38
29
  export const handleRangeTwo = (e, rect, nileSlider) => {
39
30
  const x = e.clientX - rect.left;
40
31
  const percent = getClampedPercent(rect, x);
41
32
  nileSlider.rangeTwoValue = percentToValue(percent, nileSlider);
42
- nileSlider.rangeTwoValue = Math.max(nileSlider.rangeTwoValue, nileSlider.rangeOneValue);
43
33
  nileSlider.emit("nile-button-last-change" /* NileSliderEvents.NILE_BUTTON_LAST_CHANGE */, {
44
34
  value: nileSlider.rangeTwoValue,
45
35
  });
46
- if (nileSlider.rangeTwoValue > nileSlider.rangeOneValue) {
36
+ if (nileSlider.rangeTwoValue >= nileSlider.rangeOneValue)
47
37
  nileSlider.buttonTwo.style.left = `${percent}%`;
48
- }
49
38
  };
50
39
  export const getHtmlElements = (nileSlider) => {
51
40
  nileSlider.range = nileSlider.renderRoot.querySelector('.range');
52
41
  nileSlider.buttonOne = nileSlider.renderRoot.querySelector('.range-button');
53
42
  nileSlider.buttonTwo = nileSlider.renderRoot.querySelector('.range-button-two');
54
43
  nileSlider.completed = nileSlider.renderRoot.querySelector('.range-completed');
55
- nileSlider.range.addEventListener('mousedown', nileSlider.onMouseDown);
44
+ nileSlider.range.addEventListener('click', nileSlider.onMouseClick);
56
45
  nileSlider.buttonOne?.addEventListener('mousedown', () => {
57
46
  nileSlider.activeThumb = 'one';
58
47
  addMoveListeners(nileSlider);
@@ -63,23 +52,21 @@ export const getHtmlElements = (nileSlider) => {
63
52
  });
64
53
  };
65
54
  export const addMoveListeners = (nileSlider) => {
66
- window.addEventListener('mousemove', nileSlider.onMouseMove);
67
- window.addEventListener('mouseup', nileSlider.onMouseUp);
55
+ nileSlider.range.addEventListener('mousemove', nileSlider.onMouseMove);
56
+ nileSlider.range.addEventListener('mouseup', nileSlider.onMouseUp);
68
57
  };
69
58
  export const removeMoveListeners = (nileSlider) => {
70
- window.removeEventListener('mousemove', nileSlider.onMouseMove);
71
- window.removeEventListener('mouseup', nileSlider.onMouseUp);
59
+ nileSlider.range.removeEventListener('mousemove', nileSlider.onMouseMove);
60
+ nileSlider.range.removeEventListener('mouseup', nileSlider.onMouseUp);
72
61
  };
73
62
  export const handleTwoThumbClick = (value, nileSlider) => {
74
63
  const distToOne = Math.abs(value - nileSlider.rangeOneValue);
75
64
  const distToTwo = Math.abs(value - nileSlider.rangeTwoValue);
76
65
  if (distToOne <= distToTwo) {
77
- const clamped = Math.min(value, nileSlider.rangeTwoValue);
78
- nileSlider.rangeOneValue = nileSlider.checkValueValidity(clamped, nileSlider.minValue, nileSlider.maxValue);
66
+ nileSlider.rangeOneValue = Math.floor(nileSlider.checkValueValidity(value, nileSlider.minValue, nileSlider.maxValue));
79
67
  }
80
68
  else {
81
- const clamped = Math.max(value, nileSlider.rangeOneValue);
82
- nileSlider.rangeTwoValue = nileSlider.checkValueValidity(clamped, nileSlider.minValue, nileSlider.maxValue);
69
+ nileSlider.rangeTwoValue = Math.floor(nileSlider.checkValueValidity(value, nileSlider.minValue, nileSlider.maxValue));
83
70
  }
84
71
  const percentOne = valueToPercent(nileSlider.rangeOneValue, nileSlider);
85
72
  const percentTwo = valueToPercent(nileSlider.rangeTwoValue, nileSlider);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-slider.utils.js","sourceRoot":"","sources":["../../../../src/nile-slider/utils/nile-slider.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import NileSlider from '../nile-slider';\nimport { NileSliderEvents } from '../types/nile-slider.enums';\n\nexport const getClampedPercent = (\n rect: DOMRect,\n x: number,\n): number => {\n const clampedX = Math.max(0, Math.min(x, rect.width)); \n const percent = (clampedX / rect.width) * 100;\n return percent;\n};\n\nexport const percentToValue = (percent: number, nileSlider: NileSlider): number => {\n const value = nileSlider.minValue + (percent / 100) * (nileSlider.maxValue - nileSlider.minValue);\n if(nileSlider.maxValue - nileSlider.minValue < 1) {\n return parseFloat(value.toFixed(2));\n } else {\n return Math.floor(value);\n }\n};\n\nexport const valueToPercent = (value: number, nileSlider: NileSlider): number => {\n return ((value - nileSlider.minValue) / (nileSlider.maxValue - nileSlider.minValue)) * 100;\n};\n\nexport const handleSingleSlider = (\n e: MouseEvent,\n rect: DOMRect,\n nileSlider: NileSlider\n): void => {\n const x = e.clientX - rect.left;\n const percent = getClampedPercent(rect, x);\n nileSlider.value = percentToValue(percent, nileSlider);\n nileSlider.emit(NileSliderEvents.NILE_CHANGE, { value: nileSlider.value });\n nileSlider.buttonOne.style.left = `${percent}%`;\n nileSlider.completed.style.width = `${percent}%`;\n};\n\nexport const handleRangeOne = (\n e: MouseEvent,\n rect: DOMRect,\n nileSlider: NileSlider\n): void => {\n const x = e.clientX - rect.left;\n const percent = getClampedPercent(rect, x);\n nileSlider.rangeOneValue = percentToValue(percent, nileSlider);\n nileSlider.rangeOneValue = Math.min(nileSlider.rangeOneValue, nileSlider.rangeTwoValue);\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_FIRST_CHANGE, {\n value: nileSlider.rangeOneValue,\n });\n if (nileSlider.rangeTwoValue > nileSlider.rangeOneValue) {\n nileSlider.buttonOne.style.left = `${percent}%`;\n }\n};\n\nexport const handleRangeTwo = (\n e: MouseEvent,\n rect: DOMRect,\n nileSlider: NileSlider\n): void => {\n const x = e.clientX - rect.left;\n const percent = getClampedPercent(rect, x);\n nileSlider.rangeTwoValue = percentToValue(percent, nileSlider);\n nileSlider.rangeTwoValue = Math.max(nileSlider.rangeTwoValue, nileSlider.rangeOneValue);\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_LAST_CHANGE, {\n value: nileSlider.rangeTwoValue,\n });\n\n if (nileSlider.rangeTwoValue > nileSlider.rangeOneValue) {\n nileSlider.buttonTwo.style.left = `${percent}%`;\n }\n};\n\nexport const getHtmlElements = (nileSlider: NileSlider) => {\n nileSlider.range = nileSlider.renderRoot.querySelector('.range') as HTMLElement;\n nileSlider.buttonOne = nileSlider.renderRoot.querySelector('.range-button') as HTMLElement;\n nileSlider.buttonTwo = nileSlider.renderRoot.querySelector('.range-button-two') as HTMLElement;\n nileSlider.completed = nileSlider.renderRoot.querySelector('.range-completed') as HTMLElement;\n\n nileSlider.range.addEventListener('mousedown', nileSlider.onMouseDown);\n\n nileSlider.buttonOne?.addEventListener('mousedown', () => {\n nileSlider.activeThumb = 'one';\n addMoveListeners(nileSlider);\n });\n\n nileSlider.buttonTwo?.addEventListener('mousedown', () => {\n nileSlider.activeThumb = 'two';\n addMoveListeners(nileSlider);\n });\n};\n\nexport const addMoveListeners = (nileSlider: NileSlider): void => {\n window.addEventListener('mousemove', nileSlider.onMouseMove);\n window.addEventListener('mouseup', nileSlider.onMouseUp);\n};\n\nexport const removeMoveListeners = (nileSlider: NileSlider): void => {\n window.removeEventListener('mousemove', nileSlider.onMouseMove);\n window.removeEventListener('mouseup', nileSlider.onMouseUp);\n};\n\nexport const handleTwoThumbClick = (\n value: number,\n nileSlider: NileSlider\n): void => {\n const distToOne = Math.abs(value - nileSlider.rangeOneValue);\n const distToTwo = Math.abs(value - nileSlider.rangeTwoValue);\n\n if (distToOne <= distToTwo) {\n const clamped = Math.min(value, nileSlider.rangeTwoValue);\n nileSlider.rangeOneValue = nileSlider.checkValueValidity(clamped, nileSlider.minValue, nileSlider.maxValue);\n } else {\n const clamped = Math.max(value, nileSlider.rangeOneValue);\n nileSlider.rangeTwoValue = nileSlider.checkValueValidity(clamped, nileSlider.minValue, nileSlider.maxValue);\n } \n\n const percentOne = valueToPercent(nileSlider.rangeOneValue, nileSlider);\n const percentTwo = valueToPercent(nileSlider.rangeTwoValue, nileSlider);\n\n nileSlider.buttonOne.style.left = `${percentOne}%`;\n nileSlider.buttonTwo.style.left = `${percentTwo}%`;\n\n const left = Math.min(percentOne, percentTwo);\n const width = Math.abs(percentTwo - percentOne);\n\n nileSlider.completed.style.left = `${left}%`;\n nileSlider.completed.style.width = `${width}%`;\n\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_FIRST_CHANGE, {\n value: nileSlider.rangeOneValue,\n });\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_LAST_CHANGE, {\n value: nileSlider.rangeTwoValue,\n });\n};\n"]}
1
+ {"version":3,"file":"nile-slider.utils.js","sourceRoot":"","sources":["../../../../src/nile-slider/utils/nile-slider.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import NileSlider from '../nile-slider';\nimport { NileSliderEvents } from '../types/nile-slider.enums';\n\nexport const getClampedPercent = (rect: DOMRect, x: number): number => {\n const clamped = Math.max(0, Math.min(x, rect.width));\n return (clamped / rect.width) * 100;\n};\n\nexport const percentToValue = (percent: number, nileSlider: NileSlider): number => {\n return Math.floor((percent / 100) * nileSlider.maxValue);\n};\n\nexport const valueToPercent = (value: number, nileSlider: NileSlider): number => {\n return (value / nileSlider.maxValue) * 100;\n};\n\nexport const handleSingleSlider = (\n e: MouseEvent,\n rect: DOMRect,\n nileSlider: NileSlider\n): void => {\n const x = e.clientX - rect.left;\n const percent = getClampedPercent(rect, x);\n nileSlider.value = percentToValue(percent, nileSlider);\n nileSlider.emit(NileSliderEvents.NILE_CHANGE, { value: nileSlider.value });\n nileSlider.buttonOne.style.left = `${percent}%`;\n nileSlider.completed.style.width = `${percent}%`;\n};\n\nexport const handleRangeOne = (\n e: MouseEvent,\n rect: DOMRect,\n nileSlider: NileSlider\n): void => {\n const x = e.clientX - rect.left;\n const percent = getClampedPercent(rect, x);\n nileSlider.rangeOneValue = percentToValue(percent, nileSlider);\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_FIRST_CHANGE, {\n value: nileSlider.rangeOneValue,\n });\n if (nileSlider.rangeTwoValue > nileSlider.rangeOneValue) nileSlider.buttonOne.style.left = `${percent}%`;\n};\n\nexport const handleRangeTwo = (\n e: MouseEvent,\n rect: DOMRect,\n nileSlider: NileSlider\n): void => {\n const x = e.clientX - rect.left;\n const percent = getClampedPercent(rect, x);\n nileSlider.rangeTwoValue = percentToValue(percent, nileSlider);\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_LAST_CHANGE, {\n value: nileSlider.rangeTwoValue,\n });\n if (nileSlider.rangeTwoValue >= nileSlider.rangeOneValue) nileSlider.buttonTwo.style.left = `${percent}%`;\n};\n\nexport const getHtmlElements = (nileSlider: NileSlider) => {\n nileSlider.range = nileSlider.renderRoot.querySelector('.range') as HTMLElement;\n nileSlider.buttonOne = nileSlider.renderRoot.querySelector('.range-button') as HTMLElement;\n nileSlider.buttonTwo = nileSlider.renderRoot.querySelector('.range-button-two') as HTMLElement;\n nileSlider.completed = nileSlider.renderRoot.querySelector('.range-completed') as HTMLElement;\n\n nileSlider.range.addEventListener('click', nileSlider.onMouseClick);\n\n nileSlider.buttonOne?.addEventListener('mousedown', () => {\n nileSlider.activeThumb = 'one';\n addMoveListeners(nileSlider);\n });\n\n nileSlider.buttonTwo?.addEventListener('mousedown', () => {\n nileSlider.activeThumb = 'two';\n addMoveListeners(nileSlider);\n });\n};\n\nexport const addMoveListeners = (nileSlider: NileSlider): void => {\n nileSlider.range.addEventListener('mousemove', nileSlider.onMouseMove);\n nileSlider.range.addEventListener('mouseup', nileSlider.onMouseUp);\n};\n\nexport const removeMoveListeners = (nileSlider: NileSlider): void => {\n nileSlider.range.removeEventListener('mousemove', nileSlider.onMouseMove);\n nileSlider.range.removeEventListener('mouseup', nileSlider.onMouseUp);\n};\n\nexport const handleTwoThumbClick = (\n value: number,\n nileSlider: NileSlider\n): void => {\n const distToOne = Math.abs(value - nileSlider.rangeOneValue);\n const distToTwo = Math.abs(value - nileSlider.rangeTwoValue);\n\n if (distToOne <= distToTwo) {\n nileSlider.rangeOneValue = Math.floor(nileSlider.checkValueValidity(value, nileSlider.minValue, nileSlider.maxValue));\n } else {\n nileSlider.rangeTwoValue = Math.floor(nileSlider.checkValueValidity(value, nileSlider.minValue, nileSlider.maxValue));\n }\n\n const percentOne = valueToPercent(nileSlider.rangeOneValue, nileSlider);\n const percentTwo = valueToPercent(nileSlider.rangeTwoValue, nileSlider);\n\n nileSlider.buttonOne.style.left = `${percentOne}%`;\n nileSlider.buttonTwo.style.left = `${percentTwo}%`;\n\n const left = Math.min(percentOne, percentTwo);\n const width = Math.abs(percentTwo - percentOne);\n\n nileSlider.completed.style.left = `${left}%`;\n nileSlider.completed.style.width = `${width}%`;\n\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_FIRST_CHANGE, {\n value: nileSlider.rangeOneValue,\n });\n nileSlider.emit(NileSliderEvents.NILE_BUTTON_LAST_CHANGE, {\n value: nileSlider.rangeTwoValue,\n });\n};\n"]}