@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.
- package/index.js +23 -10
- package/package.json +17 -6
- package/.claude/settings.local.json +0 -21
- package/animations/hero.js +0 -599
- package/animations/text.js +0 -369
- package/animations/transition.js +0 -57
- package/attributes-master/.changeset/README.md +0 -8
- package/attributes-master/.changeset/config.json +0 -11
- package/attributes-master/.gitattributes +0 -2
- package/attributes-master/.github/ISSUE_TEMPLATE/bug_report.md +0 -42
- package/attributes-master/.github/ISSUE_TEMPLATE/feature_request.md +0 -22
- package/attributes-master/.github/workflows/ci.yml +0 -66
- package/attributes-master/.github/workflows/release.yml +0 -40
- package/attributes-master/.prettierignore +0 -3
- package/attributes-master/.prettierrc +0 -8
- package/attributes-master/.vscode/extensions.json +0 -3
- package/attributes-master/.vscode/settings.json +0 -7
- package/attributes-master/CONTRIBUTING.md +0 -72
- package/attributes-master/LICENSE.md +0 -201
- package/attributes-master/README.md +0 -31
- package/attributes-master/eslint.config.js +0 -3
- package/attributes-master/package.json +0 -34
- package/attributes-master/packages/accordion/CHANGELOG.md +0 -89
- package/attributes-master/packages/accordion/README.md +0 -31
- package/attributes-master/packages/accordion/package.json +0 -25
- package/attributes-master/packages/accordion/src/actions/a11y.ts +0 -39
- package/attributes-master/packages/accordion/src/actions/classes.ts +0 -27
- package/attributes-master/packages/accordion/src/actions/content.ts +0 -42
- package/attributes-master/packages/accordion/src/actions/list.ts +0 -36
- package/attributes-master/packages/accordion/src/actions/query.ts +0 -27
- package/attributes-master/packages/accordion/src/actions/settings.ts +0 -61
- package/attributes-master/packages/accordion/src/factory.ts +0 -145
- package/attributes-master/packages/accordion/src/index.ts +0 -3
- package/attributes-master/packages/accordion/src/init.ts +0 -37
- package/attributes-master/packages/accordion/src/utils/constants.ts +0 -62
- package/attributes-master/packages/accordion/src/utils/helpers.ts +0 -5
- package/attributes-master/packages/accordion/src/utils/selectors.ts +0 -12
- package/attributes-master/packages/accordion/src/utils/types.ts +0 -23
- package/attributes-master/packages/accordion/tsconfig.json +0 -3
- package/attributes-master/packages/attributes/CHANGELOG.md +0 -564
- package/attributes-master/packages/attributes/README.md +0 -66
- package/attributes-master/packages/attributes/bin/build.ts +0 -107
- package/attributes-master/packages/attributes/bin/live-reload.js +0 -1
- package/attributes-master/packages/attributes/package.json +0 -77
- package/attributes-master/packages/attributes/playwright.config.ts +0 -89
- package/attributes-master/packages/attributes/src/attributes.ts +0 -153
- package/attributes-master/packages/attributes/src/load.ts +0 -125
- package/attributes-master/packages/attributes/tests/accordion.spec.ts +0 -137
- package/attributes-master/packages/attributes/tests/codehighlight.spec.ts +0 -23
- package/attributes-master/packages/attributes/tests/combobox.spec.ts +0 -321
- package/attributes-master/packages/attributes/tests/copyclip.spec.ts +0 -19
- package/attributes-master/packages/attributes/tests/displayvalues.spec.ts +0 -48
- package/attributes-master/packages/attributes/tests/favcustom.spec.ts +0 -23
- package/attributes-master/packages/attributes/tests/inject.spec.ts +0 -40
- package/attributes-master/packages/attributes/tests/inputactive.spec.ts +0 -77
- package/attributes-master/packages/attributes/tests/inputcounter.spec.ts +0 -83
- package/attributes-master/packages/attributes/tests/list.spec.ts +0 -800
- package/attributes-master/packages/attributes/tests/mirrorclick.spec.ts +0 -22
- package/attributes-master/packages/attributes/tests/mirrorinput.spec.ts +0 -37
- package/attributes-master/packages/attributes/tests/modal.spec.ts +0 -34
- package/attributes-master/packages/attributes/tests/numbercount.spec.ts +0 -40
- package/attributes-master/packages/attributes/tests/readtime.spec.ts +0 -19
- package/attributes-master/packages/attributes/tests/selectcustom.spec.ts +0 -51
- package/attributes-master/packages/attributes/tests/socialshare.spec.ts +0 -54
- package/attributes-master/packages/attributes/tests/starrating.spec.ts +0 -79
- package/attributes-master/packages/attributes/tests/toc.spec.ts +0 -38
- package/attributes-master/packages/attributes/tests/utils/index.ts +0 -16
- package/attributes-master/packages/attributes/tsconfig.json +0 -6
- package/attributes-master/packages/autovideo/CHANGELOG.md +0 -182
- package/attributes-master/packages/autovideo/README.md +0 -31
- package/attributes-master/packages/autovideo/package.json +0 -22
- package/attributes-master/packages/autovideo/src/index.ts +0 -3
- package/attributes-master/packages/autovideo/src/init.ts +0 -52
- package/attributes-master/packages/autovideo/src/types.ts +0 -5
- package/attributes-master/packages/autovideo/src/utils/constants.ts +0 -4
- package/attributes-master/packages/autovideo/tsconfig.json +0 -3
- package/attributes-master/packages/codehighlight/CHANGELOG.md +0 -185
- package/attributes-master/packages/codehighlight/README.md +0 -27
- package/attributes-master/packages/codehighlight/package.json +0 -23
- package/attributes-master/packages/codehighlight/src/actions/import.ts +0 -50
- package/attributes-master/packages/codehighlight/src/index.ts +0 -3
- package/attributes-master/packages/codehighlight/src/init.ts +0 -53
- package/attributes-master/packages/codehighlight/src/utils/constants.ts +0 -24
- package/attributes-master/packages/codehighlight/src/utils/selectors.ts +0 -5
- package/attributes-master/packages/codehighlight/src/utils/themes.ts +0 -202
- package/attributes-master/packages/codehighlight/tsconfig.json +0 -3
- package/attributes-master/packages/combobox/CHANGELOG.md +0 -99
- package/attributes-master/packages/combobox/README.md +0 -27
- package/attributes-master/packages/combobox/package.json +0 -23
- package/attributes-master/packages/combobox/src/actions/a11y.ts +0 -29
- package/attributes-master/packages/combobox/src/actions/body/index.ts +0 -12
- package/attributes-master/packages/combobox/src/actions/clearDropdown/index.ts +0 -37
- package/attributes-master/packages/combobox/src/actions/dropdownList/index.ts +0 -220
- package/attributes-master/packages/combobox/src/actions/dropdownToggle/index.ts +0 -34
- package/attributes-master/packages/combobox/src/actions/events.ts +0 -75
- package/attributes-master/packages/combobox/src/actions/input/index.ts +0 -235
- package/attributes-master/packages/combobox/src/actions/observe.ts +0 -158
- package/attributes-master/packages/combobox/src/actions/populate.ts +0 -97
- package/attributes-master/packages/combobox/src/actions/selectElement/index.ts +0 -23
- package/attributes-master/packages/combobox/src/actions/settings.ts +0 -134
- package/attributes-master/packages/combobox/src/actions/state.ts +0 -34
- package/attributes-master/packages/combobox/src/index.ts +0 -3
- package/attributes-master/packages/combobox/src/init.ts +0 -52
- package/attributes-master/packages/combobox/src/utils/constants.ts +0 -48
- package/attributes-master/packages/combobox/src/utils/dropdowns.ts +0 -120
- package/attributes-master/packages/combobox/src/utils/index.ts +0 -1
- package/attributes-master/packages/combobox/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/combobox/src/utils/types.ts +0 -14
- package/attributes-master/packages/combobox/tsconfig.json +0 -3
- package/attributes-master/packages/copyclip/CHANGELOG.md +0 -213
- package/attributes-master/packages/copyclip/README.md +0 -27
- package/attributes-master/packages/copyclip/package.json +0 -23
- package/attributes-master/packages/copyclip/src/factory.ts +0 -67
- package/attributes-master/packages/copyclip/src/index.ts +0 -3
- package/attributes-master/packages/copyclip/src/init.ts +0 -68
- package/attributes-master/packages/copyclip/src/utils/constants.ts +0 -40
- package/attributes-master/packages/copyclip/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/copyclip/tsconfig.json +0 -3
- package/attributes-master/packages/displayvalues/CHANGELOG.md +0 -164
- package/attributes-master/packages/displayvalues/README.md +0 -27
- package/attributes-master/packages/displayvalues/package.json +0 -22
- package/attributes-master/packages/displayvalues/src/actions/collect.ts +0 -17
- package/attributes-master/packages/displayvalues/src/actions/events.ts +0 -22
- package/attributes-master/packages/displayvalues/src/actions/sync.ts +0 -23
- package/attributes-master/packages/displayvalues/src/index.ts +0 -3
- package/attributes-master/packages/displayvalues/src/init.ts +0 -31
- package/attributes-master/packages/displayvalues/src/utils/constants.ts +0 -20
- package/attributes-master/packages/displayvalues/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/displayvalues/src/utils/stores.ts +0 -3
- package/attributes-master/packages/displayvalues/tsconfig.json +0 -3
- package/attributes-master/packages/docs/CHANGELOG.md +0 -108
- package/attributes-master/packages/docs/README.md +0 -3
- package/attributes-master/packages/docs/bin/build.js +0 -92
- package/attributes-master/packages/docs/bin/live-reload.js +0 -1
- package/attributes-master/packages/docs/package.json +0 -40
- package/attributes-master/packages/docs/src/copy.ts +0 -260
- package/attributes-master/packages/docs/src/x-ray.ts +0 -377
- package/attributes-master/packages/docs/tsconfig.json +0 -3
- package/attributes-master/packages/favcustom/CHANGELOG.md +0 -194
- package/attributes-master/packages/favcustom/README.md +0 -27
- package/attributes-master/packages/favcustom/package.json +0 -22
- package/attributes-master/packages/favcustom/src/index.ts +0 -3
- package/attributes-master/packages/favcustom/src/init.ts +0 -30
- package/attributes-master/packages/favcustom/src/utils/constants.ts +0 -10
- package/attributes-master/packages/favcustom/src/utils/selectors.ts +0 -5
- package/attributes-master/packages/favcustom/tsconfig.json +0 -3
- package/attributes-master/packages/formsubmit/CHANGELOG.md +0 -161
- package/attributes-master/packages/formsubmit/README.md +0 -51
- package/attributes-master/packages/formsubmit/package.json +0 -22
- package/attributes-master/packages/formsubmit/src/actions/redirect.ts +0 -9
- package/attributes-master/packages/formsubmit/src/actions/reset.ts +0 -49
- package/attributes-master/packages/formsubmit/src/actions/submit.ts +0 -34
- package/attributes-master/packages/formsubmit/src/components/Form.ts +0 -231
- package/attributes-master/packages/formsubmit/src/factory.ts +0 -62
- package/attributes-master/packages/formsubmit/src/index.ts +0 -3
- package/attributes-master/packages/formsubmit/src/init.ts +0 -24
- package/attributes-master/packages/formsubmit/src/utils/attributes.ts +0 -19
- package/attributes-master/packages/formsubmit/src/utils/constants.ts +0 -89
- package/attributes-master/packages/formsubmit/src/utils/dom.ts +0 -76
- package/attributes-master/packages/formsubmit/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/formsubmit/src/utils/types.ts +0 -7
- package/attributes-master/packages/formsubmit/tsconfig.json +0 -3
- package/attributes-master/packages/inject/CHANGELOG.md +0 -117
- package/attributes-master/packages/inject/README.md +0 -60
- package/attributes-master/packages/inject/package.json +0 -22
- package/attributes-master/packages/inject/src/actions/collect.ts +0 -125
- package/attributes-master/packages/inject/src/actions/css.ts +0 -27
- package/attributes-master/packages/inject/src/actions/prefetch.ts +0 -44
- package/attributes-master/packages/inject/src/factory.ts +0 -123
- package/attributes-master/packages/inject/src/index.ts +0 -3
- package/attributes-master/packages/inject/src/init.ts +0 -22
- package/attributes-master/packages/inject/src/utils/constants.ts +0 -89
- package/attributes-master/packages/inject/src/utils/helpers.ts +0 -36
- package/attributes-master/packages/inject/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/inject/src/utils/types.ts +0 -16
- package/attributes-master/packages/inject/tsconfig.json +0 -3
- package/attributes-master/packages/inputactive/CHANGELOG.md +0 -58
- package/attributes-master/packages/inputactive/README.md +0 -25
- package/attributes-master/packages/inputactive/package.json +0 -22
- package/attributes-master/packages/inputactive/src/actions/classes.ts +0 -43
- package/attributes-master/packages/inputactive/src/factory.ts +0 -24
- package/attributes-master/packages/inputactive/src/index.ts +0 -3
- package/attributes-master/packages/inputactive/src/init.ts +0 -18
- package/attributes-master/packages/inputactive/src/utils/constants.ts +0 -13
- package/attributes-master/packages/inputactive/src/utils/selectors.ts +0 -5
- package/attributes-master/packages/inputactive/tsconfig.json +0 -3
- package/attributes-master/packages/inputcounter/CHANGELOG.md +0 -110
- package/attributes-master/packages/inputcounter/README.md +0 -25
- package/attributes-master/packages/inputcounter/package.json +0 -22
- package/attributes-master/packages/inputcounter/src/actions/a11y.ts +0 -23
- package/attributes-master/packages/inputcounter/src/actions/buttons.ts +0 -61
- package/attributes-master/packages/inputcounter/src/actions/input.ts +0 -31
- package/attributes-master/packages/inputcounter/src/actions/style.ts +0 -12
- package/attributes-master/packages/inputcounter/src/factory.ts +0 -51
- package/attributes-master/packages/inputcounter/src/index.ts +0 -3
- package/attributes-master/packages/inputcounter/src/init.ts +0 -22
- package/attributes-master/packages/inputcounter/src/utils/constants.ts +0 -59
- package/attributes-master/packages/inputcounter/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/inputcounter/tsconfig.json +0 -3
- package/attributes-master/packages/list/CHANGELOG.md +0 -185
- package/attributes-master/packages/list/README.md +0 -331
- package/attributes-master/packages/list/package.json +0 -37
- package/attributes-master/packages/list/src/combine/index.ts +0 -38
- package/attributes-master/packages/list/src/components/List.ts +0 -861
- package/attributes-master/packages/list/src/components/ListItem.ts +0 -229
- package/attributes-master/packages/list/src/components/index.ts +0 -2
- package/attributes-master/packages/list/src/factory.ts +0 -130
- package/attributes-master/packages/list/src/filter/dynamic/conditions.ts +0 -639
- package/attributes-master/packages/list/src/filter/dynamic/groups.ts +0 -221
- package/attributes-master/packages/list/src/filter/dynamic/index.ts +0 -119
- package/attributes-master/packages/list/src/filter/dynamic/utils.ts +0 -44
- package/attributes-master/packages/list/src/filter/elements.ts +0 -93
- package/attributes-master/packages/list/src/filter/filter.ts +0 -118
- package/attributes-master/packages/list/src/filter/filter.worker.ts +0 -152
- package/attributes-master/packages/list/src/filter/index.ts +0 -94
- package/attributes-master/packages/list/src/filter/standard/conditions.ts +0 -123
- package/attributes-master/packages/list/src/filter/standard/facets.ts +0 -253
- package/attributes-master/packages/list/src/filter/standard/index.ts +0 -176
- package/attributes-master/packages/list/src/filter/standard/query.ts +0 -111
- package/attributes-master/packages/list/src/filter/tags.ts +0 -314
- package/attributes-master/packages/list/src/filter/types.ts +0 -62
- package/attributes-master/packages/list/src/filter/utils.ts +0 -126
- package/attributes-master/packages/list/src/index.ts +0 -4
- package/attributes-master/packages/list/src/init.ts +0 -38
- package/attributes-master/packages/list/src/load/all.ts +0 -27
- package/attributes-master/packages/list/src/load/elements.ts +0 -39
- package/attributes-master/packages/list/src/load/index.ts +0 -63
- package/attributes-master/packages/list/src/load/infinite.ts +0 -79
- package/attributes-master/packages/list/src/load/load.ts +0 -191
- package/attributes-master/packages/list/src/load/more.ts +0 -97
- package/attributes-master/packages/list/src/load/pagination.ts +0 -402
- package/attributes-master/packages/list/src/nest/index.ts +0 -198
- package/attributes-master/packages/list/src/prevnext/index.ts +0 -98
- package/attributes-master/packages/list/src/select/index.ts +0 -56
- package/attributes-master/packages/list/src/slider/index.ts +0 -62
- package/attributes-master/packages/list/src/sort/buttons.ts +0 -96
- package/attributes-master/packages/list/src/sort/dropdown.ts +0 -179
- package/attributes-master/packages/list/src/sort/index.ts +0 -81
- package/attributes-master/packages/list/src/sort/query.ts +0 -63
- package/attributes-master/packages/list/src/sort/select.ts +0 -67
- package/attributes-master/packages/list/src/sort/sort.ts +0 -79
- package/attributes-master/packages/list/src/sort/types.ts +0 -28
- package/attributes-master/packages/list/src/static/index.ts +0 -73
- package/attributes-master/packages/list/src/tabs/index.ts +0 -97
- package/attributes-master/packages/list/src/utils/constants.ts +0 -728
- package/attributes-master/packages/list/src/utils/dom.ts +0 -108
- package/attributes-master/packages/list/src/utils/pagination.ts +0 -14
- package/attributes-master/packages/list/src/utils/selectors.ts +0 -18
- package/attributes-master/packages/list/src/utils/store.ts +0 -5
- package/attributes-master/packages/list/tsconfig.json +0 -3
- package/attributes-master/packages/mirrorclick/CHANGELOG.md +0 -171
- package/attributes-master/packages/mirrorclick/README.md +0 -25
- package/attributes-master/packages/mirrorclick/package.json +0 -22
- package/attributes-master/packages/mirrorclick/src/index.ts +0 -3
- package/attributes-master/packages/mirrorclick/src/init.ts +0 -35
- package/attributes-master/packages/mirrorclick/src/utils/constants.ts +0 -20
- package/attributes-master/packages/mirrorclick/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/mirrorclick/tsconfig.json +0 -3
- package/attributes-master/packages/mirrorinput/CHANGELOG.md +0 -172
- package/attributes-master/packages/mirrorinput/README.md +0 -25
- package/attributes-master/packages/mirrorinput/package.json +0 -22
- package/attributes-master/packages/mirrorinput/src/index.ts +0 -3
- package/attributes-master/packages/mirrorinput/src/init.ts +0 -48
- package/attributes-master/packages/mirrorinput/src/utils/constants.ts +0 -15
- package/attributes-master/packages/mirrorinput/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/mirrorinput/tsconfig.json +0 -3
- package/attributes-master/packages/modal/CHANGELOG.md +0 -94
- package/attributes-master/packages/modal/README.md +0 -29
- package/attributes-master/packages/modal/package.json +0 -23
- package/attributes-master/packages/modal/src/actions/a11y.ts +0 -46
- package/attributes-master/packages/modal/src/actions/modal.ts +0 -164
- package/attributes-master/packages/modal/src/actions/settings.ts +0 -21
- package/attributes-master/packages/modal/src/factory.ts +0 -26
- package/attributes-master/packages/modal/src/index.ts +0 -3
- package/attributes-master/packages/modal/src/init.ts +0 -22
- package/attributes-master/packages/modal/src/utils/constants.ts +0 -54
- package/attributes-master/packages/modal/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/modal/src/utils/types.ts +0 -12
- package/attributes-master/packages/modal/tsconfig.json +0 -3
- package/attributes-master/packages/numbercount/CHANGELOG.md +0 -90
- package/attributes-master/packages/numbercount/README.md +0 -27
- package/attributes-master/packages/numbercount/package.json +0 -23
- package/attributes-master/packages/numbercount/src/actions/a11y.ts +0 -26
- package/attributes-master/packages/numbercount/src/actions/animate.ts +0 -43
- package/attributes-master/packages/numbercount/src/actions/observe.ts +0 -44
- package/attributes-master/packages/numbercount/src/factory.ts +0 -31
- package/attributes-master/packages/numbercount/src/index.ts +0 -3
- package/attributes-master/packages/numbercount/src/init.ts +0 -22
- package/attributes-master/packages/numbercount/src/utils/constants.ts +0 -40
- package/attributes-master/packages/numbercount/src/utils/helpers.ts +0 -31
- package/attributes-master/packages/numbercount/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/numbercount/tsconfig.json +0 -3
- package/attributes-master/packages/queryparam/CHANGELOG.md +0 -118
- package/attributes-master/packages/queryparam/README.md +0 -25
- package/attributes-master/packages/queryparam/package.json +0 -22
- package/attributes-master/packages/queryparam/src/factory.ts +0 -51
- package/attributes-master/packages/queryparam/src/index.ts +0 -3
- package/attributes-master/packages/queryparam/src/init.ts +0 -40
- package/attributes-master/packages/queryparam/src/utils/constants.ts +0 -18
- package/attributes-master/packages/queryparam/src/utils/selectors.ts +0 -5
- package/attributes-master/packages/queryparam/tsconfig.json +0 -3
- package/attributes-master/packages/rangeslider/CHANGELOG.md +0 -236
- package/attributes-master/packages/rangeslider/README.md +0 -95
- package/attributes-master/packages/rangeslider/package.json +0 -23
- package/attributes-master/packages/rangeslider/src/actions/a11y.ts +0 -21
- package/attributes-master/packages/rangeslider/src/actions/events.ts +0 -9
- package/attributes-master/packages/rangeslider/src/actions/settings.ts +0 -97
- package/attributes-master/packages/rangeslider/src/actions/styles.ts +0 -10
- package/attributes-master/packages/rangeslider/src/actions/values.ts +0 -47
- package/attributes-master/packages/rangeslider/src/components/Fill.ts +0 -70
- package/attributes-master/packages/rangeslider/src/components/Handle.ts +0 -281
- package/attributes-master/packages/rangeslider/src/factory.ts +0 -100
- package/attributes-master/packages/rangeslider/src/index.ts +0 -3
- package/attributes-master/packages/rangeslider/src/init.ts +0 -194
- package/attributes-master/packages/rangeslider/src/utils/constants.ts +0 -87
- package/attributes-master/packages/rangeslider/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/rangeslider/src/utils/types.ts +0 -6
- package/attributes-master/packages/rangeslider/tsconfig.json +0 -3
- package/attributes-master/packages/readtime/CHANGELOG.md +0 -108
- package/attributes-master/packages/readtime/README.md +0 -25
- package/attributes-master/packages/readtime/package.json +0 -22
- package/attributes-master/packages/readtime/src/factory.ts +0 -21
- package/attributes-master/packages/readtime/src/index.ts +0 -3
- package/attributes-master/packages/readtime/src/init.ts +0 -19
- package/attributes-master/packages/readtime/src/utils/constants.ts +0 -33
- package/attributes-master/packages/readtime/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/readtime/tsconfig.json +0 -3
- package/attributes-master/packages/removequery/CHANGELOG.md +0 -8
- package/attributes-master/packages/removequery/README.md +0 -25
- package/attributes-master/packages/removequery/package.json +0 -22
- package/attributes-master/packages/removequery/src/index.ts +0 -3
- package/attributes-master/packages/removequery/src/init.ts +0 -18
- package/attributes-master/packages/removequery/src/utils/constants.ts +0 -5
- package/attributes-master/packages/removequery/tsconfig.json +0 -3
- package/attributes-master/packages/scrolldisable/CHANGELOG.md +0 -164
- package/attributes-master/packages/scrolldisable/README.md +0 -29
- package/attributes-master/packages/scrolldisable/package.json +0 -27
- package/attributes-master/packages/scrolldisable/src/click.ts +0 -40
- package/attributes-master/packages/scrolldisable/src/display.ts +0 -117
- package/attributes-master/packages/scrolldisable/src/index.ts +0 -3
- package/attributes-master/packages/scrolldisable/src/init.ts +0 -36
- package/attributes-master/packages/scrolldisable/src/scroll.ts +0 -63
- package/attributes-master/packages/scrolldisable/src/utils/constants.ts +0 -56
- package/attributes-master/packages/scrolldisable/src/utils/selectors.ts +0 -6
- package/attributes-master/packages/scrolldisable/tsconfig.json +0 -3
- package/attributes-master/packages/selectcustom/CHANGELOG.md +0 -242
- package/attributes-master/packages/selectcustom/README.md +0 -25
- package/attributes-master/packages/selectcustom/package.json +0 -23
- package/attributes-master/packages/selectcustom/src/actions/a11y.ts +0 -29
- package/attributes-master/packages/selectcustom/src/actions/events.ts +0 -159
- package/attributes-master/packages/selectcustom/src/actions/observe.ts +0 -83
- package/attributes-master/packages/selectcustom/src/actions/populate.ts +0 -67
- package/attributes-master/packages/selectcustom/src/actions/settings.ts +0 -68
- package/attributes-master/packages/selectcustom/src/actions/state.ts +0 -41
- package/attributes-master/packages/selectcustom/src/index.ts +0 -3
- package/attributes-master/packages/selectcustom/src/init.ts +0 -51
- package/attributes-master/packages/selectcustom/src/utils/constants.ts +0 -34
- package/attributes-master/packages/selectcustom/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/selectcustom/src/utils/types.ts +0 -14
- package/attributes-master/packages/selectcustom/tsconfig.json +0 -3
- package/attributes-master/packages/sliderdots/CHANGELOG.md +0 -220
- package/attributes-master/packages/sliderdots/README.md +0 -27
- package/attributes-master/packages/sliderdots/package.json +0 -22
- package/attributes-master/packages/sliderdots/src/actions/events.ts +0 -26
- package/attributes-master/packages/sliderdots/src/actions/observe.ts +0 -40
- package/attributes-master/packages/sliderdots/src/actions/populate.ts +0 -46
- package/attributes-master/packages/sliderdots/src/actions/sync.ts +0 -28
- package/attributes-master/packages/sliderdots/src/actions/wait.ts +0 -28
- package/attributes-master/packages/sliderdots/src/factory.ts +0 -57
- package/attributes-master/packages/sliderdots/src/index.ts +0 -3
- package/attributes-master/packages/sliderdots/src/init.ts +0 -30
- package/attributes-master/packages/sliderdots/src/utils/constants.ts +0 -33
- package/attributes-master/packages/sliderdots/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/sliderdots/src/utils/types.ts +0 -7
- package/attributes-master/packages/sliderdots/tsconfig.json +0 -3
- package/attributes-master/packages/smartlightbox/CHANGELOG.md +0 -203
- package/attributes-master/packages/smartlightbox/README.md +0 -25
- package/attributes-master/packages/smartlightbox/package.json +0 -22
- package/attributes-master/packages/smartlightbox/src/actions/collect.ts +0 -15
- package/attributes-master/packages/smartlightbox/src/actions/move.ts +0 -25
- package/attributes-master/packages/smartlightbox/src/index.ts +0 -3
- package/attributes-master/packages/smartlightbox/src/init.ts +0 -61
- package/attributes-master/packages/smartlightbox/src/utils/constants.ts +0 -31
- package/attributes-master/packages/smartlightbox/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/smartlightbox/tsconfig.json +0 -3
- package/attributes-master/packages/socialshare/CHANGELOG.md +0 -170
- package/attributes-master/packages/socialshare/README.md +0 -25
- package/attributes-master/packages/socialshare/package.json +0 -25
- package/attributes-master/packages/socialshare/src/actions/collect.ts +0 -93
- package/attributes-master/packages/socialshare/src/actions/share.ts +0 -91
- package/attributes-master/packages/socialshare/src/actions/trigger.ts +0 -46
- package/attributes-master/packages/socialshare/src/factory.ts +0 -149
- package/attributes-master/packages/socialshare/src/index.ts +0 -3
- package/attributes-master/packages/socialshare/src/init.ts +0 -35
- package/attributes-master/packages/socialshare/src/utils/constants.ts +0 -94
- package/attributes-master/packages/socialshare/src/utils/dom.ts +0 -8
- package/attributes-master/packages/socialshare/src/utils/selectors.ts +0 -6
- package/attributes-master/packages/socialshare/src/utils/stores.ts +0 -10
- package/attributes-master/packages/socialshare/src/utils/types.ts +0 -34
- package/attributes-master/packages/socialshare/tsconfig.json +0 -3
- package/attributes-master/packages/starrating/CHANGELOG.md +0 -70
- package/attributes-master/packages/starrating/README.md +0 -25
- package/attributes-master/packages/starrating/package.json +0 -22
- package/attributes-master/packages/starrating/src/actions/classes.ts +0 -41
- package/attributes-master/packages/starrating/src/actions/events.ts +0 -80
- package/attributes-master/packages/starrating/src/factory.ts +0 -24
- package/attributes-master/packages/starrating/src/index.ts +0 -3
- package/attributes-master/packages/starrating/src/init.ts +0 -24
- package/attributes-master/packages/starrating/src/utils/constants.ts +0 -20
- package/attributes-master/packages/starrating/src/utils/helpers.ts +0 -63
- package/attributes-master/packages/starrating/src/utils/selectors.ts +0 -9
- package/attributes-master/packages/starrating/tsconfig.json +0 -3
- package/attributes-master/packages/template/README.md +0 -25
- package/attributes-master/packages/template/package.json +0 -22
- package/attributes-master/packages/template/src/actions/console.ts +0 -4
- package/attributes-master/packages/template/src/index.ts +0 -3
- package/attributes-master/packages/template/src/init.ts +0 -14
- package/attributes-master/packages/template/src/utils/constants.ts +0 -18
- package/attributes-master/packages/template/src/utils/selectors.ts +0 -5
- package/attributes-master/packages/template/tsconfig.json +0 -3
- package/attributes-master/packages/toc/CHANGELOG.md +0 -192
- package/attributes-master/packages/toc/README.md +0 -25
- package/attributes-master/packages/toc/package.json +0 -23
- package/attributes-master/packages/toc/src/actions/collect.ts +0 -136
- package/attributes-master/packages/toc/src/actions/create.ts +0 -44
- package/attributes-master/packages/toc/src/actions/events.ts +0 -29
- package/attributes-master/packages/toc/src/actions/observe.ts +0 -31
- package/attributes-master/packages/toc/src/actions/populate.ts +0 -68
- package/attributes-master/packages/toc/src/actions/prepare.ts +0 -25
- package/attributes-master/packages/toc/src/actions/scroll.ts +0 -33
- package/attributes-master/packages/toc/src/components/TOCItem.ts +0 -88
- package/attributes-master/packages/toc/src/factory.ts +0 -47
- package/attributes-master/packages/toc/src/index.ts +0 -3
- package/attributes-master/packages/toc/src/init.ts +0 -37
- package/attributes-master/packages/toc/src/utils/constants.ts +0 -55
- package/attributes-master/packages/toc/src/utils/helpers.ts +0 -23
- package/attributes-master/packages/toc/src/utils/selectors.ts +0 -6
- package/attributes-master/packages/toc/src/utils/types.ts +0 -21
- package/attributes-master/packages/toc/tsconfig.json +0 -3
- package/attributes-master/packages/utils/CHANGELOG.md +0 -43
- package/attributes-master/packages/utils/package.json +0 -27
- package/attributes-master/packages/utils/src/animations/factory.ts +0 -100
- package/attributes-master/packages/utils/src/animations/index.ts +0 -73
- package/attributes-master/packages/utils/src/animations/types.ts +0 -37
- package/attributes-master/packages/utils/src/components/Interaction.ts +0 -79
- package/attributes-master/packages/utils/src/components/Renderer.ts +0 -59
- package/attributes-master/packages/utils/src/components/index.ts +0 -2
- package/attributes-master/packages/utils/src/constants/a11y.ts +0 -50
- package/attributes-master/packages/utils/src/constants/attributes.ts +0 -57
- package/attributes-master/packages/utils/src/constants/index.ts +0 -5
- package/attributes-master/packages/utils/src/constants/keyboard.ts +0 -10
- package/attributes-master/packages/utils/src/constants/webflow.ts +0 -74
- package/attributes-master/packages/utils/src/helpers/dates.ts +0 -17
- package/attributes-master/packages/utils/src/helpers/dom.ts +0 -82
- package/attributes-master/packages/utils/src/helpers/events.ts +0 -59
- package/attributes-master/packages/utils/src/helpers/fetch.ts +0 -217
- package/attributes-master/packages/utils/src/helpers/forms.ts +0 -238
- package/attributes-master/packages/utils/src/helpers/guards.ts +0 -138
- package/attributes-master/packages/utils/src/helpers/index.ts +0 -11
- package/attributes-master/packages/utils/src/helpers/numbers.ts +0 -86
- package/attributes-master/packages/utils/src/helpers/selectors.ts +0 -249
- package/attributes-master/packages/utils/src/helpers/strings.ts +0 -19
- package/attributes-master/packages/utils/src/helpers/wait.ts +0 -36
- package/attributes-master/packages/utils/src/helpers/webflow.ts +0 -117
- package/attributes-master/packages/utils/src/index.ts +0 -5
- package/attributes-master/packages/utils/src/types/core.ts +0 -100
- package/attributes-master/packages/utils/src/types/dom.ts +0 -31
- package/attributes-master/packages/utils/src/types/index.ts +0 -4
- package/attributes-master/packages/utils/src/types/utils.ts +0 -20
- package/attributes-master/packages/utils/src/types/webflow.ts +0 -147
- package/attributes-master/packages/utils/tsconfig.json +0 -3
- package/attributes-master/packages/videohls/CHANGELOG.md +0 -76
- package/attributes-master/packages/videohls/README.md +0 -27
- package/attributes-master/packages/videohls/package.json +0 -26
- package/attributes-master/packages/videohls/src/actions/list.ts +0 -23
- package/attributes-master/packages/videohls/src/actions/video.ts +0 -44
- package/attributes-master/packages/videohls/src/index.ts +0 -3
- package/attributes-master/packages/videohls/src/init.ts +0 -28
- package/attributes-master/packages/videohls/src/utils/constants.ts +0 -12
- package/attributes-master/packages/videohls/src/utils/selectors.ts +0 -5
- package/attributes-master/packages/videohls/src/utils/stores.ts +0 -3
- package/attributes-master/packages/videohls/tsconfig.json +0 -3
- package/attributes-master/pnpm-lock.yaml +0 -3317
- package/attributes-master/pnpm-workspace.yaml +0 -3
- package/attributes-master/tsconfig.json +0 -6
- package/autoInit/smooth-scroll.js +0 -89
- package/utils/navbar.js +0 -214
- package/utils/scroll-progress.js +0 -29
- 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
|
-
});
|