@hortonstudio/main 1.2.4 → 1.2.6
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/attributes-master/.changeset/README.md +8 -0
- package/attributes-master/.changeset/config.json +11 -0
- package/attributes-master/.gitattributes +2 -0
- package/attributes-master/.github/ISSUE_TEMPLATE/bug_report.md +42 -0
- package/attributes-master/.github/ISSUE_TEMPLATE/feature_request.md +22 -0
- package/attributes-master/.github/workflows/ci.yml +66 -0
- package/attributes-master/.github/workflows/release.yml +40 -0
- package/attributes-master/.prettierignore +3 -0
- package/attributes-master/.prettierrc +8 -0
- package/attributes-master/.vscode/extensions.json +3 -0
- package/attributes-master/.vscode/settings.json +7 -0
- package/attributes-master/CONTRIBUTING.md +72 -0
- package/attributes-master/LICENSE.md +201 -0
- package/attributes-master/README.md +31 -0
- package/attributes-master/eslint.config.js +3 -0
- package/attributes-master/package.json +34 -0
- package/attributes-master/packages/accordion/CHANGELOG.md +89 -0
- package/attributes-master/packages/accordion/README.md +31 -0
- package/attributes-master/packages/accordion/package.json +25 -0
- package/attributes-master/packages/accordion/src/actions/a11y.ts +39 -0
- package/attributes-master/packages/accordion/src/actions/classes.ts +27 -0
- package/attributes-master/packages/accordion/src/actions/content.ts +42 -0
- package/attributes-master/packages/accordion/src/actions/list.ts +36 -0
- package/attributes-master/packages/accordion/src/actions/query.ts +27 -0
- package/attributes-master/packages/accordion/src/actions/settings.ts +61 -0
- package/attributes-master/packages/accordion/src/factory.ts +145 -0
- package/attributes-master/packages/accordion/src/index.ts +3 -0
- package/attributes-master/packages/accordion/src/init.ts +37 -0
- package/attributes-master/packages/accordion/src/utils/constants.ts +62 -0
- package/attributes-master/packages/accordion/src/utils/helpers.ts +5 -0
- package/attributes-master/packages/accordion/src/utils/selectors.ts +12 -0
- package/attributes-master/packages/accordion/src/utils/types.ts +23 -0
- package/attributes-master/packages/accordion/tsconfig.json +3 -0
- package/attributes-master/packages/attributes/CHANGELOG.md +564 -0
- package/attributes-master/packages/attributes/README.md +66 -0
- package/attributes-master/packages/attributes/bin/build.ts +107 -0
- package/attributes-master/packages/attributes/bin/live-reload.js +1 -0
- package/attributes-master/packages/attributes/package.json +77 -0
- package/attributes-master/packages/attributes/playwright.config.ts +89 -0
- package/attributes-master/packages/attributes/src/attributes.ts +153 -0
- package/attributes-master/packages/attributes/src/load.ts +125 -0
- package/attributes-master/packages/attributes/tests/accordion.spec.ts +137 -0
- package/attributes-master/packages/attributes/tests/codehighlight.spec.ts +23 -0
- package/attributes-master/packages/attributes/tests/combobox.spec.ts +321 -0
- package/attributes-master/packages/attributes/tests/copyclip.spec.ts +19 -0
- package/attributes-master/packages/attributes/tests/displayvalues.spec.ts +48 -0
- package/attributes-master/packages/attributes/tests/favcustom.spec.ts +23 -0
- package/attributes-master/packages/attributes/tests/inject.spec.ts +40 -0
- package/attributes-master/packages/attributes/tests/inputactive.spec.ts +77 -0
- package/attributes-master/packages/attributes/tests/inputcounter.spec.ts +83 -0
- package/attributes-master/packages/attributes/tests/list.spec.ts +800 -0
- package/attributes-master/packages/attributes/tests/mirrorclick.spec.ts +22 -0
- package/attributes-master/packages/attributes/tests/mirrorinput.spec.ts +37 -0
- package/attributes-master/packages/attributes/tests/modal.spec.ts +34 -0
- package/attributes-master/packages/attributes/tests/numbercount.spec.ts +40 -0
- package/attributes-master/packages/attributes/tests/readtime.spec.ts +19 -0
- package/attributes-master/packages/attributes/tests/selectcustom.spec.ts +51 -0
- package/attributes-master/packages/attributes/tests/socialshare.spec.ts +54 -0
- package/attributes-master/packages/attributes/tests/starrating.spec.ts +79 -0
- package/attributes-master/packages/attributes/tests/toc.spec.ts +38 -0
- package/attributes-master/packages/attributes/tests/utils/index.ts +16 -0
- package/attributes-master/packages/attributes/tsconfig.json +6 -0
- package/attributes-master/packages/autovideo/CHANGELOG.md +182 -0
- package/attributes-master/packages/autovideo/README.md +31 -0
- package/attributes-master/packages/autovideo/package.json +22 -0
- package/attributes-master/packages/autovideo/src/index.ts +3 -0
- package/attributes-master/packages/autovideo/src/init.ts +52 -0
- package/attributes-master/packages/autovideo/src/types.ts +5 -0
- package/attributes-master/packages/autovideo/src/utils/constants.ts +4 -0
- package/attributes-master/packages/autovideo/tsconfig.json +3 -0
- package/attributes-master/packages/codehighlight/CHANGELOG.md +185 -0
- package/attributes-master/packages/codehighlight/README.md +27 -0
- package/attributes-master/packages/codehighlight/package.json +23 -0
- package/attributes-master/packages/codehighlight/src/actions/import.ts +50 -0
- package/attributes-master/packages/codehighlight/src/index.ts +3 -0
- package/attributes-master/packages/codehighlight/src/init.ts +53 -0
- package/attributes-master/packages/codehighlight/src/utils/constants.ts +24 -0
- package/attributes-master/packages/codehighlight/src/utils/selectors.ts +5 -0
- package/attributes-master/packages/codehighlight/src/utils/themes.ts +202 -0
- package/attributes-master/packages/codehighlight/tsconfig.json +3 -0
- package/attributes-master/packages/combobox/CHANGELOG.md +99 -0
- package/attributes-master/packages/combobox/README.md +27 -0
- package/attributes-master/packages/combobox/package.json +23 -0
- package/attributes-master/packages/combobox/src/actions/a11y.ts +29 -0
- package/attributes-master/packages/combobox/src/actions/body/index.ts +12 -0
- package/attributes-master/packages/combobox/src/actions/clearDropdown/index.ts +37 -0
- package/attributes-master/packages/combobox/src/actions/dropdownList/index.ts +220 -0
- package/attributes-master/packages/combobox/src/actions/dropdownToggle/index.ts +34 -0
- package/attributes-master/packages/combobox/src/actions/events.ts +75 -0
- package/attributes-master/packages/combobox/src/actions/input/index.ts +235 -0
- package/attributes-master/packages/combobox/src/actions/observe.ts +158 -0
- package/attributes-master/packages/combobox/src/actions/populate.ts +97 -0
- package/attributes-master/packages/combobox/src/actions/selectElement/index.ts +23 -0
- package/attributes-master/packages/combobox/src/actions/settings.ts +134 -0
- package/attributes-master/packages/combobox/src/actions/state.ts +34 -0
- package/attributes-master/packages/combobox/src/index.ts +3 -0
- package/attributes-master/packages/combobox/src/init.ts +52 -0
- package/attributes-master/packages/combobox/src/utils/constants.ts +48 -0
- package/attributes-master/packages/combobox/src/utils/dropdowns.ts +120 -0
- package/attributes-master/packages/combobox/src/utils/index.ts +1 -0
- package/attributes-master/packages/combobox/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/combobox/src/utils/types.ts +14 -0
- package/attributes-master/packages/combobox/tsconfig.json +3 -0
- package/attributes-master/packages/copyclip/CHANGELOG.md +213 -0
- package/attributes-master/packages/copyclip/README.md +27 -0
- package/attributes-master/packages/copyclip/package.json +23 -0
- package/attributes-master/packages/copyclip/src/factory.ts +67 -0
- package/attributes-master/packages/copyclip/src/index.ts +3 -0
- package/attributes-master/packages/copyclip/src/init.ts +68 -0
- package/attributes-master/packages/copyclip/src/utils/constants.ts +40 -0
- package/attributes-master/packages/copyclip/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/copyclip/tsconfig.json +3 -0
- package/attributes-master/packages/displayvalues/CHANGELOG.md +164 -0
- package/attributes-master/packages/displayvalues/README.md +27 -0
- package/attributes-master/packages/displayvalues/package.json +22 -0
- package/attributes-master/packages/displayvalues/src/actions/collect.ts +17 -0
- package/attributes-master/packages/displayvalues/src/actions/events.ts +22 -0
- package/attributes-master/packages/displayvalues/src/actions/sync.ts +23 -0
- package/attributes-master/packages/displayvalues/src/index.ts +3 -0
- package/attributes-master/packages/displayvalues/src/init.ts +31 -0
- package/attributes-master/packages/displayvalues/src/utils/constants.ts +20 -0
- package/attributes-master/packages/displayvalues/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/displayvalues/src/utils/stores.ts +3 -0
- package/attributes-master/packages/displayvalues/tsconfig.json +3 -0
- package/attributes-master/packages/docs/CHANGELOG.md +108 -0
- package/attributes-master/packages/docs/README.md +3 -0
- package/attributes-master/packages/docs/bin/build.js +92 -0
- package/attributes-master/packages/docs/bin/live-reload.js +1 -0
- package/attributes-master/packages/docs/package.json +40 -0
- package/attributes-master/packages/docs/src/copy.ts +260 -0
- package/attributes-master/packages/docs/src/x-ray.ts +377 -0
- package/attributes-master/packages/docs/tsconfig.json +3 -0
- package/attributes-master/packages/favcustom/CHANGELOG.md +194 -0
- package/attributes-master/packages/favcustom/README.md +27 -0
- package/attributes-master/packages/favcustom/package.json +22 -0
- package/attributes-master/packages/favcustom/src/index.ts +3 -0
- package/attributes-master/packages/favcustom/src/init.ts +30 -0
- package/attributes-master/packages/favcustom/src/utils/constants.ts +10 -0
- package/attributes-master/packages/favcustom/src/utils/selectors.ts +5 -0
- package/attributes-master/packages/favcustom/tsconfig.json +3 -0
- package/attributes-master/packages/formsubmit/CHANGELOG.md +161 -0
- package/attributes-master/packages/formsubmit/README.md +51 -0
- package/attributes-master/packages/formsubmit/package.json +22 -0
- package/attributes-master/packages/formsubmit/src/actions/redirect.ts +9 -0
- package/attributes-master/packages/formsubmit/src/actions/reset.ts +49 -0
- package/attributes-master/packages/formsubmit/src/actions/submit.ts +34 -0
- package/attributes-master/packages/formsubmit/src/components/Form.ts +231 -0
- package/attributes-master/packages/formsubmit/src/factory.ts +62 -0
- package/attributes-master/packages/formsubmit/src/index.ts +3 -0
- package/attributes-master/packages/formsubmit/src/init.ts +24 -0
- package/attributes-master/packages/formsubmit/src/utils/attributes.ts +19 -0
- package/attributes-master/packages/formsubmit/src/utils/constants.ts +89 -0
- package/attributes-master/packages/formsubmit/src/utils/dom.ts +76 -0
- package/attributes-master/packages/formsubmit/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/formsubmit/src/utils/types.ts +7 -0
- package/attributes-master/packages/formsubmit/tsconfig.json +3 -0
- package/attributes-master/packages/inject/CHANGELOG.md +117 -0
- package/attributes-master/packages/inject/README.md +60 -0
- package/attributes-master/packages/inject/package.json +22 -0
- package/attributes-master/packages/inject/src/actions/collect.ts +125 -0
- package/attributes-master/packages/inject/src/actions/css.ts +27 -0
- package/attributes-master/packages/inject/src/actions/prefetch.ts +44 -0
- package/attributes-master/packages/inject/src/factory.ts +123 -0
- package/attributes-master/packages/inject/src/index.ts +3 -0
- package/attributes-master/packages/inject/src/init.ts +22 -0
- package/attributes-master/packages/inject/src/utils/constants.ts +89 -0
- package/attributes-master/packages/inject/src/utils/helpers.ts +36 -0
- package/attributes-master/packages/inject/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/inject/src/utils/types.ts +16 -0
- package/attributes-master/packages/inject/tsconfig.json +3 -0
- package/attributes-master/packages/inputactive/CHANGELOG.md +58 -0
- package/attributes-master/packages/inputactive/README.md +25 -0
- package/attributes-master/packages/inputactive/package.json +22 -0
- package/attributes-master/packages/inputactive/src/actions/classes.ts +43 -0
- package/attributes-master/packages/inputactive/src/factory.ts +24 -0
- package/attributes-master/packages/inputactive/src/index.ts +3 -0
- package/attributes-master/packages/inputactive/src/init.ts +18 -0
- package/attributes-master/packages/inputactive/src/utils/constants.ts +13 -0
- package/attributes-master/packages/inputactive/src/utils/selectors.ts +5 -0
- package/attributes-master/packages/inputactive/tsconfig.json +3 -0
- package/attributes-master/packages/inputcounter/CHANGELOG.md +110 -0
- package/attributes-master/packages/inputcounter/README.md +25 -0
- package/attributes-master/packages/inputcounter/package.json +22 -0
- package/attributes-master/packages/inputcounter/src/actions/a11y.ts +23 -0
- package/attributes-master/packages/inputcounter/src/actions/buttons.ts +61 -0
- package/attributes-master/packages/inputcounter/src/actions/input.ts +31 -0
- package/attributes-master/packages/inputcounter/src/actions/style.ts +12 -0
- package/attributes-master/packages/inputcounter/src/factory.ts +51 -0
- package/attributes-master/packages/inputcounter/src/index.ts +3 -0
- package/attributes-master/packages/inputcounter/src/init.ts +22 -0
- package/attributes-master/packages/inputcounter/src/utils/constants.ts +59 -0
- package/attributes-master/packages/inputcounter/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/inputcounter/tsconfig.json +3 -0
- package/attributes-master/packages/list/CHANGELOG.md +185 -0
- package/attributes-master/packages/list/README.md +331 -0
- package/attributes-master/packages/list/package.json +37 -0
- package/attributes-master/packages/list/src/combine/index.ts +38 -0
- package/attributes-master/packages/list/src/components/List.ts +861 -0
- package/attributes-master/packages/list/src/components/ListItem.ts +229 -0
- package/attributes-master/packages/list/src/components/index.ts +2 -0
- package/attributes-master/packages/list/src/factory.ts +130 -0
- package/attributes-master/packages/list/src/filter/dynamic/conditions.ts +639 -0
- package/attributes-master/packages/list/src/filter/dynamic/groups.ts +221 -0
- package/attributes-master/packages/list/src/filter/dynamic/index.ts +119 -0
- package/attributes-master/packages/list/src/filter/dynamic/utils.ts +44 -0
- package/attributes-master/packages/list/src/filter/elements.ts +93 -0
- package/attributes-master/packages/list/src/filter/filter.ts +118 -0
- package/attributes-master/packages/list/src/filter/filter.worker.ts +152 -0
- package/attributes-master/packages/list/src/filter/index.ts +94 -0
- package/attributes-master/packages/list/src/filter/standard/conditions.ts +123 -0
- package/attributes-master/packages/list/src/filter/standard/facets.ts +253 -0
- package/attributes-master/packages/list/src/filter/standard/index.ts +176 -0
- package/attributes-master/packages/list/src/filter/standard/query.ts +111 -0
- package/attributes-master/packages/list/src/filter/tags.ts +314 -0
- package/attributes-master/packages/list/src/filter/types.ts +62 -0
- package/attributes-master/packages/list/src/filter/utils.ts +126 -0
- package/attributes-master/packages/list/src/index.ts +4 -0
- package/attributes-master/packages/list/src/init.ts +38 -0
- package/attributes-master/packages/list/src/load/all.ts +27 -0
- package/attributes-master/packages/list/src/load/elements.ts +39 -0
- package/attributes-master/packages/list/src/load/index.ts +63 -0
- package/attributes-master/packages/list/src/load/infinite.ts +79 -0
- package/attributes-master/packages/list/src/load/load.ts +191 -0
- package/attributes-master/packages/list/src/load/more.ts +97 -0
- package/attributes-master/packages/list/src/load/pagination.ts +402 -0
- package/attributes-master/packages/list/src/nest/index.ts +198 -0
- package/attributes-master/packages/list/src/prevnext/index.ts +98 -0
- package/attributes-master/packages/list/src/select/index.ts +56 -0
- package/attributes-master/packages/list/src/slider/index.ts +62 -0
- package/attributes-master/packages/list/src/sort/buttons.ts +96 -0
- package/attributes-master/packages/list/src/sort/dropdown.ts +179 -0
- package/attributes-master/packages/list/src/sort/index.ts +81 -0
- package/attributes-master/packages/list/src/sort/query.ts +63 -0
- package/attributes-master/packages/list/src/sort/select.ts +67 -0
- package/attributes-master/packages/list/src/sort/sort.ts +79 -0
- package/attributes-master/packages/list/src/sort/types.ts +28 -0
- package/attributes-master/packages/list/src/static/index.ts +73 -0
- package/attributes-master/packages/list/src/tabs/index.ts +97 -0
- package/attributes-master/packages/list/src/utils/constants.ts +728 -0
- package/attributes-master/packages/list/src/utils/dom.ts +108 -0
- package/attributes-master/packages/list/src/utils/pagination.ts +14 -0
- package/attributes-master/packages/list/src/utils/selectors.ts +18 -0
- package/attributes-master/packages/list/src/utils/store.ts +5 -0
- package/attributes-master/packages/list/tsconfig.json +3 -0
- package/attributes-master/packages/mirrorclick/CHANGELOG.md +171 -0
- package/attributes-master/packages/mirrorclick/README.md +25 -0
- package/attributes-master/packages/mirrorclick/package.json +22 -0
- package/attributes-master/packages/mirrorclick/src/index.ts +3 -0
- package/attributes-master/packages/mirrorclick/src/init.ts +35 -0
- package/attributes-master/packages/mirrorclick/src/utils/constants.ts +20 -0
- package/attributes-master/packages/mirrorclick/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/mirrorclick/tsconfig.json +3 -0
- package/attributes-master/packages/mirrorinput/CHANGELOG.md +172 -0
- package/attributes-master/packages/mirrorinput/README.md +25 -0
- package/attributes-master/packages/mirrorinput/package.json +22 -0
- package/attributes-master/packages/mirrorinput/src/index.ts +3 -0
- package/attributes-master/packages/mirrorinput/src/init.ts +48 -0
- package/attributes-master/packages/mirrorinput/src/utils/constants.ts +15 -0
- package/attributes-master/packages/mirrorinput/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/mirrorinput/tsconfig.json +3 -0
- package/attributes-master/packages/modal/CHANGELOG.md +94 -0
- package/attributes-master/packages/modal/README.md +29 -0
- package/attributes-master/packages/modal/package.json +23 -0
- package/attributes-master/packages/modal/src/actions/a11y.ts +46 -0
- package/attributes-master/packages/modal/src/actions/modal.ts +164 -0
- package/attributes-master/packages/modal/src/actions/settings.ts +21 -0
- package/attributes-master/packages/modal/src/factory.ts +26 -0
- package/attributes-master/packages/modal/src/index.ts +3 -0
- package/attributes-master/packages/modal/src/init.ts +22 -0
- package/attributes-master/packages/modal/src/utils/constants.ts +54 -0
- package/attributes-master/packages/modal/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/modal/src/utils/types.ts +12 -0
- package/attributes-master/packages/modal/tsconfig.json +3 -0
- package/attributes-master/packages/numbercount/CHANGELOG.md +90 -0
- package/attributes-master/packages/numbercount/README.md +27 -0
- package/attributes-master/packages/numbercount/package.json +23 -0
- package/attributes-master/packages/numbercount/src/actions/a11y.ts +26 -0
- package/attributes-master/packages/numbercount/src/actions/animate.ts +43 -0
- package/attributes-master/packages/numbercount/src/actions/observe.ts +44 -0
- package/attributes-master/packages/numbercount/src/factory.ts +31 -0
- package/attributes-master/packages/numbercount/src/index.ts +3 -0
- package/attributes-master/packages/numbercount/src/init.ts +22 -0
- package/attributes-master/packages/numbercount/src/utils/constants.ts +40 -0
- package/attributes-master/packages/numbercount/src/utils/helpers.ts +31 -0
- package/attributes-master/packages/numbercount/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/numbercount/tsconfig.json +3 -0
- package/attributes-master/packages/queryparam/CHANGELOG.md +118 -0
- package/attributes-master/packages/queryparam/README.md +25 -0
- package/attributes-master/packages/queryparam/package.json +22 -0
- package/attributes-master/packages/queryparam/src/factory.ts +51 -0
- package/attributes-master/packages/queryparam/src/index.ts +3 -0
- package/attributes-master/packages/queryparam/src/init.ts +40 -0
- package/attributes-master/packages/queryparam/src/utils/constants.ts +18 -0
- package/attributes-master/packages/queryparam/src/utils/selectors.ts +5 -0
- package/attributes-master/packages/queryparam/tsconfig.json +3 -0
- package/attributes-master/packages/rangeslider/CHANGELOG.md +236 -0
- package/attributes-master/packages/rangeslider/README.md +95 -0
- package/attributes-master/packages/rangeslider/package.json +23 -0
- package/attributes-master/packages/rangeslider/src/actions/a11y.ts +21 -0
- package/attributes-master/packages/rangeslider/src/actions/events.ts +9 -0
- package/attributes-master/packages/rangeslider/src/actions/settings.ts +97 -0
- package/attributes-master/packages/rangeslider/src/actions/styles.ts +10 -0
- package/attributes-master/packages/rangeslider/src/actions/values.ts +47 -0
- package/attributes-master/packages/rangeslider/src/components/Fill.ts +70 -0
- package/attributes-master/packages/rangeslider/src/components/Handle.ts +281 -0
- package/attributes-master/packages/rangeslider/src/factory.ts +100 -0
- package/attributes-master/packages/rangeslider/src/index.ts +3 -0
- package/attributes-master/packages/rangeslider/src/init.ts +194 -0
- package/attributes-master/packages/rangeslider/src/utils/constants.ts +87 -0
- package/attributes-master/packages/rangeslider/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/rangeslider/src/utils/types.ts +6 -0
- package/attributes-master/packages/rangeslider/tsconfig.json +3 -0
- package/attributes-master/packages/readtime/CHANGELOG.md +108 -0
- package/attributes-master/packages/readtime/README.md +25 -0
- package/attributes-master/packages/readtime/package.json +22 -0
- package/attributes-master/packages/readtime/src/factory.ts +21 -0
- package/attributes-master/packages/readtime/src/index.ts +3 -0
- package/attributes-master/packages/readtime/src/init.ts +19 -0
- package/attributes-master/packages/readtime/src/utils/constants.ts +33 -0
- package/attributes-master/packages/readtime/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/readtime/tsconfig.json +3 -0
- package/attributes-master/packages/removequery/CHANGELOG.md +8 -0
- package/attributes-master/packages/removequery/README.md +25 -0
- package/attributes-master/packages/removequery/package.json +22 -0
- package/attributes-master/packages/removequery/src/index.ts +3 -0
- package/attributes-master/packages/removequery/src/init.ts +18 -0
- package/attributes-master/packages/removequery/src/utils/constants.ts +5 -0
- package/attributes-master/packages/removequery/tsconfig.json +3 -0
- package/attributes-master/packages/scrolldisable/CHANGELOG.md +164 -0
- package/attributes-master/packages/scrolldisable/README.md +29 -0
- package/attributes-master/packages/scrolldisable/package.json +27 -0
- package/attributes-master/packages/scrolldisable/src/click.ts +40 -0
- package/attributes-master/packages/scrolldisable/src/display.ts +117 -0
- package/attributes-master/packages/scrolldisable/src/index.ts +3 -0
- package/attributes-master/packages/scrolldisable/src/init.ts +36 -0
- package/attributes-master/packages/scrolldisable/src/scroll.ts +63 -0
- package/attributes-master/packages/scrolldisable/src/utils/constants.ts +56 -0
- package/attributes-master/packages/scrolldisable/src/utils/selectors.ts +6 -0
- package/attributes-master/packages/scrolldisable/tsconfig.json +3 -0
- package/attributes-master/packages/selectcustom/CHANGELOG.md +242 -0
- package/attributes-master/packages/selectcustom/README.md +25 -0
- package/attributes-master/packages/selectcustom/package.json +23 -0
- package/attributes-master/packages/selectcustom/src/actions/a11y.ts +29 -0
- package/attributes-master/packages/selectcustom/src/actions/events.ts +159 -0
- package/attributes-master/packages/selectcustom/src/actions/observe.ts +83 -0
- package/attributes-master/packages/selectcustom/src/actions/populate.ts +67 -0
- package/attributes-master/packages/selectcustom/src/actions/settings.ts +68 -0
- package/attributes-master/packages/selectcustom/src/actions/state.ts +41 -0
- package/attributes-master/packages/selectcustom/src/index.ts +3 -0
- package/attributes-master/packages/selectcustom/src/init.ts +51 -0
- package/attributes-master/packages/selectcustom/src/utils/constants.ts +34 -0
- package/attributes-master/packages/selectcustom/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/selectcustom/src/utils/types.ts +14 -0
- package/attributes-master/packages/selectcustom/tsconfig.json +3 -0
- package/attributes-master/packages/sliderdots/CHANGELOG.md +220 -0
- package/attributes-master/packages/sliderdots/README.md +27 -0
- package/attributes-master/packages/sliderdots/package.json +22 -0
- package/attributes-master/packages/sliderdots/src/actions/events.ts +26 -0
- package/attributes-master/packages/sliderdots/src/actions/observe.ts +40 -0
- package/attributes-master/packages/sliderdots/src/actions/populate.ts +46 -0
- package/attributes-master/packages/sliderdots/src/actions/sync.ts +28 -0
- package/attributes-master/packages/sliderdots/src/actions/wait.ts +28 -0
- package/attributes-master/packages/sliderdots/src/factory.ts +57 -0
- package/attributes-master/packages/sliderdots/src/index.ts +3 -0
- package/attributes-master/packages/sliderdots/src/init.ts +30 -0
- package/attributes-master/packages/sliderdots/src/utils/constants.ts +33 -0
- package/attributes-master/packages/sliderdots/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/sliderdots/src/utils/types.ts +7 -0
- package/attributes-master/packages/sliderdots/tsconfig.json +3 -0
- package/attributes-master/packages/smartlightbox/CHANGELOG.md +203 -0
- package/attributes-master/packages/smartlightbox/README.md +25 -0
- package/attributes-master/packages/smartlightbox/package.json +22 -0
- package/attributes-master/packages/smartlightbox/src/actions/collect.ts +15 -0
- package/attributes-master/packages/smartlightbox/src/actions/move.ts +25 -0
- package/attributes-master/packages/smartlightbox/src/index.ts +3 -0
- package/attributes-master/packages/smartlightbox/src/init.ts +61 -0
- package/attributes-master/packages/smartlightbox/src/utils/constants.ts +31 -0
- package/attributes-master/packages/smartlightbox/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/smartlightbox/tsconfig.json +3 -0
- package/attributes-master/packages/socialshare/CHANGELOG.md +170 -0
- package/attributes-master/packages/socialshare/README.md +25 -0
- package/attributes-master/packages/socialshare/package.json +25 -0
- package/attributes-master/packages/socialshare/src/actions/collect.ts +93 -0
- package/attributes-master/packages/socialshare/src/actions/share.ts +91 -0
- package/attributes-master/packages/socialshare/src/actions/trigger.ts +46 -0
- package/attributes-master/packages/socialshare/src/factory.ts +149 -0
- package/attributes-master/packages/socialshare/src/index.ts +3 -0
- package/attributes-master/packages/socialshare/src/init.ts +35 -0
- package/attributes-master/packages/socialshare/src/utils/constants.ts +94 -0
- package/attributes-master/packages/socialshare/src/utils/dom.ts +8 -0
- package/attributes-master/packages/socialshare/src/utils/selectors.ts +6 -0
- package/attributes-master/packages/socialshare/src/utils/stores.ts +10 -0
- package/attributes-master/packages/socialshare/src/utils/types.ts +34 -0
- package/attributes-master/packages/socialshare/tsconfig.json +3 -0
- package/attributes-master/packages/starrating/CHANGELOG.md +70 -0
- package/attributes-master/packages/starrating/README.md +25 -0
- package/attributes-master/packages/starrating/package.json +22 -0
- package/attributes-master/packages/starrating/src/actions/classes.ts +41 -0
- package/attributes-master/packages/starrating/src/actions/events.ts +80 -0
- package/attributes-master/packages/starrating/src/factory.ts +24 -0
- package/attributes-master/packages/starrating/src/index.ts +3 -0
- package/attributes-master/packages/starrating/src/init.ts +24 -0
- package/attributes-master/packages/starrating/src/utils/constants.ts +20 -0
- package/attributes-master/packages/starrating/src/utils/helpers.ts +63 -0
- package/attributes-master/packages/starrating/src/utils/selectors.ts +9 -0
- package/attributes-master/packages/starrating/tsconfig.json +3 -0
- package/attributes-master/packages/template/README.md +25 -0
- package/attributes-master/packages/template/package.json +22 -0
- package/attributes-master/packages/template/src/actions/console.ts +4 -0
- package/attributes-master/packages/template/src/index.ts +3 -0
- package/attributes-master/packages/template/src/init.ts +14 -0
- package/attributes-master/packages/template/src/utils/constants.ts +18 -0
- package/attributes-master/packages/template/src/utils/selectors.ts +5 -0
- package/attributes-master/packages/template/tsconfig.json +3 -0
- package/attributes-master/packages/toc/CHANGELOG.md +192 -0
- package/attributes-master/packages/toc/README.md +25 -0
- package/attributes-master/packages/toc/package.json +23 -0
- package/attributes-master/packages/toc/src/actions/collect.ts +136 -0
- package/attributes-master/packages/toc/src/actions/create.ts +44 -0
- package/attributes-master/packages/toc/src/actions/events.ts +29 -0
- package/attributes-master/packages/toc/src/actions/observe.ts +31 -0
- package/attributes-master/packages/toc/src/actions/populate.ts +68 -0
- package/attributes-master/packages/toc/src/actions/prepare.ts +25 -0
- package/attributes-master/packages/toc/src/actions/scroll.ts +33 -0
- package/attributes-master/packages/toc/src/components/TOCItem.ts +88 -0
- package/attributes-master/packages/toc/src/factory.ts +47 -0
- package/attributes-master/packages/toc/src/index.ts +3 -0
- package/attributes-master/packages/toc/src/init.ts +37 -0
- package/attributes-master/packages/toc/src/utils/constants.ts +55 -0
- package/attributes-master/packages/toc/src/utils/helpers.ts +23 -0
- package/attributes-master/packages/toc/src/utils/selectors.ts +6 -0
- package/attributes-master/packages/toc/src/utils/types.ts +21 -0
- package/attributes-master/packages/toc/tsconfig.json +3 -0
- package/attributes-master/packages/utils/CHANGELOG.md +43 -0
- package/attributes-master/packages/utils/package.json +27 -0
- package/attributes-master/packages/utils/src/animations/factory.ts +100 -0
- package/attributes-master/packages/utils/src/animations/index.ts +73 -0
- package/attributes-master/packages/utils/src/animations/types.ts +37 -0
- package/attributes-master/packages/utils/src/components/Interaction.ts +79 -0
- package/attributes-master/packages/utils/src/components/Renderer.ts +59 -0
- package/attributes-master/packages/utils/src/components/index.ts +2 -0
- package/attributes-master/packages/utils/src/constants/a11y.ts +50 -0
- package/attributes-master/packages/utils/src/constants/attributes.ts +57 -0
- package/attributes-master/packages/utils/src/constants/index.ts +5 -0
- package/attributes-master/packages/utils/src/constants/keyboard.ts +10 -0
- package/attributes-master/packages/utils/src/constants/webflow.ts +74 -0
- package/attributes-master/packages/utils/src/helpers/dates.ts +17 -0
- package/attributes-master/packages/utils/src/helpers/dom.ts +82 -0
- package/attributes-master/packages/utils/src/helpers/events.ts +59 -0
- package/attributes-master/packages/utils/src/helpers/fetch.ts +217 -0
- package/attributes-master/packages/utils/src/helpers/forms.ts +238 -0
- package/attributes-master/packages/utils/src/helpers/guards.ts +138 -0
- package/attributes-master/packages/utils/src/helpers/index.ts +11 -0
- package/attributes-master/packages/utils/src/helpers/numbers.ts +86 -0
- package/attributes-master/packages/utils/src/helpers/selectors.ts +249 -0
- package/attributes-master/packages/utils/src/helpers/strings.ts +19 -0
- package/attributes-master/packages/utils/src/helpers/wait.ts +36 -0
- package/attributes-master/packages/utils/src/helpers/webflow.ts +117 -0
- package/attributes-master/packages/utils/src/index.ts +5 -0
- package/attributes-master/packages/utils/src/types/core.ts +100 -0
- package/attributes-master/packages/utils/src/types/dom.ts +31 -0
- package/attributes-master/packages/utils/src/types/index.ts +4 -0
- package/attributes-master/packages/utils/src/types/utils.ts +20 -0
- package/attributes-master/packages/utils/src/types/webflow.ts +147 -0
- package/attributes-master/packages/utils/tsconfig.json +3 -0
- package/attributes-master/packages/videohls/CHANGELOG.md +76 -0
- package/attributes-master/packages/videohls/README.md +27 -0
- package/attributes-master/packages/videohls/package.json +26 -0
- package/attributes-master/packages/videohls/src/actions/list.ts +23 -0
- package/attributes-master/packages/videohls/src/actions/video.ts +44 -0
- package/attributes-master/packages/videohls/src/index.ts +3 -0
- package/attributes-master/packages/videohls/src/init.ts +28 -0
- package/attributes-master/packages/videohls/src/utils/constants.ts +12 -0
- package/attributes-master/packages/videohls/src/utils/selectors.ts +5 -0
- package/attributes-master/packages/videohls/src/utils/stores.ts +3 -0
- package/attributes-master/packages/videohls/tsconfig.json +3 -0
- package/attributes-master/pnpm-lock.yaml +3317 -0
- package/attributes-master/pnpm-workspace.yaml +3 -0
- package/attributes-master/tsconfig.json +6 -0
- package/index.js +173 -257
- package/package.json +1 -1
package/index.js
CHANGED
@@ -1,19 +1,43 @@
|
|
1
|
-
// ver 1.2.
|
1
|
+
// ver 1.2.5
|
2
2
|
|
3
3
|
const API_NAME = 'hsmain';
|
4
4
|
|
5
|
-
console.log(`🟢 ${API_NAME} v1.2.
|
5
|
+
console.log(`🟢 ${API_NAME} v1.2.5 initializing...`);
|
6
6
|
console.log('🔍 DOM state:', document.readyState);
|
7
7
|
console.log('🔍 Script URL:', import.meta.url);
|
8
8
|
|
9
|
-
|
10
|
-
window[API_NAME].
|
9
|
+
// Prevent double initialization
|
10
|
+
if (window[API_NAME] && !Array.isArray(window[API_NAME])) {
|
11
|
+
console.log('⚠️ API already initialized');
|
12
|
+
throw new Error(`${API_NAME} is already running.`);
|
13
|
+
}
|
11
14
|
|
12
|
-
//
|
15
|
+
// Store any early API calls
|
16
|
+
const existingRequests = Array.isArray(window[API_NAME]) ? window[API_NAME] : [];
|
17
|
+
|
18
|
+
// Module definitions
|
19
|
+
const animationModules = {
|
20
|
+
"data-hs-anim-text": true,
|
21
|
+
"data-hs-anim-hero": true,
|
22
|
+
"data-hs-anim-transition": true
|
23
|
+
};
|
24
|
+
|
25
|
+
const utilityModules = {
|
26
|
+
"data-hs-util-toc": true,
|
27
|
+
"data-hs-util-progress": true,
|
28
|
+
"data-hs-util-navbar": true
|
29
|
+
};
|
30
|
+
|
31
|
+
const autoInitModules = {
|
32
|
+
"smooth-scroll": true
|
33
|
+
};
|
34
|
+
|
35
|
+
// All available modules
|
36
|
+
const allModules = { ...animationModules, ...utilityModules };
|
37
|
+
|
38
|
+
// Dynamic module loader (like Finsweet)
|
13
39
|
const loadModule = async (moduleName) => {
|
14
40
|
console.log(`📦 Loading module: ${moduleName}`);
|
15
|
-
const baseURL = new URL('./', import.meta.url).href;
|
16
|
-
console.log(`📂 Base URL: ${baseURL}`);
|
17
41
|
|
18
42
|
switch (moduleName) {
|
19
43
|
case "data-hs-anim-text":
|
@@ -32,150 +56,59 @@ const loadModule = async (moduleName) => {
|
|
32
56
|
return import(new URL('./autoInit/smooth-scroll.js', import.meta.url).href);
|
33
57
|
default:
|
34
58
|
console.error(`❌ Unsupported module: ${moduleName}`);
|
35
|
-
throw new Error(
|
59
|
+
throw new Error(`${API_NAME} module "${moduleName}" is not supported.`);
|
36
60
|
}
|
37
|
-
|
38
|
-
// Refresh Webflow after processing
|
39
|
-
setTimeout(() => {
|
40
|
-
if (window.Webflow && window.Webflow.ready) {
|
41
|
-
window.Webflow.ready();
|
42
|
-
}
|
43
|
-
|
44
|
-
// Run all registered post-Webflow callbacks (even without Webflow)
|
45
|
-
setTimeout(() => {
|
46
|
-
postWebflowCallbacks.forEach(callback => {
|
47
|
-
try {
|
48
|
-
callback();
|
49
|
-
} catch (error) {
|
50
|
-
console.error('Callback error:', error);
|
51
|
-
}
|
52
|
-
});
|
53
|
-
window[API_NAME].loaded = true;
|
54
|
-
}, 100);
|
55
|
-
}, 100);
|
56
|
-
};
|
57
|
-
|
58
|
-
const animationModules = {
|
59
|
-
"data-hs-anim-text": true,
|
60
|
-
"data-hs-anim-hero": true,
|
61
|
-
"data-hs-anim-transition": true
|
62
|
-
};
|
63
|
-
|
64
|
-
const utilityModules = {
|
65
|
-
"data-hs-util-toc": true,
|
66
|
-
"data-hs-util-progress": true,
|
67
|
-
"data-hs-util-navbar": true
|
68
|
-
};
|
69
|
-
|
70
|
-
// Modules that auto-initialize
|
71
|
-
const autoInitModules = {
|
72
|
-
"smooth-scroll": true
|
73
|
-
};
|
74
|
-
|
75
|
-
// Store callbacks to run after Webflow.ready()
|
76
|
-
const postWebflowCallbacks = [];
|
77
|
-
|
78
|
-
const findCurrentScriptTag = () => {
|
79
|
-
// Use import.meta.url like Finsweet does
|
80
|
-
const scripts = [...document.querySelectorAll(`script[data-hs-main][src="${import.meta.url}"]`)];
|
81
|
-
const fallbackScript = document.querySelector('script[data-hs-main]');
|
82
|
-
const found = scripts[0] || fallbackScript;
|
83
|
-
console.log(`🏷️ Script tag found:`, found);
|
84
|
-
console.log(`🏷️ Script attributes:`, found ? [...found.attributes].map(a => `${a.name}="${a.value}"`).join(' ') : 'none');
|
85
|
-
return found;
|
86
61
|
};
|
87
62
|
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
console.log(`🔍 Checking for manual modules:`, manualModules);
|
95
|
-
|
96
|
-
for (const moduleName of manualModules) {
|
97
|
-
if (scriptTag && scriptTag.hasAttribute(moduleName)) {
|
98
|
-
console.log(`✅ Found attribute for: ${moduleName}`);
|
99
|
-
modulePromises.push(loadHsModule(moduleName));
|
100
|
-
}
|
101
|
-
}
|
102
|
-
|
103
|
-
// Load auto-init modules
|
104
|
-
const autoModules = Object.keys(autoInitModules);
|
105
|
-
console.log(`🔄 Auto-loading modules:`, autoModules);
|
106
|
-
for (const moduleName of autoModules) {
|
107
|
-
modulePromises.push(loadHsModule(moduleName));
|
108
|
-
}
|
109
|
-
|
110
|
-
// Hide .transition elements if transition module is not loaded
|
111
|
-
if (!scriptTag || !scriptTag.hasAttribute('data-hs-anim-transition')) {
|
112
|
-
const transitionElements = document.querySelectorAll('.transition');
|
113
|
-
transitionElements.forEach(element => {
|
114
|
-
element.style.display = 'none';
|
115
|
-
});
|
116
|
-
}
|
117
|
-
|
118
|
-
// Wait for ALL modules to finish loading
|
119
|
-
console.log(`⏳ Waiting for ${modulePromises.length} modules to load...`);
|
120
|
-
await Promise.all(modulePromises);
|
121
|
-
console.log(`✅ All modules loaded successfully`);
|
122
|
-
|
123
|
-
// Always refresh Webflow after all modules are loaded
|
124
|
-
refreshWebflow();
|
63
|
+
// Webflow ready helper (like Finsweet)
|
64
|
+
const waitWebflowReady = async () => {
|
65
|
+
return new Promise((resolve) => {
|
66
|
+
window.Webflow ||= [];
|
67
|
+
window.Webflow.push(resolve);
|
68
|
+
});
|
125
69
|
};
|
126
70
|
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
if (
|
131
|
-
|
132
|
-
window.Webflow.ready();
|
71
|
+
// DOM ready helper (like Finsweet)
|
72
|
+
const waitDOMReady = async () => {
|
73
|
+
return new Promise((resolve) => {
|
74
|
+
if (document.readyState === 'loading') {
|
75
|
+
document.addEventListener('DOMContentLoaded', resolve);
|
133
76
|
} else {
|
134
|
-
|
77
|
+
resolve();
|
135
78
|
}
|
136
|
-
|
137
|
-
// Run all registered post-Webflow callbacks (even without Webflow)
|
138
|
-
setTimeout(() => {
|
139
|
-
console.log(`🔄 Running ${postWebflowCallbacks.length} post-Webflow callbacks`);
|
140
|
-
postWebflowCallbacks.forEach((callback, index) => {
|
141
|
-
try {
|
142
|
-
console.log(`📞 Executing callback ${index + 1}/${postWebflowCallbacks.length}`);
|
143
|
-
callback();
|
144
|
-
} catch (error) {
|
145
|
-
console.error(`❌ Callback ${index + 1} failed:`, error);
|
146
|
-
}
|
147
|
-
});
|
148
|
-
window[API_NAME].loaded = true;
|
149
|
-
console.log(`🎉 ${API_NAME} fully loaded and ready!`);
|
150
|
-
}, 100);
|
151
|
-
}, 100);
|
79
|
+
});
|
152
80
|
};
|
153
81
|
|
82
|
+
// Find script tags (Finsweet approach)
|
83
|
+
const scripts = [...document.querySelectorAll(`script[type="module"][src="${import.meta.url}"]`)];
|
84
|
+
console.log(`📄 Found ${scripts.length} matching script tags`);
|
85
|
+
|
86
|
+
// Module loading function
|
154
87
|
const loadHsModule = async (moduleName) => {
|
155
88
|
console.log(`🔄 loadHsModule called for: ${moduleName}`);
|
89
|
+
|
156
90
|
const apiInstance = window[API_NAME];
|
157
|
-
|
158
|
-
|
159
|
-
console.error(`❌ API not initialized properly:`, apiInstance);
|
160
|
-
throw new Error(`${API_NAME} API not initialized`);
|
161
|
-
}
|
162
|
-
|
91
|
+
|
92
|
+
// Check if already processing
|
163
93
|
if (apiInstance.process.has(moduleName)) {
|
164
|
-
console.log(`⚠️ Module ${moduleName} already processing
|
94
|
+
console.log(`⚠️ Module ${moduleName} already processing`);
|
165
95
|
return apiInstance.modules[moduleName]?.loading;
|
166
96
|
}
|
167
|
-
|
97
|
+
|
98
|
+
// Add to processing set
|
168
99
|
console.log(`➕ Adding ${moduleName} to process set`);
|
169
100
|
apiInstance.process.add(moduleName);
|
170
|
-
|
101
|
+
|
102
|
+
// Create module object
|
171
103
|
const moduleObj = apiInstance.modules[moduleName] || {};
|
172
104
|
apiInstance.modules[moduleName] = moduleObj;
|
173
|
-
|
105
|
+
|
106
|
+
// Create loading promise
|
174
107
|
moduleObj.loading = new Promise((resolve, reject) => {
|
175
108
|
moduleObj.resolve = resolve;
|
176
109
|
moduleObj.reject = reject;
|
177
110
|
});
|
178
|
-
|
111
|
+
|
179
112
|
try {
|
180
113
|
console.log(`📦 Importing ${moduleName}...`);
|
181
114
|
const { init, version } = await loadModule(moduleName);
|
@@ -185,10 +118,10 @@ const loadHsModule = async (moduleName) => {
|
|
185
118
|
const initResult = await init();
|
186
119
|
const { result, destroy } = initResult || {};
|
187
120
|
console.log(`✅ ${moduleName} initialized:`, result);
|
188
|
-
|
121
|
+
|
189
122
|
moduleObj.version = version;
|
190
123
|
|
191
|
-
//
|
124
|
+
// Add destroy and restart methods
|
192
125
|
moduleObj.destroy = () => {
|
193
126
|
destroy?.();
|
194
127
|
apiInstance.process.delete(moduleName);
|
@@ -198,13 +131,13 @@ const loadHsModule = async (moduleName) => {
|
|
198
131
|
moduleObj.destroy?.();
|
199
132
|
return apiInstance.load(moduleName);
|
200
133
|
};
|
201
|
-
|
134
|
+
|
202
135
|
moduleObj.resolve?.(result);
|
203
136
|
delete moduleObj.resolve;
|
204
137
|
delete moduleObj.reject;
|
205
|
-
|
138
|
+
|
206
139
|
return result;
|
207
|
-
|
140
|
+
|
208
141
|
} catch (error) {
|
209
142
|
console.error(`❌ Failed to load ${moduleName}:`, error);
|
210
143
|
moduleObj.reject?.(error);
|
@@ -213,146 +146,102 @@ const loadHsModule = async (moduleName) => {
|
|
213
146
|
}
|
214
147
|
};
|
215
148
|
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
if (existingAPI && !Array.isArray(existingAPI) && existingAPI.process) {
|
224
|
-
console.log(`⚡ API already initialized, processing...`);
|
225
|
-
processAPI();
|
226
|
-
return;
|
227
|
-
}
|
149
|
+
// Initialize API
|
150
|
+
window[API_NAME] = {
|
151
|
+
scripts,
|
152
|
+
modules: {},
|
153
|
+
process: new Set(),
|
154
|
+
load: loadHsModule,
|
155
|
+
loaded: false,
|
228
156
|
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
const scripts = [...document.querySelectorAll(`script[data-hs-main][src="${import.meta.url}"]`)];
|
233
|
-
const scriptTag = scripts[0] || document.querySelector('script[data-hs-main]');
|
234
|
-
console.log(`📄 Found ${scripts.length} script tags with exact src match`);
|
235
|
-
console.log(`🏷️ Using script tag:`, scriptTag);
|
236
|
-
|
237
|
-
// Handle rich text blocks
|
238
|
-
const richTextBlocks = document.querySelectorAll('.w-richtext');
|
239
|
-
richTextBlocks.forEach(block => {
|
240
|
-
const images = block.querySelectorAll('img');
|
241
|
-
images.forEach(img => {
|
242
|
-
img.loading = 'eager';
|
243
|
-
});
|
244
|
-
});
|
245
|
-
|
246
|
-
window[API_NAME] = {
|
247
|
-
scripts,
|
248
|
-
modules: {},
|
249
|
-
process: new Set(),
|
250
|
-
load: loadHsModule,
|
251
|
-
|
252
|
-
// Push method for queuing (like Finsweet)
|
253
|
-
push(...requests) {
|
254
|
-
for (let [moduleName, callback] of requests) {
|
255
|
-
if (typeof callback === 'function') {
|
256
|
-
this.modules[moduleName]?.loading?.then(callback);
|
257
|
-
} else {
|
258
|
-
this.load(moduleName);
|
259
|
-
}
|
260
|
-
}
|
261
|
-
},
|
262
|
-
|
263
|
-
// Destroy all modules
|
264
|
-
destroy() {
|
265
|
-
for (let moduleName in this.modules) {
|
266
|
-
this.modules[moduleName]?.destroy?.();
|
267
|
-
}
|
268
|
-
},
|
269
|
-
|
270
|
-
// API function for scripts to register post-initialization callbacks
|
271
|
-
afterReady: (callback) => {
|
272
|
-
if (typeof callback === 'function') {
|
273
|
-
postWebflowCallbacks.push(callback);
|
274
|
-
}
|
275
|
-
},
|
276
|
-
|
277
|
-
// Legacy alias for Webflow compatibility
|
278
|
-
afterWebflowReady: (callback) => {
|
157
|
+
// Push method for queuing
|
158
|
+
push(...requests) {
|
159
|
+
for (let [moduleName, callback] of requests) {
|
279
160
|
if (typeof callback === 'function') {
|
280
|
-
|
281
|
-
}
|
282
|
-
|
283
|
-
|
284
|
-
status(moduleName) {
|
285
|
-
if (!moduleName) {
|
286
|
-
return {
|
287
|
-
loaded: Object.keys(this.modules),
|
288
|
-
loading: [...this.process],
|
289
|
-
animations: Object.keys(animationModules),
|
290
|
-
utilities: Object.keys(utilityModules),
|
291
|
-
autoInit: Object.keys(autoInitModules)
|
292
|
-
};
|
161
|
+
this.modules[moduleName]?.loading?.then(callback);
|
162
|
+
} else {
|
163
|
+
this.load(moduleName);
|
293
164
|
}
|
165
|
+
}
|
166
|
+
},
|
167
|
+
|
168
|
+
// Destroy all modules
|
169
|
+
destroy() {
|
170
|
+
for (let moduleName in this.modules) {
|
171
|
+
this.modules[moduleName]?.destroy?.();
|
172
|
+
}
|
173
|
+
},
|
174
|
+
|
175
|
+
// Status method
|
176
|
+
status(moduleName) {
|
177
|
+
if (!moduleName) {
|
294
178
|
return {
|
295
|
-
loaded:
|
296
|
-
loading: this.process
|
179
|
+
loaded: Object.keys(this.modules),
|
180
|
+
loading: [...this.process],
|
181
|
+
animations: Object.keys(animationModules),
|
182
|
+
utilities: Object.keys(utilityModules),
|
183
|
+
autoInit: Object.keys(autoInitModules)
|
297
184
|
};
|
298
185
|
}
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
window[API_NAME].push(...existingRequests);
|
186
|
+
return {
|
187
|
+
loaded: !!this.modules[moduleName],
|
188
|
+
loading: this.process.has(moduleName)
|
189
|
+
};
|
190
|
+
}
|
305
191
|
};
|
306
192
|
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
193
|
+
// Process modules from script tags
|
194
|
+
const processScriptModules = () => {
|
195
|
+
console.log(`⚙️ Processing ${scripts.length} script tags`);
|
196
|
+
|
197
|
+
for (const script of scripts) {
|
198
|
+
console.log(`🏷️ Processing script:`, script.src);
|
199
|
+
|
200
|
+
// Check for auto mode
|
201
|
+
const autoMode = script.getAttribute('data-hs-auto') === 'true';
|
202
|
+
console.log(`🔍 Auto mode: ${autoMode}`);
|
312
203
|
|
313
204
|
// Load modules based on script attributes
|
314
|
-
for (const moduleName of Object.keys(
|
205
|
+
for (const moduleName of Object.keys(allModules)) {
|
315
206
|
if (script.hasAttribute(moduleName)) {
|
207
|
+
console.log(`✅ Found attribute for: ${moduleName}`);
|
316
208
|
loadHsModule(moduleName);
|
317
209
|
}
|
318
210
|
}
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
211
|
+
|
212
|
+
// Auto-discovery mode
|
213
|
+
if (autoMode) {
|
214
|
+
waitDOMReady().then(() => {
|
215
|
+
console.log(`🔍 Starting auto-discovery...`);
|
216
|
+
const foundModules = new Set();
|
217
|
+
const allElements = document.querySelectorAll('*');
|
218
|
+
|
219
|
+
for (const element of allElements) {
|
220
|
+
for (const attrName of element.getAttributeNames()) {
|
221
|
+
// Look for data-hs-* attributes
|
222
|
+
const match = attrName.match(/^(data-hs-(?:anim|util)-[^-=]+)/)?.[1];
|
223
|
+
if (match && allModules[match]) {
|
224
|
+
foundModules.add(match);
|
225
|
+
}
|
333
226
|
}
|
334
227
|
}
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
228
|
+
|
229
|
+
console.log(`🔍 Auto-discovered modules:`, [...foundModules]);
|
230
|
+
for (const moduleName of foundModules) {
|
231
|
+
loadHsModule(moduleName);
|
232
|
+
}
|
233
|
+
});
|
234
|
+
}
|
341
235
|
}
|
342
236
|
|
343
237
|
// Always load auto-init modules
|
238
|
+
console.log(`🔄 Loading auto-init modules:`, Object.keys(autoInitModules));
|
344
239
|
for (const moduleName of Object.keys(autoInitModules)) {
|
345
|
-
|
346
|
-
loadHsModule(moduleName);
|
347
|
-
} catch (error) {
|
348
|
-
console.error(`❌ Failed to load auto-init module ${moduleName}:`, error);
|
349
|
-
}
|
240
|
+
loadHsModule(moduleName);
|
350
241
|
}
|
351
242
|
|
352
243
|
// Hide .transition elements if transition module is not loaded
|
353
|
-
const hasTransition =
|
354
|
-
script.hasAttribute('data-hs-anim-transition')
|
355
|
-
);
|
244
|
+
const hasTransition = scripts.some(script => script.hasAttribute('data-hs-anim-transition'));
|
356
245
|
if (!hasTransition) {
|
357
246
|
const transitionElements = document.querySelectorAll('.transition');
|
358
247
|
transitionElements.forEach(element => {
|
@@ -361,10 +250,37 @@ const processAPI = () => {
|
|
361
250
|
}
|
362
251
|
};
|
363
252
|
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
}
|
253
|
+
// Handle rich text blocks
|
254
|
+
const richTextBlocks = document.querySelectorAll('.w-richtext');
|
255
|
+
richTextBlocks.forEach(block => {
|
256
|
+
const images = block.querySelectorAll('img');
|
257
|
+
images.forEach(img => {
|
258
|
+
img.loading = 'eager';
|
259
|
+
});
|
260
|
+
});
|
261
|
+
|
262
|
+
// Main initialization
|
263
|
+
const initializeMain = async () => {
|
264
|
+
console.log(`🚀 Starting main initialization...`);
|
265
|
+
|
266
|
+
// Process script modules
|
267
|
+
processScriptModules();
|
268
|
+
|
269
|
+
// Wait for Webflow
|
270
|
+
console.log(`⏳ Waiting for Webflow...`);
|
271
|
+
await waitWebflowReady();
|
272
|
+
console.log(`✅ Webflow ready`);
|
273
|
+
|
274
|
+
// Mark as loaded
|
275
|
+
window[API_NAME].loaded = true;
|
276
|
+
console.log(`🎉 ${API_NAME} fully loaded and ready!`);
|
277
|
+
};
|
278
|
+
|
279
|
+
// Process any early requests
|
280
|
+
console.log(`📝 Processing ${existingRequests.length} early requests`);
|
281
|
+
window[API_NAME].push(...existingRequests);
|
282
|
+
|
283
|
+
// Start initialization
|
284
|
+
initializeMain().catch(error => {
|
285
|
+
console.error(`❌ Failed to initialize ${API_NAME}:`, error);
|
286
|
+
});
|