@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,281 +0,0 @@
|
|
1
|
-
import {
|
2
|
-
addListener,
|
3
|
-
adjustValueToStep,
|
4
|
-
ARIA_VALUEMAX_KEY,
|
5
|
-
ARIA_VALUEMIN_KEY,
|
6
|
-
ARIA_VALUENOW_KEY,
|
7
|
-
setFormFieldValue,
|
8
|
-
} from '@finsweet/attributes-utils';
|
9
|
-
|
10
|
-
import { setHandleA11Y } from '../actions/a11y';
|
11
|
-
import { setHandleStyles } from '../actions/styles';
|
12
|
-
import { HANDLE_INCREMENT_KEYS, HANDLE_KEYS } from '../utils/constants';
|
13
|
-
import type { Fill } from './Fill';
|
14
|
-
|
15
|
-
export class Handle {
|
16
|
-
public readonly destroy;
|
17
|
-
|
18
|
-
private readonly index;
|
19
|
-
private readonly minRange;
|
20
|
-
private readonly maxRange;
|
21
|
-
private readonly totalRange;
|
22
|
-
private readonly step;
|
23
|
-
private readonly precision;
|
24
|
-
|
25
|
-
private readonly inputElement;
|
26
|
-
private readonly displayValueElement;
|
27
|
-
private readonly formatValueDisplay;
|
28
|
-
|
29
|
-
private fill?: Fill;
|
30
|
-
private sibling?: Handle;
|
31
|
-
|
32
|
-
private trackWidth;
|
33
|
-
|
34
|
-
private currentValue!: number;
|
35
|
-
private minValue;
|
36
|
-
private maxValue;
|
37
|
-
|
38
|
-
private updatingInput = false;
|
39
|
-
|
40
|
-
constructor(
|
41
|
-
public readonly element: HTMLElement,
|
42
|
-
{
|
43
|
-
index,
|
44
|
-
minRange,
|
45
|
-
maxRange,
|
46
|
-
trackWidth,
|
47
|
-
step,
|
48
|
-
precision,
|
49
|
-
startValue,
|
50
|
-
isLazy,
|
51
|
-
inputElement,
|
52
|
-
displayValueElement,
|
53
|
-
formatValueDisplay,
|
54
|
-
}: {
|
55
|
-
index: number;
|
56
|
-
minRange: number;
|
57
|
-
maxRange: number;
|
58
|
-
trackWidth: number;
|
59
|
-
step: number;
|
60
|
-
precision: number;
|
61
|
-
startValue: number;
|
62
|
-
isLazy: boolean;
|
63
|
-
inputElement?: HTMLInputElement;
|
64
|
-
displayValueElement?: HTMLElement;
|
65
|
-
formatValueDisplay?: string;
|
66
|
-
}
|
67
|
-
) {
|
68
|
-
this.inputElement = inputElement;
|
69
|
-
this.displayValueElement = displayValueElement;
|
70
|
-
this.formatValueDisplay = formatValueDisplay;
|
71
|
-
|
72
|
-
this.index = index;
|
73
|
-
this.minRange = minRange;
|
74
|
-
this.maxRange = maxRange;
|
75
|
-
this.totalRange = maxRange - minRange;
|
76
|
-
this.step = step;
|
77
|
-
this.precision = precision;
|
78
|
-
|
79
|
-
this.minValue = minRange;
|
80
|
-
this.maxValue = maxRange;
|
81
|
-
|
82
|
-
this.trackWidth = trackWidth;
|
83
|
-
|
84
|
-
setHandleStyles(element);
|
85
|
-
setHandleA11Y(element, inputElement);
|
86
|
-
|
87
|
-
this.setValue(inputElement?.value ? parseFloat(inputElement.value) : startValue, !isLazy);
|
88
|
-
this.destroy = this.listenEvents();
|
89
|
-
}
|
90
|
-
|
91
|
-
/**
|
92
|
-
* Listens for internal events.
|
93
|
-
*/
|
94
|
-
private listenEvents() {
|
95
|
-
const { element, inputElement } = this;
|
96
|
-
|
97
|
-
const cleanups = [
|
98
|
-
addListener(element, 'keydown', (e) => this.handleKeyDown(e)),
|
99
|
-
addListener(inputElement, 'change', () => this.handleInputChange()),
|
100
|
-
];
|
101
|
-
|
102
|
-
return () => {
|
103
|
-
for (const cleanup of cleanups) cleanup();
|
104
|
-
};
|
105
|
-
}
|
106
|
-
|
107
|
-
/**
|
108
|
-
* Handles when the keyboard is used when focusing the Handle.
|
109
|
-
* @param e A `keydown` event.
|
110
|
-
*/
|
111
|
-
private handleKeyDown(e: KeyboardEvent) {
|
112
|
-
const { step, currentValue } = this;
|
113
|
-
const { key } = e;
|
114
|
-
|
115
|
-
if (!HANDLE_KEYS.includes(key)) return;
|
116
|
-
|
117
|
-
e.preventDefault();
|
118
|
-
|
119
|
-
if (HANDLE_INCREMENT_KEYS.includes(key)) this.setValue(currentValue + step);
|
120
|
-
else this.setValue(currentValue - step);
|
121
|
-
}
|
122
|
-
|
123
|
-
/**
|
124
|
-
* Handles when the value of the `<input>` element is updated by third party actions.
|
125
|
-
*/
|
126
|
-
private handleInputChange() {
|
127
|
-
const { inputElement, index, minRange, maxRange, step, precision, updatingInput } = this;
|
128
|
-
if (!inputElement || updatingInput) return;
|
129
|
-
|
130
|
-
const { value } = inputElement;
|
131
|
-
|
132
|
-
const numericValue = parseFloat(value);
|
133
|
-
|
134
|
-
if (numericValue) {
|
135
|
-
this.setValue(adjustValueToStep(numericValue, step, precision, minRange));
|
136
|
-
|
137
|
-
return;
|
138
|
-
}
|
139
|
-
|
140
|
-
this.setValue(index === 0 ? minRange : maxRange, false);
|
141
|
-
}
|
142
|
-
|
143
|
-
private formatValue(value: number, rawLocale: string) {
|
144
|
-
const locale = rawLocale === 'true' ? undefined : rawLocale;
|
145
|
-
|
146
|
-
try {
|
147
|
-
return value.toLocaleString(locale);
|
148
|
-
} catch {
|
149
|
-
return value.toLocaleString(window.navigator?.language || undefined);
|
150
|
-
}
|
151
|
-
}
|
152
|
-
|
153
|
-
/**
|
154
|
-
* Updates the Handle's position on the track.
|
155
|
-
*/
|
156
|
-
private updatePosition() {
|
157
|
-
const { currentValue, element, trackWidth, minRange, totalRange, fill } = this;
|
158
|
-
|
159
|
-
const left = ((currentValue - minRange) * trackWidth) / totalRange;
|
160
|
-
|
161
|
-
element.style.left = `${left}px`;
|
162
|
-
|
163
|
-
fill?.update();
|
164
|
-
}
|
165
|
-
|
166
|
-
/**
|
167
|
-
* @returns The current value of the Handle.
|
168
|
-
*/
|
169
|
-
public getValue = (): number => this.currentValue;
|
170
|
-
|
171
|
-
/**
|
172
|
-
* Sets a new value to the Handle.
|
173
|
-
* The Handle's position is automatically updated based on the new value.
|
174
|
-
* @param newValue The new value to set.
|
175
|
-
* @param updateInputElement Defines if the `<input>` element should be updated. Defaults to `true`.
|
176
|
-
*
|
177
|
-
* @returns `true` if the current value was updated.
|
178
|
-
*/
|
179
|
-
public setValue(newValue: number, updateInputElement = true): boolean {
|
180
|
-
const { currentValue, element, minValue, maxValue, displayValueElement, formatValueDisplay } = this;
|
181
|
-
|
182
|
-
if (currentValue === newValue || newValue < minValue || newValue > maxValue) return false;
|
183
|
-
|
184
|
-
this.currentValue = newValue;
|
185
|
-
|
186
|
-
this.updatePosition();
|
187
|
-
this.updateSiblingConstraints();
|
188
|
-
|
189
|
-
const stringValue = `${newValue}`;
|
190
|
-
|
191
|
-
element.setAttribute(ARIA_VALUENOW_KEY, stringValue);
|
192
|
-
|
193
|
-
if (displayValueElement)
|
194
|
-
displayValueElement.textContent = formatValueDisplay
|
195
|
-
? this.formatValue(newValue, formatValueDisplay)
|
196
|
-
: stringValue;
|
197
|
-
|
198
|
-
if (updateInputElement) this.updateInputElement();
|
199
|
-
|
200
|
-
return true;
|
201
|
-
}
|
202
|
-
|
203
|
-
/**
|
204
|
-
* Updates the input element's value.
|
205
|
-
*/
|
206
|
-
public updateInputElement() {
|
207
|
-
this.updatingInput = true;
|
208
|
-
|
209
|
-
const { currentValue, inputElement } = this;
|
210
|
-
|
211
|
-
if (!inputElement) return;
|
212
|
-
|
213
|
-
setFormFieldValue(inputElement, currentValue.toFixed(2));
|
214
|
-
|
215
|
-
this.updatingInput = false;
|
216
|
-
}
|
217
|
-
|
218
|
-
/**
|
219
|
-
* @returns The Handle's constraints.
|
220
|
-
*/
|
221
|
-
public getConstraints = (): [number, number] => [this.minValue, this.maxValue];
|
222
|
-
|
223
|
-
/**
|
224
|
-
* Sets new constraints to the Handle.
|
225
|
-
* @param minValue The new minimum value.
|
226
|
-
* @param maxValue The new maximum value.
|
227
|
-
*/
|
228
|
-
public setConstraints(minValue: number, maxValue: number): void {
|
229
|
-
const { element } = this;
|
230
|
-
|
231
|
-
const minValFixed = minValue.toFixed(2);
|
232
|
-
const maxValFixed = maxValue.toFixed(2);
|
233
|
-
|
234
|
-
element.setAttribute(ARIA_VALUEMIN_KEY, minValFixed);
|
235
|
-
element.setAttribute(ARIA_VALUEMAX_KEY, maxValFixed);
|
236
|
-
|
237
|
-
this.minValue = Number(minValFixed);
|
238
|
-
this.maxValue = Number(maxValFixed);
|
239
|
-
}
|
240
|
-
|
241
|
-
/**
|
242
|
-
* Updates the sibling's constaints, if existing.
|
243
|
-
*/
|
244
|
-
public updateSiblingConstraints() {
|
245
|
-
const { index, sibling, step, minRange, maxRange, currentValue } = this;
|
246
|
-
|
247
|
-
if (!sibling) return;
|
248
|
-
|
249
|
-
if (index === 0) sibling.setConstraints(currentValue + step, maxRange);
|
250
|
-
else sibling.setConstraints(minRange, currentValue - step);
|
251
|
-
}
|
252
|
-
|
253
|
-
/**
|
254
|
-
* Updates the stored track width and the Handle's position on the track.
|
255
|
-
* @param newTrackWidth The new track width.
|
256
|
-
*/
|
257
|
-
public updateTrackWidth(newTrackWidth: number) {
|
258
|
-
this.trackWidth = newTrackWidth;
|
259
|
-
|
260
|
-
this.fill?.updateTrackWidth(newTrackWidth);
|
261
|
-
this.updatePosition();
|
262
|
-
}
|
263
|
-
|
264
|
-
/**
|
265
|
-
* Adds a `Fill` instance to the Handle.
|
266
|
-
* @param fill A {@link Fill} instance.
|
267
|
-
*/
|
268
|
-
public addFill(fill: Fill) {
|
269
|
-
this.fill = fill;
|
270
|
-
}
|
271
|
-
|
272
|
-
/**
|
273
|
-
* Adds a sibling Handle.
|
274
|
-
* @param sibling A {@link Handle} instance.
|
275
|
-
*/
|
276
|
-
public addSibling(sibling: Handle) {
|
277
|
-
this.sibling = sibling;
|
278
|
-
|
279
|
-
this.updateSiblingConstraints();
|
280
|
-
}
|
281
|
-
}
|
@@ -1,100 +0,0 @@
|
|
1
|
-
import { adjustValueToStep, isNotEmpty } from '@finsweet/attributes-utils';
|
2
|
-
|
3
|
-
import { Fill } from './components/Fill';
|
4
|
-
import { Handle } from './components/Handle';
|
5
|
-
import { getAttribute } from './utils/selectors';
|
6
|
-
import type { HandleInstances, RangeSliderSettings } from './utils/types';
|
7
|
-
|
8
|
-
/**
|
9
|
-
* Creates {@link Handle} instances and sets them up.
|
10
|
-
* @param settings The {@link RangeSliderSettings}.
|
11
|
-
* @returns The new {@link Handle} instances.
|
12
|
-
*/
|
13
|
-
export const createHandleInstances = ({
|
14
|
-
handleElements,
|
15
|
-
inputElements,
|
16
|
-
displayValueElements,
|
17
|
-
formatValueDisplay,
|
18
|
-
minRange,
|
19
|
-
maxRange,
|
20
|
-
trackWidth,
|
21
|
-
step,
|
22
|
-
precision,
|
23
|
-
isLazy,
|
24
|
-
}: RangeSliderSettings): HandleInstances | undefined => {
|
25
|
-
const handles = handleElements
|
26
|
-
.slice(0, 2)
|
27
|
-
.map((handleElement, index) => {
|
28
|
-
const rawStartValue = parseFloat(getAttribute(handleElement, 'start') || `${index === 0 ? minRange : maxRange}`);
|
29
|
-
|
30
|
-
let startValue = adjustValueToStep(rawStartValue, step, precision, minRange);
|
31
|
-
|
32
|
-
const inputElement = inputElements[index];
|
33
|
-
const displayValueElement = displayValueElements[index];
|
34
|
-
|
35
|
-
if (startValue < minRange) {
|
36
|
-
console.error(
|
37
|
-
`The Handle start value [${startValue}] doesn't match the range, so it has been set to the min value [${minRange}].`
|
38
|
-
);
|
39
|
-
startValue = minRange;
|
40
|
-
}
|
41
|
-
|
42
|
-
if (startValue > maxRange) {
|
43
|
-
console.error(
|
44
|
-
`The Handle start value [${startValue}] doesn't match the range, so it has been set to the max value [${maxRange}].`
|
45
|
-
);
|
46
|
-
startValue = maxRange;
|
47
|
-
}
|
48
|
-
|
49
|
-
const handle = new Handle(handleElement, {
|
50
|
-
index,
|
51
|
-
minRange,
|
52
|
-
maxRange,
|
53
|
-
trackWidth,
|
54
|
-
step,
|
55
|
-
precision,
|
56
|
-
startValue,
|
57
|
-
inputElement,
|
58
|
-
displayValueElement,
|
59
|
-
formatValueDisplay,
|
60
|
-
isLazy,
|
61
|
-
});
|
62
|
-
|
63
|
-
return handle;
|
64
|
-
})
|
65
|
-
.filter(isNotEmpty);
|
66
|
-
|
67
|
-
if (!handles.length) return;
|
68
|
-
|
69
|
-
// Sort them by start value
|
70
|
-
if (handles.length > 1) handles.sort((handle1, handle2) => handle1.getValue() - handle2.getValue());
|
71
|
-
|
72
|
-
const [handle1, handle2] = handles;
|
73
|
-
|
74
|
-
// Add relationships
|
75
|
-
if (handle2) {
|
76
|
-
handle1.addSibling(handle2);
|
77
|
-
handle2.addSibling(handle1);
|
78
|
-
} else handle1.setConstraints(minRange, maxRange);
|
79
|
-
|
80
|
-
return [handle1, handle2];
|
81
|
-
};
|
82
|
-
|
83
|
-
/**
|
84
|
-
* Creates a `Fill` instance and adds it to the Handles.
|
85
|
-
* @param settings The settings returned by {@link getSettings}.
|
86
|
-
* @param handles The {@link HandleInstances} tuple.
|
87
|
-
* @returns
|
88
|
-
*/
|
89
|
-
export const createFillInstance = (
|
90
|
-
{ fillElement, minRange, maxRange, trackWidth }: RangeSliderSettings,
|
91
|
-
handles: HandleInstances
|
92
|
-
) => {
|
93
|
-
if (!fillElement) return;
|
94
|
-
|
95
|
-
const fill = new Fill(fillElement, { minRange, maxRange, trackWidth, handles });
|
96
|
-
const [handle1, handle2] = handles;
|
97
|
-
|
98
|
-
handle1.addFill(fill);
|
99
|
-
handle2?.addFill(fill);
|
100
|
-
};
|
@@ -1,194 +0,0 @@
|
|
1
|
-
import {
|
2
|
-
addListener,
|
3
|
-
adjustValueToStep,
|
4
|
-
type FinsweetAttributeInit,
|
5
|
-
getHiddenParent,
|
6
|
-
isNotEmpty,
|
7
|
-
isVisible,
|
8
|
-
noop,
|
9
|
-
waitWebflowReady,
|
10
|
-
} from '@finsweet/attributes-utils';
|
11
|
-
import debounce from 'just-debounce';
|
12
|
-
|
13
|
-
import { getClientX } from './actions/events';
|
14
|
-
import { getSettings } from './actions/settings';
|
15
|
-
import { getClosestValidHandle } from './actions/values';
|
16
|
-
import type { Handle } from './components/Handle';
|
17
|
-
import { createFillInstance, createHandleInstances } from './factory';
|
18
|
-
import { queryAllElements } from './utils/selectors';
|
19
|
-
|
20
|
-
/**
|
21
|
-
* Inits the attribute.
|
22
|
-
*/
|
23
|
-
export const init: FinsweetAttributeInit = async () => {
|
24
|
-
await waitWebflowReady();
|
25
|
-
|
26
|
-
const wrapperElements = queryAllElements('wrapper');
|
27
|
-
|
28
|
-
const rangeSlidersData = wrapperElements.map(initRangeSlider).filter(isNotEmpty);
|
29
|
-
|
30
|
-
const handleInstances = rangeSlidersData.map(({ handles }) => handles);
|
31
|
-
|
32
|
-
return {
|
33
|
-
result: handleInstances,
|
34
|
-
destroy() {
|
35
|
-
for (const { destroy } of rangeSlidersData) destroy();
|
36
|
-
},
|
37
|
-
};
|
38
|
-
};
|
39
|
-
|
40
|
-
/**
|
41
|
-
* Inits a range slider.
|
42
|
-
* @param wrapperElement The wrapper element.
|
43
|
-
* @returns The {@link HandleInstances}.
|
44
|
-
*/
|
45
|
-
const initRangeSlider = (wrapperElement: HTMLElement) => {
|
46
|
-
const settings = getSettings(wrapperElement);
|
47
|
-
if (!settings) return;
|
48
|
-
|
49
|
-
const handles = createHandleInstances(settings);
|
50
|
-
if (!handles) return;
|
51
|
-
|
52
|
-
createFillInstance(settings, handles);
|
53
|
-
|
54
|
-
const { maxRange, minRange, step, precision, totalRange, trackElement, updateOnRelease } = settings;
|
55
|
-
|
56
|
-
let { trackWidth, trackLeft, trackRight } = settings;
|
57
|
-
let focusedHandle: Handle | undefined;
|
58
|
-
let focusedHandleHasUpdated = false;
|
59
|
-
|
60
|
-
/**
|
61
|
-
* Calculates the value based on where the user clicked and adjusts it to the step increment,
|
62
|
-
* @param clientX The event `clientX` value.
|
63
|
-
*/
|
64
|
-
const calculateNewValue = (clientX: number) => {
|
65
|
-
const value = minRange + ((clientX - trackLeft) * totalRange) / trackWidth;
|
66
|
-
|
67
|
-
const adjustedValue = adjustValueToStep(value, step, precision, minRange);
|
68
|
-
return adjustedValue;
|
69
|
-
};
|
70
|
-
|
71
|
-
/**
|
72
|
-
* Handles when the user moves the cursor/finger while holding down a {@link Handle}.
|
73
|
-
* @param e A `mousemove` or `touchmove` event.
|
74
|
-
*/
|
75
|
-
const handleMouseMove = (e: MouseEvent | TouchEvent) => {
|
76
|
-
if (!focusedHandle) return;
|
77
|
-
|
78
|
-
if (e instanceof MouseEvent) e.preventDefault();
|
79
|
-
|
80
|
-
const clientX = getClientX(e);
|
81
|
-
const [minValue, maxValue] = focusedHandle.getConstraints();
|
82
|
-
|
83
|
-
let value: number;
|
84
|
-
|
85
|
-
if (trackLeft > clientX) value = minValue;
|
86
|
-
else if (trackRight < clientX) value = maxValue;
|
87
|
-
else value = calculateNewValue(clientX);
|
88
|
-
|
89
|
-
const hasUpdatedValue = focusedHandle.setValue(value, !updateOnRelease);
|
90
|
-
|
91
|
-
focusedHandleHasUpdated ||= hasUpdatedValue;
|
92
|
-
};
|
93
|
-
|
94
|
-
/**
|
95
|
-
* Handles when the user releases the currently focused {@link Handle}.
|
96
|
-
* @param e A `mouseup` or `touchend` event.
|
97
|
-
*/
|
98
|
-
const handleMouseUp = (e: MouseEvent | TouchEvent) => {
|
99
|
-
if (e.cancelable) e.preventDefault();
|
100
|
-
|
101
|
-
document.removeEventListener('mousemove', handleMouseMove);
|
102
|
-
document.removeEventListener('touchmove', handleMouseMove);
|
103
|
-
document.removeEventListener('mouseup', handleMouseUp);
|
104
|
-
document.removeEventListener('touchend', handleMouseUp);
|
105
|
-
|
106
|
-
if (updateOnRelease && focusedHandleHasUpdated) focusedHandle?.updateInputElement();
|
107
|
-
|
108
|
-
focusedHandleHasUpdated = false;
|
109
|
-
|
110
|
-
focusedHandle?.element.blur();
|
111
|
-
focusedHandle = undefined;
|
112
|
-
};
|
113
|
-
|
114
|
-
/**
|
115
|
-
* Handles when the user holds down a {@link Handle}.
|
116
|
-
* @param e A `mousedown` or `touchstart` event.
|
117
|
-
*/
|
118
|
-
const handleMouseDown = (e: MouseEvent | TouchEvent) => {
|
119
|
-
if (e.cancelable) e.preventDefault();
|
120
|
-
|
121
|
-
const clientX = getClientX(e);
|
122
|
-
|
123
|
-
document.addEventListener('mousemove', handleMouseMove);
|
124
|
-
document.addEventListener('touchmove', handleMouseMove, { passive: true });
|
125
|
-
document.addEventListener('mouseup', handleMouseUp);
|
126
|
-
document.addEventListener('touchend', handleMouseUp);
|
127
|
-
|
128
|
-
let value: number;
|
129
|
-
|
130
|
-
if (trackLeft > clientX) value = minRange;
|
131
|
-
else if (trackRight < clientX) value = maxRange;
|
132
|
-
else value = calculateNewValue(clientX);
|
133
|
-
|
134
|
-
const closestHandle = getClosestValidHandle(value, handles);
|
135
|
-
if (!closestHandle) return;
|
136
|
-
|
137
|
-
closestHandle.element.focus();
|
138
|
-
|
139
|
-
focusedHandle = closestHandle;
|
140
|
-
|
141
|
-
const hasUpdatedValue = closestHandle.setValue(value, !updateOnRelease);
|
142
|
-
|
143
|
-
focusedHandleHasUpdated ||= hasUpdatedValue;
|
144
|
-
};
|
145
|
-
|
146
|
-
/**
|
147
|
-
* Updates the stored `trackWidth` value and the Handles' position.
|
148
|
-
*/
|
149
|
-
const handleDOMMutation = () => {
|
150
|
-
trackWidth = trackElement.clientWidth;
|
151
|
-
|
152
|
-
({ left: trackLeft, right: trackRight } = trackElement.getBoundingClientRect());
|
153
|
-
|
154
|
-
for (const handle of handles) {
|
155
|
-
if (handle) handle.updateTrackWidth(trackWidth);
|
156
|
-
}
|
157
|
-
};
|
158
|
-
|
159
|
-
/**
|
160
|
-
* If the wrapper is initially hidden, observes mutations and performs the needed actions.
|
161
|
-
*/
|
162
|
-
const observeWrapperVisibility = () => {
|
163
|
-
const hiddenParent = getHiddenParent(wrapperElement);
|
164
|
-
if (!hiddenParent) return noop;
|
165
|
-
|
166
|
-
const observer = new MutationObserver(() => {
|
167
|
-
if (isVisible(hiddenParent)) handleDOMMutation();
|
168
|
-
});
|
169
|
-
|
170
|
-
observer.observe(hiddenParent, {
|
171
|
-
attributes: true,
|
172
|
-
attributeFilter: ['style', 'class'],
|
173
|
-
});
|
174
|
-
|
175
|
-
return () => observer.disconnect();
|
176
|
-
};
|
177
|
-
|
178
|
-
/**
|
179
|
-
* Init events
|
180
|
-
*/
|
181
|
-
const cleanups = [
|
182
|
-
observeWrapperVisibility(),
|
183
|
-
addListener(trackElement, 'mousedown', handleMouseDown),
|
184
|
-
addListener(trackElement, 'touchstart', handleMouseDown, { passive: true }),
|
185
|
-
addListener(window, 'resize', debounce(handleDOMMutation, 50)),
|
186
|
-
];
|
187
|
-
|
188
|
-
return {
|
189
|
-
handles,
|
190
|
-
destroy: () => {
|
191
|
-
for (const cleanup of cleanups) cleanup();
|
192
|
-
},
|
193
|
-
};
|
194
|
-
};
|
@@ -1,87 +0,0 @@
|
|
1
|
-
import {
|
2
|
-
ARROW_DOWN_KEY,
|
3
|
-
ARROW_LEFT_KEY,
|
4
|
-
ARROW_RIGHT_KEY,
|
5
|
-
ARROW_UP_KEY,
|
6
|
-
type AttributeElements,
|
7
|
-
type AttributeSettings,
|
8
|
-
} from '@finsweet/attributes-utils';
|
9
|
-
|
10
|
-
export const ELEMENTS = [
|
11
|
-
/**
|
12
|
-
* Defines a range slider instance element.
|
13
|
-
*/
|
14
|
-
'wrapper',
|
15
|
-
|
16
|
-
/**
|
17
|
-
* Defines the track of the slider.
|
18
|
-
*/
|
19
|
-
'track',
|
20
|
-
|
21
|
-
/**
|
22
|
-
* Defines the fill of the slider.
|
23
|
-
*/
|
24
|
-
'fill',
|
25
|
-
|
26
|
-
/**
|
27
|
-
* Defines a handle of the slider.
|
28
|
-
*/
|
29
|
-
'handle',
|
30
|
-
|
31
|
-
/**
|
32
|
-
* Defines an element to display a Handle's value.
|
33
|
-
*/
|
34
|
-
'display-value',
|
35
|
-
] as const satisfies AttributeElements;
|
36
|
-
|
37
|
-
export const SETTINGS = {
|
38
|
-
/**
|
39
|
-
* Defines the minimum value of the range.
|
40
|
-
*/
|
41
|
-
min: { key: 'min' },
|
42
|
-
|
43
|
-
/**
|
44
|
-
* Defines the maximum value of the range.
|
45
|
-
*/
|
46
|
-
max: { key: 'max' },
|
47
|
-
|
48
|
-
/**
|
49
|
-
* Defines the start value of a handle.
|
50
|
-
* Must be applied to a handle element {@link ATTRIBUTES.element.values.handle}.
|
51
|
-
*/
|
52
|
-
start: { key: 'start' },
|
53
|
-
|
54
|
-
/**
|
55
|
-
* Defines the step of the values.
|
56
|
-
*/
|
57
|
-
step: { key: 'step' },
|
58
|
-
|
59
|
-
/**
|
60
|
-
* Defines if the Handles' value display should be formatted.
|
61
|
-
*/
|
62
|
-
formatdisplay: {
|
63
|
-
key: 'formatdisplay',
|
64
|
-
values: ['true'],
|
65
|
-
},
|
66
|
-
|
67
|
-
/**
|
68
|
-
* Defines when should the <input> elements be updated.
|
69
|
-
*/
|
70
|
-
update: {
|
71
|
-
key: 'update',
|
72
|
-
values: ['move', 'release'],
|
73
|
-
defaultValue: 'move',
|
74
|
-
},
|
75
|
-
|
76
|
-
/**
|
77
|
-
* Defines if the input values should be updated lazily.
|
78
|
-
*/
|
79
|
-
lazy: {
|
80
|
-
key: 'lazy',
|
81
|
-
values: ['true'],
|
82
|
-
},
|
83
|
-
} as const satisfies AttributeSettings;
|
84
|
-
|
85
|
-
export const HANDLE_INCREMENT_KEYS = [ARROW_UP_KEY, ARROW_RIGHT_KEY];
|
86
|
-
export const HANDLE_DECREMENT_KEYS = [ARROW_DOWN_KEY, ARROW_LEFT_KEY];
|
87
|
-
export const HANDLE_KEYS = [...HANDLE_INCREMENT_KEYS, ...HANDLE_DECREMENT_KEYS];
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { generateSelectors, RANGE_SLIDER_ATTRIBUTE } from '@finsweet/attributes-utils';
|
2
|
-
|
3
|
-
import { ELEMENTS, SETTINGS } from './constants';
|
4
|
-
|
5
|
-
export const { queryElement, queryAllElements, hasAttributeValue, getAttribute } = generateSelectors(
|
6
|
-
RANGE_SLIDER_ATTRIBUTE,
|
7
|
-
ELEMENTS,
|
8
|
-
SETTINGS
|
9
|
-
);
|