@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,23 +0,0 @@
1
- import { expect, test } from '@playwright/test';
2
-
3
- import { waitAttributeLoaded } from './utils';
4
-
5
- test.beforeEach(async ({ page }) => {
6
- await page.goto('http://fs-attributes.webflow.io/codehighlight');
7
- });
8
-
9
- test.describe('codehighlight', () => {
10
- test('Highlights code with hljs', async ({ page }) => {
11
- await waitAttributeLoaded(page, 'codehighlight');
12
-
13
- const code = page.getByTestId('code-1');
14
- await expect(code).toHaveClass(/hljs/);
15
- });
16
-
17
- test('Highlights richtext component code with hljs', async ({ page }) => {
18
- await waitAttributeLoaded(page, 'codehighlight');
19
-
20
- const codeComponent = page.locator('[fs-richtext-element] [data-testid="code-2"]');
21
- await expect(codeComponent).toHaveClass(/hljs/);
22
- });
23
- });
@@ -1,321 +0,0 @@
1
- import { expect, test } from '@playwright/test';
2
-
3
- import { waitAttributeLoaded } from './utils';
4
-
5
- test.beforeEach(async ({ page }) => {
6
- await page.goto('http://fs-attributes.webflow.io/combobox');
7
- await waitAttributeLoaded(page, 'combobox');
8
-
9
- // eslint-disable-next-line no-console
10
- page.on('console', (msg) => console.log('PAGE LOG:', msg.text()));
11
- });
12
-
13
- test.describe('combobox', () => {
14
- test('Combobox initializes properly', async ({ page }) => {
15
- const comboboxDropdown = page.locator('[fs-combobox-element="dropdown"]');
16
- const comboboxClearDropdown = page.locator('[fs-combobox-element="clear"]');
17
- const comboboxLabels = page.locator('[fs-combobox-element="label"]');
18
- const comboboxInput = comboboxDropdown.locator('input');
19
- const comboboSelect = comboboxDropdown.locator('select');
20
- const comboboSelectOptions = comboboSelect.locator('option');
21
-
22
- const comboboxLabelsCount = await comboboxLabels.count();
23
- const comboboSelectOptionsCount = await comboboSelectOptions.count();
24
-
25
- for (let optionIndex = 0; optionIndex < comboboSelectOptionsCount; optionIndex++) {
26
- const option = comboboSelect.nth(optionIndex);
27
- await expect(option).not.toBe(null);
28
- }
29
-
30
- await expect(comboboxLabelsCount).toBeGreaterThan(0);
31
-
32
- await expect(comboboxDropdown).toBeVisible();
33
- await expect(comboboxClearDropdown).toHaveCSS('display', 'none');
34
- await expect(comboboxInput).toBeVisible();
35
- await expect(comboboxInput).toBeEditable();
36
- });
37
-
38
- test('Combobox on input if preventclear is true input value is maintained', async ({ page }) => {
39
- const comboboxDropdown = page.locator('[fs-combobox-element="dropdown"]');
40
- const preventClearSetting = page.locator('[fs-combobox-preventclear="true"]');
41
-
42
- const preventClearSettingExists = await preventClearSetting.isVisible();
43
-
44
- if (!preventClearSettingExists) {
45
- return;
46
- }
47
-
48
- const comboboxInput = comboboxDropdown.locator('input');
49
-
50
- const comboboxNav = comboboxDropdown.locator('nav');
51
-
52
- await comboboxInput.focus();
53
- await comboboxInput.fill('notexistingvalue');
54
-
55
- await expect(comboboxNav).toHaveClass(/w--open/);
56
-
57
- await comboboxNav.press('Escape');
58
-
59
- await expect(comboboxNav).not.toHaveClass(/w--open/);
60
-
61
- const inputValue = await comboboxInput.inputValue();
62
-
63
- await expect(inputValue).toEqual('notexistingvalue');
64
- });
65
-
66
- test('Combobox opens and closes by clicking on input.', async ({ page }) => {
67
- const comboboxDropdown = page.locator('[fs-combobox-element="dropdown"]');
68
- const comboboxInput = comboboxDropdown.locator('input');
69
-
70
- const comboboxNav = comboboxDropdown.locator('nav');
71
-
72
- // open dropdown
73
- await comboboxInput.click();
74
- // expect nav class to include w--open
75
- await expect(comboboxNav).toHaveClass(/w--open/);
76
-
77
- // second click should not close dropdown
78
- await comboboxInput.click();
79
- await expect(comboboxNav).toHaveClass(/w--open/);
80
- });
81
-
82
- test('Combobox input arrow down key opens dropdown', async ({ page }) => {
83
- const comboboxDropdown = page.locator('[fs-combobox-element="dropdown"]');
84
- const comboboxInput = comboboxDropdown.locator('input');
85
- const comboboxNav = comboboxDropdown.locator('nav');
86
-
87
- await comboboxInput.focus();
88
-
89
- await comboboxInput.press('ArrowDown');
90
-
91
- await expect(comboboxNav).toHaveClass(/w--open/);
92
- });
93
-
94
- test('Combobox input on escape key if nothing has been selected, it should clear input field and close dropdown', async ({
95
- page,
96
- }) => {
97
- const comboboxDropdown = page.locator('[fs-combobox-element="dropdown"]');
98
- const comboboxInput = comboboxDropdown.locator('input');
99
- const comboboxClearDropdown = page.locator('[fs-combobox-element="clear"]');
100
- const select = comboboxDropdown.locator('select');
101
- const preventClearSetting = page.locator('[fs-combobox-preventclear="true"]');
102
-
103
- const preventClearSettingExists = await preventClearSetting.isVisible();
104
-
105
- const comboboxNav = comboboxDropdown.locator('nav');
106
-
107
- await comboboxInput.focus();
108
- await comboboxInput.fill('test');
109
-
110
- await expect(comboboxNav).toHaveClass(/w--open/);
111
-
112
- await comboboxNav.press('Escape');
113
-
114
- await expect(comboboxNav).not.toHaveClass(/w--open/);
115
-
116
- // if prevent clear is true, input value should not be cleared
117
- if (preventClearSettingExists) {
118
- await expect(await comboboxInput.inputValue()).toEqual('test');
119
-
120
- return;
121
- }
122
-
123
- const selectedValue = await select.getAttribute('value');
124
- if (!selectedValue) {
125
- const inputValue = await comboboxInput.inputValue();
126
- await expect(inputValue).toEqual('');
127
-
128
- await expect(comboboxClearDropdown).toHaveCSS('display', 'none');
129
- }
130
- });
131
-
132
- test('Combobox should show clear icon only when selected option value matches input value', async ({ page }) => {
133
- const comboboxDropdown = page.locator('[fs-combobox-element="dropdown"]');
134
- const comboboxInput = comboboxDropdown.locator('input');
135
- const comboboxNav = comboboxDropdown.locator('nav');
136
- const comboboxOptions = comboboxNav.locator('a');
137
- const select = comboboxDropdown.locator('select');
138
- const comboboxClearDropdown = page.locator('[fs-combobox-element="clear"]');
139
-
140
- const getAttributeIfExists = async (selector: string, attributeName: string): Promise<boolean> => {
141
- const element = page.locator(selector);
142
-
143
- if ((await element.count()) === 0) return false;
144
-
145
- const attributeValue = await element.getAttribute(attributeName);
146
-
147
- return attributeValue === 'true';
148
- };
149
-
150
- const preventClearSettingExists = await getAttributeIfExists(
151
- '[fs-combobox-preventclear]',
152
- 'fs-combobox-preventclear'
153
- );
154
-
155
- await comboboxInput.click();
156
-
157
- const activeElement = await page.evaluate(() => document.activeElement?.tagName);
158
- await expect(activeElement).toEqual('INPUT');
159
-
160
- await expect(await comboboxNav).toHaveClass(/w--open/);
161
-
162
- const randomOptionIndex = Math.floor(Math.random() * (await comboboxOptions.count()));
163
- const randomOption = comboboxOptions.nth(randomOptionIndex);
164
- await randomOption.click();
165
-
166
- await expect(comboboxNav).not.toHaveClass(/w--open/);
167
-
168
- const inputValue = await comboboxInput.inputValue();
169
-
170
- if (!preventClearSettingExists && inputValue.length === 0)
171
- await expect(comboboxClearDropdown).toHaveCSS('display', 'none');
172
- else if (inputValue.length > 0 && preventClearSettingExists)
173
- await expect(comboboxClearDropdown).toHaveCSS('display', 'block');
174
- else if (inputValue.length > 0 && !preventClearSettingExists)
175
- await expect(comboboxClearDropdown).toHaveCSS('display', 'block');
176
-
177
- // empty input
178
- await comboboxInput.fill('');
179
-
180
- // press escape
181
- await comboboxInput.press('Escape');
182
-
183
- await expect(comboboxClearDropdown).toHaveCSS('display', 'none');
184
-
185
- await expect(comboboxNav).not.toHaveAttribute('aria-expanded', 'true');
186
-
187
- const selectedValue = await select.getAttribute('value');
188
-
189
- if (selectedValue) {
190
- await expect(comboboxClearDropdown).toHaveCSS('display', 'flex');
191
- }
192
- });
193
-
194
- test('Combobox whenever it is opened and if selected option does not exist, it should focus on first option', async ({
195
- page,
196
- }) => {
197
- const comboboxDropdown = page.locator('[fs-combobox-element="dropdown"]');
198
- const comboboxInput = comboboxDropdown.locator('input');
199
- const comboboxNav = comboboxDropdown.locator('nav');
200
- const comboboxOptions = comboboxNav.locator('a');
201
-
202
- await comboboxInput.focus();
203
-
204
- await comboboxInput.press('ArrowDown');
205
- await expect(comboboxNav).toHaveClass(/w--open/);
206
-
207
- await page.waitForTimeout(1000);
208
- const firstOption = await comboboxOptions.nth(0);
209
-
210
- const activeElement = await page.evaluate(() => document.activeElement?.getAttribute('id'));
211
- const firstOptionId = await firstOption.getAttribute('id');
212
-
213
- await expect(activeElement).toEqual(firstOptionId);
214
- });
215
-
216
- test('Combobox whenever it is opened and something is typed, arrow up should close dropdown and arrow down should focus on first element on the list if no selected option is found', async ({
217
- page,
218
- }) => {
219
- const comboboxDropdown = page.locator('[fs-combobox-element="dropdown"]');
220
- const comboboxInput = comboboxDropdown.locator('input');
221
- const comboboxNav = comboboxDropdown.locator('nav');
222
- const comboboxOptions = comboboxNav.locator('a');
223
-
224
- await comboboxInput.fill('a');
225
-
226
- await expect(comboboxNav).toHaveClass(/w--open/);
227
-
228
- await comboboxInput.press('ArrowUp');
229
-
230
- await expect(comboboxNav).not.toHaveClass(/w--open/);
231
-
232
- await comboboxInput.press('ArrowDown');
233
-
234
- await expect(comboboxNav).toHaveClass(/w--open/);
235
-
236
- await page.waitForTimeout(1000);
237
- const firstOption = comboboxOptions.nth(0);
238
-
239
- const activeElement = await page.evaluate(() => document.activeElement?.getAttribute('id'));
240
- const firstOptionId = await firstOption.getAttribute('id');
241
-
242
- await expect(activeElement).toEqual(firstOptionId);
243
- });
244
-
245
- test('Combobox input field enter key should submit form', async ({ page }) => {
246
- const comboboxDropdown = page.locator('[fs-combobox-element="dropdown"]');
247
- const comboboxInput = comboboxDropdown.locator('input');
248
- const comboboxNav = comboboxDropdown.locator('nav');
249
-
250
- await comboboxInput.focus();
251
-
252
- await comboboxInput.type('test');
253
-
254
- await comboboxInput.press('Enter');
255
-
256
- await expect(comboboxNav).not.toBeVisible();
257
- await expect(comboboxInput).not.toBeVisible();
258
- });
259
-
260
- test('Combobox clear icon enter key should not submit form', async ({ page }) => {
261
- const comboboxDropdown = page.locator('[fs-combobox-element="dropdown"]');
262
- const comboboxInput = comboboxDropdown.locator('input');
263
- const comboboxNav = comboboxDropdown.locator('nav');
264
- const comboboxClearDropdown = page.locator('[fs-combobox-element="clear"]');
265
-
266
- // toggle dropdown by clicking on input
267
- await comboboxInput.click();
268
-
269
- // dropdown should be open
270
- await expect(comboboxNav).toHaveClass(/w--open/);
271
-
272
- // click on first item in the list
273
- const randomOption = comboboxNav.locator('a').nth(1);
274
- await randomOption.click();
275
-
276
- // get randomOption text content
277
- const randomOptionTextVal = await randomOption.textContent();
278
- // trim
279
- const randomOptionText = randomOptionTextVal?.trim();
280
-
281
- await expect(randomOptionText).not.toEqual('');
282
-
283
- // dropdown should be closed
284
-
285
- await expect(comboboxNav).not.toHaveClass(/w--open/);
286
-
287
- // get input value
288
- const inputValue = await comboboxInput.inputValue();
289
-
290
- await expect(inputValue).toEqual(randomOptionText);
291
-
292
- // expect clear icon to be visible
293
- await expect(comboboxClearDropdown).toBeVisible();
294
-
295
- // focus on clear icon
296
- await comboboxClearDropdown.focus();
297
-
298
- // press enter key
299
-
300
- await comboboxClearDropdown.press('Enter');
301
-
302
- // dropdown should be closed
303
- await expect(comboboxNav).not.toHaveClass(/w--open/);
304
-
305
- // updated input value
306
- const updatedInputValue = await comboboxInput.inputValue();
307
-
308
- // input value should be empty
309
- await expect(updatedInputValue).toEqual('');
310
-
311
- // clear icon should not be visible
312
- await expect(comboboxClearDropdown).not.toBeVisible();
313
-
314
- // input should be focused
315
- const activeElement = await page.evaluate(() => document.activeElement?.tagName);
316
- await expect(activeElement).toEqual('INPUT');
317
-
318
- // input field should be visible meaning enter key on clear icon did not submit form
319
- await expect(comboboxInput).toBeVisible();
320
- });
321
- });
@@ -1,19 +0,0 @@
1
- import { expect, test } from '@playwright/test';
2
-
3
- import { waitAttributeLoaded } from './utils';
4
-
5
- test.beforeEach(async ({ page }) => {
6
- await page.goto('http://fs-attributes.webflow.io/copyclip');
7
- });
8
-
9
- test.describe('copyclip', () => {
10
- test('Displays copied message and adds .fs-copyclip_active class', async ({ page }) => {
11
- await waitAttributeLoaded(page, 'copyclip');
12
-
13
- const button = page.getByTestId('button-1');
14
- await button.click();
15
-
16
- await expect(button).toHaveText('Copied!');
17
- await expect(button).toHaveClass(/fs-copyclip_active/);
18
- });
19
- });
@@ -1,48 +0,0 @@
1
- import { expect, type Page, test } from '@playwright/test';
2
-
3
- import { waitAttributeLoaded } from './utils';
4
-
5
- test.beforeEach(async ({ page }) => {
6
- await page.goto('http://fs-attributes.webflow.io/displayvalues');
7
- });
8
-
9
- const getSourceLocators = (page: Page) =>
10
- [1, 2, 3, 4, 5, 6].map((id) =>
11
- page.locator(`[fs-displayvalues-element="source"][fs-displayvalues-instance="${id}"]`)
12
- );
13
-
14
- const getTargetLocators = (page: Page) =>
15
- [1, 2, 3, 4, 5, 6].map((id) =>
16
- page.locator(`[fs-displayvalues-element="target"][fs-displayvalues-instance="${id}"]`)
17
- );
18
-
19
- test.describe('displayvalues', () => {
20
- test("Displays each element's value", async ({ page }) => {
21
- await waitAttributeLoaded(page, 'displayvalues');
22
-
23
- const [source1, source2, source3, source4, source5, source6] = getSourceLocators(page);
24
- const [target1, target2, target3, target4, target5, target6] = getTargetLocators(page);
25
-
26
- await source1.type('source 1');
27
- await expect(target1).toHaveText('source 1');
28
-
29
- await source2.type('source 2');
30
- await expect(target2).toHaveText('source 2');
31
-
32
- await source3.selectOption('First');
33
- await expect(target3).toHaveText('First');
34
-
35
- await source4.check({ force: true });
36
- await expect(target4).toHaveText('true');
37
-
38
- await source5.first().check({ force: true });
39
- await expect(target5).toHaveText('Radio');
40
-
41
- await source6.evaluate<void, HTMLInputElement>((input) => {
42
- input.value = '70';
43
- input.dispatchEvent(new Event('input', { bubbles: true }));
44
- });
45
-
46
- await expect(target6).toHaveText('70');
47
- });
48
- });
@@ -1,23 +0,0 @@
1
- import { expect, test } from '@playwright/test';
2
-
3
- import { waitAttributeLoaded } from './utils';
4
-
5
- test.beforeEach(async ({ page }) => {
6
- await page.goto('http://fs-attributes.webflow.io/favcustom');
7
- });
8
-
9
- test.describe('favcustom', () => {
10
- test('Favicon is updated', async ({ page }) => {
11
- await waitAttributeLoaded(page, 'favcustom');
12
-
13
- const sourceElement = page.getByTestId('src');
14
- const sourceElementSrc = await sourceElement.getAttribute('src');
15
-
16
- const pageFavicon = await page.evaluate(() => {
17
- const linkElement = document.querySelector<HTMLLinkElement>('link[type="image/x-icon"]');
18
- return linkElement?.href;
19
- });
20
-
21
- expect(pageFavicon).toBe(sourceElementSrc);
22
- });
23
- });
@@ -1,40 +0,0 @@
1
- import { expect, test } from '@playwright/test';
2
-
3
- import { waitAttributeLoaded } from './utils';
4
-
5
- test.beforeEach(async ({ page }) => {
6
- await page.goto('http://fs-attributes.webflow.io/inject');
7
- });
8
-
9
- test.describe('inject', () => {
10
- test('Loads same-project components', async ({ page }) => {
11
- await waitAttributeLoaded(page, 'inject');
12
-
13
- const target1 = page.getByTestId('target-1');
14
- const target2 = page.getByTestId('target-2');
15
-
16
- await expect(target1).not.toBeEmpty();
17
- await expect(target2).not.toBeEmpty();
18
- });
19
-
20
- test('Loads external-project components', async ({ page }) => {
21
- await waitAttributeLoaded(page, 'inject');
22
-
23
- const target3 = page.getByTestId('target-3');
24
- const target4 = page.getByTestId('target-4');
25
-
26
- // Components are rendered
27
- const target3Component = target3.locator('[fs-inject-element="component"]');
28
- const target4Component = target4.locator('[fs-inject-element="component"]');
29
-
30
- await expect(target3Component).toBeVisible();
31
- await expect(target4Component).toBeVisible();
32
-
33
- // External CSS is loaded when css is true
34
- const target3CSS = target3.locator('link[type="text/css"]');
35
- const target4CSS = target4.locator('link[type="text/css"]');
36
-
37
- await expect(target3CSS).toHaveCount(1);
38
- await expect(target4CSS).toHaveCount(0);
39
- });
40
- });
@@ -1,77 +0,0 @@
1
- import { expect, test } from '@playwright/test';
2
-
3
- import { waitAttributeLoaded } from './utils';
4
-
5
- test.beforeEach(async ({ page }) => {
6
- await page.goto('http://fs-attributes.webflow.io/inputactive');
7
- });
8
-
9
- test.describe('inputactive', () => {
10
- test('Adds CSS classes correctly', async ({ page }) => {
11
- await waitAttributeLoaded(page, 'inputactive');
12
-
13
- const checkbox1 = page.getByTestId('checkbox-1-1');
14
- const checkbox2 = page.getByTestId('checkbox-2-1');
15
- const checkbox31 = page.getByTestId('checkbox-3-1');
16
- const checkbox32 = page.getByTestId('checkbox-3-2');
17
- const radio11 = page.getByTestId('radio-1-1');
18
- const radio12 = page.getByTestId('radio-1-2');
19
- const radio21 = page.getByTestId('radio-2-1');
20
- const radio22 = page.getByTestId('radio-2-2');
21
- const radio31 = page.getByTestId('radio-3-1');
22
- const radio32 = page.getByTestId('radio-3-2');
23
- const radio33 = page.getByTestId('radio-3-3');
24
-
25
- // Checkboxes (default)
26
- await expect(checkbox1).not.toHaveClass(/is-active-inputactive/);
27
- await checkbox1.click();
28
- await expect(checkbox1).toHaveClass(/is-active-inputactive/);
29
-
30
- await page.waitForTimeout(10000);
31
-
32
- // Checkboxes (inherit)
33
- await checkbox2.click();
34
- await expect(checkbox2).toHaveClass(/is-cool/);
35
-
36
- await checkbox31.click();
37
- await expect(checkbox31).toHaveClass(/is-cool/);
38
-
39
- // Checkboxes (individual)
40
- await checkbox32.click();
41
- await expect(checkbox32).toHaveClass(/is-cooler/);
42
-
43
- // Radios (default)
44
- await expect(radio11).not.toHaveClass(/is-active-inputactive/);
45
- await radio11.click();
46
- await expect(radio11).toHaveClass(/is-active-inputactive/);
47
-
48
- await radio12.click();
49
- await expect(radio11).not.toHaveClass(/is-active-inputactive/);
50
- await expect(radio12).toHaveClass(/is-active-inputactive/);
51
-
52
- // Radios (inherit)
53
- await expect(radio21).not.toHaveClass(/is-cool/);
54
- await radio21.click();
55
- await expect(radio21).toHaveClass(/is-cool/);
56
-
57
- await radio22.click();
58
- await expect(radio21).not.toHaveClass(/is-cool/);
59
- await expect(radio22).toHaveClass(/is-cool/);
60
-
61
- // Radios (individual)
62
- await radio31.click();
63
- await expect(radio31).toHaveClass(/is-cool/);
64
- await expect(radio32).not.toHaveClass(/is-cooler/);
65
- await expect(radio33).not.toHaveClass(/is-the-coolest/);
66
-
67
- await radio32.click();
68
- await expect(radio31).not.toHaveClass(/is-cool/);
69
- await expect(radio32).toHaveClass(/is-cooler/);
70
- await expect(radio33).not.toHaveClass(/is-the-coolest/);
71
-
72
- await radio33.click();
73
- await expect(radio31).not.toHaveClass(/is-cool/);
74
- await expect(radio32).not.toHaveClass(/is-cooler/);
75
- await expect(radio33).toHaveClass(/is-the-coolest/);
76
- });
77
- });
@@ -1,83 +0,0 @@
1
- import { expect, test } from '@playwright/test';
2
-
3
- import { waitAttributeLoaded } from './utils';
4
-
5
- test.beforeEach(async ({ page }) => {
6
- await page.goto('http://fs-attributes.webflow.io/inputcounter');
7
- });
8
-
9
- test.describe('inputcounter', () => {
10
- test('Initial + step, min, max + increment, decrement, reset', async ({ page }) => {
11
- await waitAttributeLoaded(page, 'inputcounter');
12
-
13
- const input = page.getByTestId('input');
14
- const incrementButton = page.getByTestId('increment');
15
- const decrementButton = page.getByTestId('decrement');
16
- const resetBtn = page.getByTestId('reset');
17
- const clearBtn = page.getByTestId('clear');
18
-
19
- let resetButton;
20
-
21
- if (await resetBtn.isVisible()) {
22
- resetButton = resetBtn;
23
- }
24
-
25
- if (await clearBtn.isVisible()) {
26
- resetButton = clearBtn;
27
- }
28
-
29
- // Initial
30
- await expect(input).toHaveValue('0.5');
31
-
32
- // Min
33
- await input.fill('-1');
34
- await input.dispatchEvent('change');
35
- await expect(input).toHaveValue('0');
36
-
37
- // Max
38
- await input.fill('11');
39
- await input.dispatchEvent('change');
40
- await expect(input).toHaveValue('10');
41
-
42
- // Step
43
- await input.fill('0.65');
44
- await input.dispatchEvent('change');
45
- await expect(input).toHaveValue('0.5');
46
-
47
- await input.fill('0.95');
48
- await input.dispatchEvent('change');
49
- await expect(input).toHaveValue('1');
50
-
51
- // Increment
52
- await incrementButton.click();
53
- await expect(input).toHaveValue('1.5');
54
-
55
- // Decrement
56
- await decrementButton.click();
57
- await expect(input).toHaveValue('1');
58
-
59
- // Reset
60
- if (resetButton) {
61
- // Reset to initial
62
- await resetButton?.click();
63
- await expect(input).toHaveValue('0.5');
64
- } else {
65
- // If no reset button is found, fail the test
66
- expect(false).toBe(true);
67
- }
68
- });
69
-
70
- test('Change reset button attribute value from reset to clear is backward compatible', async ({ page }) => {
71
- await waitAttributeLoaded(page, 'inputcounter');
72
-
73
- const clearButtons = page.locator('[fs-inputcounter-element^="clear"]');
74
- const resetButtons = page.locator('[fs-inputcounter-element^="reset"]');
75
-
76
- const countClearButtons = await clearButtons.count();
77
- const countResetButtons = await resetButtons.count();
78
-
79
- const eitherIsGreaterThanZero = countClearButtons > 0 || countResetButtons > 0;
80
-
81
- expect(eitherIsGreaterThanZero).toBe(true);
82
- });
83
- });