@hortonstudio/main 1.2.11 → 1.2.13

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 (489) hide show
  1. package/index.js +23 -10
  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/utils/navbar.js +0 -214
  488. package/utils/scroll-progress.js +0 -29
  489. package/utils/toc.js +0 -77
@@ -1,138 +0,0 @@
1
- import type { Entry, FormField } from '../types';
2
-
3
- export const isString = (value: unknown): value is string => typeof value === 'string';
4
- export const isNumber = (value: unknown): value is number => typeof value === 'number';
5
- export const isBoolean = (value: unknown): value is boolean => typeof value === 'boolean';
6
- export const isUndefined = (value: unknown): value is undefined => value === undefined;
7
- export const isDate = (value: unknown): value is Date => value instanceof Date;
8
-
9
- /**
10
- * It literally does nothing.
11
- */
12
- export const noop = () => {
13
- // No operation.
14
- };
15
-
16
- /**
17
- * Makes sure a value is not `null` or `undefined`.
18
- * Useful for type safety when filtering empty elements from an array. Check out the example for more in-depth explanation.
19
- * @param value The value to type-check.
20
- * @example ```typescript
21
- * const items = [1, null, 4, undefined, 8];
22
- *
23
- * const filteredItemsError: number[] = items.filter((item) => value !== undefined && value !== null); // Type '(number | null | undefined)[]' is not assignable to type 'number[]'.
24
- *
25
- * const filteredItemsSuccess: number[] = items.filter(isNotEmpty); // Success!
26
- * ```
27
- */
28
- export const isNotEmpty = <T>(value: T | null | undefined): value is T => value !== undefined && value !== null;
29
-
30
- /**
31
- * Check if a key is included in a readonly array
32
- * @param key
33
- * @param source readonly array of strings
34
- * @returns True/false
35
- */
36
- export const isKeyOf = <T extends string>(
37
- key: string | null | undefined,
38
- source: readonly T[]
39
- ): key is (typeof source)[number] => !!key && source.includes(<T>key);
40
-
41
- /**
42
- * Gets the keys of an object with inferred typing.
43
- * @param object
44
- * @returns
45
- */
46
- export const getObjectKeys = <T extends Record<string, unknown>>(object: T): (keyof T)[] =>
47
- Object.keys(object) as (keyof T)[];
48
-
49
- /**
50
- * Gets type safe `Object.entries()`.
51
- * @param object
52
- */
53
- export const getObjectEntries = <T extends Readonly<Record<string, unknown>>>(object: T): Entry<T>[] =>
54
- Object.entries(object) as Entry<T>[];
55
-
56
- /**
57
- * @returns `true` if the target is an instance of Element type.
58
- * @param target
59
- */
60
- export const isElement = (target: unknown): target is Element => target instanceof Element;
61
-
62
- /**
63
- * @returns `true` if the target is an instance of HTMLElement type.
64
- * @param target
65
- */
66
- export const isHTMLElement = (target: unknown): target is HTMLElement => target instanceof HTMLElement;
67
-
68
- /**
69
- * @returns `true` if the target is an instance of HTMLVideoElement type.
70
- * @param target
71
- */
72
- export const isHTMLVideoElement = (target: unknown): target is HTMLVideoElement => target instanceof HTMLVideoElement;
73
-
74
- /**
75
- * @returns `true` if the target is an instance of HTMLInputElement type.
76
- * @param target
77
- */
78
- export const isHTMLInputElement = (target: unknown): target is HTMLInputElement => target instanceof HTMLInputElement;
79
-
80
- /**
81
- * @returns `true` if the target is an instance of HTMLSelectElement type.
82
- * @param target
83
- */
84
- export const isHTMLSelectElement = (target: unknown): target is HTMLSelectElement =>
85
- target instanceof HTMLSelectElement;
86
-
87
- /**
88
- * @returns `true` if the target is an instance of HTMLTextAreaElement type.
89
- * @param target
90
- */
91
- export const isHTMLTextAreaElement = (target: unknown): target is HTMLTextAreaElement =>
92
- target instanceof HTMLTextAreaElement;
93
-
94
- /**
95
- * Checks if an element is a form field element
96
- * @param element
97
- */
98
- export const isFormField = (element: Element | EventTarget | null): element is FormField =>
99
- isHTMLInputElement(element) || isHTMLSelectElement(element) || isHTMLTextAreaElement(element);
100
-
101
- /**
102
- * Checks if an element is a form element
103
- * @param target
104
- */
105
- export const isHTMLFormElement = (target: unknown): target is HTMLFormElement => target instanceof HTMLFormElement;
106
-
107
- /**
108
- * @returns `true` if the target is an instance of HTMLAnchorElement type.
109
- * @param target
110
- */
111
- export const isHTMLAnchorElement = (target: unknown): target is HTMLAnchorElement =>
112
- target instanceof HTMLAnchorElement;
113
-
114
- /**
115
- * @returns `true` if the target is an instance of HTMLOptionElement type.
116
- * @param target
117
- */
118
- export const isHTMLOptionElement = (target: unknown): target is HTMLOptionElement =>
119
- target instanceof HTMLOptionElement;
120
-
121
- /**
122
- * @returns `true` if the target is an instance of HTMLImageElement type.
123
- * @param target
124
- */
125
- export const isHTMLImageElement = (target: unknown): target is HTMLImageElement => target instanceof HTMLImageElement;
126
-
127
- /**
128
- * @returns `true` if the target is an instance of HTMLButtonElement type.
129
- * @param target
130
- */
131
- export const isHTMLButtonElement = (target: unknown): target is HTMLButtonElement =>
132
- target instanceof HTMLButtonElement;
133
-
134
- /**
135
- * @returns `true` if the target is an instance of File type.
136
- * @param target
137
- */
138
- export const isFile = (target: unknown): target is File => target instanceof File;
@@ -1,11 +0,0 @@
1
- export * from './dates';
2
- export * from './dom';
3
- export * from './events';
4
- export * from './fetch';
5
- export * from './forms';
6
- export * from './guards';
7
- export * from './numbers';
8
- export * from './selectors';
9
- export * from './strings';
10
- export * from './wait';
11
- export * from './webflow';
@@ -1,86 +0,0 @@
1
- import { isDate, isNumber } from './guards';
2
-
3
- /**
4
- * Converts a value to a number, removing any invalid symbols like `$` or `,`.
5
- * @param value
6
- * @returns The valid number value.
7
- */
8
- export const normalizeNumber = (value: string | number | Date) => {
9
- if (isNumber(value)) return value;
10
- if (isDate(value)) return value.getTime();
11
- if (!value) return;
12
-
13
- return parseFloat(value.replace(/[^0-9.-]+/g, ''));
14
- };
15
-
16
- /**
17
- * Parses a numeric Attribute string.
18
- * @param rawValue The raw string. Example: "20", "-25.3"...
19
- * @param fallback A value to fall back to when the parsed value is not valid.
20
- */
21
- export function parseNumericAttribute(rawValue: string | number | null | undefined, fallback: number): number;
22
- export function parseNumericAttribute(
23
- rawValue: string | number | null | undefined,
24
- fallback?: number | null
25
- ): number | null;
26
- export function parseNumericAttribute(
27
- rawValue: string | number | null | undefined,
28
- fallback?: number | null
29
- ): number | null {
30
- if (!rawValue) return fallback ?? null;
31
-
32
- const value = Number(rawValue);
33
-
34
- if (!isNaN(value)) return value;
35
- if (fallback) return fallback;
36
- return null;
37
- }
38
-
39
- /**
40
- * Calculates the amount of decimals that a float number has.
41
- * @param value A number.
42
- */
43
- export const getDecimalPrecision = (value: number) => {
44
- if (!isFinite(value)) return 0;
45
-
46
- let exponential = 1;
47
- let precision = 0;
48
-
49
- while (Math.round(value * exponential) / exponential !== value) {
50
- exponential *= 10;
51
- precision += 1;
52
- }
53
- return precision;
54
- };
55
-
56
- /**
57
- * Ensures a decimal precision on a number.
58
- * @param value The number to handle.
59
- * @param precision The amount of decimals.
60
- */
61
- const setDecimalPrecision = (value: number, precision: number) => {
62
- const pow = Math.pow(10, precision);
63
-
64
- return Math.round(value * pow) / pow;
65
- };
66
-
67
- /**
68
- * Adjusts a numeric value to a step factor.
69
- * @param value The numeric value to adjust.
70
- * @param step The increment step.
71
- * @param precision The step's decimal precision. If not provided, it will be calculated.
72
- * @param minRange A minimum range value, used for offsetting.
73
- * @returns The adjusted value.
74
- */
75
- export const adjustValueToStep = (value: number, step: number, precision?: number, minRange = 0) => {
76
- precision ??= getDecimalPrecision(step);
77
-
78
- const offset = minRange > 1 ? minRange % step : 0;
79
-
80
- const remainder = value % step;
81
- const floor = offset + value - remainder;
82
-
83
- if (remainder > step / 2) return setDecimalPrecision(floor + step, precision);
84
-
85
- return setDecimalPrecision(floor, precision);
86
- };
@@ -1,249 +0,0 @@
1
- import type { AttributeElements, AttributeSettings, FinsweetAttributeKey, LooseString } from '../types';
2
-
3
- /**
4
- * @returns Selector helpers for the defined Attribute Elements and Settings.
5
- * @param attributeKey
6
- * @param elements
7
- * @param settings
8
- */
9
- export const generateSelectors = <
10
- ElementsDefinition extends AttributeElements,
11
- SettingsDefinition extends AttributeSettings,
12
- >(
13
- attributeKey: FinsweetAttributeKey,
14
- elements: ElementsDefinition,
15
- settings: SettingsDefinition
16
- ) => {
17
- const ELEMENT_ATTRIBUTE_NAME = `fs-${attributeKey}-element`;
18
- const INSTANCE_ATTRIBUTE_NAME = `fs-${attributeKey}-instance`;
19
-
20
- /**
21
- * Constructs the attribute name for a setting.
22
- * @param settingKey
23
- */
24
- const getSettingAttributeName = (settingKey: keyof SettingsDefinition) => {
25
- const { key } = settings[settingKey];
26
-
27
- return `fs-${attributeKey}-${key}`;
28
- };
29
-
30
- /**
31
- * @returns A valid CSS selector for a setting.
32
- * @param settingKey The key of the setting.
33
- * @param valueKey [Optional] The key of the setting value.
34
- * @param explicitValue [Optional] An explicit value to use instead of a predefined setting value.
35
- */
36
- const getSettingSelector = <SettingKey extends keyof SettingsDefinition>(
37
- settingKey: SettingKey,
38
- value?: LooseString<NonNullable<SettingsDefinition[SettingKey]['values']>[number]>
39
- ) => {
40
- const attributeName = getSettingAttributeName(settingKey);
41
-
42
- // With setting value
43
- if (value) {
44
- return `[${attributeName}="${value}" i]`;
45
- }
46
-
47
- // No setting value
48
- return `[${attributeName}]`;
49
- };
50
-
51
- /**
52
- * @returns A valid CSS selector for an element.
53
- * @param elementKey The key of the element.
54
- * @param params.instance The index of the element instance.
55
- * If `null`, it will select all elements without an instance.
56
- * If `undefined`, it will select all elements.
57
- */
58
- const getElementSelector = (
59
- elementKey?: ElementsDefinition[number],
60
- { instance }: { instance?: string | null } = {}
61
- ) => {
62
- if (!elementKey) {
63
- return `[${ELEMENT_ATTRIBUTE_NAME}]`;
64
- }
65
-
66
- const elementSelector = `[${ELEMENT_ATTRIBUTE_NAME}="${elementKey}" i]`;
67
-
68
- // If no instance is provided, select all elements
69
- if (instance === undefined) {
70
- return elementSelector;
71
- }
72
-
73
- // If instance is null, select all elements without an instance
74
- if (instance === null) {
75
- return `${elementSelector}:not([${INSTANCE_ATTRIBUTE_NAME}], [${INSTANCE_ATTRIBUTE_NAME}] ${elementSelector})`;
76
- }
77
-
78
- // If instance exists, select the specific element instance
79
- const instanceSelector = `[${INSTANCE_ATTRIBUTE_NAME}="${instance}"]`;
80
-
81
- return `${elementSelector}${instanceSelector}, ${instanceSelector} ${elementSelector}`;
82
- };
83
-
84
- /**
85
- * @returns A valid CSS selector for an element instance.
86
- * @param instance The instance identifier.
87
- */
88
- const getInstanceSelector = (instance: string) => {
89
- return `[${INSTANCE_ATTRIBUTE_NAME}="${instance}"]`;
90
- };
91
-
92
- /**
93
- * @returns The first element that matches the selector.
94
- * @param elementKey The key of the element.
95
- * @param params.instance The index of the element instance.
96
- * @param params.scope The scope to query the element from. Defaults to `document`.
97
- */
98
- const queryElement = <E extends Element = HTMLElement>(
99
- elementKey?: ElementsDefinition[number],
100
- { instance, scope }: { instance?: string | null; scope?: ParentNode | null } = {}
101
- ) => {
102
- const selector = getElementSelector(elementKey, { instance });
103
- const target = scope || document;
104
-
105
- return target.querySelector<E>(selector);
106
- };
107
-
108
- /**
109
- * @returns All elements that match the selector.
110
- * @param elementKey The key of the element.
111
- * @param params.instance The index of the element instance.
112
- * @param params.scope The scope to query the element from. Defaults to `document`.
113
- */
114
- const queryAllElements = <E extends Element = HTMLElement>(
115
- elementKey?: ElementsDefinition[number],
116
- { instance, scope }: { instance?: string | null; scope?: ParentNode | null } = {}
117
- ) => {
118
- const selector = getElementSelector(elementKey, { instance });
119
- const target = scope || document;
120
-
121
- return [...target.querySelectorAll<E>(selector)];
122
- };
123
-
124
- /**
125
- * @returns The instance index of an element.
126
- * @param element The element to get the instance index from.
127
- */
128
- const getInstance = (element: Element) => {
129
- const instanceHolder = element.closest(`[${INSTANCE_ATTRIBUTE_NAME}]`);
130
- if (!instanceHolder) return null;
131
-
132
- return instanceHolder.getAttribute(INSTANCE_ATTRIBUTE_NAME);
133
- };
134
-
135
- /**
136
- * @returns The first ancestor that matches the selector.
137
- * @param elementKey The key of the element.
138
- * @param params.instance The index of the element instance.
139
- */
140
- const getClosestElement = <E extends Element = HTMLElement>(
141
- element: Element,
142
- elementKey?: ElementsDefinition[number],
143
- { instance }: { instance?: string | null } = {}
144
- ) => {
145
- const selector = getElementSelector(elementKey, { instance });
146
-
147
- return element.closest<E>(selector);
148
- };
149
-
150
- /**
151
- * @returns The value of an attribute. It will check, in order:
152
- * - The element itself.
153
- * - The closest ancestor that has the attribute.
154
- * - The script tags.
155
- *
156
- * @param element The element to get the attribute value from, or its closest ancestor that has the attribute. If `null`, it will check the script tags.
157
- * @param settingKey The attribute key.
158
- * @param filterInvalid Whether to filter out invalid values. Defaults to `false`.
159
- */
160
- const getAttribute = <
161
- SettingKey extends keyof SettingsDefinition,
162
- FilterInvalid extends boolean = false,
163
- SettingValues = SettingsDefinition[SettingKey]['values'],
164
- SettingDefaultValue = SettingsDefinition[SettingKey]['defaultValue'],
165
- SettingValueIsNumeric = SettingsDefinition[SettingKey]['isNumeric'],
166
- SettingValue = SettingValueIsNumeric extends true
167
- ? number
168
- : SettingValues extends Array<string>
169
- ? FilterInvalid extends true
170
- ? SettingValues[number]
171
- : string
172
- : string,
173
- >(
174
- element: Element | null,
175
- settingKey: SettingKey,
176
- { filterInvalid }: { filterInvalid?: FilterInvalid } = {}
177
- ): SettingDefaultValue extends string ? SettingValue : SettingValue | undefined => {
178
- const attributeName = getSettingAttributeName(settingKey);
179
- const selector = getSettingSelector(settingKey);
180
-
181
- const settingElement = element?.closest(selector);
182
-
183
- // Check the element
184
- let rawValue = settingElement?.getAttribute(attributeName);
185
-
186
- // Check the script tags
187
- if (!rawValue) {
188
- for (const script of window.FinsweetAttributes.scripts) {
189
- rawValue = script.getAttribute(attributeName);
190
-
191
- if (rawValue) break;
192
- }
193
- }
194
-
195
- // Fall back to the default value, if available
196
- const { values = [], defaultValue, isNumeric } = settings[settingKey];
197
-
198
- rawValue ??= defaultValue;
199
-
200
- // @ts-expect-error Returning undefined is valid
201
- if (!rawValue) return;
202
-
203
- // Parse numeric values
204
- if (isNumeric) {
205
- let parsedValue = Number(rawValue);
206
-
207
- if (isNaN(parsedValue) && defaultValue) {
208
- parsedValue = Number(defaultValue);
209
- }
210
-
211
- if (!isNaN(parsedValue)) {
212
- return parsedValue as SettingValue;
213
- }
214
- }
215
-
216
- // @ts-expect-error Returning undefined is valid
217
- if (filterInvalid && values.length && !values.includes(rawValue)) return;
218
-
219
- const value = rawValue as SettingValue;
220
- return value;
221
- };
222
-
223
- /**
224
- * @returns Whether an element has a specific attribute value.
225
- * @param element
226
- * @param settingKey
227
- * @param valueKey
228
- */
229
- const hasAttributeValue = <SettingKey extends keyof SettingsDefinition>(
230
- element: Element,
231
- settingKey: SettingKey,
232
- value: NonNullable<SettingsDefinition[SettingKey]['values']>[number]
233
- ) => {
234
- return getAttribute(element, settingKey) === value;
235
- };
236
-
237
- return {
238
- getClosestElement,
239
- getElementSelector,
240
- getSettingSelector,
241
- getInstanceSelector,
242
- getSettingAttributeName,
243
- queryElement,
244
- queryAllElements,
245
- getInstance,
246
- getAttribute,
247
- hasAttributeValue,
248
- };
249
- };
@@ -1,19 +0,0 @@
1
- /**
2
- * Convert a string of comma separated values to an array of values.
3
- *
4
- * @param string Comma separated string.
5
- * @param filterEmpty Defines if empty values should be filtered out of the returned array. Defaults to `true`.
6
- */
7
- export const extractCommaSeparatedValues = (string: string | null | undefined, filterEmpty = true): string[] => {
8
- if (!string) return [];
9
-
10
- const items = string.split(',').reduce<string[]>((accumulatedValue, currentValue) => {
11
- const value = currentValue.trim();
12
-
13
- if (!filterEmpty || value) accumulatedValue.push(value);
14
-
15
- return accumulatedValue;
16
- }, []);
17
-
18
- return items;
19
- };
@@ -1,36 +0,0 @@
1
- import type { FinsweetAttributeKey } from '../types';
2
-
3
- /**
4
- * @returns Awaitable promise for waiting X time.
5
- * @param time
6
- */
7
- export const wait = (time: number): Promise<unknown> => new Promise((resolve) => setTimeout(resolve, time));
8
-
9
- /**
10
- * Waits for the defined Attribute to be fully loaded.
11
- * @param key The Attribute key.
12
- */
13
- export const waitAttributeLoaded = (key: FinsweetAttributeKey) => window.FinsweetAttributes.modules[key]?.loading;
14
-
15
- /**
16
- * @returns A promise that resolves once Webflow has fully loaded.
17
- */
18
- export const waitWebflowReady = async () => {
19
- return new Promise((resolve) => {
20
- window.Webflow ||= [];
21
- window.Webflow.push(resolve);
22
- });
23
- };
24
-
25
- /**
26
- * @returns A promise that resolves once the DOM is ready.
27
- */
28
- export const waitDOMReady = async () => {
29
- return new Promise((resolve) => {
30
- if (document.readyState === 'loading') {
31
- document.addEventListener('DOMContentLoaded', resolve);
32
- } else {
33
- resolve(undefined);
34
- }
35
- });
36
- };
@@ -1,117 +0,0 @@
1
- import { WEBFLOW_BREAKPOINTS } from '../constants';
2
- import type { DropdownToggle, WebflowBreakpoint, WebflowModule } from '../types';
3
- import { simulateEvent } from './events';
4
-
5
- /**
6
- * @returns The Webflow Site ID of the website.
7
- * @param page The page to get the site ID from. Defaults to the current page.
8
- */
9
- export const getSiteId = (page = document): string | null => page.documentElement.getAttribute('data-wf-site');
10
-
11
- /**
12
- * Extracts the publish date of a Webflow site
13
- * @returns A Date object, if found.
14
- * @param page The page to get the publish date from. Defaults to the current page.
15
- */
16
- export const getPublishDate = (page = document): Date | undefined => {
17
- const publishDatePrefix = 'Last Published:';
18
-
19
- for (const node of page.childNodes) {
20
- if (node.nodeType === Node.COMMENT_NODE && node.textContent?.includes(publishDatePrefix)) {
21
- const publishDateValue = node.textContent.trim().split(publishDatePrefix)[1];
22
- if (publishDateValue) return new Date(publishDateValue);
23
- }
24
- }
25
- };
26
-
27
- /**
28
- * Restarts the Webflow JS library.
29
- *
30
- * @param modules An array of {@link WebflowModule} to restart. If passed, only those modules will be restarted instead of the whole `Webflow` instance.
31
- *
32
- * @returns An awaitable promise that is fulfilled when the library has been correctly reinitialized.
33
- */
34
- export const restartWebflow = async (modules?: WebflowModule[]): Promise<unknown> => {
35
- const { Webflow } = window;
36
- if (!Webflow || !('destroy' in Webflow) || !('ready' in Webflow) || !('require' in Webflow)) return;
37
-
38
- if (modules && !modules.length) return;
39
-
40
- // Global
41
- if (!modules) {
42
- Webflow.destroy();
43
- Webflow.ready();
44
- }
45
-
46
- // IX2
47
- if (!modules || modules.includes('ix2')) {
48
- const ix2 = Webflow.require('ix2');
49
-
50
- if (ix2) {
51
- const { store, actions } = ix2;
52
- const { eventState } = store.getState().ixSession;
53
- const stateEntries = Object.entries(eventState);
54
-
55
- if (!modules) ix2.destroy();
56
-
57
- ix2.init();
58
-
59
- await Promise.all(stateEntries.map((state) => store.dispatch(actions.eventStateChanged(...state))));
60
- }
61
- }
62
-
63
- // Commerce
64
- if (!modules || modules.includes('commerce')) {
65
- const commerce = Webflow.require('commerce');
66
- const siteId = getSiteId();
67
-
68
- if (commerce && siteId) {
69
- commerce.destroy();
70
- commerce.init({ siteId, apiUrl: 'https://render.webflow.com' });
71
- }
72
- }
73
-
74
- // Lightbox
75
- if (modules?.includes('lightbox')) Webflow.require('lightbox')?.ready();
76
-
77
- // Slider
78
- if (modules?.includes('slider')) {
79
- const slider = Webflow.require('slider');
80
-
81
- if (slider) {
82
- slider.redraw();
83
- slider.ready();
84
- }
85
- }
86
-
87
- // Tabs
88
- if (modules?.includes('tabs')) Webflow.require('tabs')?.redraw();
89
-
90
- return new Promise((resolve) => Webflow.push(() => resolve(undefined)));
91
- };
92
-
93
- /**
94
- * Checks the current breakpoint based on the window media.
95
- *
96
- * @returns A {@link WebflowBreakpoint} string.
97
- */
98
- export const getCurrentBreakpoint = (): WebflowBreakpoint => {
99
- for (const [breakpoint, mediaQuery] of WEBFLOW_BREAKPOINTS) {
100
- if (window.matchMedia(mediaQuery).matches) {
101
- return breakpoint;
102
- }
103
- }
104
-
105
- return 'main';
106
- };
107
-
108
- /**
109
- * Closes a Webflow dropdown.
110
- * @param dropdownToggle A {@link DropdownToggle} element.
111
- * @param focusToggle Defaults to `true`.
112
- */
113
- export const closeDropdown = (dropdownToggle: DropdownToggle, focusToggle = true) => {
114
- if (focusToggle) dropdownToggle.focus();
115
-
116
- simulateEvent(dropdownToggle, 'w-close');
117
- };
@@ -1,5 +0,0 @@
1
- export * from './animations';
2
- export * from './components';
3
- export * from './constants';
4
- export * from './helpers';
5
- export * from './types';