@hortonstudio/main 1.2.12 → 1.2.14

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 (490) hide show
  1. package/index.js +9 -9
  2. package/package.json +17 -6
  3. package/.claude/settings.local.json +0 -21
  4. package/animations/hero.js +0 -599
  5. package/animations/text.js +0 -369
  6. package/animations/transition.js +0 -57
  7. package/attributes-master/.changeset/README.md +0 -8
  8. package/attributes-master/.changeset/config.json +0 -11
  9. package/attributes-master/.gitattributes +0 -2
  10. package/attributes-master/.github/ISSUE_TEMPLATE/bug_report.md +0 -42
  11. package/attributes-master/.github/ISSUE_TEMPLATE/feature_request.md +0 -22
  12. package/attributes-master/.github/workflows/ci.yml +0 -66
  13. package/attributes-master/.github/workflows/release.yml +0 -40
  14. package/attributes-master/.prettierignore +0 -3
  15. package/attributes-master/.prettierrc +0 -8
  16. package/attributes-master/.vscode/extensions.json +0 -3
  17. package/attributes-master/.vscode/settings.json +0 -7
  18. package/attributes-master/CONTRIBUTING.md +0 -72
  19. package/attributes-master/LICENSE.md +0 -201
  20. package/attributes-master/README.md +0 -31
  21. package/attributes-master/eslint.config.js +0 -3
  22. package/attributes-master/package.json +0 -34
  23. package/attributes-master/packages/accordion/CHANGELOG.md +0 -89
  24. package/attributes-master/packages/accordion/README.md +0 -31
  25. package/attributes-master/packages/accordion/package.json +0 -25
  26. package/attributes-master/packages/accordion/src/actions/a11y.ts +0 -39
  27. package/attributes-master/packages/accordion/src/actions/classes.ts +0 -27
  28. package/attributes-master/packages/accordion/src/actions/content.ts +0 -42
  29. package/attributes-master/packages/accordion/src/actions/list.ts +0 -36
  30. package/attributes-master/packages/accordion/src/actions/query.ts +0 -27
  31. package/attributes-master/packages/accordion/src/actions/settings.ts +0 -61
  32. package/attributes-master/packages/accordion/src/factory.ts +0 -145
  33. package/attributes-master/packages/accordion/src/index.ts +0 -3
  34. package/attributes-master/packages/accordion/src/init.ts +0 -37
  35. package/attributes-master/packages/accordion/src/utils/constants.ts +0 -62
  36. package/attributes-master/packages/accordion/src/utils/helpers.ts +0 -5
  37. package/attributes-master/packages/accordion/src/utils/selectors.ts +0 -12
  38. package/attributes-master/packages/accordion/src/utils/types.ts +0 -23
  39. package/attributes-master/packages/accordion/tsconfig.json +0 -3
  40. package/attributes-master/packages/attributes/CHANGELOG.md +0 -564
  41. package/attributes-master/packages/attributes/README.md +0 -66
  42. package/attributes-master/packages/attributes/bin/build.ts +0 -107
  43. package/attributes-master/packages/attributes/bin/live-reload.js +0 -1
  44. package/attributes-master/packages/attributes/package.json +0 -77
  45. package/attributes-master/packages/attributes/playwright.config.ts +0 -89
  46. package/attributes-master/packages/attributes/src/attributes.ts +0 -153
  47. package/attributes-master/packages/attributes/src/load.ts +0 -125
  48. package/attributes-master/packages/attributes/tests/accordion.spec.ts +0 -137
  49. package/attributes-master/packages/attributes/tests/codehighlight.spec.ts +0 -23
  50. package/attributes-master/packages/attributes/tests/combobox.spec.ts +0 -321
  51. package/attributes-master/packages/attributes/tests/copyclip.spec.ts +0 -19
  52. package/attributes-master/packages/attributes/tests/displayvalues.spec.ts +0 -48
  53. package/attributes-master/packages/attributes/tests/favcustom.spec.ts +0 -23
  54. package/attributes-master/packages/attributes/tests/inject.spec.ts +0 -40
  55. package/attributes-master/packages/attributes/tests/inputactive.spec.ts +0 -77
  56. package/attributes-master/packages/attributes/tests/inputcounter.spec.ts +0 -83
  57. package/attributes-master/packages/attributes/tests/list.spec.ts +0 -800
  58. package/attributes-master/packages/attributes/tests/mirrorclick.spec.ts +0 -22
  59. package/attributes-master/packages/attributes/tests/mirrorinput.spec.ts +0 -37
  60. package/attributes-master/packages/attributes/tests/modal.spec.ts +0 -34
  61. package/attributes-master/packages/attributes/tests/numbercount.spec.ts +0 -40
  62. package/attributes-master/packages/attributes/tests/readtime.spec.ts +0 -19
  63. package/attributes-master/packages/attributes/tests/selectcustom.spec.ts +0 -51
  64. package/attributes-master/packages/attributes/tests/socialshare.spec.ts +0 -54
  65. package/attributes-master/packages/attributes/tests/starrating.spec.ts +0 -79
  66. package/attributes-master/packages/attributes/tests/toc.spec.ts +0 -38
  67. package/attributes-master/packages/attributes/tests/utils/index.ts +0 -16
  68. package/attributes-master/packages/attributes/tsconfig.json +0 -6
  69. package/attributes-master/packages/autovideo/CHANGELOG.md +0 -182
  70. package/attributes-master/packages/autovideo/README.md +0 -31
  71. package/attributes-master/packages/autovideo/package.json +0 -22
  72. package/attributes-master/packages/autovideo/src/index.ts +0 -3
  73. package/attributes-master/packages/autovideo/src/init.ts +0 -52
  74. package/attributes-master/packages/autovideo/src/types.ts +0 -5
  75. package/attributes-master/packages/autovideo/src/utils/constants.ts +0 -4
  76. package/attributes-master/packages/autovideo/tsconfig.json +0 -3
  77. package/attributes-master/packages/codehighlight/CHANGELOG.md +0 -185
  78. package/attributes-master/packages/codehighlight/README.md +0 -27
  79. package/attributes-master/packages/codehighlight/package.json +0 -23
  80. package/attributes-master/packages/codehighlight/src/actions/import.ts +0 -50
  81. package/attributes-master/packages/codehighlight/src/index.ts +0 -3
  82. package/attributes-master/packages/codehighlight/src/init.ts +0 -53
  83. package/attributes-master/packages/codehighlight/src/utils/constants.ts +0 -24
  84. package/attributes-master/packages/codehighlight/src/utils/selectors.ts +0 -5
  85. package/attributes-master/packages/codehighlight/src/utils/themes.ts +0 -202
  86. package/attributes-master/packages/codehighlight/tsconfig.json +0 -3
  87. package/attributes-master/packages/combobox/CHANGELOG.md +0 -99
  88. package/attributes-master/packages/combobox/README.md +0 -27
  89. package/attributes-master/packages/combobox/package.json +0 -23
  90. package/attributes-master/packages/combobox/src/actions/a11y.ts +0 -29
  91. package/attributes-master/packages/combobox/src/actions/body/index.ts +0 -12
  92. package/attributes-master/packages/combobox/src/actions/clearDropdown/index.ts +0 -37
  93. package/attributes-master/packages/combobox/src/actions/dropdownList/index.ts +0 -220
  94. package/attributes-master/packages/combobox/src/actions/dropdownToggle/index.ts +0 -34
  95. package/attributes-master/packages/combobox/src/actions/events.ts +0 -75
  96. package/attributes-master/packages/combobox/src/actions/input/index.ts +0 -235
  97. package/attributes-master/packages/combobox/src/actions/observe.ts +0 -158
  98. package/attributes-master/packages/combobox/src/actions/populate.ts +0 -97
  99. package/attributes-master/packages/combobox/src/actions/selectElement/index.ts +0 -23
  100. package/attributes-master/packages/combobox/src/actions/settings.ts +0 -134
  101. package/attributes-master/packages/combobox/src/actions/state.ts +0 -34
  102. package/attributes-master/packages/combobox/src/index.ts +0 -3
  103. package/attributes-master/packages/combobox/src/init.ts +0 -52
  104. package/attributes-master/packages/combobox/src/utils/constants.ts +0 -48
  105. package/attributes-master/packages/combobox/src/utils/dropdowns.ts +0 -120
  106. package/attributes-master/packages/combobox/src/utils/index.ts +0 -1
  107. package/attributes-master/packages/combobox/src/utils/selectors.ts +0 -9
  108. package/attributes-master/packages/combobox/src/utils/types.ts +0 -14
  109. package/attributes-master/packages/combobox/tsconfig.json +0 -3
  110. package/attributes-master/packages/copyclip/CHANGELOG.md +0 -213
  111. package/attributes-master/packages/copyclip/README.md +0 -27
  112. package/attributes-master/packages/copyclip/package.json +0 -23
  113. package/attributes-master/packages/copyclip/src/factory.ts +0 -67
  114. package/attributes-master/packages/copyclip/src/index.ts +0 -3
  115. package/attributes-master/packages/copyclip/src/init.ts +0 -68
  116. package/attributes-master/packages/copyclip/src/utils/constants.ts +0 -40
  117. package/attributes-master/packages/copyclip/src/utils/selectors.ts +0 -9
  118. package/attributes-master/packages/copyclip/tsconfig.json +0 -3
  119. package/attributes-master/packages/displayvalues/CHANGELOG.md +0 -164
  120. package/attributes-master/packages/displayvalues/README.md +0 -27
  121. package/attributes-master/packages/displayvalues/package.json +0 -22
  122. package/attributes-master/packages/displayvalues/src/actions/collect.ts +0 -17
  123. package/attributes-master/packages/displayvalues/src/actions/events.ts +0 -22
  124. package/attributes-master/packages/displayvalues/src/actions/sync.ts +0 -23
  125. package/attributes-master/packages/displayvalues/src/index.ts +0 -3
  126. package/attributes-master/packages/displayvalues/src/init.ts +0 -31
  127. package/attributes-master/packages/displayvalues/src/utils/constants.ts +0 -20
  128. package/attributes-master/packages/displayvalues/src/utils/selectors.ts +0 -9
  129. package/attributes-master/packages/displayvalues/src/utils/stores.ts +0 -3
  130. package/attributes-master/packages/displayvalues/tsconfig.json +0 -3
  131. package/attributes-master/packages/docs/CHANGELOG.md +0 -108
  132. package/attributes-master/packages/docs/README.md +0 -3
  133. package/attributes-master/packages/docs/bin/build.js +0 -92
  134. package/attributes-master/packages/docs/bin/live-reload.js +0 -1
  135. package/attributes-master/packages/docs/package.json +0 -40
  136. package/attributes-master/packages/docs/src/copy.ts +0 -260
  137. package/attributes-master/packages/docs/src/x-ray.ts +0 -377
  138. package/attributes-master/packages/docs/tsconfig.json +0 -3
  139. package/attributes-master/packages/favcustom/CHANGELOG.md +0 -194
  140. package/attributes-master/packages/favcustom/README.md +0 -27
  141. package/attributes-master/packages/favcustom/package.json +0 -22
  142. package/attributes-master/packages/favcustom/src/index.ts +0 -3
  143. package/attributes-master/packages/favcustom/src/init.ts +0 -30
  144. package/attributes-master/packages/favcustom/src/utils/constants.ts +0 -10
  145. package/attributes-master/packages/favcustom/src/utils/selectors.ts +0 -5
  146. package/attributes-master/packages/favcustom/tsconfig.json +0 -3
  147. package/attributes-master/packages/formsubmit/CHANGELOG.md +0 -161
  148. package/attributes-master/packages/formsubmit/README.md +0 -51
  149. package/attributes-master/packages/formsubmit/package.json +0 -22
  150. package/attributes-master/packages/formsubmit/src/actions/redirect.ts +0 -9
  151. package/attributes-master/packages/formsubmit/src/actions/reset.ts +0 -49
  152. package/attributes-master/packages/formsubmit/src/actions/submit.ts +0 -34
  153. package/attributes-master/packages/formsubmit/src/components/Form.ts +0 -231
  154. package/attributes-master/packages/formsubmit/src/factory.ts +0 -62
  155. package/attributes-master/packages/formsubmit/src/index.ts +0 -3
  156. package/attributes-master/packages/formsubmit/src/init.ts +0 -24
  157. package/attributes-master/packages/formsubmit/src/utils/attributes.ts +0 -19
  158. package/attributes-master/packages/formsubmit/src/utils/constants.ts +0 -89
  159. package/attributes-master/packages/formsubmit/src/utils/dom.ts +0 -76
  160. package/attributes-master/packages/formsubmit/src/utils/selectors.ts +0 -9
  161. package/attributes-master/packages/formsubmit/src/utils/types.ts +0 -7
  162. package/attributes-master/packages/formsubmit/tsconfig.json +0 -3
  163. package/attributes-master/packages/inject/CHANGELOG.md +0 -117
  164. package/attributes-master/packages/inject/README.md +0 -60
  165. package/attributes-master/packages/inject/package.json +0 -22
  166. package/attributes-master/packages/inject/src/actions/collect.ts +0 -125
  167. package/attributes-master/packages/inject/src/actions/css.ts +0 -27
  168. package/attributes-master/packages/inject/src/actions/prefetch.ts +0 -44
  169. package/attributes-master/packages/inject/src/factory.ts +0 -123
  170. package/attributes-master/packages/inject/src/index.ts +0 -3
  171. package/attributes-master/packages/inject/src/init.ts +0 -22
  172. package/attributes-master/packages/inject/src/utils/constants.ts +0 -89
  173. package/attributes-master/packages/inject/src/utils/helpers.ts +0 -36
  174. package/attributes-master/packages/inject/src/utils/selectors.ts +0 -9
  175. package/attributes-master/packages/inject/src/utils/types.ts +0 -16
  176. package/attributes-master/packages/inject/tsconfig.json +0 -3
  177. package/attributes-master/packages/inputactive/CHANGELOG.md +0 -58
  178. package/attributes-master/packages/inputactive/README.md +0 -25
  179. package/attributes-master/packages/inputactive/package.json +0 -22
  180. package/attributes-master/packages/inputactive/src/actions/classes.ts +0 -43
  181. package/attributes-master/packages/inputactive/src/factory.ts +0 -24
  182. package/attributes-master/packages/inputactive/src/index.ts +0 -3
  183. package/attributes-master/packages/inputactive/src/init.ts +0 -18
  184. package/attributes-master/packages/inputactive/src/utils/constants.ts +0 -13
  185. package/attributes-master/packages/inputactive/src/utils/selectors.ts +0 -5
  186. package/attributes-master/packages/inputactive/tsconfig.json +0 -3
  187. package/attributes-master/packages/inputcounter/CHANGELOG.md +0 -110
  188. package/attributes-master/packages/inputcounter/README.md +0 -25
  189. package/attributes-master/packages/inputcounter/package.json +0 -22
  190. package/attributes-master/packages/inputcounter/src/actions/a11y.ts +0 -23
  191. package/attributes-master/packages/inputcounter/src/actions/buttons.ts +0 -61
  192. package/attributes-master/packages/inputcounter/src/actions/input.ts +0 -31
  193. package/attributes-master/packages/inputcounter/src/actions/style.ts +0 -12
  194. package/attributes-master/packages/inputcounter/src/factory.ts +0 -51
  195. package/attributes-master/packages/inputcounter/src/index.ts +0 -3
  196. package/attributes-master/packages/inputcounter/src/init.ts +0 -22
  197. package/attributes-master/packages/inputcounter/src/utils/constants.ts +0 -59
  198. package/attributes-master/packages/inputcounter/src/utils/selectors.ts +0 -9
  199. package/attributes-master/packages/inputcounter/tsconfig.json +0 -3
  200. package/attributes-master/packages/list/CHANGELOG.md +0 -185
  201. package/attributes-master/packages/list/README.md +0 -331
  202. package/attributes-master/packages/list/package.json +0 -37
  203. package/attributes-master/packages/list/src/combine/index.ts +0 -38
  204. package/attributes-master/packages/list/src/components/List.ts +0 -861
  205. package/attributes-master/packages/list/src/components/ListItem.ts +0 -229
  206. package/attributes-master/packages/list/src/components/index.ts +0 -2
  207. package/attributes-master/packages/list/src/factory.ts +0 -130
  208. package/attributes-master/packages/list/src/filter/dynamic/conditions.ts +0 -639
  209. package/attributes-master/packages/list/src/filter/dynamic/groups.ts +0 -221
  210. package/attributes-master/packages/list/src/filter/dynamic/index.ts +0 -119
  211. package/attributes-master/packages/list/src/filter/dynamic/utils.ts +0 -44
  212. package/attributes-master/packages/list/src/filter/elements.ts +0 -93
  213. package/attributes-master/packages/list/src/filter/filter.ts +0 -118
  214. package/attributes-master/packages/list/src/filter/filter.worker.ts +0 -152
  215. package/attributes-master/packages/list/src/filter/index.ts +0 -94
  216. package/attributes-master/packages/list/src/filter/standard/conditions.ts +0 -123
  217. package/attributes-master/packages/list/src/filter/standard/facets.ts +0 -253
  218. package/attributes-master/packages/list/src/filter/standard/index.ts +0 -176
  219. package/attributes-master/packages/list/src/filter/standard/query.ts +0 -111
  220. package/attributes-master/packages/list/src/filter/tags.ts +0 -314
  221. package/attributes-master/packages/list/src/filter/types.ts +0 -62
  222. package/attributes-master/packages/list/src/filter/utils.ts +0 -126
  223. package/attributes-master/packages/list/src/index.ts +0 -4
  224. package/attributes-master/packages/list/src/init.ts +0 -38
  225. package/attributes-master/packages/list/src/load/all.ts +0 -27
  226. package/attributes-master/packages/list/src/load/elements.ts +0 -39
  227. package/attributes-master/packages/list/src/load/index.ts +0 -63
  228. package/attributes-master/packages/list/src/load/infinite.ts +0 -79
  229. package/attributes-master/packages/list/src/load/load.ts +0 -191
  230. package/attributes-master/packages/list/src/load/more.ts +0 -97
  231. package/attributes-master/packages/list/src/load/pagination.ts +0 -402
  232. package/attributes-master/packages/list/src/nest/index.ts +0 -198
  233. package/attributes-master/packages/list/src/prevnext/index.ts +0 -98
  234. package/attributes-master/packages/list/src/select/index.ts +0 -56
  235. package/attributes-master/packages/list/src/slider/index.ts +0 -62
  236. package/attributes-master/packages/list/src/sort/buttons.ts +0 -96
  237. package/attributes-master/packages/list/src/sort/dropdown.ts +0 -179
  238. package/attributes-master/packages/list/src/sort/index.ts +0 -81
  239. package/attributes-master/packages/list/src/sort/query.ts +0 -63
  240. package/attributes-master/packages/list/src/sort/select.ts +0 -67
  241. package/attributes-master/packages/list/src/sort/sort.ts +0 -79
  242. package/attributes-master/packages/list/src/sort/types.ts +0 -28
  243. package/attributes-master/packages/list/src/static/index.ts +0 -73
  244. package/attributes-master/packages/list/src/tabs/index.ts +0 -97
  245. package/attributes-master/packages/list/src/utils/constants.ts +0 -728
  246. package/attributes-master/packages/list/src/utils/dom.ts +0 -108
  247. package/attributes-master/packages/list/src/utils/pagination.ts +0 -14
  248. package/attributes-master/packages/list/src/utils/selectors.ts +0 -18
  249. package/attributes-master/packages/list/src/utils/store.ts +0 -5
  250. package/attributes-master/packages/list/tsconfig.json +0 -3
  251. package/attributes-master/packages/mirrorclick/CHANGELOG.md +0 -171
  252. package/attributes-master/packages/mirrorclick/README.md +0 -25
  253. package/attributes-master/packages/mirrorclick/package.json +0 -22
  254. package/attributes-master/packages/mirrorclick/src/index.ts +0 -3
  255. package/attributes-master/packages/mirrorclick/src/init.ts +0 -35
  256. package/attributes-master/packages/mirrorclick/src/utils/constants.ts +0 -20
  257. package/attributes-master/packages/mirrorclick/src/utils/selectors.ts +0 -9
  258. package/attributes-master/packages/mirrorclick/tsconfig.json +0 -3
  259. package/attributes-master/packages/mirrorinput/CHANGELOG.md +0 -172
  260. package/attributes-master/packages/mirrorinput/README.md +0 -25
  261. package/attributes-master/packages/mirrorinput/package.json +0 -22
  262. package/attributes-master/packages/mirrorinput/src/index.ts +0 -3
  263. package/attributes-master/packages/mirrorinput/src/init.ts +0 -48
  264. package/attributes-master/packages/mirrorinput/src/utils/constants.ts +0 -15
  265. package/attributes-master/packages/mirrorinput/src/utils/selectors.ts +0 -9
  266. package/attributes-master/packages/mirrorinput/tsconfig.json +0 -3
  267. package/attributes-master/packages/modal/CHANGELOG.md +0 -94
  268. package/attributes-master/packages/modal/README.md +0 -29
  269. package/attributes-master/packages/modal/package.json +0 -23
  270. package/attributes-master/packages/modal/src/actions/a11y.ts +0 -46
  271. package/attributes-master/packages/modal/src/actions/modal.ts +0 -164
  272. package/attributes-master/packages/modal/src/actions/settings.ts +0 -21
  273. package/attributes-master/packages/modal/src/factory.ts +0 -26
  274. package/attributes-master/packages/modal/src/index.ts +0 -3
  275. package/attributes-master/packages/modal/src/init.ts +0 -22
  276. package/attributes-master/packages/modal/src/utils/constants.ts +0 -54
  277. package/attributes-master/packages/modal/src/utils/selectors.ts +0 -9
  278. package/attributes-master/packages/modal/src/utils/types.ts +0 -12
  279. package/attributes-master/packages/modal/tsconfig.json +0 -3
  280. package/attributes-master/packages/numbercount/CHANGELOG.md +0 -90
  281. package/attributes-master/packages/numbercount/README.md +0 -27
  282. package/attributes-master/packages/numbercount/package.json +0 -23
  283. package/attributes-master/packages/numbercount/src/actions/a11y.ts +0 -26
  284. package/attributes-master/packages/numbercount/src/actions/animate.ts +0 -43
  285. package/attributes-master/packages/numbercount/src/actions/observe.ts +0 -44
  286. package/attributes-master/packages/numbercount/src/factory.ts +0 -31
  287. package/attributes-master/packages/numbercount/src/index.ts +0 -3
  288. package/attributes-master/packages/numbercount/src/init.ts +0 -22
  289. package/attributes-master/packages/numbercount/src/utils/constants.ts +0 -40
  290. package/attributes-master/packages/numbercount/src/utils/helpers.ts +0 -31
  291. package/attributes-master/packages/numbercount/src/utils/selectors.ts +0 -9
  292. package/attributes-master/packages/numbercount/tsconfig.json +0 -3
  293. package/attributes-master/packages/queryparam/CHANGELOG.md +0 -118
  294. package/attributes-master/packages/queryparam/README.md +0 -25
  295. package/attributes-master/packages/queryparam/package.json +0 -22
  296. package/attributes-master/packages/queryparam/src/factory.ts +0 -51
  297. package/attributes-master/packages/queryparam/src/index.ts +0 -3
  298. package/attributes-master/packages/queryparam/src/init.ts +0 -40
  299. package/attributes-master/packages/queryparam/src/utils/constants.ts +0 -18
  300. package/attributes-master/packages/queryparam/src/utils/selectors.ts +0 -5
  301. package/attributes-master/packages/queryparam/tsconfig.json +0 -3
  302. package/attributes-master/packages/rangeslider/CHANGELOG.md +0 -236
  303. package/attributes-master/packages/rangeslider/README.md +0 -95
  304. package/attributes-master/packages/rangeslider/package.json +0 -23
  305. package/attributes-master/packages/rangeslider/src/actions/a11y.ts +0 -21
  306. package/attributes-master/packages/rangeslider/src/actions/events.ts +0 -9
  307. package/attributes-master/packages/rangeslider/src/actions/settings.ts +0 -97
  308. package/attributes-master/packages/rangeslider/src/actions/styles.ts +0 -10
  309. package/attributes-master/packages/rangeslider/src/actions/values.ts +0 -47
  310. package/attributes-master/packages/rangeslider/src/components/Fill.ts +0 -70
  311. package/attributes-master/packages/rangeslider/src/components/Handle.ts +0 -281
  312. package/attributes-master/packages/rangeslider/src/factory.ts +0 -100
  313. package/attributes-master/packages/rangeslider/src/index.ts +0 -3
  314. package/attributes-master/packages/rangeslider/src/init.ts +0 -194
  315. package/attributes-master/packages/rangeslider/src/utils/constants.ts +0 -87
  316. package/attributes-master/packages/rangeslider/src/utils/selectors.ts +0 -9
  317. package/attributes-master/packages/rangeslider/src/utils/types.ts +0 -6
  318. package/attributes-master/packages/rangeslider/tsconfig.json +0 -3
  319. package/attributes-master/packages/readtime/CHANGELOG.md +0 -108
  320. package/attributes-master/packages/readtime/README.md +0 -25
  321. package/attributes-master/packages/readtime/package.json +0 -22
  322. package/attributes-master/packages/readtime/src/factory.ts +0 -21
  323. package/attributes-master/packages/readtime/src/index.ts +0 -3
  324. package/attributes-master/packages/readtime/src/init.ts +0 -19
  325. package/attributes-master/packages/readtime/src/utils/constants.ts +0 -33
  326. package/attributes-master/packages/readtime/src/utils/selectors.ts +0 -9
  327. package/attributes-master/packages/readtime/tsconfig.json +0 -3
  328. package/attributes-master/packages/removequery/CHANGELOG.md +0 -8
  329. package/attributes-master/packages/removequery/README.md +0 -25
  330. package/attributes-master/packages/removequery/package.json +0 -22
  331. package/attributes-master/packages/removequery/src/index.ts +0 -3
  332. package/attributes-master/packages/removequery/src/init.ts +0 -18
  333. package/attributes-master/packages/removequery/src/utils/constants.ts +0 -5
  334. package/attributes-master/packages/removequery/tsconfig.json +0 -3
  335. package/attributes-master/packages/scrolldisable/CHANGELOG.md +0 -164
  336. package/attributes-master/packages/scrolldisable/README.md +0 -29
  337. package/attributes-master/packages/scrolldisable/package.json +0 -27
  338. package/attributes-master/packages/scrolldisable/src/click.ts +0 -40
  339. package/attributes-master/packages/scrolldisable/src/display.ts +0 -117
  340. package/attributes-master/packages/scrolldisable/src/index.ts +0 -3
  341. package/attributes-master/packages/scrolldisable/src/init.ts +0 -36
  342. package/attributes-master/packages/scrolldisable/src/scroll.ts +0 -63
  343. package/attributes-master/packages/scrolldisable/src/utils/constants.ts +0 -56
  344. package/attributes-master/packages/scrolldisable/src/utils/selectors.ts +0 -6
  345. package/attributes-master/packages/scrolldisable/tsconfig.json +0 -3
  346. package/attributes-master/packages/selectcustom/CHANGELOG.md +0 -242
  347. package/attributes-master/packages/selectcustom/README.md +0 -25
  348. package/attributes-master/packages/selectcustom/package.json +0 -23
  349. package/attributes-master/packages/selectcustom/src/actions/a11y.ts +0 -29
  350. package/attributes-master/packages/selectcustom/src/actions/events.ts +0 -159
  351. package/attributes-master/packages/selectcustom/src/actions/observe.ts +0 -83
  352. package/attributes-master/packages/selectcustom/src/actions/populate.ts +0 -67
  353. package/attributes-master/packages/selectcustom/src/actions/settings.ts +0 -68
  354. package/attributes-master/packages/selectcustom/src/actions/state.ts +0 -41
  355. package/attributes-master/packages/selectcustom/src/index.ts +0 -3
  356. package/attributes-master/packages/selectcustom/src/init.ts +0 -51
  357. package/attributes-master/packages/selectcustom/src/utils/constants.ts +0 -34
  358. package/attributes-master/packages/selectcustom/src/utils/selectors.ts +0 -9
  359. package/attributes-master/packages/selectcustom/src/utils/types.ts +0 -14
  360. package/attributes-master/packages/selectcustom/tsconfig.json +0 -3
  361. package/attributes-master/packages/sliderdots/CHANGELOG.md +0 -220
  362. package/attributes-master/packages/sliderdots/README.md +0 -27
  363. package/attributes-master/packages/sliderdots/package.json +0 -22
  364. package/attributes-master/packages/sliderdots/src/actions/events.ts +0 -26
  365. package/attributes-master/packages/sliderdots/src/actions/observe.ts +0 -40
  366. package/attributes-master/packages/sliderdots/src/actions/populate.ts +0 -46
  367. package/attributes-master/packages/sliderdots/src/actions/sync.ts +0 -28
  368. package/attributes-master/packages/sliderdots/src/actions/wait.ts +0 -28
  369. package/attributes-master/packages/sliderdots/src/factory.ts +0 -57
  370. package/attributes-master/packages/sliderdots/src/index.ts +0 -3
  371. package/attributes-master/packages/sliderdots/src/init.ts +0 -30
  372. package/attributes-master/packages/sliderdots/src/utils/constants.ts +0 -33
  373. package/attributes-master/packages/sliderdots/src/utils/selectors.ts +0 -9
  374. package/attributes-master/packages/sliderdots/src/utils/types.ts +0 -7
  375. package/attributes-master/packages/sliderdots/tsconfig.json +0 -3
  376. package/attributes-master/packages/smartlightbox/CHANGELOG.md +0 -203
  377. package/attributes-master/packages/smartlightbox/README.md +0 -25
  378. package/attributes-master/packages/smartlightbox/package.json +0 -22
  379. package/attributes-master/packages/smartlightbox/src/actions/collect.ts +0 -15
  380. package/attributes-master/packages/smartlightbox/src/actions/move.ts +0 -25
  381. package/attributes-master/packages/smartlightbox/src/index.ts +0 -3
  382. package/attributes-master/packages/smartlightbox/src/init.ts +0 -61
  383. package/attributes-master/packages/smartlightbox/src/utils/constants.ts +0 -31
  384. package/attributes-master/packages/smartlightbox/src/utils/selectors.ts +0 -9
  385. package/attributes-master/packages/smartlightbox/tsconfig.json +0 -3
  386. package/attributes-master/packages/socialshare/CHANGELOG.md +0 -170
  387. package/attributes-master/packages/socialshare/README.md +0 -25
  388. package/attributes-master/packages/socialshare/package.json +0 -25
  389. package/attributes-master/packages/socialshare/src/actions/collect.ts +0 -93
  390. package/attributes-master/packages/socialshare/src/actions/share.ts +0 -91
  391. package/attributes-master/packages/socialshare/src/actions/trigger.ts +0 -46
  392. package/attributes-master/packages/socialshare/src/factory.ts +0 -149
  393. package/attributes-master/packages/socialshare/src/index.ts +0 -3
  394. package/attributes-master/packages/socialshare/src/init.ts +0 -35
  395. package/attributes-master/packages/socialshare/src/utils/constants.ts +0 -94
  396. package/attributes-master/packages/socialshare/src/utils/dom.ts +0 -8
  397. package/attributes-master/packages/socialshare/src/utils/selectors.ts +0 -6
  398. package/attributes-master/packages/socialshare/src/utils/stores.ts +0 -10
  399. package/attributes-master/packages/socialshare/src/utils/types.ts +0 -34
  400. package/attributes-master/packages/socialshare/tsconfig.json +0 -3
  401. package/attributes-master/packages/starrating/CHANGELOG.md +0 -70
  402. package/attributes-master/packages/starrating/README.md +0 -25
  403. package/attributes-master/packages/starrating/package.json +0 -22
  404. package/attributes-master/packages/starrating/src/actions/classes.ts +0 -41
  405. package/attributes-master/packages/starrating/src/actions/events.ts +0 -80
  406. package/attributes-master/packages/starrating/src/factory.ts +0 -24
  407. package/attributes-master/packages/starrating/src/index.ts +0 -3
  408. package/attributes-master/packages/starrating/src/init.ts +0 -24
  409. package/attributes-master/packages/starrating/src/utils/constants.ts +0 -20
  410. package/attributes-master/packages/starrating/src/utils/helpers.ts +0 -63
  411. package/attributes-master/packages/starrating/src/utils/selectors.ts +0 -9
  412. package/attributes-master/packages/starrating/tsconfig.json +0 -3
  413. package/attributes-master/packages/template/README.md +0 -25
  414. package/attributes-master/packages/template/package.json +0 -22
  415. package/attributes-master/packages/template/src/actions/console.ts +0 -4
  416. package/attributes-master/packages/template/src/index.ts +0 -3
  417. package/attributes-master/packages/template/src/init.ts +0 -14
  418. package/attributes-master/packages/template/src/utils/constants.ts +0 -18
  419. package/attributes-master/packages/template/src/utils/selectors.ts +0 -5
  420. package/attributes-master/packages/template/tsconfig.json +0 -3
  421. package/attributes-master/packages/toc/CHANGELOG.md +0 -192
  422. package/attributes-master/packages/toc/README.md +0 -25
  423. package/attributes-master/packages/toc/package.json +0 -23
  424. package/attributes-master/packages/toc/src/actions/collect.ts +0 -136
  425. package/attributes-master/packages/toc/src/actions/create.ts +0 -44
  426. package/attributes-master/packages/toc/src/actions/events.ts +0 -29
  427. package/attributes-master/packages/toc/src/actions/observe.ts +0 -31
  428. package/attributes-master/packages/toc/src/actions/populate.ts +0 -68
  429. package/attributes-master/packages/toc/src/actions/prepare.ts +0 -25
  430. package/attributes-master/packages/toc/src/actions/scroll.ts +0 -33
  431. package/attributes-master/packages/toc/src/components/TOCItem.ts +0 -88
  432. package/attributes-master/packages/toc/src/factory.ts +0 -47
  433. package/attributes-master/packages/toc/src/index.ts +0 -3
  434. package/attributes-master/packages/toc/src/init.ts +0 -37
  435. package/attributes-master/packages/toc/src/utils/constants.ts +0 -55
  436. package/attributes-master/packages/toc/src/utils/helpers.ts +0 -23
  437. package/attributes-master/packages/toc/src/utils/selectors.ts +0 -6
  438. package/attributes-master/packages/toc/src/utils/types.ts +0 -21
  439. package/attributes-master/packages/toc/tsconfig.json +0 -3
  440. package/attributes-master/packages/utils/CHANGELOG.md +0 -43
  441. package/attributes-master/packages/utils/package.json +0 -27
  442. package/attributes-master/packages/utils/src/animations/factory.ts +0 -100
  443. package/attributes-master/packages/utils/src/animations/index.ts +0 -73
  444. package/attributes-master/packages/utils/src/animations/types.ts +0 -37
  445. package/attributes-master/packages/utils/src/components/Interaction.ts +0 -79
  446. package/attributes-master/packages/utils/src/components/Renderer.ts +0 -59
  447. package/attributes-master/packages/utils/src/components/index.ts +0 -2
  448. package/attributes-master/packages/utils/src/constants/a11y.ts +0 -50
  449. package/attributes-master/packages/utils/src/constants/attributes.ts +0 -57
  450. package/attributes-master/packages/utils/src/constants/index.ts +0 -5
  451. package/attributes-master/packages/utils/src/constants/keyboard.ts +0 -10
  452. package/attributes-master/packages/utils/src/constants/webflow.ts +0 -74
  453. package/attributes-master/packages/utils/src/helpers/dates.ts +0 -17
  454. package/attributes-master/packages/utils/src/helpers/dom.ts +0 -82
  455. package/attributes-master/packages/utils/src/helpers/events.ts +0 -59
  456. package/attributes-master/packages/utils/src/helpers/fetch.ts +0 -217
  457. package/attributes-master/packages/utils/src/helpers/forms.ts +0 -238
  458. package/attributes-master/packages/utils/src/helpers/guards.ts +0 -138
  459. package/attributes-master/packages/utils/src/helpers/index.ts +0 -11
  460. package/attributes-master/packages/utils/src/helpers/numbers.ts +0 -86
  461. package/attributes-master/packages/utils/src/helpers/selectors.ts +0 -249
  462. package/attributes-master/packages/utils/src/helpers/strings.ts +0 -19
  463. package/attributes-master/packages/utils/src/helpers/wait.ts +0 -36
  464. package/attributes-master/packages/utils/src/helpers/webflow.ts +0 -117
  465. package/attributes-master/packages/utils/src/index.ts +0 -5
  466. package/attributes-master/packages/utils/src/types/core.ts +0 -100
  467. package/attributes-master/packages/utils/src/types/dom.ts +0 -31
  468. package/attributes-master/packages/utils/src/types/index.ts +0 -4
  469. package/attributes-master/packages/utils/src/types/utils.ts +0 -20
  470. package/attributes-master/packages/utils/src/types/webflow.ts +0 -147
  471. package/attributes-master/packages/utils/tsconfig.json +0 -3
  472. package/attributes-master/packages/videohls/CHANGELOG.md +0 -76
  473. package/attributes-master/packages/videohls/README.md +0 -27
  474. package/attributes-master/packages/videohls/package.json +0 -26
  475. package/attributes-master/packages/videohls/src/actions/list.ts +0 -23
  476. package/attributes-master/packages/videohls/src/actions/video.ts +0 -44
  477. package/attributes-master/packages/videohls/src/index.ts +0 -3
  478. package/attributes-master/packages/videohls/src/init.ts +0 -28
  479. package/attributes-master/packages/videohls/src/utils/constants.ts +0 -12
  480. package/attributes-master/packages/videohls/src/utils/selectors.ts +0 -5
  481. package/attributes-master/packages/videohls/src/utils/stores.ts +0 -3
  482. package/attributes-master/packages/videohls/tsconfig.json +0 -3
  483. package/attributes-master/pnpm-lock.yaml +0 -3317
  484. package/attributes-master/pnpm-workspace.yaml +0 -3
  485. package/attributes-master/tsconfig.json +0 -6
  486. package/autoInit/smooth-scroll.js +0 -89
  487. package/debug-version.html +0 -37
  488. package/utils/navbar.js +0 -214
  489. package/utils/scroll-progress.js +0 -29
  490. package/utils/toc.js +0 -77
