@hortonstudio/main 1.2.12 → 1.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +9 -9
- 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/debug-version.html +0 -37
- package/utils/navbar.js +0 -214
- package/utils/scroll-progress.js +0 -29
- package/utils/toc.js +0 -77
@@ -1,800 +0,0 @@
|
|
1
|
-
import { type List } from '@finsweet/attributes-list';
|
2
|
-
import { CMS_CSS_SELECTORS } from '@finsweet/attributes-list/dom';
|
3
|
-
import { getElementSelector, getInstanceSelector, getSettingSelector } from '@finsweet/attributes-list/selectors';
|
4
|
-
import { expect, type Page, test } from '@playwright/test';
|
5
|
-
|
6
|
-
import { parseOperatorValue } from '../../list/src/filter/dynamic/utils.js';
|
7
|
-
import { SETTINGS } from '../../list/src/utils/constants.js';
|
8
|
-
|
9
|
-
test.describe('fs-list: sort', () => {
|
10
|
-
test('sort_buttons', async ({ page }) => {
|
11
|
-
await page.goto('http://fs-attributes-list.webflow.io/list-sort-buttons?dev=true');
|
12
|
-
|
13
|
-
await waitCMSItemsLoaded(page);
|
14
|
-
|
15
|
-
const sortTriggerSelector = getElementSelector('sort-trigger');
|
16
|
-
const nameFieldSelector = getSettingSelector('field', 'name');
|
17
|
-
const yearFieldSelector = getSettingSelector('field', 'year');
|
18
|
-
const colorFieldSelector = getSettingSelector('field', 'color');
|
19
|
-
const updatedFieldSelector = getSettingSelector('field', 'updated');
|
20
|
-
|
21
|
-
const buttonName = page.locator(sortTriggerSelector + nameFieldSelector);
|
22
|
-
const buttonYear = page.locator(sortTriggerSelector + yearFieldSelector);
|
23
|
-
const buttonColor = page.locator(sortTriggerSelector + colorFieldSelector);
|
24
|
-
const buttonUpdated = page.locator(sortTriggerSelector + updatedFieldSelector);
|
25
|
-
|
26
|
-
let firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
27
|
-
let firstItemFieldName = firstItem.locator(nameFieldSelector);
|
28
|
-
|
29
|
-
await expect(buttonName).not.toHaveClass(/is-list-asc/);
|
30
|
-
await expect(buttonName).not.toHaveClass(/is-list-desc/);
|
31
|
-
|
32
|
-
await buttonName.click();
|
33
|
-
|
34
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
35
|
-
firstItemFieldName = firstItem.locator(nameFieldSelector);
|
36
|
-
|
37
|
-
await expect(firstItemFieldName).toHaveText('Belditini');
|
38
|
-
await expect(buttonName).toHaveClass(/is-list-desc/);
|
39
|
-
|
40
|
-
await buttonName.click();
|
41
|
-
|
42
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
43
|
-
firstItemFieldName = firstItem.locator(nameFieldSelector);
|
44
|
-
|
45
|
-
await expect(firstItemFieldName).toHaveText('Alallo');
|
46
|
-
await expect(buttonName).toHaveClass(/is-list-asc/);
|
47
|
-
|
48
|
-
await buttonYear.click();
|
49
|
-
|
50
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
51
|
-
let firstItemFieldYear = firstItem.locator(yearFieldSelector);
|
52
|
-
|
53
|
-
await expect(firstItemFieldYear).toHaveText('2017');
|
54
|
-
await expect(buttonYear).toHaveClass(/is-list-asc/);
|
55
|
-
|
56
|
-
await buttonYear.click();
|
57
|
-
|
58
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
59
|
-
firstItemFieldYear = firstItem.locator(yearFieldSelector);
|
60
|
-
|
61
|
-
await expect(firstItemFieldYear).toHaveText('2024');
|
62
|
-
await expect(buttonYear).toHaveClass(/is-list-desc/);
|
63
|
-
|
64
|
-
await buttonColor.click();
|
65
|
-
|
66
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
67
|
-
let firstItemFieldColor = firstItem.locator(colorFieldSelector);
|
68
|
-
|
69
|
-
await expect(firstItemFieldColor).toHaveText('Black');
|
70
|
-
await expect(buttonColor).toHaveClass(/is-list-asc/);
|
71
|
-
|
72
|
-
await buttonColor.click();
|
73
|
-
|
74
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
75
|
-
firstItemFieldColor = firstItem.locator(colorFieldSelector);
|
76
|
-
|
77
|
-
await expect(firstItemFieldColor).toHaveText('Yellow');
|
78
|
-
await expect(buttonColor).toHaveClass(/is-list-desc/);
|
79
|
-
|
80
|
-
await buttonUpdated.click();
|
81
|
-
|
82
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
83
|
-
let firstItemFieldUpdated = firstItem.locator(updatedFieldSelector);
|
84
|
-
|
85
|
-
await expect(firstItemFieldUpdated).toHaveText('August 27, 2024');
|
86
|
-
await expect(buttonUpdated).toHaveClass(/is-list-asc/);
|
87
|
-
|
88
|
-
await buttonUpdated.click();
|
89
|
-
|
90
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
91
|
-
firstItemFieldUpdated = firstItem.locator(updatedFieldSelector);
|
92
|
-
|
93
|
-
await expect(firstItemFieldUpdated).toHaveText('August 27, 2024');
|
94
|
-
await expect(buttonUpdated).toHaveClass(/is-list-desc/);
|
95
|
-
});
|
96
|
-
|
97
|
-
test('sort_load_buttons', async ({ page }) => {
|
98
|
-
await page.goto('http://fs-attributes-list.webflow.io/list-sort-load-buttons?dev=true');
|
99
|
-
|
100
|
-
await waitCMSItemsLoaded(page);
|
101
|
-
|
102
|
-
const sortTriggerSelector = getElementSelector('sort-trigger');
|
103
|
-
const nameFieldSelector = getSettingSelector('field', 'name');
|
104
|
-
const yearFieldSelector = getSettingSelector('field', 'year');
|
105
|
-
const colorFieldSelector = getSettingSelector('field', 'color');
|
106
|
-
const updatedFieldSelector = getSettingSelector('field', 'updated');
|
107
|
-
|
108
|
-
const buttonName = page.locator(sortTriggerSelector + nameFieldSelector);
|
109
|
-
const buttonYear = page.locator(sortTriggerSelector + yearFieldSelector);
|
110
|
-
const buttonColor = page.locator(sortTriggerSelector + colorFieldSelector);
|
111
|
-
const buttonUpdated = page.locator(sortTriggerSelector + updatedFieldSelector);
|
112
|
-
|
113
|
-
let firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
114
|
-
let firstItemFieldName = firstItem.locator(nameFieldSelector);
|
115
|
-
|
116
|
-
await expect(buttonName).not.toHaveClass(/is-list-asc/);
|
117
|
-
await expect(buttonName).not.toHaveClass(/is-list-desc/);
|
118
|
-
|
119
|
-
await buttonName.click();
|
120
|
-
|
121
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
122
|
-
firstItemFieldName = firstItem.locator(nameFieldSelector);
|
123
|
-
|
124
|
-
await expect(firstItemFieldName).toHaveText('Vizatara');
|
125
|
-
await expect(buttonName).toHaveClass(/is-list-desc/);
|
126
|
-
|
127
|
-
await buttonName.click();
|
128
|
-
|
129
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
130
|
-
firstItemFieldName = firstItem.locator(nameFieldSelector);
|
131
|
-
|
132
|
-
await expect(firstItemFieldName).toHaveText('Alallo');
|
133
|
-
await expect(buttonName).toHaveClass(/is-list-asc/);
|
134
|
-
|
135
|
-
await buttonYear.click();
|
136
|
-
|
137
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
138
|
-
let firstItemFieldYear = firstItem.locator(yearFieldSelector);
|
139
|
-
|
140
|
-
await expect(firstItemFieldYear).toHaveText('2017');
|
141
|
-
await expect(buttonYear).toHaveClass(/is-list-asc/);
|
142
|
-
|
143
|
-
await buttonYear.click();
|
144
|
-
|
145
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
146
|
-
firstItemFieldYear = firstItem.locator(yearFieldSelector);
|
147
|
-
|
148
|
-
await expect(firstItemFieldYear).toHaveText('2024');
|
149
|
-
await expect(buttonYear).toHaveClass(/is-list-desc/);
|
150
|
-
|
151
|
-
await buttonColor.click();
|
152
|
-
|
153
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
154
|
-
let firstItemFieldColor = firstItem.locator(colorFieldSelector);
|
155
|
-
|
156
|
-
await expect(firstItemFieldColor).toHaveText('Black');
|
157
|
-
await expect(buttonColor).toHaveClass(/is-list-asc/);
|
158
|
-
|
159
|
-
await buttonColor.click();
|
160
|
-
|
161
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
162
|
-
firstItemFieldColor = firstItem.locator(colorFieldSelector);
|
163
|
-
|
164
|
-
await expect(firstItemFieldColor).toHaveText('Yellow');
|
165
|
-
await expect(buttonColor).toHaveClass(/is-list-desc/);
|
166
|
-
|
167
|
-
await buttonUpdated.click();
|
168
|
-
|
169
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
170
|
-
let firstItemFieldUpdated = firstItem.locator(updatedFieldSelector);
|
171
|
-
|
172
|
-
await expect(firstItemFieldUpdated).toHaveText('August 27, 2024');
|
173
|
-
await expect(buttonUpdated).toHaveClass(/is-list-asc/);
|
174
|
-
|
175
|
-
await buttonUpdated.click();
|
176
|
-
|
177
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
178
|
-
firstItemFieldUpdated = firstItem.locator(updatedFieldSelector);
|
179
|
-
|
180
|
-
await expect(firstItemFieldUpdated).toHaveText('August 27, 2024');
|
181
|
-
await expect(buttonUpdated).toHaveClass(/is-list-desc/);
|
182
|
-
});
|
183
|
-
|
184
|
-
test('sort_select', async ({ page }) => {
|
185
|
-
await page.goto('http://fs-attributes-list.webflow.io/list-sort-select?dev=true');
|
186
|
-
|
187
|
-
await waitCMSItemsLoaded(page);
|
188
|
-
|
189
|
-
const sortTriggerSelector = getElementSelector('sort-trigger');
|
190
|
-
const nameFieldSelector = getSettingSelector('field', 'name');
|
191
|
-
const yearFieldSelector = getSettingSelector('field', 'year');
|
192
|
-
const colorFieldSelector = getSettingSelector('field', 'color');
|
193
|
-
const updatedFieldSelector = getSettingSelector('field', 'updated');
|
194
|
-
|
195
|
-
const select = page.locator(sortTriggerSelector);
|
196
|
-
|
197
|
-
await select.selectOption('name-asc');
|
198
|
-
|
199
|
-
let firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
200
|
-
let firstItemFieldName = firstItem.locator(nameFieldSelector);
|
201
|
-
|
202
|
-
await expect(firstItemFieldName).toHaveText('Alallo');
|
203
|
-
|
204
|
-
await select.selectOption('name-desc');
|
205
|
-
|
206
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
207
|
-
firstItemFieldName = firstItem.locator(nameFieldSelector);
|
208
|
-
|
209
|
-
await expect(firstItemFieldName).toHaveText('Belditini');
|
210
|
-
|
211
|
-
await select.selectOption('year-asc');
|
212
|
-
|
213
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
214
|
-
let firstItemFieldYear = firstItem.locator(yearFieldSelector);
|
215
|
-
|
216
|
-
await expect(firstItemFieldYear).toHaveText('2017');
|
217
|
-
|
218
|
-
await select.selectOption('year-desc');
|
219
|
-
|
220
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
221
|
-
firstItemFieldYear = firstItem.locator(yearFieldSelector);
|
222
|
-
|
223
|
-
await expect(firstItemFieldYear).toHaveText('2024');
|
224
|
-
|
225
|
-
await select.selectOption('color-asc');
|
226
|
-
|
227
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
228
|
-
let firstItemFieldColor = firstItem.locator(colorFieldSelector);
|
229
|
-
|
230
|
-
await expect(firstItemFieldColor).toHaveText('Black');
|
231
|
-
|
232
|
-
await select.selectOption('color-desc');
|
233
|
-
|
234
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
235
|
-
firstItemFieldColor = firstItem.locator(colorFieldSelector);
|
236
|
-
|
237
|
-
await expect(firstItemFieldColor).toHaveText('Yellow');
|
238
|
-
|
239
|
-
await select.selectOption('updated-asc');
|
240
|
-
|
241
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
242
|
-
let firstItemFieldUpdated = firstItem.locator(updatedFieldSelector);
|
243
|
-
|
244
|
-
await expect(firstItemFieldUpdated).toHaveText('August 27, 2024');
|
245
|
-
|
246
|
-
await select.selectOption('updated-desc');
|
247
|
-
|
248
|
-
firstItem = page.locator(CMS_CSS_SELECTORS.item).first();
|
249
|
-
firstItemFieldUpdated = firstItem.locator(updatedFieldSelector);
|
250
|
-
|
251
|
-
await expect(firstItemFieldUpdated).toHaveText('August 27, 2024');
|
252
|
-
});
|
253
|
-
});
|
254
|
-
|
255
|
-
test.describe('fs-list: combine', () => {
|
256
|
-
test('combine', async ({ page }) => {
|
257
|
-
await page.goto('http://fs-attributes-list.webflow.io/list-combine?dev=true');
|
258
|
-
|
259
|
-
await waitCMSItemsLoaded(page);
|
260
|
-
|
261
|
-
const listSelector = getElementSelector('list');
|
262
|
-
|
263
|
-
const mainList = page.locator(listSelector + getInstanceSelector('main'));
|
264
|
-
const fooList = page.locator(listSelector + getInstanceSelector('foo'));
|
265
|
-
const barList = page.locator(listSelector + getInstanceSelector('bar'));
|
266
|
-
|
267
|
-
const mainListChildren = mainList.locator(CMS_CSS_SELECTORS.item);
|
268
|
-
const fooListChildren = fooList.locator(CMS_CSS_SELECTORS.item);
|
269
|
-
const barListChildren = barList.locator(CMS_CSS_SELECTORS.item);
|
270
|
-
|
271
|
-
await expect(mainListChildren).toHaveCount(18);
|
272
|
-
await expect(fooListChildren).toHaveCount(0);
|
273
|
-
await expect(barListChildren).toHaveCount(0);
|
274
|
-
});
|
275
|
-
|
276
|
-
test('combine_sort', async ({ page }) => {
|
277
|
-
await page.goto('http://fs-attributes-list.webflow.io/list-combine-sort?dev=true');
|
278
|
-
|
279
|
-
await waitCMSItemsLoaded(page);
|
280
|
-
|
281
|
-
const sortTriggerSelector = getElementSelector('sort-trigger');
|
282
|
-
const listSelector = getElementSelector('list');
|
283
|
-
const nameFieldSelector = getSettingSelector('field', 'name');
|
284
|
-
const yearFieldSelector = getSettingSelector('field', 'year');
|
285
|
-
const colorFieldSelector = getSettingSelector('field', 'color');
|
286
|
-
const updatedFieldSelector = getSettingSelector('field', 'updated');
|
287
|
-
|
288
|
-
const select = page.locator(sortTriggerSelector);
|
289
|
-
const mainList = page.locator(listSelector + getInstanceSelector('main'));
|
290
|
-
const fooList = page.locator(listSelector + getInstanceSelector('foo'));
|
291
|
-
const barList = page.locator(listSelector + getInstanceSelector('bar'));
|
292
|
-
|
293
|
-
const mainListChildren = mainList.locator(CMS_CSS_SELECTORS.item);
|
294
|
-
const fooListChildren = fooList.locator(CMS_CSS_SELECTORS.item);
|
295
|
-
const barListChildren = barList.locator(CMS_CSS_SELECTORS.item);
|
296
|
-
|
297
|
-
await expect(mainListChildren).toHaveCount(18);
|
298
|
-
await expect(fooListChildren).toHaveCount(0);
|
299
|
-
await expect(barListChildren).toHaveCount(0);
|
300
|
-
|
301
|
-
await select.selectOption('name-asc');
|
302
|
-
|
303
|
-
let firstItem = mainList.locator(CMS_CSS_SELECTORS.item).first();
|
304
|
-
let firstItemFieldName = firstItem.locator(nameFieldSelector);
|
305
|
-
|
306
|
-
await expect(firstItemFieldName).toHaveText('Alallo');
|
307
|
-
|
308
|
-
await select.selectOption('name-desc');
|
309
|
-
|
310
|
-
firstItem = mainList.locator(CMS_CSS_SELECTORS.item).first();
|
311
|
-
firstItemFieldName = firstItem.locator(nameFieldSelector);
|
312
|
-
|
313
|
-
await expect(firstItemFieldName).toHaveText('Alguteice');
|
314
|
-
|
315
|
-
await select.selectOption('year-asc');
|
316
|
-
|
317
|
-
firstItem = mainList.locator(CMS_CSS_SELECTORS.item).first();
|
318
|
-
let firstItemFieldYear = firstItem.locator(yearFieldSelector);
|
319
|
-
|
320
|
-
await expect(firstItemFieldYear).toHaveText('2017');
|
321
|
-
|
322
|
-
await select.selectOption('year-desc');
|
323
|
-
|
324
|
-
firstItem = mainList.locator(CMS_CSS_SELECTORS.item).first();
|
325
|
-
firstItemFieldYear = firstItem.locator(yearFieldSelector);
|
326
|
-
|
327
|
-
await expect(firstItemFieldYear).toHaveText('2024');
|
328
|
-
|
329
|
-
await select.selectOption('color-asc');
|
330
|
-
|
331
|
-
firstItem = mainList.locator(CMS_CSS_SELECTORS.item).first();
|
332
|
-
let firstItemFieldColor = firstItem.locator(colorFieldSelector);
|
333
|
-
|
334
|
-
await expect(firstItemFieldColor).toHaveText('Black');
|
335
|
-
|
336
|
-
await select.selectOption('color-desc');
|
337
|
-
|
338
|
-
firstItem = mainList.locator(CMS_CSS_SELECTORS.item).first();
|
339
|
-
firstItemFieldColor = firstItem.locator(colorFieldSelector);
|
340
|
-
|
341
|
-
await expect(firstItemFieldColor).toHaveText('Yellow');
|
342
|
-
|
343
|
-
await select.selectOption('updated-asc');
|
344
|
-
|
345
|
-
firstItem = mainList.locator(CMS_CSS_SELECTORS.item).first();
|
346
|
-
let firstItemFieldUpdated = firstItem.locator(updatedFieldSelector);
|
347
|
-
|
348
|
-
await expect(firstItemFieldUpdated).toHaveText('August 27, 2024');
|
349
|
-
|
350
|
-
await select.selectOption('updated-desc');
|
351
|
-
|
352
|
-
firstItem = mainList.locator(CMS_CSS_SELECTORS.item).first();
|
353
|
-
firstItemFieldUpdated = firstItem.locator(updatedFieldSelector);
|
354
|
-
|
355
|
-
await expect(firstItemFieldUpdated).toHaveText('August 27, 2024');
|
356
|
-
});
|
357
|
-
});
|
358
|
-
|
359
|
-
test.describe('fs-list: load', () => {
|
360
|
-
test('load_more', async ({ page }) => {
|
361
|
-
await page.goto('http://fs-attributes-list.webflow.io/list-load-more?dev=true');
|
362
|
-
|
363
|
-
await waitCMSItemsLoaded(page);
|
364
|
-
|
365
|
-
const listSelector = getElementSelector('list');
|
366
|
-
const list = page.locator(listSelector);
|
367
|
-
|
368
|
-
let listItem = list.locator(CMS_CSS_SELECTORS.item);
|
369
|
-
|
370
|
-
await expect(listItem).toHaveCount(100);
|
371
|
-
|
372
|
-
const nextButton = page.locator(CMS_CSS_SELECTORS['pagination-next']);
|
373
|
-
|
374
|
-
await nextButton.click();
|
375
|
-
|
376
|
-
listItem = list.locator(CMS_CSS_SELECTORS.item);
|
377
|
-
|
378
|
-
await expect(listItem).toHaveCount(200);
|
379
|
-
|
380
|
-
await nextButton.click();
|
381
|
-
|
382
|
-
listItem = list.locator(CMS_CSS_SELECTORS.item);
|
383
|
-
|
384
|
-
await expect(listItem).toHaveCount(300);
|
385
|
-
});
|
386
|
-
|
387
|
-
test('load_more_loadcount', async ({ page }) => {
|
388
|
-
await page.goto('http://fs-attributes-list.webflow.io/list-load-more-loadcount?dev=true');
|
389
|
-
|
390
|
-
await waitCMSItemsLoaded(page);
|
391
|
-
|
392
|
-
const listSelector = getElementSelector('list');
|
393
|
-
const paginationNextSelector = getElementSelector('pagination-next');
|
394
|
-
const loadCountAllSelector = getSettingSelector('loadcount', 'all');
|
395
|
-
|
396
|
-
const list = page.locator(listSelector);
|
397
|
-
|
398
|
-
let listItem = list.locator(CMS_CSS_SELECTORS.item);
|
399
|
-
|
400
|
-
await expect(listItem).toHaveCount(100);
|
401
|
-
|
402
|
-
const nextButton = page.locator(CMS_CSS_SELECTORS['pagination-next']);
|
403
|
-
|
404
|
-
await nextButton.click();
|
405
|
-
|
406
|
-
listItem = list.locator(CMS_CSS_SELECTORS.item);
|
407
|
-
|
408
|
-
await expect(listItem).toHaveCount(120);
|
409
|
-
|
410
|
-
await nextButton.click();
|
411
|
-
|
412
|
-
listItem = list.locator(CMS_CSS_SELECTORS.item);
|
413
|
-
|
414
|
-
await expect(listItem).toHaveCount(140);
|
415
|
-
|
416
|
-
const loadRemainingButton = page.locator(paginationNextSelector + loadCountAllSelector);
|
417
|
-
await loadRemainingButton.click();
|
418
|
-
|
419
|
-
listItem = list.locator(CMS_CSS_SELECTORS.item);
|
420
|
-
|
421
|
-
await expect(listItem).toHaveCount(1000);
|
422
|
-
});
|
423
|
-
|
424
|
-
test('load_all', async ({ page }) => {
|
425
|
-
await page.goto('http://fs-attributes-list.webflow.io/list-load-all?dev=true');
|
426
|
-
|
427
|
-
await waitCMSItemsLoaded(page);
|
428
|
-
|
429
|
-
const listItem = page.locator(CMS_CSS_SELECTORS.item);
|
430
|
-
|
431
|
-
await expect(listItem).toHaveCount(300);
|
432
|
-
});
|
433
|
-
|
434
|
-
test('load_pagination', async ({ page }) => {
|
435
|
-
await page.goto('http://fs-attributes-list.webflow.io/list-load-pagination?dev=true');
|
436
|
-
|
437
|
-
await waitCMSItemsLoaded(page);
|
438
|
-
|
439
|
-
const elementAttribute = 'fs-list-element';
|
440
|
-
const nameFieldSelector = getSettingSelector('field', 'name');
|
441
|
-
|
442
|
-
const paginationNext = page.locator(CMS_CSS_SELECTORS['pagination-next']);
|
443
|
-
const paginationPrevious = page.locator(CMS_CSS_SELECTORS['pagination-previous']);
|
444
|
-
|
445
|
-
let paginationCount = page.locator(CMS_CSS_SELECTORS['page-count']);
|
446
|
-
let paginationButtons = page.getByTestId('pagination-buttons');
|
447
|
-
let paginationButtonsChildren = paginationButtons.locator('*');
|
448
|
-
let listItem = page.locator(CMS_CSS_SELECTORS.item);
|
449
|
-
|
450
|
-
await expect(listItem).toHaveCount(100);
|
451
|
-
await expect(paginationCount).toHaveText('1 / 10');
|
452
|
-
await expect(paginationNext).toBeVisible();
|
453
|
-
await expect(paginationPrevious).not.toBeVisible();
|
454
|
-
expect(await paginationButtonsChildren.count()).toBe(7);
|
455
|
-
await expect(paginationButtonsChildren.nth(0)).toHaveClass(/w--current/);
|
456
|
-
expect(await paginationButtonsChildren.nth(0).getAttribute(elementAttribute)).toBe('page-button');
|
457
|
-
await expect(paginationButtonsChildren.nth(0)).toHaveText('1');
|
458
|
-
await expect(paginationButtonsChildren.nth(1)).toHaveText('2');
|
459
|
-
await expect(paginationButtonsChildren.nth(2)).toHaveText('3');
|
460
|
-
await expect(paginationButtonsChildren.nth(3)).toHaveText('4');
|
461
|
-
await expect(paginationButtonsChildren.nth(4)).toHaveText('5');
|
462
|
-
await expect(paginationButtonsChildren.nth(5)).toHaveText('...');
|
463
|
-
expect(await paginationButtonsChildren.nth(5).getAttribute(elementAttribute)).toBe('page-dots');
|
464
|
-
await expect(paginationButtonsChildren.nth(6)).toHaveText('10');
|
465
|
-
|
466
|
-
await paginationNext.click();
|
467
|
-
|
468
|
-
listItem = page.locator(CMS_CSS_SELECTORS.item);
|
469
|
-
|
470
|
-
await expect(listItem).toHaveCount(100);
|
471
|
-
await expect(paginationCount).toHaveText('2 / 10');
|
472
|
-
await expect(paginationPrevious).toBeVisible();
|
473
|
-
await expect(paginationButtonsChildren.nth(0)).not.toHaveClass(/w--current/);
|
474
|
-
await expect(paginationButtonsChildren.nth(1)).toHaveClass(/w--current/);
|
475
|
-
|
476
|
-
await paginationButtonsChildren.nth(4).click();
|
477
|
-
|
478
|
-
listItem = page.locator(CMS_CSS_SELECTORS.item);
|
479
|
-
paginationButtonsChildren = paginationButtons.locator('*');
|
480
|
-
|
481
|
-
await expect(paginationCount).toHaveText('5 / 10');
|
482
|
-
await expect(listItem.first().locator(nameFieldSelector)).toHaveText('Eslezza');
|
483
|
-
await expect(paginationButtonsChildren.nth(1)).toHaveText('...');
|
484
|
-
expect(await paginationButtonsChildren.nth(1).getAttribute(elementAttribute)).toBe('page-dots');
|
485
|
-
await expect(paginationButtonsChildren.nth(5)).toHaveText('...');
|
486
|
-
expect(await paginationButtonsChildren.nth(5).getAttribute(elementAttribute)).toBe('page-dots');
|
487
|
-
|
488
|
-
await paginationButtonsChildren.nth(6).click();
|
489
|
-
|
490
|
-
paginationButtonsChildren = paginationButtons.locator('*');
|
491
|
-
|
492
|
-
await expect(paginationCount).toHaveText('10 / 10');
|
493
|
-
await expect(paginationNext).not.toBeVisible();
|
494
|
-
await expect(paginationPrevious).toBeVisible();
|
495
|
-
await expect(paginationButtonsChildren.nth(6)).toHaveText('10');
|
496
|
-
await expect(paginationButtonsChildren.nth(6)).toHaveClass(/w--current/);
|
497
|
-
|
498
|
-
await page.goto('http://fs-attributes-list.webflow.io/list-load-pagination?af0bd859_page=6&dev=true');
|
499
|
-
|
500
|
-
await waitCMSItemsLoaded(page);
|
501
|
-
|
502
|
-
listItem = page.locator(CMS_CSS_SELECTORS.item);
|
503
|
-
paginationCount = page.locator(CMS_CSS_SELECTORS['page-count']);
|
504
|
-
paginationButtons = page.getByTestId('pagination-buttons');
|
505
|
-
paginationButtonsChildren = paginationButtons.locator('*');
|
506
|
-
|
507
|
-
await expect(listItem).toHaveCount(100);
|
508
|
-
await expect(listItem.first().locator(nameFieldSelector)).toHaveText('Fijoallo');
|
509
|
-
await expect(paginationCount).toHaveText('6 / 10');
|
510
|
-
expect(await paginationButtonsChildren.count()).toBe(7);
|
511
|
-
await expect(paginationButtonsChildren.nth(0)).toHaveText('1');
|
512
|
-
await expect(paginationButtonsChildren.nth(1)).toHaveText('...');
|
513
|
-
await expect(paginationButtonsChildren.nth(2)).toHaveText('5');
|
514
|
-
await expect(paginationButtonsChildren.nth(3)).toHaveText('6');
|
515
|
-
await expect(paginationButtonsChildren.nth(3)).toHaveClass(/w--current/);
|
516
|
-
await expect(paginationButtonsChildren.nth(4)).toHaveText('7');
|
517
|
-
await expect(paginationButtonsChildren.nth(5)).toHaveText('...');
|
518
|
-
expect(await paginationButtonsChildren.nth(5).getAttribute(elementAttribute)).toBe('page-dots');
|
519
|
-
await expect(paginationButtonsChildren.nth(6)).toHaveText('10');
|
520
|
-
});
|
521
|
-
|
522
|
-
test('filter_basic_text', async ({ page }) => {
|
523
|
-
await page.goto('http://fs-attributes-list.webflow.io/list-filter-basic-text?dev=true');
|
524
|
-
|
525
|
-
await waitCMSItemsLoaded(page);
|
526
|
-
|
527
|
-
const filters = page.locator(getElementSelector('filters'));
|
528
|
-
const list = page.locator(getElementSelector('list'));
|
529
|
-
const itemsCount = page.locator(getElementSelector('items-count'));
|
530
|
-
const resultsCount = page.locator(getElementSelector('results-count'));
|
531
|
-
const equalInput = filters.locator(getSettingSelector('operator', 'equal'));
|
532
|
-
const notEqualInput = filters.locator(getSettingSelector('operator', 'not-equal'));
|
533
|
-
const containsInput = filters.locator(getSettingSelector('operator', 'contains'));
|
534
|
-
const notContainsInput = filters.locator(getSettingSelector('operator', 'not-contains'));
|
535
|
-
const fuzzyInput = filters.locator(getSettingSelector('operator', 'fuzzy'));
|
536
|
-
const nameFieldSelector = getSettingSelector('field', 'name');
|
537
|
-
|
538
|
-
await expect(itemsCount).toHaveText('300');
|
539
|
-
await expect(resultsCount).toHaveText('300');
|
540
|
-
|
541
|
-
await equalInput.fill('alallo');
|
542
|
-
|
543
|
-
let listItems = list.locator(CMS_CSS_SELECTORS.item);
|
544
|
-
let firstItemFieldName = listItems.first().locator(nameFieldSelector);
|
545
|
-
|
546
|
-
await expect(resultsCount).toHaveText('1');
|
547
|
-
await expect(firstItemFieldName).toHaveText('Alallo');
|
548
|
-
|
549
|
-
await equalInput.fill('');
|
550
|
-
|
551
|
-
await notEqualInput.fill('alallo');
|
552
|
-
|
553
|
-
listItems = list.locator(CMS_CSS_SELECTORS.item);
|
554
|
-
firstItemFieldName = listItems.first().locator(nameFieldSelector);
|
555
|
-
|
556
|
-
await expect(resultsCount).toHaveText('299');
|
557
|
-
await expect(firstItemFieldName).toHaveText('Albero');
|
558
|
-
|
559
|
-
await notEqualInput.fill('');
|
560
|
-
|
561
|
-
await containsInput.fill('oge');
|
562
|
-
|
563
|
-
listItems = list.locator(CMS_CSS_SELECTORS.item);
|
564
|
-
const itemNames = listItems.locator(nameFieldSelector);
|
565
|
-
|
566
|
-
await expect(resultsCount).toHaveText('3');
|
567
|
-
await expect(itemNames).toHaveCount(3);
|
568
|
-
await expect(itemNames.nth(0)).toHaveText('Beljogera');
|
569
|
-
await expect(itemNames.nth(1)).toHaveText('Belkogera');
|
570
|
-
await expect(itemNames.nth(2)).toHaveText('Clalogera');
|
571
|
-
|
572
|
-
await containsInput.fill('');
|
573
|
-
|
574
|
-
await notContainsInput.fill('oge');
|
575
|
-
|
576
|
-
listItems = list.locator(CMS_CSS_SELECTORS.item);
|
577
|
-
firstItemFieldName = listItems.first().locator(nameFieldSelector);
|
578
|
-
|
579
|
-
await expect(resultsCount).toHaveText('297');
|
580
|
-
await expect(firstItemFieldName).toHaveText('Alallo');
|
581
|
-
|
582
|
-
await fuzzyInput.fill('aldiris alalo');
|
583
|
-
|
584
|
-
listItems = list.locator(CMS_CSS_SELECTORS.item);
|
585
|
-
firstItemFieldName = listItems.first().locator(nameFieldSelector);
|
586
|
-
|
587
|
-
await expect(resultsCount).toHaveText('10');
|
588
|
-
});
|
589
|
-
|
590
|
-
test('filter_basic_number', async ({ page }) => {
|
591
|
-
await page.goto('http://fs-attributes-list.webflow.io/list-filter-basic-number?dev=true');
|
592
|
-
|
593
|
-
await waitCMSItemsLoaded(page);
|
594
|
-
|
595
|
-
const filters = page.locator(getElementSelector('filters'));
|
596
|
-
const list = page.locator(getElementSelector('list'));
|
597
|
-
const itemsCount = page.locator(getElementSelector('items-count'));
|
598
|
-
const resultsCount = page.locator(getElementSelector('results-count'));
|
599
|
-
const equalInput = filters.locator(getSettingSelector('operator', 'equal'));
|
600
|
-
const notEqualInput = filters.locator(getSettingSelector('operator', 'not-equal'));
|
601
|
-
const greaterInput = filters.locator(getSettingSelector('operator', 'greater'));
|
602
|
-
const greaterEqualInput = filters.locator(getSettingSelector('operator', 'greater-equal'));
|
603
|
-
const lessInput = filters.locator(getSettingSelector('operator', 'less'));
|
604
|
-
const lessEqualInput = filters.locator(getSettingSelector('operator', 'less-equal'));
|
605
|
-
const containsInput = filters.locator(getSettingSelector('operator', 'contains'));
|
606
|
-
const notContainsInput = filters.locator(getSettingSelector('operator', 'not-contains'));
|
607
|
-
const fuzzyInput = filters.locator(getSettingSelector('operator', 'fuzzy'));
|
608
|
-
const yearFieldSelector = getSettingSelector('field', 'year');
|
609
|
-
|
610
|
-
await expect(itemsCount).toHaveText('300');
|
611
|
-
await expect(resultsCount).toHaveText('300');
|
612
|
-
|
613
|
-
await equalInput.fill('2020');
|
614
|
-
|
615
|
-
let listItems = list.locator(CMS_CSS_SELECTORS.item);
|
616
|
-
let firstItemFieldYear = listItems.first().locator(yearFieldSelector);
|
617
|
-
|
618
|
-
await expect(resultsCount).toHaveText('38');
|
619
|
-
await expect(firstItemFieldYear).toHaveText('2020');
|
620
|
-
|
621
|
-
await equalInput.fill('');
|
622
|
-
await notEqualInput.fill('2020');
|
623
|
-
|
624
|
-
listItems = list.locator(CMS_CSS_SELECTORS.item);
|
625
|
-
firstItemFieldYear = listItems.first().locator(yearFieldSelector);
|
626
|
-
|
627
|
-
await expect(resultsCount).toHaveText('262');
|
628
|
-
await expect(firstItemFieldYear).toHaveText('2017');
|
629
|
-
|
630
|
-
await notEqualInput.fill('');
|
631
|
-
await containsInput.fill('201');
|
632
|
-
|
633
|
-
listItems = list.locator(CMS_CSS_SELECTORS.item);
|
634
|
-
firstItemFieldYear = listItems.first().locator(yearFieldSelector);
|
635
|
-
|
636
|
-
await expect(resultsCount).toHaveText('108');
|
637
|
-
await expect(firstItemFieldYear).toHaveText('2017');
|
638
|
-
|
639
|
-
await containsInput.fill('');
|
640
|
-
await notContainsInput.fill('201');
|
641
|
-
|
642
|
-
listItems = list.locator(CMS_CSS_SELECTORS.item);
|
643
|
-
firstItemFieldYear = listItems.first().locator(yearFieldSelector);
|
644
|
-
|
645
|
-
await expect(resultsCount).toHaveText('192');
|
646
|
-
await expect(firstItemFieldYear).toHaveText('2020');
|
647
|
-
|
648
|
-
await notContainsInput.fill('');
|
649
|
-
await fuzzyInput.fill('2020');
|
650
|
-
|
651
|
-
listItems = list.locator(CMS_CSS_SELECTORS.item);
|
652
|
-
firstItemFieldYear = listItems.first().locator(yearFieldSelector);
|
653
|
-
|
654
|
-
await expect(resultsCount).toHaveText('192');
|
655
|
-
|
656
|
-
await fuzzyInput.fill('');
|
657
|
-
await greaterInput.fill('2020');
|
658
|
-
|
659
|
-
listItems = list.locator(CMS_CSS_SELECTORS.item);
|
660
|
-
firstItemFieldYear = listItems.first().locator(yearFieldSelector);
|
661
|
-
|
662
|
-
await expect(resultsCount).toHaveText('154');
|
663
|
-
await expect(firstItemFieldYear).toHaveText('2021');
|
664
|
-
|
665
|
-
await greaterInput.fill('');
|
666
|
-
await greaterEqualInput.fill('2020');
|
667
|
-
|
668
|
-
listItems = list.locator(CMS_CSS_SELECTORS.item);
|
669
|
-
firstItemFieldYear = listItems.first().locator(yearFieldSelector);
|
670
|
-
|
671
|
-
await expect(resultsCount).toHaveText('192');
|
672
|
-
await expect(firstItemFieldYear).toHaveText('2020');
|
673
|
-
|
674
|
-
await greaterEqualInput.fill('');
|
675
|
-
await lessInput.fill('2020');
|
676
|
-
|
677
|
-
listItems = list.locator(CMS_CSS_SELECTORS.item);
|
678
|
-
firstItemFieldYear = listItems.first().locator(yearFieldSelector);
|
679
|
-
|
680
|
-
await expect(resultsCount).toHaveText('108');
|
681
|
-
await expect(firstItemFieldYear).toHaveText('2017');
|
682
|
-
|
683
|
-
await lessInput.fill('');
|
684
|
-
await lessEqualInput.fill('2020');
|
685
|
-
|
686
|
-
listItems = list.locator(CMS_CSS_SELECTORS.item);
|
687
|
-
firstItemFieldYear = listItems.first().locator(yearFieldSelector);
|
688
|
-
|
689
|
-
await expect(resultsCount).toHaveText('146');
|
690
|
-
await expect(firstItemFieldYear).toHaveText('2020');
|
691
|
-
});
|
692
|
-
});
|
693
|
-
|
694
|
-
test.describe('parseOperatorValue', () => {
|
695
|
-
test('should correctly extract valid operator', () => {
|
696
|
-
const result = parseOperatorValue('equal');
|
697
|
-
expect(result.op).toBe('equal');
|
698
|
-
expect(result.fieldKey).toBeUndefined();
|
699
|
-
expect(result.fieldMatch).toBeUndefined();
|
700
|
-
});
|
701
|
-
|
702
|
-
test('should return undefined for invalid operators', () => {
|
703
|
-
const result = parseOperatorValue('invalid-operator');
|
704
|
-
expect(result.op).toBeUndefined();
|
705
|
-
expect(result.fieldKey).toBeUndefined();
|
706
|
-
expect(result.fieldMatch).toBeUndefined();
|
707
|
-
});
|
708
|
-
|
709
|
-
test('should extract a single field modifier', () => {
|
710
|
-
const result = parseOperatorValue('equal[field=name]');
|
711
|
-
expect(result.op).toBe('equal');
|
712
|
-
expect(result.fieldKey).toBe('name');
|
713
|
-
expect(result.fieldMatch).toBeUndefined();
|
714
|
-
});
|
715
|
-
|
716
|
-
test('should extract a single fieldmatch modifier', () => {
|
717
|
-
const result = parseOperatorValue('equal[fieldmatch=or]');
|
718
|
-
expect(result.op).toBe('equal');
|
719
|
-
expect(result.fieldKey).toBeUndefined();
|
720
|
-
expect(result.fieldMatch).toBe('or');
|
721
|
-
});
|
722
|
-
|
723
|
-
test('should extract values with double quotes', () => {
|
724
|
-
const result = parseOperatorValue('equal[field="product name"]');
|
725
|
-
expect(result.op).toBe('equal');
|
726
|
-
expect(result.fieldKey).toBe('product name');
|
727
|
-
expect(result.fieldMatch).toBeUndefined();
|
728
|
-
});
|
729
|
-
|
730
|
-
test('should extract multiple modifiers in any order', () => {
|
731
|
-
const result = parseOperatorValue('contain[fieldmatch=and][field=tags]');
|
732
|
-
expect(result.op).toBe('contain');
|
733
|
-
expect(result.fieldKey).toBe('tags');
|
734
|
-
expect(result.fieldMatch).toBe('and');
|
735
|
-
});
|
736
|
-
|
737
|
-
test('should handle mixed quoting styles', () => {
|
738
|
-
const result = parseOperatorValue('contain[fieldmatch="and"][field=tags]');
|
739
|
-
expect(result.op).toBe('contain');
|
740
|
-
expect(result.fieldKey).toBe('tags');
|
741
|
-
expect(result.fieldMatch).toBe('and');
|
742
|
-
});
|
743
|
-
|
744
|
-
test('should ignore invalid fieldmatch values', () => {
|
745
|
-
const result = parseOperatorValue('equal[fieldmatch=invalid]');
|
746
|
-
expect(result.op).toBe('equal');
|
747
|
-
expect(result.fieldKey).toBeUndefined();
|
748
|
-
expect(result.fieldMatch).toBeUndefined();
|
749
|
-
});
|
750
|
-
|
751
|
-
test('should handle all operators from settings', async () => {
|
752
|
-
// Test with all valid operators
|
753
|
-
for (const op of SETTINGS.operator.values) {
|
754
|
-
const result = parseOperatorValue(`${op}`);
|
755
|
-
expect(result.op).toBe(op);
|
756
|
-
}
|
757
|
-
});
|
758
|
-
|
759
|
-
test('should handle complex cases with multiple modifiers and special characters', () => {
|
760
|
-
const result = parseOperatorValue('not-equal[field="product.name with spaces"][fieldmatch=and]');
|
761
|
-
expect(result.op).toBe('not-equal');
|
762
|
-
expect(result.fieldKey).toBe('product.name with spaces');
|
763
|
-
expect(result.fieldMatch).toBe('and');
|
764
|
-
});
|
765
|
-
|
766
|
-
test('should ignore modifiers with malformed syntax', () => {
|
767
|
-
const result = parseOperatorValue('equal[field=name[fieldmatch=or]');
|
768
|
-
expect(result.op).toBe('equal');
|
769
|
-
expect(result.fieldKey).toBe('name[fieldmatch=or');
|
770
|
-
expect(result.fieldMatch).toBe('or');
|
771
|
-
});
|
772
|
-
|
773
|
-
test('should handle all allowed fieldmatch values', async () => {
|
774
|
-
for (const value of SETTINGS.fieldmatch.values) {
|
775
|
-
const result = parseOperatorValue(`equal[fieldmatch=${value}]`);
|
776
|
-
expect(result.op).toBe('equal');
|
777
|
-
expect(result.fieldMatch).toBe(value);
|
778
|
-
}
|
779
|
-
});
|
780
|
-
});
|
781
|
-
|
782
|
-
/**
|
783
|
-
* Wait for the attribute to be loaded in the current test page.
|
784
|
-
* @param page
|
785
|
-
* @param attributeKey
|
786
|
-
*/
|
787
|
-
const waitCMSItemsLoaded = async (page: Page) => {
|
788
|
-
return page.evaluate<Promise<List>>(async () => {
|
789
|
-
return new Promise((r) => {
|
790
|
-
window.FinsweetAttributes = window.FinsweetAttributes || [];
|
791
|
-
window.FinsweetAttributes.push([
|
792
|
-
'list',
|
793
|
-
async ([list]: List[]) => {
|
794
|
-
await list.loadingPaginatedItems;
|
795
|
-
r(list);
|
796
|
-
},
|
797
|
-
]);
|
798
|
-
});
|
799
|
-
});
|
800
|
-
};
|