@hortonstudio/main 1.2.5 → 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 -275
- package/package.json +1 -1
@@ -0,0 +1,41 @@
|
|
1
|
+
import { isNumber } from '@finsweet/attributes-utils';
|
2
|
+
|
3
|
+
import { getAllRadios, getClosestRadioField, getSelectedGroupValue, queryStar } from '../utils/helpers';
|
4
|
+
import { getAttribute } from '../utils/selectors';
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Adds/removes the active classes of a group's stars.
|
8
|
+
* @param name
|
9
|
+
* @param group
|
10
|
+
* @param hoveredValue
|
11
|
+
*/
|
12
|
+
export const setClasses = (name: string, group: Element, hoveredValue?: number) => {
|
13
|
+
const groupActiveClass = getAttribute(group, 'activeclass');
|
14
|
+
|
15
|
+
const selectedValue = getSelectedGroupValue(name);
|
16
|
+
|
17
|
+
const allRadios = getAllRadios(document, name);
|
18
|
+
|
19
|
+
for (const radio of allRadios) {
|
20
|
+
const radioField = getClosestRadioField(radio);
|
21
|
+
if (!radioField) continue;
|
22
|
+
|
23
|
+
const star = queryStar(radioField);
|
24
|
+
if (!star) continue;
|
25
|
+
|
26
|
+
const starActiveClass = getAttribute(star, 'activeclass');
|
27
|
+
const activeClass = starActiveClass || groupActiveClass;
|
28
|
+
|
29
|
+
const value = parseInt(radio.value);
|
30
|
+
|
31
|
+
const isHovered = isNumber(hoveredValue) && value <= hoveredValue;
|
32
|
+
const isSelected = isNumber(selectedValue) && value <= selectedValue;
|
33
|
+
const isActive = isHovered || isSelected;
|
34
|
+
|
35
|
+
if (isActive) {
|
36
|
+
star.classList.add(activeClass);
|
37
|
+
} else {
|
38
|
+
star.classList.remove(activeClass);
|
39
|
+
}
|
40
|
+
}
|
41
|
+
};
|
@@ -0,0 +1,80 @@
|
|
1
|
+
import { addListener, isElement } from '@finsweet/attributes-utils';
|
2
|
+
|
3
|
+
import { getClosestGroup, getClosestRadioField, queryRadio, queryStar } from '../utils/helpers';
|
4
|
+
import { setClasses } from './classes';
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Stores the currently active groups.
|
8
|
+
*/
|
9
|
+
const activeGroupsStore: Set<Element> = new Set();
|
10
|
+
|
11
|
+
/**
|
12
|
+
* Listens for all hover / unhover / focus events to trigger the stars.
|
13
|
+
* @returns Cleanup callbacks.
|
14
|
+
*/
|
15
|
+
export const listenEvents = () => {
|
16
|
+
const cleanups = [
|
17
|
+
addListener(window, 'input', handleGroupHover),
|
18
|
+
addListener(window, 'mouseover', handleGroupHover),
|
19
|
+
addListener(window, 'mouseover', handleGroupUnhover),
|
20
|
+
() => activeGroupsStore.clear(),
|
21
|
+
];
|
22
|
+
|
23
|
+
return cleanups;
|
24
|
+
};
|
25
|
+
|
26
|
+
/**
|
27
|
+
* Handles when the user hovers a group's stars.
|
28
|
+
* @param e
|
29
|
+
*/
|
30
|
+
const handleGroupHover = ({ target }: Event) => {
|
31
|
+
if (!isElement(target)) return;
|
32
|
+
|
33
|
+
const radioField = getClosestRadioField(target);
|
34
|
+
if (!radioField) return;
|
35
|
+
|
36
|
+
const group = getClosestGroup(target);
|
37
|
+
if (!group) return;
|
38
|
+
|
39
|
+
const star = queryStar(radioField);
|
40
|
+
if (!star) return;
|
41
|
+
|
42
|
+
const radio = queryRadio(radioField);
|
43
|
+
if (!radio) return;
|
44
|
+
|
45
|
+
const { name, value } = radio;
|
46
|
+
|
47
|
+
const hoveredValue = parseInt(value);
|
48
|
+
if (isNaN(hoveredValue)) return;
|
49
|
+
|
50
|
+
activeGroupsStore.add(group);
|
51
|
+
|
52
|
+
setClasses(name, group, hoveredValue);
|
53
|
+
};
|
54
|
+
|
55
|
+
/**
|
56
|
+
* Handles when the user stops hovering over a group's stars.
|
57
|
+
* @param e
|
58
|
+
*/
|
59
|
+
const handleGroupUnhover = ({ target }: Event) => {
|
60
|
+
if (!activeGroupsStore.size) return;
|
61
|
+
if (!isElement(target)) return;
|
62
|
+
|
63
|
+
for (const activeGroup of activeGroupsStore) {
|
64
|
+
const group = getClosestGroup(target);
|
65
|
+
|
66
|
+
if (!group || activeGroup !== group) {
|
67
|
+
const star = queryStar(activeGroup);
|
68
|
+
if (!star) continue;
|
69
|
+
|
70
|
+
const radioField = getClosestRadioField(star);
|
71
|
+
if (!radioField) continue;
|
72
|
+
|
73
|
+
const radio = queryRadio(radioField);
|
74
|
+
if (!radio) continue;
|
75
|
+
|
76
|
+
setClasses(radio.name, activeGroup);
|
77
|
+
activeGroupsStore.delete(activeGroup);
|
78
|
+
}
|
79
|
+
}
|
80
|
+
};
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { ARIA_ROLE_KEY, ARIA_ROLE_VALUES } from '@finsweet/attributes-utils';
|
2
|
+
|
3
|
+
import { setClasses } from './actions/classes';
|
4
|
+
import { getAllRadios } from './utils/helpers';
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Prepares a group with A11Y attributes and sets the initial state of the stars.
|
8
|
+
* @param group
|
9
|
+
*/
|
10
|
+
export const initStarRatingGroup = (group: Element) => {
|
11
|
+
// A11y
|
12
|
+
group.setAttribute(ARIA_ROLE_KEY, ARIA_ROLE_VALUES.radiogroup);
|
13
|
+
|
14
|
+
// Initial state
|
15
|
+
const allRadios = getAllRadios(group);
|
16
|
+
const allNames = allRadios.reduce<Set<string>>((acc, { name }) => {
|
17
|
+
acc.add(name);
|
18
|
+
return acc;
|
19
|
+
}, new Set());
|
20
|
+
|
21
|
+
for (const name of allNames) {
|
22
|
+
setClasses(name, group);
|
23
|
+
}
|
24
|
+
};
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { type FinsweetAttributeInit, waitWebflowReady } from '@finsweet/attributes-utils';
|
2
|
+
|
3
|
+
import { listenEvents } from './actions/events';
|
4
|
+
import { initStarRatingGroup } from './factory';
|
5
|
+
import { queryAllElements } from './utils/selectors';
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Inits the attribute.
|
9
|
+
*/
|
10
|
+
export const init: FinsweetAttributeInit = async () => {
|
11
|
+
await waitWebflowReady();
|
12
|
+
|
13
|
+
const groups = queryAllElements('group');
|
14
|
+
groups.forEach(initStarRatingGroup);
|
15
|
+
|
16
|
+
const cleanups = listenEvents();
|
17
|
+
|
18
|
+
return {
|
19
|
+
result: groups,
|
20
|
+
destroy() {
|
21
|
+
for (const cleanup of cleanups) cleanup();
|
22
|
+
},
|
23
|
+
};
|
24
|
+
};
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { type AttributeElements, type AttributeSettings, STAR_RATING_ATTRIBUTE } from '@finsweet/attributes-utils';
|
2
|
+
|
3
|
+
export const ELEMENTS = [
|
4
|
+
/**
|
5
|
+
* Defines a stars wrapper.
|
6
|
+
*/
|
7
|
+
'group',
|
8
|
+
|
9
|
+
/**
|
10
|
+
* Defines a star element.
|
11
|
+
*/
|
12
|
+
'star',
|
13
|
+
] as const satisfies AttributeElements;
|
14
|
+
|
15
|
+
export const SETTINGS = {
|
16
|
+
/**
|
17
|
+
* Defines the default active CSS class.
|
18
|
+
*/
|
19
|
+
activeclass: { key: 'activeclass', defaultValue: `is-${STAR_RATING_ATTRIBUTE}-active` },
|
20
|
+
} as const satisfies AttributeSettings;
|
@@ -0,0 +1,63 @@
|
|
1
|
+
import { FORM_CSS_CLASSES } from '@finsweet/attributes-utils';
|
2
|
+
|
3
|
+
import { getElementSelector, queryElement } from './selectors';
|
4
|
+
|
5
|
+
/**
|
6
|
+
* @returns The closest star rating group parent from a target.
|
7
|
+
* @param target
|
8
|
+
*/
|
9
|
+
export const getClosestGroup = (target: Element) => target.closest(getElementSelector('group'));
|
10
|
+
|
11
|
+
/**
|
12
|
+
* @returns The closest Radio Field parent from a target.
|
13
|
+
* @param target
|
14
|
+
*/
|
15
|
+
export const getClosestRadioField = (target: Element) =>
|
16
|
+
target.closest<HTMLLabelElement>(`.${FORM_CSS_CLASSES.radioField}`);
|
17
|
+
|
18
|
+
/**
|
19
|
+
* @returns A child star element of the provided scope.
|
20
|
+
* @param scope
|
21
|
+
*/
|
22
|
+
export const queryStar = (scope: Element) => queryElement('star', { scope });
|
23
|
+
|
24
|
+
/**
|
25
|
+
*
|
26
|
+
* @returns A radio element selector.
|
27
|
+
* Optionally, the selector can be narrowed down by name.
|
28
|
+
* @param name
|
29
|
+
*/
|
30
|
+
export const getRadioSelector = (name?: string) => `input[type="radio"]${name ? `[name="${name}"]` : ''}`;
|
31
|
+
|
32
|
+
/**
|
33
|
+
* @returns A child radio element of the provided scope.
|
34
|
+
* @param scope
|
35
|
+
*/
|
36
|
+
export const queryRadio = (scope: Element) => scope.querySelector<HTMLInputElement>(getRadioSelector());
|
37
|
+
|
38
|
+
/**
|
39
|
+
* @returns All radio elements.
|
40
|
+
* If the name is provided, only the radio elements belonging to the same group are returned.
|
41
|
+
*
|
42
|
+
* @param name A radio group name.
|
43
|
+
*/
|
44
|
+
export const getAllRadios = (scope: Document | Element = document, name?: string) => [
|
45
|
+
...scope.querySelectorAll<HTMLInputElement>(getRadioSelector(name)),
|
46
|
+
];
|
47
|
+
|
48
|
+
/**
|
49
|
+
* Gets the selected value of a Radio Group.
|
50
|
+
* @param name The Radio Group Name.
|
51
|
+
* @returns The selected value as an integer, if valid.
|
52
|
+
*/
|
53
|
+
export const getSelectedGroupValue = (name: string) => {
|
54
|
+
let selectedValue: number | undefined;
|
55
|
+
|
56
|
+
const selectedRadio = document.querySelector<HTMLInputElement>(`${getRadioSelector(name)}:checked`);
|
57
|
+
if (selectedRadio) {
|
58
|
+
const rawSelectedValue = parseInt(selectedRadio.value);
|
59
|
+
if (!isNaN(rawSelectedValue)) selectedValue = rawSelectedValue;
|
60
|
+
}
|
61
|
+
|
62
|
+
return selectedValue;
|
63
|
+
};
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { generateSelectors, STAR_RATING_ATTRIBUTE } from '@finsweet/attributes-utils';
|
2
|
+
|
3
|
+
import { ELEMENTS, SETTINGS } from './constants';
|
4
|
+
|
5
|
+
export const { getAttribute, queryElement, getElementSelector, queryAllElements } = generateSelectors(
|
6
|
+
STAR_RATING_ATTRIBUTE,
|
7
|
+
ELEMENTS,
|
8
|
+
SETTINGS
|
9
|
+
);
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# `ATTRIBUTE_KEY` Attribute
|
2
|
+
|
3
|
+
ATTRIBUTE_DESCRIPTION.
|
4
|
+
|
5
|
+
## Getting Started
|
6
|
+
|
7
|
+
Please follow the documentation at [finsweet.com/attributes](https://www.finsweet.com/attributes) to learn how to use Attributes in your Webflow projects.
|
8
|
+
|
9
|
+
## Accessing the API
|
10
|
+
|
11
|
+
To learn how to access the API, please check the general [API Reference](../attributes/README.md#api-reference) documentation:
|
12
|
+
|
13
|
+
```javascript
|
14
|
+
window.FinsweetAttributes ||= [];
|
15
|
+
window.FinsweetAttributes.push([
|
16
|
+
'ATTRIBUTE_KEY',
|
17
|
+
() => {
|
18
|
+
// Your code goes here.
|
19
|
+
},
|
20
|
+
]);
|
21
|
+
```
|
22
|
+
|
23
|
+
## License
|
24
|
+
|
25
|
+
[Apache 2.0](../../LICENSE.md)
|
@@ -0,0 +1,22 @@
|
|
1
|
+
{
|
2
|
+
"name": "@finsweet/attributes-ATTRIBUTE_KEY",
|
3
|
+
"version": "0.0.0",
|
4
|
+
"description": "ATTRIBUTE_DESCRIPTION.",
|
5
|
+
"private": true,
|
6
|
+
"type": "module",
|
7
|
+
"types": "src/index.ts",
|
8
|
+
"scripts": {
|
9
|
+
"lint": "eslint ./src && prettier --check ./src",
|
10
|
+
"lint:fix": "eslint ./src --fix && prettier --write ./src",
|
11
|
+
"check": "tsc --noEmit"
|
12
|
+
},
|
13
|
+
"exports": {
|
14
|
+
".": {
|
15
|
+
"types": "./src/index.ts",
|
16
|
+
"import": "./src/index.ts"
|
17
|
+
}
|
18
|
+
},
|
19
|
+
"dependencies": {
|
20
|
+
"@finsweet/attributes-utils": "workspace:*"
|
21
|
+
}
|
22
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { type FinsweetAttributeInit, waitWebflowReady } from '@finsweet/attributes-utils';
|
2
|
+
|
3
|
+
import { logHello } from './actions/console';
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Inits the attribute.
|
7
|
+
*/
|
8
|
+
export const init: FinsweetAttributeInit = async () => {
|
9
|
+
await waitWebflowReady();
|
10
|
+
|
11
|
+
logHello();
|
12
|
+
|
13
|
+
return {};
|
14
|
+
};
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { type AttributeElements, type AttributeSettings } from '@finsweet/attributes-utils';
|
2
|
+
|
3
|
+
export const ELEMENTS = [
|
4
|
+
/**
|
5
|
+
* This is an element example definition.
|
6
|
+
*/
|
7
|
+
'example',
|
8
|
+
] as const satisfies AttributeElements;
|
9
|
+
|
10
|
+
export const SETTINGS = {
|
11
|
+
/**
|
12
|
+
* Defines a setting example definition.
|
13
|
+
*/
|
14
|
+
example: {
|
15
|
+
key: 'example',
|
16
|
+
values: ['value'],
|
17
|
+
},
|
18
|
+
} as const satisfies AttributeSettings;
|
@@ -0,0 +1,192 @@
|
|
1
|
+
# @finsweet/attributes-toc
|
2
|
+
|
3
|
+
## 1.2.11
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- Updated dependencies [2af0bad]
|
8
|
+
- @finsweet/attributes-utils@0.1.0
|
9
|
+
|
10
|
+
## 1.2.10
|
11
|
+
|
12
|
+
### Patch Changes
|
13
|
+
|
14
|
+
- Updated dependencies [378d74d]
|
15
|
+
- @finsweet/attributes-utils@0.0.6
|
16
|
+
|
17
|
+
## 1.2.9
|
18
|
+
|
19
|
+
### Patch Changes
|
20
|
+
|
21
|
+
- Updated dependencies [01973d8]
|
22
|
+
- @finsweet/attributes-utils@0.0.5
|
23
|
+
|
24
|
+
## 1.2.8
|
25
|
+
|
26
|
+
### Patch Changes
|
27
|
+
|
28
|
+
- Updated dependencies [deef758]
|
29
|
+
- @finsweet/attributes-utils@0.0.4
|
30
|
+
|
31
|
+
## 1.2.7
|
32
|
+
|
33
|
+
### Patch Changes
|
34
|
+
|
35
|
+
- Updated dependencies [d21cbca]
|
36
|
+
- @finsweet/attributes-utils@0.0.3
|
37
|
+
|
38
|
+
## 1.2.6
|
39
|
+
|
40
|
+
### Patch Changes
|
41
|
+
|
42
|
+
- c7b544d: chore: updated dependencies
|
43
|
+
- Updated dependencies [c7b544d]
|
44
|
+
- @finsweet/attributes-utils@0.0.2
|
45
|
+
|
46
|
+
## 1.2.5
|
47
|
+
|
48
|
+
### Patch Changes
|
49
|
+
|
50
|
+
- b56e5e5: rename fsAttribute in places of usage to finsweetAttribute
|
51
|
+
- Updated dependencies [b56e5e5]
|
52
|
+
- @finsweet/attributes-utils@0.0.1
|
53
|
+
|
54
|
+
## 1.2.4
|
55
|
+
|
56
|
+
### Patch Changes
|
57
|
+
|
58
|
+
- 9be3c039: remove toc item scroll to view checker
|
59
|
+
|
60
|
+
## 1.2.3
|
61
|
+
|
62
|
+
### Patch Changes
|
63
|
+
|
64
|
+
- 579afce3: Fix TOC rendering issue that results to some links missing in the final table generated.
|
65
|
+
|
66
|
+
## 1.2.2
|
67
|
+
|
68
|
+
### Patch Changes
|
69
|
+
|
70
|
+
- 19303441: fix: rendering the TOC breaks on iOS 17
|
71
|
+
|
72
|
+
## 1.2.1
|
73
|
+
|
74
|
+
### Patch Changes
|
75
|
+
|
76
|
+
- 132594e3: fix: only restart webflow if at least one instance of TOC was created.
|
77
|
+
|
78
|
+
## 1.2.0
|
79
|
+
|
80
|
+
### Minor Changes
|
81
|
+
|
82
|
+
- e4b3b680: Created new `window.fsAttributes.destroy()` method to support SPA environments.
|
83
|
+
This new method allows users to destroy all Attributes instances, cleaning up event listeners, observers, states, global variables, etc.
|
84
|
+
|
85
|
+
Websites that use a client-side router that simulates an SPA environment like [barba.js](https://barba.js.org/) or [Swup](https://swup.js.org/) can now properly init and destroy Attributes.
|
86
|
+
After destroying, Attributes can be manually re-initted by calling `window.fsAttribute[ATTRIBUTE_KEY].init()`.
|
87
|
+
|
88
|
+
Updated changesets system, now all updates will be correctly reflected in [the official updates page](https://www.finsweet.com/attributes/updates).
|
89
|
+
|
90
|
+
## 1.1.1
|
91
|
+
|
92
|
+
### Patch Changes
|
93
|
+
|
94
|
+
- Updated dependencies [4792998a]
|
95
|
+
- @global/constants@1.2.0
|
96
|
+
- @global/factory@1.1.5
|
97
|
+
|
98
|
+
## 1.1.0
|
99
|
+
|
100
|
+
### Minor Changes
|
101
|
+
|
102
|
+
- 07f32375: Created `fs-cmsattribute` Attribute
|
103
|
+
|
104
|
+
### Patch Changes
|
105
|
+
|
106
|
+
- Updated dependencies [07f32375]
|
107
|
+
- @global/constants@1.1.0
|
108
|
+
- @global/factory@1.1.4
|
109
|
+
|
110
|
+
## 1.0.11
|
111
|
+
|
112
|
+
### Patch Changes
|
113
|
+
|
114
|
+
- Updated dependencies [7542dcdb]
|
115
|
+
- @global/constants@1.0.2
|
116
|
+
- @global/factory@1.1.3
|
117
|
+
|
118
|
+
## 1.0.10
|
119
|
+
|
120
|
+
### Patch Changes
|
121
|
+
|
122
|
+
- Updated dependencies [bdd1a78]
|
123
|
+
- @global/constants@1.0.1
|
124
|
+
- @global/factory@1.1.2
|
125
|
+
|
126
|
+
## 1.0.9
|
127
|
+
|
128
|
+
### Patch Changes
|
129
|
+
|
130
|
+
- Updated dependencies [13c3e23]
|
131
|
+
- @global/factory@1.1.1
|
132
|
+
- @finsweet/attributes-richtext@1.7.2
|
133
|
+
|
134
|
+
## 1.0.8
|
135
|
+
|
136
|
+
### Patch Changes
|
137
|
+
|
138
|
+
- Updated dependencies [627bf25]
|
139
|
+
- @global/factory@1.1.0
|
140
|
+
- @finsweet/attributes-richtext@1.7.1
|
141
|
+
|
142
|
+
## 1.0.7
|
143
|
+
|
144
|
+
### Patch Changes
|
145
|
+
|
146
|
+
- Updated dependencies [2040479]
|
147
|
+
- @finsweet/attributes-richtext@1.7.0
|
148
|
+
|
149
|
+
## 1.0.6
|
150
|
+
|
151
|
+
### Patch Changes
|
152
|
+
|
153
|
+
- Added schema.json for support tool.
|
154
|
+
|
155
|
+
## 1.0.5
|
156
|
+
|
157
|
+
### Patch Changes
|
158
|
+
|
159
|
+
- Added Example 1: Sidebar TOC.
|
160
|
+
|
161
|
+
## 1.0.4
|
162
|
+
|
163
|
+
### Patch Changes
|
164
|
+
|
165
|
+
- Fixed heading `ID`'s being duplicated when rendering external HTML that already contained them.
|
166
|
+
|
167
|
+
## 1.0.3
|
168
|
+
|
169
|
+
### Patch Changes
|
170
|
+
|
171
|
+
- Added new **optional** `fs-toc-element="table"`: Defines the wrapper element that will hold all the TOC links.
|
172
|
+
If not defined, the library will use the immediate parent of the link template elements.
|
173
|
+
|
174
|
+
- Fixed multiple instances not working correctly (`-1` | `-2`...)
|
175
|
+
|
176
|
+
## 1.0.2
|
177
|
+
|
178
|
+
### Patch Changes
|
179
|
+
|
180
|
+
- Ensured all headings and links have unique IDs, even if some headings have the same exact text.
|
181
|
+
|
182
|
+
## 1.0.1
|
183
|
+
|
184
|
+
### Patch Changes
|
185
|
+
|
186
|
+
- Added support to use `fs-richtext` + `fs-toc`.
|
187
|
+
|
188
|
+
## 1.0.0
|
189
|
+
|
190
|
+
### Major Changes
|
191
|
+
|
192
|
+
- Created the attribute package.
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# `toc` Attribute
|
2
|
+
|
3
|
+
Automatically generate a table of contents based on heading tags. Works with Webflow Rich Text, Webflow "Current" class, and anchor scroll. CMS, static, and all text elements are supported.
|
4
|
+
|
5
|
+
## Getting Started
|
6
|
+
|
7
|
+
Please follow the documentation at [finsweet.com/attributes](https://www.finsweet.com/attributes) to learn how to use Attributes in your Webflow projects.
|
8
|
+
|
9
|
+
## Accessing the API
|
10
|
+
|
11
|
+
To learn how to access the API, please check the general [API Reference](../attributes/README.md#api-reference) documentation:
|
12
|
+
|
13
|
+
```javascript
|
14
|
+
window.FinsweetAttributes ||= [];
|
15
|
+
window.FinsweetAttributes.push([
|
16
|
+
'toc',
|
17
|
+
() => {
|
18
|
+
// Your code goes here.
|
19
|
+
},
|
20
|
+
]);
|
21
|
+
```
|
22
|
+
|
23
|
+
## License
|
24
|
+
|
25
|
+
[Apache 2.0](../../LICENSE.md)
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{
|
2
|
+
"name": "@finsweet/attributes-toc",
|
3
|
+
"version": "1.2.11",
|
4
|
+
"description": "Automatically generate a table of contents based on heading tags. Works with Webflow Rich Text, Webflow \"Current\" class, and anchor scroll. CMS, static, and all text elements are supported.",
|
5
|
+
"private": true,
|
6
|
+
"type": "module",
|
7
|
+
"types": "src/index.ts",
|
8
|
+
"scripts": {
|
9
|
+
"lint": "eslint ./src && prettier --check ./src",
|
10
|
+
"lint:fix": "eslint ./src --fix && prettier --write ./src",
|
11
|
+
"check": "tsc --noEmit"
|
12
|
+
},
|
13
|
+
"exports": {
|
14
|
+
".": {
|
15
|
+
"types": "./src/index.ts",
|
16
|
+
"import": "./src/index.ts"
|
17
|
+
}
|
18
|
+
},
|
19
|
+
"dependencies": {
|
20
|
+
"@finsweet/attributes-utils": "workspace:*",
|
21
|
+
"slugify": "^1.6.6"
|
22
|
+
}
|
23
|
+
}
|