@@ -1,281 +0,0 @@
1
- import {
2
- addListener,
3
- adjustValueToStep,
4
- ARIA_VALUEMAX_KEY,
5
- ARIA_VALUEMIN_KEY,
6
- ARIA_VALUENOW_KEY,
7
- setFormFieldValue,
8
- } from '@finsweet/attributes-utils';
9
-
10
- import { setHandleA11Y } from '../actions/a11y';
11
- import { setHandleStyles } from '../actions/styles';
12
- import { HANDLE_INCREMENT_KEYS, HANDLE_KEYS } from '../utils/constants';
13
- import type { Fill } from './Fill';
14
-
15
- export class Handle {
16
- public readonly destroy;
17
-
18
- private readonly index;
19
- private readonly minRange;
20
- private readonly maxRange;
21
- private readonly totalRange;
22
- private readonly step;
23
- private readonly precision;
24
-
25
- private readonly inputElement;
26
- private readonly displayValueElement;
27
- private readonly formatValueDisplay;
28
-
29
- private fill?: Fill;
30
- private sibling?: Handle;
31
-
32
- private trackWidth;
33
-
34
- private currentValue!: number;
35
- private minValue;
36
- private maxValue;
37
-
38
- private updatingInput = false;
39
-
40
- constructor(
41
- public readonly element: HTMLElement,
42
- {
43
- index,
44
- minRange,
45
- maxRange,
46
- trackWidth,
47
- step,
48
- precision,
49
- startValue,
50
- isLazy,
51
- inputElement,
52
- displayValueElement,
53
- formatValueDisplay,
54
- }: {
55
- index: number;
56
- minRange: number;
57
- maxRange: number;
58
- trackWidth: number;
59
- step: number;
60
- precision: number;
61
- startValue: number;
62
- isLazy: boolean;
63
- inputElement?: HTMLInputElement;
64
- displayValueElement?: HTMLElement;
65
- formatValueDisplay?: string;
66
- }
67
- ) {
68
- this.inputElement = inputElement;
69
- this.displayValueElement = displayValueElement;
70
- this.formatValueDisplay = formatValueDisplay;
71
-
72
- this.index = index;
73
- this.minRange = minRange;
74
- this.maxRange = maxRange;
75
- this.totalRange = maxRange - minRange;
76
- this.step = step;
77
- this.precision = precision;
78
-
79
- this.minValue = minRange;
80
- this.maxValue = maxRange;
81
-
82
- this.trackWidth = trackWidth;
83
-
84
- setHandleStyles(element);
85
- setHandleA11Y(element, inputElement);
86
-
87
- this.setValue(inputElement?.value ? parseFloat(inputElement.value) : startValue, !isLazy);
88
- this.destroy = this.listenEvents();
89
- }
90
-
91
- /**
92
- * Listens for internal events.
93
- */
94
- private listenEvents() {
95
- const { element, inputElement } = this;
96
-
97
- const cleanups = [
98
- addListener(element, 'keydown', (e) => this.handleKeyDown(e)),
99
- addListener(inputElement, 'change', () => this.handleInputChange()),
100
- ];
101
-
102
- return () => {
103
- for (const cleanup of cleanups) cleanup();
104
- };
105
- }
106
-
107
- /**
108
- * Handles when the keyboard is used when focusing the Handle.
109
- * @param e A `keydown` event.
110
- */
111
- private handleKeyDown(e: KeyboardEvent) {
112
- const { step, currentValue } = this;
113
- const { key } = e;
114
-
115
- if (!HANDLE_KEYS.includes(key)) return;
116
-
117
- e.preventDefault();
118
-
119
- if (HANDLE_INCREMENT_KEYS.includes(key)) this.setValue(currentValue + step);
120
- else this.setValue(currentValue - step);
121
- }
122
-
123
- /**
124
- * Handles when the value of the `<input>` element is updated by third party actions.
125
- */
126
- private handleInputChange() {
127
- const { inputElement, index, minRange, maxRange, step, precision, updatingInput } = this;
128
- if (!inputElement || updatingInput) return;
129
-
130
- const { value } = inputElement;
131
-
132
- const numericValue = parseFloat(value);
133
-
134
- if (numericValue) {
135
- this.setValue(adjustValueToStep(numericValue, step, precision, minRange));
136
-
137
- return;
138
- }
139
-
140
- this.setValue(index === 0 ? minRange : maxRange, false);
141
- }
142
-
143
- private formatValue(value: number, rawLocale: string) {
144
- const locale = rawLocale === 'true' ? undefined : rawLocale;
145
-
146
- try {
147
- return value.toLocaleString(locale);
148
- } catch {
149
- return value.toLocaleString(window.navigator?.language || undefined);
150
- }
151
- }
152
-
153
- /**
154
- * Updates the Handle's position on the track.
155
- */
156
- private updatePosition() {
157
- const { currentValue, element, trackWidth, minRange, totalRange, fill } = this;
158
-
159
- const left = ((currentValue - minRange) * trackWidth) / totalRange;
160
-
161
- element.style.left = `${left}px`;
162
-
163
- fill?.update();
164
- }
165
-
166
- /**
167
- * @returns The current value of the Handle.
168
- */
169
- public getValue = (): number => this.currentValue;
170
-
171
- /**
172
- * Sets a new value to the Handle.
173
- * The Handle's position is automatically updated based on the new value.
174
- * @param newValue The new value to set.
175
- * @param updateInputElement Defines if the `<input>` element should be updated. Defaults to `true`.
176
- *
177
- * @returns `true` if the current value was updated.
178
- */
179
- public setValue(newValue: number, updateInputElement = true): boolean {
180
- const { currentValue, element, minValue, maxValue, displayValueElement, formatValueDisplay } = this;
181
-
182
- if (currentValue === newValue || newValue < minValue || newValue > maxValue) return false;
183
-
184
- this.currentValue = newValue;
185
-
186
- this.updatePosition();
187
- this.updateSiblingConstraints();
188
-
189
- const stringValue = `${newValue}`;
190
-
191
- element.setAttribute(ARIA_VALUENOW_KEY, stringValue);
192
-
193
- if (displayValueElement)
194
- displayValueElement.textContent = formatValueDisplay
195
- ? this.formatValue(newValue, formatValueDisplay)
196
- : stringValue;
197
-
198
- if (updateInputElement) this.updateInputElement();
199
-
200
- return true;
201
- }
202
-
203
- /**
204
- * Updates the input element's value.
205
- */
206
- public updateInputElement() {
207
- this.updatingInput = true;
208
-
209
- const { currentValue, inputElement } = this;
210
-
211
- if (!inputElement) return;
212
-
213
- setFormFieldValue(inputElement, currentValue.toFixed(2));
214
-
215
- this.updatingInput = false;
216
- }
217
-
218
- /**
219
- * @returns The Handle's constraints.
220
- */
221
- public getConstraints = (): [number, number] => [this.minValue, this.maxValue];
222
-
223
- /**
224
- * Sets new constraints to the Handle.
225
- * @param minValue The new minimum value.
226
- * @param maxValue The new maximum value.
227
- */
228
- public setConstraints(minValue: number, maxValue: number): void {
229
- const { element } = this;
230
-
231
- const minValFixed = minValue.toFixed(2);
232
- const maxValFixed = maxValue.toFixed(2);
233
-
234
- element.setAttribute(ARIA_VALUEMIN_KEY, minValFixed);
235
- element.setAttribute(ARIA_VALUEMAX_KEY, maxValFixed);
236
-
237
- this.minValue = Number(minValFixed);
238
- this.maxValue = Number(maxValFixed);
239
- }
240
-
241
- /**
242
- * Updates the sibling's constaints, if existing.
243
- */
244
- public updateSiblingConstraints() {
245
- const { index, sibling, step, minRange, maxRange, currentValue } = this;
246
-
247
- if (!sibling) return;
248
-
249
- if (index === 0) sibling.setConstraints(currentValue + step, maxRange);
250
- else sibling.setConstraints(minRange, currentValue - step);
251
- }
252
-
253
- /**
254
- * Updates the stored track width and the Handle's position on the track.
255
- * @param newTrackWidth The new track width.
256
- */
257
- public updateTrackWidth(newTrackWidth: number) {
258
- this.trackWidth = newTrackWidth;
259
-
260
- this.fill?.updateTrackWidth(newTrackWidth);
261
- this.updatePosition();
262
- }
263
-
264
- /**
265
- * Adds a `Fill` instance to the Handle.
266
- * @param fill A {@link Fill} instance.
267
- */
268
- public addFill(fill: Fill) {
269
- this.fill = fill;
270
- }
271
-
272
- /**
273
- * Adds a sibling Handle.
274
- * @param sibling A {@link Handle} instance.
275
- */
276
- public addSibling(sibling: Handle) {
277
- this.sibling = sibling;
278
-
279
- this.updateSiblingConstraints();
280
- }
281
- }
@@ -1,100 +0,0 @@
1
- import { adjustValueToStep, isNotEmpty } from '@finsweet/attributes-utils';
2
-
3
- import { Fill } from './components/Fill';
4
- import { Handle } from './components/Handle';
5
- import { getAttribute } from './utils/selectors';
6
- import type { HandleInstances, RangeSliderSettings } from './utils/types';
7
-
8
- /**
9
- * Creates {@link Handle} instances and sets them up.
10
- * @param settings The {@link RangeSliderSettings}.
11
- * @returns The new {@link Handle} instances.
12
- */
13
- export const createHandleInstances = ({
14
- handleElements,
15
- inputElements,
16
- displayValueElements,
17
- formatValueDisplay,
18
- minRange,
19
- maxRange,
20
- trackWidth,
21
- step,
22
- precision,
23
- isLazy,
24
- }: RangeSliderSettings): HandleInstances | undefined => {
25
- const handles = handleElements
26
- .slice(0, 2)
27
- .map((handleElement, index) => {
28
- const rawStartValue = parseFloat(getAttribute(handleElement, 'start') || `${index === 0 ? minRange : maxRange}`);
29
-
30
- let startValue = adjustValueToStep(rawStartValue, step, precision, minRange);
31
-
32
- const inputElement = inputElements[index];
33
- const displayValueElement = displayValueElements[index];
34
-
35
- if (startValue < minRange) {
36
- console.error(
37
- `The Handle start value [${startValue}] doesn't match the range, so it has been set to the min value [${minRange}].`
38
- );
39
- startValue = minRange;
40
- }
41
-
42
- if (startValue > maxRange) {
43
- console.error(
44
- `The Handle start value [${startValue}] doesn't match the range, so it has been set to the max value [${maxRange}].`
45
- );
46
- startValue = maxRange;
47
- }
48
-
49
- const handle = new Handle(handleElement, {
50
- index,
51
- minRange,
52
- maxRange,
53
- trackWidth,
54
- step,
55
- precision,
56
- startValue,
57
- inputElement,
58
- displayValueElement,
59
- formatValueDisplay,
60
- isLazy,
61
- });
62
-
63
- return handle;
64
- })
65
- .filter(isNotEmpty);
66
-
67
- if (!handles.length) return;
68
-
69
- // Sort them by start value
70
- if (handles.length > 1) handles.sort((handle1, handle2) => handle1.getValue() - handle2.getValue());
71
-
72
- const [handle1, handle2] = handles;
73
-
74
- // Add relationships
75
- if (handle2) {
76
- handle1.addSibling(handle2);
77
- handle2.addSibling(handle1);
78
- } else handle1.setConstraints(minRange, maxRange);
79
-
80
- return [handle1, handle2];
81
- };
82
-
83
- /**
84
- * Creates a `Fill` instance and adds it to the Handles.
85
- * @param settings The settings returned by {@link getSettings}.
86
- * @param handles The {@link HandleInstances} tuple.
87
- * @returns
88
- */
89
- export const createFillInstance = (
90
- { fillElement, minRange, maxRange, trackWidth }: RangeSliderSettings,
91
- handles: HandleInstances
92
- ) => {
93
- if (!fillElement) return;
94
-
95
- const fill = new Fill(fillElement, { minRange, maxRange, trackWidth, handles });
96
- const [handle1, handle2] = handles;
97
-
98
- handle1.addFill(fill);
99
- handle2?.addFill(fill);
100
- };
@@ -1,3 +0,0 @@
1
- export { version } from '../package.json';
2
- export { init } from './init';
3
- export { ELEMENTS, SETTINGS } from './utils/constants';
@@ -1,194 +0,0 @@
1
- import {
2
- addListener,
3
- adjustValueToStep,
4
- type FinsweetAttributeInit,
5
- getHiddenParent,
6
- isNotEmpty,
7
- isVisible,
8
- noop,
9
- waitWebflowReady,
10
- } from '@finsweet/attributes-utils';
11
- import debounce from 'just-debounce';
12
-
13
- import { getClientX } from './actions/events';
14
- import { getSettings } from './actions/settings';
15
- import { getClosestValidHandle } from './actions/values';
16
- import type { Handle } from './components/Handle';
17
- import { createFillInstance, createHandleInstances } from './factory';
18
- import { queryAllElements } from './utils/selectors';
19
-
20
- /**
21
- * Inits the attribute.
22
- */
23
- export const init: FinsweetAttributeInit = async () => {
24
- await waitWebflowReady();
25
-
26
- const wrapperElements = queryAllElements('wrapper');
27
-
28
- const rangeSlidersData = wrapperElements.map(initRangeSlider).filter(isNotEmpty);
29
-
30
- const handleInstances = rangeSlidersData.map(({ handles }) => handles);
31
-
32
- return {
33
- result: handleInstances,
34
- destroy() {
35
- for (const { destroy } of rangeSlidersData) destroy();
36
- },
37
- };
38
- };
39
-
40
- /**
41
- * Inits a range slider.
42
- * @param wrapperElement The wrapper element.
43
- * @returns The {@link HandleInstances}.
44
- */
45
- const initRangeSlider = (wrapperElement: HTMLElement) => {
46
- const settings = getSettings(wrapperElement);
47
- if (!settings) return;
48
-
49
- const handles = createHandleInstances(settings);
50
- if (!handles) return;
51
-
52
- createFillInstance(settings, handles);
53
-
54
- const { maxRange, minRange, step, precision, totalRange, trackElement, updateOnRelease } = settings;
55
-
56
- let { trackWidth, trackLeft, trackRight } = settings;
57
- let focusedHandle: Handle | undefined;
58
- let focusedHandleHasUpdated = false;
59
-
60
- /**
61
- * Calculates the value based on where the user clicked and adjusts it to the step increment,
62
- * @param clientX The event `clientX` value.
63
- */
64
- const calculateNewValue = (clientX: number) => {
65
- const value = minRange + ((clientX - trackLeft) * totalRange) / trackWidth;
66
-
67
- const adjustedValue = adjustValueToStep(value, step, precision, minRange);
68
- return adjustedValue;
69
- };
70
-
71
- /**
72
- * Handles when the user moves the cursor/finger while holding down a {@link Handle}.
73
- * @param e A `mousemove` or `touchmove` event.
74
- */
75
- const handleMouseMove = (e: MouseEvent | TouchEvent) => {
76
- if (!focusedHandle) return;
77
-
78
- if (e instanceof MouseEvent) e.preventDefault();
79
-
80
- const clientX = getClientX(e);
81
- const [minValue, maxValue] = focusedHandle.getConstraints();
82
-
83
- let value: number;
84
-
85
- if (trackLeft > clientX) value = minValue;
86
- else if (trackRight < clientX) value = maxValue;
87
- else value = calculateNewValue(clientX);
88
-
89
- const hasUpdatedValue = focusedHandle.setValue(value, !updateOnRelease);
90
-
91
- focusedHandleHasUpdated ||= hasUpdatedValue;
92
- };
93
-
94
- /**
95
- * Handles when the user releases the currently focused {@link Handle}.
96
- * @param e A `mouseup` or `touchend` event.
97
- */
98
- const handleMouseUp = (e: MouseEvent | TouchEvent) => {
99
- if (e.cancelable) e.preventDefault();
100
-
101
- document.removeEventListener('mousemove', handleMouseMove);
102
- document.removeEventListener('touchmove', handleMouseMove);
103
- document.removeEventListener('mouseup', handleMouseUp);
104
- document.removeEventListener('touchend', handleMouseUp);
105
-
106
- if (updateOnRelease && focusedHandleHasUpdated) focusedHandle?.updateInputElement();
107
-
108
- focusedHandleHasUpdated = false;
109
-
110
- focusedHandle?.element.blur();
111
- focusedHandle = undefined;
112
- };
113
-
114
- /**
115
- * Handles when the user holds down a {@link Handle}.
116
- * @param e A `mousedown` or `touchstart` event.
117
- */
118
- const handleMouseDown = (e: MouseEvent | TouchEvent) => {
119
- if (e.cancelable) e.preventDefault();
120
-
121
- const clientX = getClientX(e);
122
-
123
- document.addEventListener('mousemove', handleMouseMove);
124
- document.addEventListener('touchmove', handleMouseMove, { passive: true });
125
- document.addEventListener('mouseup', handleMouseUp);
126
- document.addEventListener('touchend', handleMouseUp);
127
-
128
- let value: number;
129
-
130
- if (trackLeft > clientX) value = minRange;
131
- else if (trackRight < clientX) value = maxRange;
132
- else value = calculateNewValue(clientX);
133
-
134
- const closestHandle = getClosestValidHandle(value, handles);
135
- if (!closestHandle) return;
136
-
137
- closestHandle.element.focus();
138
-
139
- focusedHandle = closestHandle;
140
-
141
- const hasUpdatedValue = closestHandle.setValue(value, !updateOnRelease);
142
-
143
- focusedHandleHasUpdated ||= hasUpdatedValue;
144
- };
145
-
146
- /**
147
- * Updates the stored `trackWidth` value and the Handles' position.
148
- */
149
- const handleDOMMutation = () => {
150
- trackWidth = trackElement.clientWidth;
151
-
152
- ({ left: trackLeft, right: trackRight } = trackElement.getBoundingClientRect());
153
-
154
- for (const handle of handles) {
155
- if (handle) handle.updateTrackWidth(trackWidth);
156
- }
157
- };
158
-
159
- /**
160
- * If the wrapper is initially hidden, observes mutations and performs the needed actions.
161
- */
162
- const observeWrapperVisibility = () => {
163
- const hiddenParent = getHiddenParent(wrapperElement);
164
- if (!hiddenParent) return noop;
165
-
166
- const observer = new MutationObserver(() => {
167
- if (isVisible(hiddenParent)) handleDOMMutation();
168
- });
169
-
170
- observer.observe(hiddenParent, {
171
- attributes: true,
172
- attributeFilter: ['style', 'class'],
173
- });
174
-
175
- return () => observer.disconnect();
176
- };
177
-
178
- /**
179
- * Init events
180
- */
181
- const cleanups = [
182
- observeWrapperVisibility(),
183
- addListener(trackElement, 'mousedown', handleMouseDown),
184
- addListener(trackElement, 'touchstart', handleMouseDown, { passive: true }),
185
- addListener(window, 'resize', debounce(handleDOMMutation, 50)),
186
- ];
187
-
188
- return {
189
- handles,
190
- destroy: () => {
191
- for (const cleanup of cleanups) cleanup();
192
- },
193
- };
194
- };
@@ -1,87 +0,0 @@
1
- import {
2
- ARROW_DOWN_KEY,
3
- ARROW_LEFT_KEY,
4
- ARROW_RIGHT_KEY,
5
- ARROW_UP_KEY,
6
- type AttributeElements,
7
- type AttributeSettings,
8
- } from '@finsweet/attributes-utils';
9
-
10
- export const ELEMENTS = [
11
- /**
12
- * Defines a range slider instance element.
13
- */
14
- 'wrapper',
15
-
16
- /**
17
- * Defines the track of the slider.
18
- */
19
- 'track',
20
-
21
- /**
22
- * Defines the fill of the slider.
23
- */
24
- 'fill',
25
-
26
- /**
27
- * Defines a handle of the slider.
28
- */
29
- 'handle',
30
-
31
- /**
32
- * Defines an element to display a Handle's value.
33
- */
34
- 'display-value',
35
- ] as const satisfies AttributeElements;
36
-
37
- export const SETTINGS = {
38
- /**
39
- * Defines the minimum value of the range.
40
- */
41
- min: { key: 'min' },
42
-
43
- /**
44
- * Defines the maximum value of the range.
45
- */
46
- max: { key: 'max' },
47
-
48
- /**
49
- * Defines the start value of a handle.
50
- * Must be applied to a handle element {@link ATTRIBUTES.element.values.handle}.
51
- */
52
- start: { key: 'start' },
53
-
54
- /**
55
- * Defines the step of the values.
56
- */
57
- step: { key: 'step' },
58
-
59
- /**
60
- * Defines if the Handles' value display should be formatted.
61
- */
62
- formatdisplay: {
63
- key: 'formatdisplay',
64
- values: ['true'],
65
- },
66
-
67
- /**
68
- * Defines when should the <input> elements be updated.
69
- */
70
- update: {
71
- key: 'update',
72
- values: ['move', 'release'],
73
- defaultValue: 'move',
74
- },
75
-
76
- /**
77
- * Defines if the input values should be updated lazily.
78
- */
79
- lazy: {
80
- key: 'lazy',
81
- values: ['true'],
82
- },
83
- } as const satisfies AttributeSettings;
84
-
85
- export const HANDLE_INCREMENT_KEYS = [ARROW_UP_KEY, ARROW_RIGHT_KEY];
86
- export const HANDLE_DECREMENT_KEYS = [ARROW_DOWN_KEY, ARROW_LEFT_KEY];
87
- export const HANDLE_KEYS = [...HANDLE_INCREMENT_KEYS, ...HANDLE_DECREMENT_KEYS];
@@ -1,9 +0,0 @@
1
- import { generateSelectors, RANGE_SLIDER_ATTRIBUTE } from '@finsweet/attributes-utils';
2
-
3
- import { ELEMENTS, SETTINGS } from './constants';
4
-
5
- export const { queryElement, queryAllElements, hasAttributeValue, getAttribute } = generateSelectors(
6
- RANGE_SLIDER_ATTRIBUTE,
7
- ELEMENTS,
8
- SETTINGS
9
- );
@@ -1,6 +0,0 @@
1
- import type { getSettings } from '../actions/settings';
2
- import type { Handle } from '../components/Handle';
3
-
4
- export type HandleInstances = [Handle, Handle | undefined];
5
-
6
- export type RangeSliderSettings = NonNullable<ReturnType<typeof getSettings>>;
@@ -1,3 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.json"
3
- }