@hortonstudio/main 1.2.5 → 1.2.7
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 +216 -312
- package/package.json +1 -1
package/index.js
CHANGED
@@ -1,273 +1,162 @@
|
|
1
|
-
// ver 1.2.
|
1
|
+
// ver 1.2.6
|
2
2
|
|
3
3
|
const API_NAME = 'hsmain';
|
4
4
|
|
5
|
-
console.log(`🟢 ${API_NAME} v1.2.
|
5
|
+
console.log(`🟢 ${API_NAME} v1.2.6 initializing...`);
|
6
6
|
console.log('🔍 DOM state:', document.readyState);
|
7
7
|
console.log('🔍 Script URL:', import.meta.url);
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
const baseURL = new URL('./', import.meta.url).href;
|
16
|
-
console.log(`📂 Base URL: ${baseURL}`);
|
17
|
-
|
18
|
-
switch (moduleName) {
|
19
|
-
case "data-hs-anim-text":
|
20
|
-
return import(new URL('./animations/text.js', import.meta.url).href);
|
21
|
-
case "data-hs-anim-hero":
|
22
|
-
return import(new URL('./animations/hero.js', import.meta.url).href);
|
23
|
-
case "data-hs-anim-transition":
|
24
|
-
return import(new URL('./animations/transition.js', import.meta.url).href);
|
25
|
-
case "data-hs-util-toc":
|
26
|
-
return import(new URL('./utils/toc.js', import.meta.url).href);
|
27
|
-
case "data-hs-util-progress":
|
28
|
-
return import(new URL('./utils/scroll-progress.js', import.meta.url).href);
|
29
|
-
case "data-hs-util-navbar":
|
30
|
-
return import(new URL('./utils/navbar.js', import.meta.url).href);
|
31
|
-
case "smooth-scroll":
|
32
|
-
return import(new URL('./autoInit/smooth-scroll.js', import.meta.url).href);
|
33
|
-
default:
|
34
|
-
console.error(`❌ Unsupported module: ${moduleName}`);
|
35
|
-
throw new Error(`HortonStudio module "${moduleName}" is not supported.`);
|
9
|
+
// Main initialization function
|
10
|
+
const initializeHsMain = () => {
|
11
|
+
// Handle existing API
|
12
|
+
if (window[API_NAME] && !Array.isArray(window[API_NAME]) && window[API_NAME].loaded) {
|
13
|
+
console.log('⚠️ API already loaded, skipping initialization');
|
14
|
+
return;
|
36
15
|
}
|
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
16
|
|
64
|
-
|
65
|
-
|
66
|
-
"data-hs-util-progress": true,
|
67
|
-
"data-hs-util-navbar": true
|
68
|
-
};
|
17
|
+
// Store any early API calls
|
18
|
+
const existingRequests = Array.isArray(window[API_NAME]) ? window[API_NAME] : [];
|
69
19
|
|
70
|
-
//
|
71
|
-
const
|
72
|
-
|
73
|
-
|
20
|
+
// Module definitions
|
21
|
+
const animationModules = {
|
22
|
+
"data-hs-anim-text": true,
|
23
|
+
"data-hs-anim-hero": true,
|
24
|
+
"data-hs-anim-transition": true
|
25
|
+
};
|
74
26
|
|
75
|
-
|
76
|
-
|
27
|
+
const utilityModules = {
|
28
|
+
"data-hs-util-toc": true,
|
29
|
+
"data-hs-util-progress": true,
|
30
|
+
"data-hs-util-navbar": true
|
31
|
+
};
|
77
32
|
|
78
|
-
const
|
79
|
-
|
80
|
-
|
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
|
-
};
|
33
|
+
const autoInitModules = {
|
34
|
+
"smooth-scroll": true
|
35
|
+
};
|
87
36
|
|
88
|
-
|
89
|
-
|
90
|
-
const modulePromises = [];
|
37
|
+
// All available modules
|
38
|
+
const allModules = { ...animationModules, ...utilityModules };
|
91
39
|
|
92
|
-
//
|
93
|
-
const
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
40
|
+
// Dynamic module loader (like Finsweet)
|
41
|
+
const loadModule = async (moduleName) => {
|
42
|
+
console.log(`📦 Loading module: ${moduleName}`);
|
43
|
+
|
44
|
+
switch (moduleName) {
|
45
|
+
case "data-hs-anim-text":
|
46
|
+
return import(new URL('./animations/text.js', import.meta.url).href);
|
47
|
+
case "data-hs-anim-hero":
|
48
|
+
return import(new URL('./animations/hero.js', import.meta.url).href);
|
49
|
+
case "data-hs-anim-transition":
|
50
|
+
return import(new URL('./animations/transition.js', import.meta.url).href);
|
51
|
+
case "data-hs-util-toc":
|
52
|
+
return import(new URL('./utils/toc.js', import.meta.url).href);
|
53
|
+
case "data-hs-util-progress":
|
54
|
+
return import(new URL('./utils/scroll-progress.js', import.meta.url).href);
|
55
|
+
case "data-hs-util-navbar":
|
56
|
+
return import(new URL('./utils/navbar.js', import.meta.url).href);
|
57
|
+
case "smooth-scroll":
|
58
|
+
return import(new URL('./autoInit/smooth-scroll.js', import.meta.url).href);
|
59
|
+
default:
|
60
|
+
console.error(`❌ Unsupported module: ${moduleName}`);
|
61
|
+
throw new Error(`${API_NAME} module "${moduleName}" is not supported.`);
|
100
62
|
}
|
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
|
-
}
|
63
|
+
};
|
109
64
|
|
110
|
-
//
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
65
|
+
// Webflow ready helper (like Finsweet)
|
66
|
+
const waitWebflowReady = async () => {
|
67
|
+
return new Promise((resolve) => {
|
68
|
+
window.Webflow ||= [];
|
69
|
+
window.Webflow.push(resolve);
|
115
70
|
});
|
116
|
-
}
|
71
|
+
};
|
117
72
|
|
118
|
-
//
|
119
|
-
|
120
|
-
|
121
|
-
|
73
|
+
// DOM ready helper (like Finsweet)
|
74
|
+
const waitDOMReady = async () => {
|
75
|
+
return new Promise((resolve) => {
|
76
|
+
if (document.readyState === 'loading') {
|
77
|
+
document.addEventListener('DOMContentLoaded', resolve);
|
78
|
+
} else {
|
79
|
+
resolve();
|
80
|
+
}
|
81
|
+
});
|
82
|
+
};
|
122
83
|
|
123
|
-
//
|
124
|
-
|
125
|
-
};
|
84
|
+
// Find script tags (Finsweet approach)
|
85
|
+
const scripts = [...document.querySelectorAll(`script[type="module"][src="${import.meta.url}"]`)];
|
86
|
+
console.log(`📄 Found ${scripts.length} matching script tags`);
|
126
87
|
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
88
|
+
// Module loading function
|
89
|
+
const loadHsModule = async (moduleName) => {
|
90
|
+
console.log(`🔄 loadHsModule called for: ${moduleName}`);
|
91
|
+
|
92
|
+
const apiInstance = window[API_NAME];
|
93
|
+
|
94
|
+
// Check if already processing
|
95
|
+
if (apiInstance.process.has(moduleName)) {
|
96
|
+
console.log(`⚠️ Module ${moduleName} already processing`);
|
97
|
+
return apiInstance.modules[moduleName]?.loading;
|
135
98
|
}
|
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);
|
152
|
-
};
|
153
|
-
|
154
|
-
const loadHsModule = async (moduleName) => {
|
155
|
-
console.log(`🔄 loadHsModule called for: ${moduleName}`);
|
156
|
-
const apiInstance = window[API_NAME];
|
157
|
-
|
158
|
-
if (!apiInstance || !apiInstance.process) {
|
159
|
-
console.error(`❌ API not initialized properly:`, apiInstance);
|
160
|
-
throw new Error(`${API_NAME} API not initialized`);
|
161
|
-
}
|
162
|
-
|
163
|
-
if (apiInstance.process.has(moduleName)) {
|
164
|
-
console.log(`⚠️ Module ${moduleName} already processing, returning existing promise`);
|
165
|
-
return apiInstance.modules[moduleName]?.loading;
|
166
|
-
}
|
167
|
-
|
168
|
-
console.log(`➕ Adding ${moduleName} to process set`);
|
169
|
-
apiInstance.process.add(moduleName);
|
170
|
-
|
171
|
-
const moduleObj = apiInstance.modules[moduleName] || {};
|
172
|
-
apiInstance.modules[moduleName] = moduleObj;
|
173
|
-
|
174
|
-
moduleObj.loading = new Promise((resolve, reject) => {
|
175
|
-
moduleObj.resolve = resolve;
|
176
|
-
moduleObj.reject = reject;
|
177
|
-
});
|
178
|
-
|
179
|
-
try {
|
180
|
-
console.log(`📦 Importing ${moduleName}...`);
|
181
|
-
const { init, version } = await loadModule(moduleName);
|
182
|
-
console.log(`✅ ${moduleName} imported, version: ${version}`);
|
183
99
|
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
console.log(`✅ ${moduleName} initialized:`, result);
|
188
|
-
|
189
|
-
moduleObj.version = version;
|
100
|
+
// Add to processing set
|
101
|
+
console.log(`➕ Adding ${moduleName} to process set`);
|
102
|
+
apiInstance.process.add(moduleName);
|
190
103
|
|
191
|
-
//
|
192
|
-
moduleObj
|
193
|
-
|
194
|
-
apiInstance.process.delete(moduleName);
|
195
|
-
};
|
104
|
+
// Create module object
|
105
|
+
const moduleObj = apiInstance.modules[moduleName] || {};
|
106
|
+
apiInstance.modules[moduleName] = moduleObj;
|
196
107
|
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
moduleObj.resolve?.(result);
|
203
|
-
delete moduleObj.resolve;
|
204
|
-
delete moduleObj.reject;
|
205
|
-
|
206
|
-
return result;
|
207
|
-
|
208
|
-
} catch (error) {
|
209
|
-
console.error(`❌ Failed to load ${moduleName}:`, error);
|
210
|
-
moduleObj.reject?.(error);
|
211
|
-
apiInstance.process.delete(moduleName);
|
212
|
-
throw error;
|
213
|
-
}
|
214
|
-
};
|
215
|
-
|
216
|
-
const initializeAPI = () => {
|
217
|
-
console.log(`🚀 Initializing ${API_NAME} API...`);
|
218
|
-
|
219
|
-
// Handle early API calls (like Finsweet)
|
220
|
-
const existingAPI = window[API_NAME];
|
221
|
-
console.log(`🔍 Existing API:`, existingAPI);
|
222
|
-
|
223
|
-
if (existingAPI && !Array.isArray(existingAPI) && existingAPI.process) {
|
224
|
-
console.log(`⚡ API already initialized, processing...`);
|
225
|
-
processAPI();
|
226
|
-
return;
|
227
|
-
}
|
228
|
-
|
229
|
-
const existingRequests = Array.isArray(existingAPI) ? existingAPI : [];
|
230
|
-
console.log(`📝 Existing queued requests:`, existingRequests);
|
231
|
-
|
232
|
-
// Try multiple approaches to find the script tag
|
233
|
-
let scripts = [...document.querySelectorAll(`script[data-hs-main][src="${import.meta.url}"]`)];
|
234
|
-
console.log(`📄 Found ${scripts.length} script tags with exact src match`);
|
235
|
-
|
236
|
-
// Fallback: find any script with data-hs-main
|
237
|
-
if (scripts.length === 0) {
|
238
|
-
scripts = [...document.querySelectorAll('script[data-hs-main]')];
|
239
|
-
console.log(`📄 Fallback: Found ${scripts.length} script tags with data-hs-main`);
|
240
|
-
}
|
241
|
-
|
242
|
-
// Fallback: find script with similar src (same package name)
|
243
|
-
if (scripts.length === 0) {
|
244
|
-
scripts = [...document.querySelectorAll('script[src*="@hortonstudio/main"]')];
|
245
|
-
console.log(`📄 Fallback: Found ${scripts.length} script tags with @hortonstudio/main`);
|
246
|
-
}
|
247
|
-
|
248
|
-
const scriptTag = scripts[0];
|
249
|
-
console.log(`🏷️ Using script tag:`, scriptTag);
|
250
|
-
if (scriptTag) {
|
251
|
-
console.log(`🏷️ Script src:`, scriptTag.src);
|
252
|
-
console.log(`🏷️ Script attributes:`, [...scriptTag.attributes].map(a => `${a.name}="${a.value}"`).join(' '));
|
253
|
-
}
|
254
|
-
|
255
|
-
// Handle rich text blocks
|
256
|
-
const richTextBlocks = document.querySelectorAll('.w-richtext');
|
257
|
-
richTextBlocks.forEach(block => {
|
258
|
-
const images = block.querySelectorAll('img');
|
259
|
-
images.forEach(img => {
|
260
|
-
img.loading = 'eager';
|
108
|
+
// Create loading promise
|
109
|
+
moduleObj.loading = new Promise((resolve, reject) => {
|
110
|
+
moduleObj.resolve = resolve;
|
111
|
+
moduleObj.reject = reject;
|
261
112
|
});
|
262
|
-
|
113
|
+
|
114
|
+
try {
|
115
|
+
console.log(`📦 Importing ${moduleName}...`);
|
116
|
+
const { init, version } = await loadModule(moduleName);
|
117
|
+
console.log(`✅ ${moduleName} imported, version: ${version}`);
|
118
|
+
|
119
|
+
console.log(`🔧 Initializing ${moduleName}...`);
|
120
|
+
const initResult = await init();
|
121
|
+
const { result, destroy } = initResult || {};
|
122
|
+
console.log(`✅ ${moduleName} initialized:`, result);
|
123
|
+
|
124
|
+
moduleObj.version = version;
|
125
|
+
|
126
|
+
// Add destroy and restart methods
|
127
|
+
moduleObj.destroy = () => {
|
128
|
+
destroy?.();
|
129
|
+
apiInstance.process.delete(moduleName);
|
130
|
+
};
|
131
|
+
|
132
|
+
moduleObj.restart = () => {
|
133
|
+
moduleObj.destroy?.();
|
134
|
+
return apiInstance.load(moduleName);
|
135
|
+
};
|
136
|
+
|
137
|
+
moduleObj.resolve?.(result);
|
138
|
+
delete moduleObj.resolve;
|
139
|
+
delete moduleObj.reject;
|
140
|
+
|
141
|
+
return result;
|
142
|
+
|
143
|
+
} catch (error) {
|
144
|
+
console.error(`❌ Failed to load ${moduleName}:`, error);
|
145
|
+
moduleObj.reject?.(error);
|
146
|
+
apiInstance.process.delete(moduleName);
|
147
|
+
throw error;
|
148
|
+
}
|
149
|
+
};
|
263
150
|
|
151
|
+
// Initialize API
|
264
152
|
window[API_NAME] = {
|
265
153
|
scripts,
|
266
154
|
modules: {},
|
267
155
|
process: new Set(),
|
268
156
|
load: loadHsModule,
|
157
|
+
loaded: false,
|
269
158
|
|
270
|
-
// Push method for queuing
|
159
|
+
// Push method for queuing
|
271
160
|
push(...requests) {
|
272
161
|
for (let [moduleName, callback] of requests) {
|
273
162
|
if (typeof callback === 'function') {
|
@@ -284,21 +173,8 @@ const initializeAPI = () => {
|
|
284
173
|
this.modules[moduleName]?.destroy?.();
|
285
174
|
}
|
286
175
|
},
|
287
|
-
|
288
|
-
// API function for scripts to register post-initialization callbacks
|
289
|
-
afterReady: (callback) => {
|
290
|
-
if (typeof callback === 'function') {
|
291
|
-
postWebflowCallbacks.push(callback);
|
292
|
-
}
|
293
|
-
},
|
294
176
|
|
295
|
-
//
|
296
|
-
afterWebflowReady: (callback) => {
|
297
|
-
if (typeof callback === 'function') {
|
298
|
-
postWebflowCallbacks.push(callback);
|
299
|
-
}
|
300
|
-
},
|
301
|
-
|
177
|
+
// Status method
|
302
178
|
status(moduleName) {
|
303
179
|
if (!moduleName) {
|
304
180
|
return {
|
@@ -316,73 +192,101 @@ const initializeAPI = () => {
|
|
316
192
|
}
|
317
193
|
};
|
318
194
|
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
window[API_NAME].push(...existingRequests);
|
323
|
-
};
|
324
|
-
|
325
|
-
const processAPI = () => {
|
326
|
-
// Check for auto mode
|
327
|
-
let autoMode = false;
|
328
|
-
for (let script of window[API_NAME].scripts || []) {
|
329
|
-
autoMode ||= script.getAttribute('data-hs-auto') === 'true';
|
195
|
+
// Process modules from script tags
|
196
|
+
const processScriptModules = () => {
|
197
|
+
console.log(`⚙️ Processing ${scripts.length} script tags`);
|
330
198
|
|
331
|
-
|
332
|
-
|
333
|
-
if (script.hasAttribute(moduleName)) {
|
334
|
-
loadHsModule(moduleName);
|
335
|
-
}
|
336
|
-
}
|
337
|
-
}
|
338
|
-
|
339
|
-
// Auto-discovery mode (scan DOM for attributes)
|
340
|
-
if (autoMode) {
|
341
|
-
document.fonts.ready.then(() => {
|
342
|
-
const foundModules = new Set();
|
343
|
-
const allElements = document.querySelectorAll('*');
|
199
|
+
for (const script of scripts) {
|
200
|
+
console.log(`🏷️ Processing script:`, script.src);
|
344
201
|
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
202
|
+
// Check for auto mode
|
203
|
+
const autoMode = script.getAttribute('data-hs-auto') === 'true';
|
204
|
+
console.log(`🔍 Auto mode: ${autoMode}`);
|
205
|
+
|
206
|
+
// Load modules based on script attributes
|
207
|
+
for (const moduleName of Object.keys(allModules)) {
|
208
|
+
if (script.hasAttribute(moduleName)) {
|
209
|
+
console.log(`✅ Found attribute for: ${moduleName}`);
|
210
|
+
loadHsModule(moduleName);
|
352
211
|
}
|
353
212
|
}
|
354
213
|
|
355
|
-
|
356
|
-
|
214
|
+
// Auto-discovery mode
|
215
|
+
if (autoMode) {
|
216
|
+
waitDOMReady().then(() => {
|
217
|
+
console.log(`🔍 Starting auto-discovery...`);
|
218
|
+
const foundModules = new Set();
|
219
|
+
const allElements = document.querySelectorAll('*');
|
220
|
+
|
221
|
+
for (const element of allElements) {
|
222
|
+
for (const attrName of element.getAttributeNames()) {
|
223
|
+
// Look for data-hs-* attributes
|
224
|
+
const match = attrName.match(/^(data-hs-(?:anim|util)-[^-=]+)/)?.[1];
|
225
|
+
if (match && allModules[match]) {
|
226
|
+
foundModules.add(match);
|
227
|
+
}
|
228
|
+
}
|
229
|
+
}
|
230
|
+
|
231
|
+
console.log(`🔍 Auto-discovered modules:`, [...foundModules]);
|
232
|
+
for (const moduleName of foundModules) {
|
233
|
+
loadHsModule(moduleName);
|
234
|
+
}
|
235
|
+
});
|
357
236
|
}
|
358
|
-
}
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
try {
|
237
|
+
}
|
238
|
+
|
239
|
+
// Always load auto-init modules
|
240
|
+
console.log(`🔄 Loading auto-init modules:`, Object.keys(autoInitModules));
|
241
|
+
for (const moduleName of Object.keys(autoInitModules)) {
|
364
242
|
loadHsModule(moduleName);
|
365
|
-
} catch (error) {
|
366
|
-
console.error(`❌ Failed to load auto-init module ${moduleName}:`, error);
|
367
243
|
}
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
244
|
+
|
245
|
+
// Hide .transition elements if transition module is not loaded
|
246
|
+
const hasTransition = scripts.some(script => script.hasAttribute('data-hs-anim-transition'));
|
247
|
+
if (!hasTransition) {
|
248
|
+
const transitionElements = document.querySelectorAll('.transition');
|
249
|
+
transitionElements.forEach(element => {
|
250
|
+
element.style.display = 'none';
|
251
|
+
});
|
252
|
+
}
|
253
|
+
};
|
254
|
+
|
255
|
+
// Handle rich text blocks
|
256
|
+
const richTextBlocks = document.querySelectorAll('.w-richtext');
|
257
|
+
richTextBlocks.forEach(block => {
|
258
|
+
const images = block.querySelectorAll('img');
|
259
|
+
images.forEach(img => {
|
260
|
+
img.loading = 'eager';
|
378
261
|
});
|
379
|
-
}
|
262
|
+
});
|
263
|
+
|
264
|
+
// Main initialization
|
265
|
+
const initializeMain = async () => {
|
266
|
+
console.log(`🚀 Starting main initialization...`);
|
267
|
+
|
268
|
+
// Process script modules
|
269
|
+
processScriptModules();
|
270
|
+
|
271
|
+
// Wait for Webflow
|
272
|
+
console.log(`⏳ Waiting for Webflow...`);
|
273
|
+
await waitWebflowReady();
|
274
|
+
console.log(`✅ Webflow ready`);
|
275
|
+
|
276
|
+
// Mark as loaded
|
277
|
+
window[API_NAME].loaded = true;
|
278
|
+
console.log(`🎉 ${API_NAME} fully loaded and ready!`);
|
279
|
+
};
|
280
|
+
|
281
|
+
// Process any early requests
|
282
|
+
console.log(`📝 Processing ${existingRequests.length} early requests`);
|
283
|
+
window[API_NAME].push(...existingRequests);
|
284
|
+
|
285
|
+
// Start initialization
|
286
|
+
initializeMain().catch(error => {
|
287
|
+
console.error(`❌ Failed to initialize ${API_NAME}:`, error);
|
288
|
+
});
|
380
289
|
};
|
381
290
|
|
382
|
-
|
383
|
-
|
384
|
-
document.addEventListener('DOMContentLoaded', initializeAPI);
|
385
|
-
} else {
|
386
|
-
console.log(`✅ DOM ready, initializing immediately`);
|
387
|
-
initializeAPI();
|
388
|
-
}
|
291
|
+
// Run initialization
|
292
|
+
initializeHsMain();
|