django-handyhelpers 0.3.20__py3-none-any.whl → 0.3.36__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- {django_handyhelpers-0.3.20.dist-info → django_handyhelpers-0.3.36.dist-info}/METADATA +16 -6
- {django_handyhelpers-0.3.20.dist-info → django_handyhelpers-0.3.36.dist-info}/RECORD +562 -75
- {django_handyhelpers-0.3.20.dist-info → django_handyhelpers-0.3.36.dist-info}/WHEEL +1 -1
- handyhelpers/__init__.py +6 -6
- handyhelpers/forms.py +9 -1
- handyhelpers/mixins/form_mixins.py +61 -0
- handyhelpers/mixins/model_mixins.py +21 -0
- handyhelpers/mixins/serializer_mixins.py +35 -0
- handyhelpers/mixins/view_mixins.py +5 -2
- handyhelpers/serializers.py +23 -3
- handyhelpers/static/handyhelpers/css/table_sortable.css +17 -0
- handyhelpers/static/handyhelpers/js/sidebar.js +8 -4
- handyhelpers/static/handyhelpers/js/table_sortable.js +119 -0
- handyhelpers/static/node_modules/.bin/acorn +4 -0
- handyhelpers/static/node_modules/.bin/css-b64-images +13 -0
- handyhelpers/static/node_modules/.bin/esbuild +0 -0
- handyhelpers/static/node_modules/.bin/html-minifier-terser +308 -0
- handyhelpers/static/node_modules/.bin/minify +98 -0
- handyhelpers/static/node_modules/.bin/terser +21 -0
- handyhelpers/static/node_modules/.bin/uglifyjs +624 -0
- handyhelpers/static/node_modules/.package-lock.json +750 -0
- handyhelpers/static/node_modules/@esbuild/linux-x64/README.md +3 -0
- handyhelpers/static/node_modules/@esbuild/linux-x64/bin/esbuild +0 -0
- handyhelpers/static/node_modules/@esbuild/linux-x64/package.json +20 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/LICENSE +19 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/README.md +227 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs +230 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js +246 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts +88 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts +12 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts +36 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/package.json +76 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/LICENSE +19 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/README.md +40 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs +232 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js +240 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts +4 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/package.json +69 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/LICENSE +19 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/README.md +37 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/dist/set-array.mjs +69 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/dist/set-array.mjs.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/dist/set-array.umd.js +83 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/dist/set-array.umd.js.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/dist/types/set-array.d.ts +32 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/package.json +65 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/LICENSE +19 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/README.md +184 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/dist/source-map.cjs +95 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/dist/source-map.cjs.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/dist/source-map.mjs +90 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/dist/source-map.mjs.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/dist/source-map.umd.js +1242 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/dist/source-map.umd.js.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/dist/types/source-map.d.ts +35 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/package.json +71 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/LICENSE +21 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/README.md +264 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs +424 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js +439 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/types/scopes.d.ts +49 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts +8 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/types/strings.d.ts +15 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/types/vlq.d.ts +6 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/package.json +75 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/LICENSE +19 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/README.md +257 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs +580 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js +600 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts +8 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts +32 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts +7 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts +1 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts +2 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts +16 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts +4 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts +79 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts +99 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/package.json +77 -0
- handyhelpers/static/node_modules/@popperjs/core/dist/cjs/enums.js +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/cjs/popper-base.js +12 -170
- handyhelpers/static/node_modules/@popperjs/core/dist/cjs/popper-base.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/cjs/popper-lite.js +14 -184
- handyhelpers/static/node_modules/@popperjs/core/dist/cjs/popper-lite.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/cjs/popper.js +14 -197
- handyhelpers/static/node_modules/@popperjs/core/dist/cjs/popper.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/esm/createPopper.js +6 -66
- handyhelpers/static/node_modules/@popperjs/core/dist/esm/modifiers/arrow.js +1 -12
- handyhelpers/static/node_modules/@popperjs/core/dist/esm/modifiers/computeStyles.js +2 -14
- handyhelpers/static/node_modules/@popperjs/core/dist/esm/utils/computeAutoPlacement.js +0 -4
- handyhelpers/static/node_modules/@popperjs/core/dist/esm/utils/userAgent.js +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/enums.js +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/enums.min.js +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-base.js +12 -170
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-base.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-base.min.js +2 -2
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-base.min.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-lite.js +14 -184
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-lite.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-lite.min.js +2 -2
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-lite.min.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper.js +14 -197
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper.min.js +2 -2
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper.min.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/lib/createPopper.js +6 -66
- handyhelpers/static/node_modules/@popperjs/core/lib/createPopper.js.flow +2 -80
- handyhelpers/static/node_modules/@popperjs/core/lib/modifiers/arrow.js +1 -12
- handyhelpers/static/node_modules/@popperjs/core/lib/modifiers/arrow.js.flow +0 -22
- handyhelpers/static/node_modules/@popperjs/core/lib/modifiers/computeStyles.js +2 -14
- handyhelpers/static/node_modules/@popperjs/core/lib/modifiers/computeStyles.js.flow +3 -33
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js +0 -4
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js.flow +0 -12
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/userAgent.js +1 -1
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/userAgent.js.flow +1 -1
- handyhelpers/static/node_modules/@popperjs/core/package.json +1 -1
- handyhelpers/static/node_modules/@putout/minify/LICENSE +21 -0
- handyhelpers/static/node_modules/@putout/minify/README.md +110 -0
- handyhelpers/static/node_modules/@putout/minify/bundle/minify.min.js +52 -0
- handyhelpers/static/node_modules/@putout/minify/package.json +112 -0
- handyhelpers/static/node_modules/@swc/core/Visitor.d.ts +218 -0
- handyhelpers/static/node_modules/@swc/core/Visitor.js +1407 -0
- handyhelpers/static/node_modules/@swc/core/binding.d.ts +56 -0
- handyhelpers/static/node_modules/@swc/core/binding.js +351 -0
- handyhelpers/static/node_modules/@swc/core/index.d.ts +118 -0
- handyhelpers/static/node_modules/@swc/core/index.js +439 -0
- handyhelpers/static/node_modules/@swc/core/package.json +114 -0
- handyhelpers/static/node_modules/@swc/core/postinstall.js +148 -0
- handyhelpers/static/node_modules/@swc/core/spack.d.ts +51 -0
- handyhelpers/static/node_modules/@swc/core/spack.js +87 -0
- handyhelpers/static/node_modules/@swc/core/util.d.ts +1 -0
- handyhelpers/static/node_modules/@swc/core/util.js +104 -0
- handyhelpers/static/node_modules/@swc/core-linux-x64-gnu/README.md +3 -0
- handyhelpers/static/node_modules/@swc/core-linux-x64-gnu/package.json +45 -0
- handyhelpers/static/node_modules/@swc/core-linux-x64-gnu/swc.linux-x64-gnu.node +0 -0
- handyhelpers/static/node_modules/@swc/counter/CHANGELOG.md +7 -0
- handyhelpers/static/node_modules/@swc/counter/README.md +7 -0
- handyhelpers/static/node_modules/@swc/counter/index.js +1 -0
- handyhelpers/static/node_modules/@swc/counter/package.json +27 -0
- handyhelpers/static/node_modules/@swc/types/LICENSE +201 -0
- handyhelpers/static/node_modules/@swc/types/README.md +4 -0
- handyhelpers/static/node_modules/@swc/types/assumptions.d.ts +92 -0
- handyhelpers/static/node_modules/@swc/types/assumptions.js +2 -0
- handyhelpers/static/node_modules/@swc/types/index.d.ts +1977 -0
- handyhelpers/static/node_modules/@swc/types/index.js +2 -0
- handyhelpers/static/node_modules/@swc/types/package.json +39 -0
- handyhelpers/static/node_modules/acorn/CHANGELOG.md +928 -0
- handyhelpers/static/node_modules/acorn/LICENSE +21 -0
- handyhelpers/static/node_modules/acorn/README.md +282 -0
- handyhelpers/static/node_modules/acorn/bin/acorn +4 -0
- handyhelpers/static/node_modules/acorn/dist/acorn.d.mts +866 -0
- handyhelpers/static/node_modules/acorn/dist/acorn.d.ts +866 -0
- handyhelpers/static/node_modules/acorn/dist/acorn.js +6174 -0
- handyhelpers/static/node_modules/acorn/dist/acorn.mjs +6145 -0
- handyhelpers/static/node_modules/acorn/dist/bin.js +90 -0
- handyhelpers/static/node_modules/acorn/package.json +50 -0
- handyhelpers/static/node_modules/buffer-from/LICENSE +21 -0
- handyhelpers/static/node_modules/buffer-from/index.js +72 -0
- handyhelpers/static/node_modules/buffer-from/package.json +19 -0
- handyhelpers/static/node_modules/buffer-from/readme.md +69 -0
- handyhelpers/static/node_modules/camel-case/LICENSE +21 -0
- handyhelpers/static/node_modules/camel-case/README.md +47 -0
- handyhelpers/static/node_modules/camel-case/dist/index.d.ts +5 -0
- handyhelpers/static/node_modules/camel-case/dist/index.js +23 -0
- handyhelpers/static/node_modules/camel-case/dist/index.js.map +1 -0
- handyhelpers/static/node_modules/camel-case/dist/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/camel-case/dist/index.spec.js +26 -0
- handyhelpers/static/node_modules/camel-case/dist/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/camel-case/dist.es2015/index.d.ts +5 -0
- handyhelpers/static/node_modules/camel-case/dist.es2015/index.js +17 -0
- handyhelpers/static/node_modules/camel-case/dist.es2015/index.js.map +1 -0
- handyhelpers/static/node_modules/camel-case/dist.es2015/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/camel-case/dist.es2015/index.spec.js +24 -0
- handyhelpers/static/node_modules/camel-case/dist.es2015/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/camel-case/package.json +89 -0
- handyhelpers/static/node_modules/clean-css/History.md +1504 -0
- handyhelpers/static/node_modules/clean-css/LICENSE +19 -0
- handyhelpers/static/node_modules/clean-css/README.md +987 -0
- handyhelpers/static/node_modules/clean-css/index.js +1 -0
- handyhelpers/static/node_modules/clean-css/package.json +48 -0
- handyhelpers/static/node_modules/commander/LICENSE +22 -0
- handyhelpers/static/node_modules/commander/Readme.md +1134 -0
- handyhelpers/static/node_modules/commander/esm.mjs +16 -0
- handyhelpers/static/node_modules/commander/index.js +27 -0
- handyhelpers/static/node_modules/commander/package-support.json +16 -0
- handyhelpers/static/node_modules/commander/package.json +80 -0
- handyhelpers/static/node_modules/commander/typings/index.d.ts +889 -0
- handyhelpers/static/node_modules/css-b64-images/.npmignore +15 -0
- handyhelpers/static/node_modules/css-b64-images/.travis.yml +5 -0
- handyhelpers/static/node_modules/css-b64-images/README.md +78 -0
- handyhelpers/static/node_modules/css-b64-images/bin/css-b64-images +13 -0
- handyhelpers/static/node_modules/css-b64-images/draft.png +0 -0
- handyhelpers/static/node_modules/css-b64-images/draft.xcf +0 -0
- handyhelpers/static/node_modules/css-b64-images/package.json +30 -0
- handyhelpers/static/node_modules/css-b64-images/test/css-b64-images-test.js +38 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/css/style.css +52 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/callunasansregular-webfont.eot +0 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/callunasansregular-webfont.svg +248 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/callunasansregular-webfont.ttf +0 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/callunasansregular-webfont.woff +0 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/maven_pro_medium-webfont.eot +0 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/maven_pro_medium-webfont.svg +245 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/maven_pro_medium-webfont.ttf +0 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/maven_pro_medium-webfont.woff +0 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/img/background-pattern.gif +0 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/img/dots.svg +6 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/img/mixit-banner.png +0 -0
- handyhelpers/static/node_modules/debug/LICENSE +20 -0
- handyhelpers/static/node_modules/debug/README.md +481 -0
- handyhelpers/static/node_modules/debug/package.json +65 -0
- handyhelpers/static/node_modules/debug/src/browser.js +272 -0
- handyhelpers/static/node_modules/debug/src/common.js +292 -0
- handyhelpers/static/node_modules/debug/src/index.js +10 -0
- handyhelpers/static/node_modules/debug/src/node.js +263 -0
- handyhelpers/static/node_modules/dot-case/LICENSE +21 -0
- handyhelpers/static/node_modules/dot-case/README.md +37 -0
- handyhelpers/static/node_modules/dot-case/dist/index.d.ts +3 -0
- handyhelpers/static/node_modules/dot-case/dist/index.js +11 -0
- handyhelpers/static/node_modules/dot-case/dist/index.js.map +1 -0
- handyhelpers/static/node_modules/dot-case/dist/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/dot-case/dist/index.spec.js +26 -0
- handyhelpers/static/node_modules/dot-case/dist/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/dot-case/dist.es2015/index.d.ts +3 -0
- handyhelpers/static/node_modules/dot-case/dist.es2015/index.js +7 -0
- handyhelpers/static/node_modules/dot-case/dist.es2015/index.js.map +1 -0
- handyhelpers/static/node_modules/dot-case/dist.es2015/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/dot-case/dist.es2015/index.spec.js +24 -0
- handyhelpers/static/node_modules/dot-case/dist.es2015/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/dot-case/package.json +89 -0
- handyhelpers/static/node_modules/entities/LICENSE +11 -0
- handyhelpers/static/node_modules/entities/package.json +90 -0
- handyhelpers/static/node_modules/entities/readme.md +122 -0
- handyhelpers/static/node_modules/esbuild/LICENSE.md +21 -0
- handyhelpers/static/node_modules/esbuild/README.md +3 -0
- handyhelpers/static/node_modules/esbuild/bin/esbuild +0 -0
- handyhelpers/static/node_modules/esbuild/install.js +286 -0
- handyhelpers/static/node_modules/esbuild/package.json +47 -0
- handyhelpers/static/node_modules/find-up/index.d.ts +247 -0
- handyhelpers/static/node_modules/find-up/index.js +107 -0
- handyhelpers/static/node_modules/find-up/license +9 -0
- handyhelpers/static/node_modules/find-up/package.json +61 -0
- handyhelpers/static/node_modules/find-up/readme.md +160 -0
- handyhelpers/static/node_modules/fun-effects/LICENSE +674 -0
- handyhelpers/static/node_modules/fun-effects/README.md +10 -0
- handyhelpers/static/node_modules/fun-effects/dist/css/background_icons.min.css +1 -0
- handyhelpers/static/node_modules/fun-effects/dist/css/blur_group.min.css +1 -0
- handyhelpers/static/node_modules/fun-effects/dist/css/fades.min.css +1 -0
- handyhelpers/static/node_modules/fun-effects/dist/css/marquee.min.css +1 -0
- handyhelpers/static/node_modules/fun-effects/dist/css/scroller.min.css +1 -0
- handyhelpers/static/node_modules/fun-effects/dist/index.js +15 -0
- handyhelpers/static/node_modules/fun-effects/dist/js/background_icons.min.js +1 -0
- handyhelpers/static/node_modules/fun-effects/dist/js/marquee.min.js +1 -0
- handyhelpers/static/node_modules/fun-effects/dist/js/scroller.min.js +1 -0
- handyhelpers/static/node_modules/fun-effects/package.json +39 -0
- handyhelpers/static/node_modules/fun-effects/src/css/background_icons.css +39 -0
- handyhelpers/static/node_modules/fun-effects/src/css/blur_group.css +22 -0
- handyhelpers/static/node_modules/fun-effects/src/css/fades.css +94 -0
- handyhelpers/static/node_modules/fun-effects/src/css/marquee.css +45 -0
- handyhelpers/static/node_modules/fun-effects/src/css/scroller.css +144 -0
- handyhelpers/static/node_modules/fun-effects/src/index.js +15 -0
- handyhelpers/static/node_modules/fun-effects/src/js/background_icons.js +101 -0
- handyhelpers/static/node_modules/fun-effects/src/js/marquee.js +81 -0
- handyhelpers/static/node_modules/fun-effects/src/js/scroller.js +37 -0
- handyhelpers/static/node_modules/html-minifier-terser/LICENSE +22 -0
- handyhelpers/static/node_modules/html-minifier-terser/README.md +168 -0
- handyhelpers/static/node_modules/html-minifier-terser/cli.js +308 -0
- handyhelpers/static/node_modules/html-minifier-terser/dist/htmlminifier.cjs +1857 -0
- handyhelpers/static/node_modules/html-minifier-terser/dist/htmlminifier.esm.bundle.js +57509 -0
- handyhelpers/static/node_modules/html-minifier-terser/dist/htmlminifier.umd.bundle.js +57520 -0
- handyhelpers/static/node_modules/html-minifier-terser/dist/htmlminifier.umd.bundle.min.js +9 -0
- handyhelpers/static/node_modules/html-minifier-terser/package.json +105 -0
- handyhelpers/static/node_modules/html-minifier-terser/src/htmlminifier.js +1366 -0
- handyhelpers/static/node_modules/html-minifier-terser/src/htmlparser.js +565 -0
- handyhelpers/static/node_modules/html-minifier-terser/src/tokenchain.js +68 -0
- handyhelpers/static/node_modules/html-minifier-terser/src/utils.js +11 -0
- handyhelpers/static/node_modules/jju/LICENSE +21 -0
- handyhelpers/static/node_modules/jju/Makefile +20 -0
- handyhelpers/static/node_modules/jju/README.md +249 -0
- handyhelpers/static/node_modules/jju/index.js +32 -0
- handyhelpers/static/node_modules/jju/package.json +34 -0
- handyhelpers/static/node_modules/jju/package.yaml +36 -0
- handyhelpers/static/node_modules/locate-path/index.d.ts +92 -0
- handyhelpers/static/node_modules/locate-path/index.js +77 -0
- handyhelpers/static/node_modules/locate-path/license +9 -0
- handyhelpers/static/node_modules/locate-path/package.json +48 -0
- handyhelpers/static/node_modules/locate-path/readme.md +123 -0
- handyhelpers/static/node_modules/lower-case/LICENSE +21 -0
- handyhelpers/static/node_modules/lower-case/README.md +35 -0
- handyhelpers/static/node_modules/lower-case/dist/index.d.ts +8 -0
- handyhelpers/static/node_modules/lower-case/dist/index.js +53 -0
- handyhelpers/static/node_modules/lower-case/dist/index.js.map +1 -0
- handyhelpers/static/node_modules/lower-case/dist/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/lower-case/dist/index.spec.js +36 -0
- handyhelpers/static/node_modules/lower-case/dist/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/lower-case/dist.es2015/index.d.ts +8 -0
- handyhelpers/static/node_modules/lower-case/dist.es2015/index.js +48 -0
- handyhelpers/static/node_modules/lower-case/dist.es2015/index.js.map +1 -0
- handyhelpers/static/node_modules/lower-case/dist.es2015/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/lower-case/dist.es2015/index.spec.js +34 -0
- handyhelpers/static/node_modules/lower-case/dist.es2015/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/lower-case/package.json +87 -0
- handyhelpers/static/node_modules/minify/ChangeLog +1307 -0
- handyhelpers/static/node_modules/minify/LICENSE +22 -0
- handyhelpers/static/node_modules/minify/README.md +177 -0
- handyhelpers/static/node_modules/minify/bin/minify.js +98 -0
- handyhelpers/static/node_modules/minify/deno.json +5 -0
- handyhelpers/static/node_modules/minify/help.json +8 -0
- handyhelpers/static/node_modules/minify/package.json +65 -0
- handyhelpers/static/node_modules/ms/index.js +162 -0
- handyhelpers/static/node_modules/ms/license.md +21 -0
- handyhelpers/static/node_modules/ms/package.json +38 -0
- handyhelpers/static/node_modules/ms/readme.md +59 -0
- handyhelpers/static/node_modules/no-case/LICENSE +21 -0
- handyhelpers/static/node_modules/no-case/README.md +37 -0
- handyhelpers/static/node_modules/no-case/dist/index.d.ts +10 -0
- handyhelpers/static/node_modules/no-case/dist/index.js +35 -0
- handyhelpers/static/node_modules/no-case/dist/index.js.map +1 -0
- handyhelpers/static/node_modules/no-case/dist/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/no-case/dist/index.spec.js +59 -0
- handyhelpers/static/node_modules/no-case/dist/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/no-case/dist.es2015/index.d.ts +10 -0
- handyhelpers/static/node_modules/no-case/dist.es2015/index.js +31 -0
- handyhelpers/static/node_modules/no-case/dist.es2015/index.js.map +1 -0
- handyhelpers/static/node_modules/no-case/dist.es2015/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/no-case/dist.es2015/index.spec.js +57 -0
- handyhelpers/static/node_modules/no-case/dist.es2015/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/no-case/package.json +85 -0
- handyhelpers/static/node_modules/p-limit/index.d.ts +40 -0
- handyhelpers/static/node_modules/p-limit/index.js +68 -0
- handyhelpers/static/node_modules/p-limit/license +9 -0
- handyhelpers/static/node_modules/p-limit/package.json +54 -0
- handyhelpers/static/node_modules/p-limit/readme.md +99 -0
- handyhelpers/static/node_modules/p-locate/index.d.ts +49 -0
- handyhelpers/static/node_modules/p-locate/index.js +48 -0
- handyhelpers/static/node_modules/p-locate/license +9 -0
- handyhelpers/static/node_modules/p-locate/package.json +56 -0
- handyhelpers/static/node_modules/p-locate/readme.md +91 -0
- handyhelpers/static/node_modules/param-case/LICENSE +21 -0
- handyhelpers/static/node_modules/param-case/README.md +37 -0
- handyhelpers/static/node_modules/param-case/dist/index.d.ts +3 -0
- handyhelpers/static/node_modules/param-case/dist/index.js +11 -0
- handyhelpers/static/node_modules/param-case/dist/index.js.map +1 -0
- handyhelpers/static/node_modules/param-case/dist/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/param-case/dist/index.spec.js +24 -0
- handyhelpers/static/node_modules/param-case/dist/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/param-case/dist.es2015/index.d.ts +3 -0
- handyhelpers/static/node_modules/param-case/dist.es2015/index.js +7 -0
- handyhelpers/static/node_modules/param-case/dist.es2015/index.js.map +1 -0
- handyhelpers/static/node_modules/param-case/dist.es2015/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/param-case/dist.es2015/index.spec.js +22 -0
- handyhelpers/static/node_modules/param-case/dist.es2015/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/param-case/package.json +91 -0
- handyhelpers/static/node_modules/pascal-case/LICENSE +21 -0
- handyhelpers/static/node_modules/pascal-case/README.md +47 -0
- handyhelpers/static/node_modules/pascal-case/dist/index.d.ts +5 -0
- handyhelpers/static/node_modules/pascal-case/dist/index.js +24 -0
- handyhelpers/static/node_modules/pascal-case/dist/index.js.map +1 -0
- handyhelpers/static/node_modules/pascal-case/dist/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/pascal-case/dist/index.spec.js +25 -0
- handyhelpers/static/node_modules/pascal-case/dist/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/pascal-case/dist.es2015/index.d.ts +5 -0
- handyhelpers/static/node_modules/pascal-case/dist.es2015/index.js +18 -0
- handyhelpers/static/node_modules/pascal-case/dist.es2015/index.js.map +1 -0
- handyhelpers/static/node_modules/pascal-case/dist.es2015/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/pascal-case/dist.es2015/index.spec.js +23 -0
- handyhelpers/static/node_modules/pascal-case/dist.es2015/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/pascal-case/package.json +90 -0
- handyhelpers/static/node_modules/path-exists/index.d.ts +31 -0
- handyhelpers/static/node_modules/path-exists/index.js +19 -0
- handyhelpers/static/node_modules/path-exists/license +9 -0
- handyhelpers/static/node_modules/path-exists/package.json +41 -0
- handyhelpers/static/node_modules/path-exists/readme.md +52 -0
- handyhelpers/static/node_modules/readjson/ChangeLog +110 -0
- handyhelpers/static/node_modules/readjson/LICENSE +21 -0
- handyhelpers/static/node_modules/readjson/README.md +36 -0
- handyhelpers/static/node_modules/readjson/package.json +46 -0
- handyhelpers/static/node_modules/relateurl/README.md +159 -0
- handyhelpers/static/node_modules/relateurl/license +21 -0
- handyhelpers/static/node_modules/relateurl/package.json +46 -0
- handyhelpers/static/node_modules/simport/ChangeLog +77 -0
- handyhelpers/static/node_modules/simport/LICENSE +21 -0
- handyhelpers/static/node_modules/simport/README.md +81 -0
- handyhelpers/static/node_modules/simport/fixture/context.js +3 -0
- handyhelpers/static/node_modules/simport/fixture/default-frozen-function.mjs +2 -0
- handyhelpers/static/node_modules/simport/fixture/default-frozen-object.mjs +2 -0
- handyhelpers/static/node_modules/simport/package.json +65 -0
- handyhelpers/static/node_modules/simport/simport.js +84 -0
- handyhelpers/static/node_modules/simport/simport.mjs +22 -0
- handyhelpers/static/node_modules/source-map/CHANGELOG.md +301 -0
- handyhelpers/static/node_modules/source-map/LICENSE +28 -0
- handyhelpers/static/node_modules/source-map/README.md +742 -0
- handyhelpers/static/node_modules/source-map/dist/source-map.debug.js +3234 -0
- handyhelpers/static/node_modules/source-map/dist/source-map.js +3233 -0
- handyhelpers/static/node_modules/source-map/dist/source-map.min.js +2 -0
- handyhelpers/static/node_modules/source-map/dist/source-map.min.js.map +1 -0
- handyhelpers/static/node_modules/source-map/package.json +73 -0
- handyhelpers/static/node_modules/source-map/source-map.d.ts +98 -0
- handyhelpers/static/node_modules/source-map/source-map.js +8 -0
- handyhelpers/static/node_modules/source-map-support/LICENSE.md +21 -0
- handyhelpers/static/node_modules/source-map-support/README.md +284 -0
- handyhelpers/static/node_modules/source-map-support/browser-source-map-support.js +114 -0
- handyhelpers/static/node_modules/source-map-support/package.json +31 -0
- handyhelpers/static/node_modules/source-map-support/register-hook-require.js +1 -0
- handyhelpers/static/node_modules/source-map-support/register.js +1 -0
- handyhelpers/static/node_modules/source-map-support/source-map-support.js +625 -0
- handyhelpers/static/node_modules/terser/CHANGELOG.md +783 -0
- handyhelpers/static/node_modules/terser/LICENSE +27 -0
- handyhelpers/static/node_modules/terser/PATRONS.md +15 -0
- handyhelpers/static/node_modules/terser/README.md +1421 -0
- handyhelpers/static/node_modules/terser/bin/package.json +10 -0
- handyhelpers/static/node_modules/terser/bin/terser +21 -0
- handyhelpers/static/node_modules/terser/bin/uglifyjs +10 -0
- handyhelpers/static/node_modules/terser/dist/.gitkeep +0 -0
- handyhelpers/static/node_modules/terser/dist/bundle.min.js +32962 -0
- handyhelpers/static/node_modules/terser/dist/package.json +10 -0
- handyhelpers/static/node_modules/terser/main.js +27 -0
- handyhelpers/static/node_modules/terser/node_modules/commander/CHANGELOG.md +419 -0
- handyhelpers/static/node_modules/terser/node_modules/commander/LICENSE +22 -0
- handyhelpers/static/node_modules/terser/node_modules/commander/Readme.md +428 -0
- handyhelpers/static/node_modules/terser/node_modules/commander/index.js +1224 -0
- handyhelpers/static/node_modules/terser/node_modules/commander/package.json +38 -0
- handyhelpers/static/node_modules/terser/node_modules/commander/typings/index.d.ts +310 -0
- handyhelpers/static/node_modules/terser/package.json +153 -0
- handyhelpers/static/node_modules/terser/tools/domprops.js +9026 -0
- handyhelpers/static/node_modules/terser/tools/exit.cjs +7 -0
- handyhelpers/static/node_modules/terser/tools/props.html +68 -0
- handyhelpers/static/node_modules/terser/tools/terser.d.ts +216 -0
- handyhelpers/static/node_modules/tippy.js/LICENSE +21 -0
- handyhelpers/static/node_modules/tippy.js/README.md +63 -0
- handyhelpers/static/node_modules/tippy.js/animations/perspective-extreme.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/perspective-subtle.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/perspective.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/scale-extreme.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/scale-subtle.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/scale.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/shift-away-extreme.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/shift-away-subtle.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/shift-away.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/shift-toward-extreme.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/shift-toward-subtle.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/shift-toward.css +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/backdrop.css +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/border.css +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/svg-arrow.css +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy-bundle.umd.js +2516 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy-bundle.umd.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy-bundle.umd.min.js +2 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy-bundle.umd.min.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.cjs.js +2497 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.cjs.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.css +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.esm.js +2486 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.esm.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.umd.js +2496 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.umd.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.umd.min.js +2 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.umd.min.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.cjs.js +2388 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.cjs.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.esm.js +2377 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.esm.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.umd.js +2382 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.umd.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.umd.min.js +2 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.umd.min.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/headless/package.json +16 -0
- handyhelpers/static/node_modules/tippy.js/index.d.ts +260 -0
- handyhelpers/static/node_modules/tippy.js/package.json +157 -0
- handyhelpers/static/node_modules/tippy.js/themes/light-border.css +1 -0
- handyhelpers/static/node_modules/tippy.js/themes/light.css +1 -0
- handyhelpers/static/node_modules/tippy.js/themes/material.css +1 -0
- handyhelpers/static/node_modules/tippy.js/themes/translucent.css +1 -0
- handyhelpers/static/node_modules/try-catch/ChangeLog +55 -0
- handyhelpers/static/node_modules/try-catch/LICENSE +21 -0
- handyhelpers/static/node_modules/try-catch/README.md +38 -0
- handyhelpers/static/node_modules/try-catch/package.json +34 -0
- handyhelpers/static/node_modules/try-to-catch/ChangeLog +64 -0
- handyhelpers/static/node_modules/try-to-catch/LICENSE +21 -0
- handyhelpers/static/node_modules/try-to-catch/README.md +74 -0
- handyhelpers/static/node_modules/try-to-catch/package.json +47 -0
- handyhelpers/static/node_modules/tslib/CopyrightNotice.txt +15 -0
- handyhelpers/static/node_modules/tslib/LICENSE.txt +12 -0
- handyhelpers/static/node_modules/tslib/README.md +164 -0
- handyhelpers/static/node_modules/tslib/SECURITY.md +41 -0
- handyhelpers/static/node_modules/tslib/modules/index.d.ts +38 -0
- handyhelpers/static/node_modules/tslib/modules/index.js +70 -0
- handyhelpers/static/node_modules/tslib/modules/package.json +3 -0
- handyhelpers/static/node_modules/tslib/package.json +47 -0
- handyhelpers/static/node_modules/tslib/tslib.d.ts +460 -0
- handyhelpers/static/node_modules/tslib/tslib.es6.html +1 -0
- handyhelpers/static/node_modules/tslib/tslib.es6.js +402 -0
- handyhelpers/static/node_modules/tslib/tslib.es6.mjs +401 -0
- handyhelpers/static/node_modules/tslib/tslib.html +1 -0
- handyhelpers/static/node_modules/tslib/tslib.js +484 -0
- handyhelpers/static/node_modules/uglify-js/LICENSE +29 -0
- handyhelpers/static/node_modules/uglify-js/README.md +1479 -0
- handyhelpers/static/node_modules/uglify-js/bin/uglifyjs +624 -0
- handyhelpers/static/node_modules/uglify-js/package.json +56 -0
- handyhelpers/static/node_modules/uglify-js/tools/domprops.html +456 -0
- handyhelpers/static/node_modules/uglify-js/tools/domprops.json +8327 -0
- handyhelpers/static/node_modules/uglify-js/tools/exports.js +8 -0
- handyhelpers/static/node_modules/uglify-js/tools/node.js +115 -0
- handyhelpers/static/node_modules/uglify-js/tools/tty.js +22 -0
- handyhelpers/static/node_modules/unicorn-magic/default.js +14 -0
- handyhelpers/static/node_modules/unicorn-magic/index.d.ts +29 -0
- handyhelpers/static/node_modules/unicorn-magic/license +9 -0
- handyhelpers/static/node_modules/unicorn-magic/node.js +7 -0
- handyhelpers/static/node_modules/unicorn-magic/package.json +49 -0
- handyhelpers/static/node_modules/unicorn-magic/readme.md +25 -0
- handyhelpers/static/node_modules/yocto-queue/index.d.ts +61 -0
- handyhelpers/static/node_modules/yocto-queue/index.js +78 -0
- handyhelpers/static/node_modules/yocto-queue/license +9 -0
- handyhelpers/static/node_modules/yocto-queue/package.json +48 -0
- handyhelpers/static/node_modules/yocto-queue/readme.md +70 -0
- handyhelpers/static/package.json +3 -1
- handyhelpers/static/yarn.lock +393 -20
- handyhelpers/templates/handyhelpers/generic/bs5/generic_index.html +5 -8
- handyhelpers/templates/handyhelpers/handyhelpers_base_bs5.htm +5 -1
- handyhelpers/templates/handyhelpers/handyhelpers_with_sidebar.htm +50 -3
- handyhelpers/templates/handyhelpers/htmx/bs5/filter_form/generic_modal_swap.htm +48 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/form/form_wrapper.htm +48 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/form/inline_form.htm +166 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/form/inline_form_disabled.htm +125 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/generic_modal_swap.htm +2 -3
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/content_title.htm +38 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/controls.htm +21 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/examples/card.htm +17 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/examples/list.htm +11 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/examples/table.htm +21 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/filter_form_modal_swap.htm +48 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/full.html +6 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/wrapper_card.htm +7 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/wrapper_list.htm +7 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/wrapper_minimal.htm +7 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/wrapper_table.htm +18 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/index.htm +34 -0
- handyhelpers/templates/handyhelpers/report/annual_stats.html +6 -0
- handyhelpers/templates/handyhelpers/report/annual_stats_content.htm +43 -0
- handyhelpers/templates/handyhelpers/report/chartjs/annual_progress_chart.htm +1 -1
- handyhelpers/templates/handyhelpers/report/chartjs/annual_progress_content.htm +40 -39
- handyhelpers/templates/handyhelpers/report/chartjs/annual_stats.html +25 -36
- handyhelpers/templates/handyhelpers/report/chartjs/annual_trends_content.htm +35 -34
- handyhelpers/templates/handyhelpers/report/chartjs/day_count_chart.htm +1 -1
- handyhelpers/templates/handyhelpers/report/chartjs/month_count_chart.htm +1 -1
- handyhelpers/templates/handyhelpers/report/chartjs/week_count_chart.htm +1 -1
- handyhelpers/templates/handyhelpers/report/chartjs/year_count_chart.htm +1 -1
- handyhelpers/templatetags/form_tags.py +47 -0
- handyhelpers/templatetags/htmx_tags.py +21 -0
- handyhelpers/views/action.py +3 -1
- handyhelpers/views/calendar.py +33 -14
- handyhelpers/views/htmx.py +396 -4
- handyhelpers/views/report.py +12 -5
- handyhelpers/management/commands/generate_admin.py +0 -110
- handyhelpers/static/node_modules/@popperjs/core/dist/esm/utils/format.js +0 -9
- handyhelpers/static/node_modules/@popperjs/core/dist/esm/utils/validateModifiers.js +0 -81
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/format.d.ts +0 -1
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/format.js +0 -9
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/format.js.flow +0 -5
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/validateModifiers.d.ts +0 -1
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/validateModifiers.js +0 -81
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/validateModifiers.js.flow +0 -151
- {django_handyhelpers-0.3.20.dist-info → django_handyhelpers-0.3.36.dist-info}/LICENSE +0 -0
- {django_handyhelpers-0.3.20.dist-info → django_handyhelpers-0.3.36.dist-info}/top_level.txt +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
.icons-container{position:fixed;top:0;left:0;width:100%;height:100%;background-size:cover;z-index:-1;overflow:clip;padding:3rem}.icon{position:absolute;color:rgba(255,255,255,.1);opacity:.1;font-size:2rem;margin:3rem}@keyframes glow{0%{opacity:.4;transform:scale(.75)}50%{opacity:.4;text-shadow:none;transform:scale(1.25)}100%{opacity:.4;transform:scale(.75);text-shadow:0 0 10px var(--light,#fff)}}
|
@@ -0,0 +1 @@
|
|
1
|
+
.blur-group-container{pointer-events:none}.blur-group-container>*{pointer-events:auto;transition:.4s}.blur-group-container:focus-within>*,.blur-group-container:hover>*{opacity:.3;filter:blur(2px)}.blur-group-container:focus-within>:focus,.blur-group-container:hover>:hover{opacity:1;outline:0;filter:blur(0px);transform:scale(1.1)}
|
@@ -0,0 +1 @@
|
|
1
|
+
@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn var(--fade-duration,1s) ease-in-out;-webkit-animation:fadeIn var(--fade-duration,1s) ease-in-out;-moz-animation:fadeIn var(--fade-duration,1s) ease-in-out;-o-animation:fadeIn var(--fade-duration,1s) ease-in-out;-ms-animation:fadeIn var(--fade-duration,1s) ease-in-out;opacity:1}@keyframes fadeInBlur{from{opacity:0;filter:blur(10px)}to{opacity:1;filter:blur(0)}}.fade-in-blur{animation:fadeInBlur var(--fade-duration,1s) ease-in-out;-webkit-animation:fadeInBlur var(--fade-duration,1s) ease-in-out;-moz-animation:fadeInBlur var(--fade-duration,1s) ease-in-out;-o-animation:fadeInBlur var(--fade-duration,1s) ease-in-out;-ms-animation:fadeInBlur var(--fade-duration,1s) ease-in-out;opacity:1;filter:blur(0)}.fade-in-from-bottom{animation:fade-in-from-bottom linear;-moz-animation:fade-in-from-bottom linear;animation-range:entry 0% entry 125%;animation-timeline:view()}.fade-in-from-left{animation:fade-in-from-left linear;animation-range:entry 0% entry 150%;animation-timeline:view()}.fade-in-from-right{animation:fade-in-from-right linear;animation-range:entry 0% entry 150%;animation-timeline:view()}@keyframes fade-in-from-bottom{0%{opacity:0;transform:translateY(100px)}100%{opacity:1;transform:translateX(0)}}@keyframes fade-in-from-left{0%{opacity:0;transform:translateX(-100px)}100%{opacity:1;transform:translateX(0)}}@keyframes fade-in-from-right{0%{opacity:0;transform:translateX(100px)}100%{opacity:1;transform:translateX(0)}}
|
@@ -0,0 +1 @@
|
|
1
|
+
.marquee-wrapper{margin:2rem;padding:2rem;width:95%;max-width:95%;margin-inline:auto;min-height:calc(var(--marquee-item-height,100px) + 4rem);position:relative;overflow-x:hidden;mask-image:linear-gradient(to right,rgba(0,0,0,0),rgba(0,0,0,1) 20%,rgba(0,0,0,1) 80%,rgba(0,0,0,0));display:flex}@keyframes scrollLeft{to{left:calc(var(--marquee-item-width,200px) * -1)}}@keyframes scrollRight{to{right:calc(var(--marquee-item-width,200px) * -1)}}.itemLeft,.itemRight{position:absolute;animation-timing-function:linear;animation-duration:var(--marquee-duration, 60s);animation-iteration-count:infinite}.itemLeft{animation-name:scrollLeft}.itemRight{animation-name:scrollRight}
|
@@ -0,0 +1 @@
|
|
1
|
+
:root{--primary:rgb(0, 0, 255)}.scroller-container{display:flex;justify-content:center;align-items:center;margin-left:2.5rem;margin-right:2.5rem}.scroller{margin-left:1rem;margin-right:1rem}.scroller__inner{padding-block:1rem;display:flex;flex-wrap:wrap;gap:1rem}.scroller[data-animated=true]{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,var(--light,rgb(255,255,255)) 20%,var(--light,rgb(255,255,255)) 80%,transparent);mask:linear-gradient(90deg,transparent,var(--light,rgb(255,255,255)) 20%,var(--light,rgb(255,255,255)) 80%,transparent)}.scroller[data-animated=true] .scroller__inner{width:max-content;flex-wrap:nowrap;animation:scroll var(--_animation-duration,40s) var(--_animation-direction,forwards) linear infinite}.scroller-nav{text-align:left;font-size:rem}.scroller-nav li{margin-right:1rem;display:inline}.scroller-nav a{text-decoration:none;transition:opacity .3s ease;color:var(--light,#fff);opacity:.5}.scroller-nav li a:hover{opacity:1}.scroller[data-animated=true] .scroller__inner[paused]{animation-play-state:paused}.scroller[data-direction=right]{--_animation-direction:reverse}.scroller[data-direction=left]{--_animation-direction:forwards}.scroller[data-speed=fast]{--_animation-duration:20s}.scroller[data-speed=slow]{--_animation-duration:60s}@keyframes scroll{to{transform:translate(calc(-50% - .5rem))}}a{text-decoration:none!important}.card{width:250px;height:125px;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:rgba(255,255,255,.1);border-radius:.5rem;box-shadow:0 .25rem 1rem -.25rem var(--light,#fff);text-align:center;color:var(--light,#fff);margin:.75rem;font-weight:700}.card-title{font-size:18px;margin-bottom:1rem;color:var(--light,#fff)}.card-subtitle{font-size:14px;color:var(--light,rgba(255,255,255,.5));margin-top:8px;font-weight:400}.card-secondary{font-size:10px;color:var(--light,rgba(255,255,255,.55));margin-top:8px;font-weight:400}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
// Importing CSS files
|
2
|
+
import './dist/css/background_icons.min.css';
|
3
|
+
import './dist/css/blur_group.min.css';
|
4
|
+
import './dist/css/fades.min.css';
|
5
|
+
import './dist/css/marquee.min.css';
|
6
|
+
import './dist/css/scroller.min.css';
|
7
|
+
|
8
|
+
// Import all scripts into a single object
|
9
|
+
import allScripts from './src/js';
|
10
|
+
|
11
|
+
// Log a message
|
12
|
+
console.log('Fun effects loaded!');
|
13
|
+
|
14
|
+
// Re-export the combined scripts object (optional)
|
15
|
+
export default allScripts;
|
@@ -0,0 +1 @@
|
|
1
|
+
function getRandomPosition(existingPositions,iconSize){var screenWidth=window.innerWidth;var screenHeight=window.innerHeight;var randomX,randomY;var overlap;do{randomX=Math.floor(Math.random()*(screenWidth-iconSize));randomY=Math.floor(Math.random()*(screenHeight-iconSize));overlap=existingPositions.some(pos=>{return randomX<pos.x+iconSize&&randomX+iconSize>pos.x&&randomY<pos.y+iconSize&&randomY+iconSize>pos.y})}while(overlap);return{x:randomX,y:randomY}}function createRandomIcons(numIcons){var iconsContainer=document.createElement("div");iconsContainer.classList.add("icons-container");var iconClasses=['<i class="fa-brands fa-python"></i>','<i class="fa-brands fa-golang"></i>','<i class="fa-brands fa-rust"></i>','<i class="fa-brands fa-microsoft"></i>','<i class="fa-solid fa-microchip"></i>','<i class="fa-brands fa-docker"></i>','<i class="fa-brands fa-github"></i>','<i class="fa-brands fa-git"></i>','<i class="fa-solid fa-code-branch"></i>','<i class="fa-solid fa-database"></i>','<i class="fa-solid fa-server"></i>','<i class="fa-brands fa-discord"></i>','<i class="fa-solid fa-code"></i>','<i class="fa-solid fa-network-wired"></i>','<i class="fa-brands fa-linkedin"></i>','<i class="fa-brands fa-aws"></i>','<i class="fa-brands fa-google"></i>','<i class="fa-brands fa-google-play"></i>','<i class="fa-brands fa-app-store-ios"></i>','<i class="fa-brands fa-html5"></i>','<i class="fa-brands fa-css3-alt"></i>','<i class="fa-brands fa-js"></i>','<i class="fa-brands fa-codepen"></i>','<i class="fa-solid fa-terminal"></i>','<i class="fa-brands fa-stack-overflow"></i>','<i class="fa-solid fa-layer-group"></i>','<i class="fa-solid fa-dharmachakra"></i>','<i class="fa-brands fa-python"></i>','<i class="fa-brands fa-golang"></i>','<i class="fa-brands fa-rust"></i>'];var usedIcons=[];var existingPositions=[];var iconSize=32+100;if(numIcons>iconClasses.length){numIcons=iconClasses.length}for(var i=0;i<numIcons;i++){var randomIconClass;do{randomIconClass=iconClasses[Math.floor(Math.random()*iconClasses.length)]}while(usedIcons.includes(randomIconClass));usedIcons.push(randomIconClass);var icon=document.createElement("div");icon.classList.add("icon");icon.innerHTML=randomIconClass;var randomPosition=getRandomPosition(existingPositions,iconSize);console.log(randomPosition);existingPositions.push(randomPosition);icon.style.top=randomPosition.y+"px";icon.style.left=randomPosition.x+"px";icon.style.animation="glow "+(Math.random()*20+10)+"s infinite alternate";iconsContainer.appendChild(icon)}document.body.appendChild(iconsContainer)}function isMobile(){return window.innerWidth<=768}document.addEventListener("DOMContentLoaded",()=>{if(!isMobile()){createRandomIcons(20)}});
|
@@ -0,0 +1 @@
|
|
1
|
+
function addAnimationDelay(){const wrappers=document.querySelectorAll(".marquee-wrapper");wrappers.forEach(wrapper=>{const elements=Array.from(wrapper.children);const totalElements=elements.length;const computedStyles=window.getComputedStyle(wrapper);const marqueeDuration=computedStyles.getPropertyValue("--marquee-duration");elements.forEach((element,index)=>{const n=index+1;const animationDelay=`calc(${marqueeDuration} / ${totalElements} * (${totalElements} - ${n}) * -1)`;element.style.animationDelay=animationDelay})})}function setRightProperty(){const wrappers=document.querySelectorAll(".marquee-wrapper");wrappers.forEach(wrapper=>{const itemRightElements=wrapper.querySelectorAll(".itemRight");const totalRightItems=itemRightElements.length;const computedStyles=window.getComputedStyle(wrapper);const marqueeItemWidth=computedStyles.getPropertyValue("--marquee-item-width");itemRightElements.forEach((element,index)=>{element.style.right=`max(calc(${marqueeItemWidth} * ${totalRightItems}), calc(100% + ${marqueeItemWidth}))`})})}function setLeftProperty(){const wrappers=document.querySelectorAll(".marquee-wrapper");wrappers.forEach(wrapper=>{const itemLeftElements=wrapper.querySelectorAll(".itemLeft");const totalLeftItems=itemLeftElements.length;const computedStyles=window.getComputedStyle(wrapper);const marqueeItemWidth=computedStyles.getPropertyValue("--marquee-item-width");itemLeftElements.forEach((element,index)=>{element.style.left=`max(calc(${marqueeItemWidth} * ${totalLeftItems}), calc(100% + ${marqueeItemWidth}))`})})}function addMarqueeMouseListener(){const marqueeWrappers=document.querySelectorAll(".marquee-wrapper");marqueeWrappers.forEach(wrapper=>{wrapper.addEventListener("mouseenter",()=>{wrapper.childNodes.forEach(child=>{if(child.nodeType===Node.ELEMENT_NODE){child.style.animationPlayState="paused"}})});wrapper.addEventListener("mouseleave",()=>{wrapper.childNodes.forEach(child=>{if(child.nodeType===Node.ELEMENT_NODE){child.style.animationPlayState="running"}})})})}document.addEventListener("DOMContentLoaded",()=>{addAnimationDelay();setRightProperty();setLeftProperty();addMarqueeMouseListener()});
|
@@ -0,0 +1 @@
|
|
1
|
+
document.addEventListener("DOMContentLoaded",function(){const scrollers=document.querySelectorAll(".scroller");if(!window.matchMedia("(prefers-reduced-motion: reduce)").matches){addAnimation()}function addAnimation(){scrollers.forEach(scroller=>{scroller.setAttribute("data-animated",true);const scrollerInner=scroller.querySelector(".scroller__inner");const scrollerContent=Array.from(scrollerInner.children);scrollerContent.forEach(item=>{const duplicatedItem=item.cloneNode(true);duplicatedItem.setAttribute("aria-hidden",true);scrollerInner.appendChild(duplicatedItem)});scrollerInner.addEventListener("mouseenter",()=>{scrollerInner.setAttribute("paused","")});scrollerInner.addEventListener("mouseleave",()=>{scrollerInner.removeAttribute("paused")})})}});
|
@@ -0,0 +1,39 @@
|
|
1
|
+
{
|
2
|
+
"name": "fun-effects",
|
3
|
+
"version": "0.0.2",
|
4
|
+
"description": "A collecction of css and javascript effects",
|
5
|
+
"main": "dist/index.min.js",
|
6
|
+
"scripts": {
|
7
|
+
"build": "npm run build-css && npm run build-js",
|
8
|
+
"build-css": "postcss src/css/scroller.css -o dist/css/scroller.min.css",
|
9
|
+
"build-js": "terser src/js/scroller.js -o dist/js/scroller.min.js",
|
10
|
+
"prebuild": "mkdir -p dist/css dist/js"
|
11
|
+
},
|
12
|
+
"devDependencies": {
|
13
|
+
"eslint": "^9.5.0",
|
14
|
+
"postcss-cli": "^11.0.0",
|
15
|
+
"terser": "^5.31.1"
|
16
|
+
},
|
17
|
+
"repository": {
|
18
|
+
"type": "git",
|
19
|
+
"url": "git+https://github.com/davidslusser/fun-effects.git"
|
20
|
+
},
|
21
|
+
"keywords": [
|
22
|
+
"scroller",
|
23
|
+
"css",
|
24
|
+
"javascript"
|
25
|
+
],
|
26
|
+
"author": "David Slusser",
|
27
|
+
"license": "GNU GENERAL PUBLIC LICENSE Version 3",
|
28
|
+
"files": [
|
29
|
+
"dist/",
|
30
|
+
"src/",
|
31
|
+
"README.md",
|
32
|
+
"LICENSE"
|
33
|
+
],
|
34
|
+
"dependencies": {
|
35
|
+
"clean-css": "^5.3.3",
|
36
|
+
"minify": "^11.2.1",
|
37
|
+
"uglify-js": "^3.18.0"
|
38
|
+
}
|
39
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
.icons-container {
|
2
|
+
position: fixed;
|
3
|
+
top: 0;
|
4
|
+
left: 0;
|
5
|
+
width: 100%;
|
6
|
+
height: 100%;
|
7
|
+
background-size: cover;
|
8
|
+
z-index: -1;
|
9
|
+
overflow: clip;
|
10
|
+
padding: 3rem;
|
11
|
+
}
|
12
|
+
|
13
|
+
.icon {
|
14
|
+
position: absolute;
|
15
|
+
color: rgba(255, 255, 255, 0.1);
|
16
|
+
opacity: .1;
|
17
|
+
font-size: 2rem;
|
18
|
+
margin: 3rem;
|
19
|
+
}
|
20
|
+
|
21
|
+
/* Animation for glowing effect */
|
22
|
+
@keyframes glow {
|
23
|
+
0% {
|
24
|
+
opacity: 0.4;
|
25
|
+
transform: scale(.75);
|
26
|
+
}
|
27
|
+
|
28
|
+
50% {
|
29
|
+
opacity: 0.4;
|
30
|
+
text-shadow: none;
|
31
|
+
transform: scale(1.25);
|
32
|
+
}
|
33
|
+
|
34
|
+
100% {
|
35
|
+
opacity: 0.4;
|
36
|
+
transform: scale(.75);
|
37
|
+
text-shadow: 0 0 10px var(--light, rgb(255, 255, 255));
|
38
|
+
}
|
39
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
.blur-group-container {
|
2
|
+
pointer-events: none;
|
3
|
+
}
|
4
|
+
|
5
|
+
.blur-group-container > * {
|
6
|
+
pointer-events: auto;
|
7
|
+
transition: .4s;
|
8
|
+
}
|
9
|
+
|
10
|
+
.blur-group-container:hover > *,
|
11
|
+
.blur-group-container:focus-within > * {
|
12
|
+
opacity: 0.3;
|
13
|
+
filter: blur(2px);
|
14
|
+
}
|
15
|
+
|
16
|
+
.blur-group-container:hover > :hover,
|
17
|
+
.blur-group-container:focus-within > :focus {
|
18
|
+
opacity: 1;
|
19
|
+
outline: none;
|
20
|
+
filter: blur(0px);
|
21
|
+
transform: scale(1.1);
|
22
|
+
}
|
@@ -0,0 +1,94 @@
|
|
1
|
+
|
2
|
+
/* Define the fade-in animation */
|
3
|
+
@keyframes fadeIn {
|
4
|
+
from {
|
5
|
+
opacity: 0;
|
6
|
+
}
|
7
|
+
to {
|
8
|
+
opacity: 1;
|
9
|
+
}
|
10
|
+
}
|
11
|
+
|
12
|
+
/* Apply the fade-in effect to the div */
|
13
|
+
.fade-in {
|
14
|
+
animation: fadeIn var(--fade-duration, 1s) ease-in-out; /* Use CSS variable with a default value */
|
15
|
+
-webkit-animation: fadeIn var(--fade-duration, 1s) ease-in-out; /* Safari and Chrome */
|
16
|
+
-moz-animation: fadeIn var(--fade-duration, 1s) ease-in-out; /* Firefox */
|
17
|
+
-o-animation: fadeIn var(--fade-duration, 1s) ease-in-out; /* Opera */
|
18
|
+
-ms-animation: fadeIn var(--fade-duration, 1s) ease-in-out; /* Internet Explorer */
|
19
|
+
opacity: 1; /* Ensures the div is visible after the animation */
|
20
|
+
}
|
21
|
+
|
22
|
+
|
23
|
+
/* Define the fade-in blur animation */
|
24
|
+
@keyframes fadeInBlur {
|
25
|
+
from {
|
26
|
+
opacity: 0;
|
27
|
+
filter: blur(10px); /* Start with a blur */
|
28
|
+
}
|
29
|
+
to {
|
30
|
+
opacity: 1;
|
31
|
+
filter: blur(0); /* End with no blur */
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
/* Apply the fade-in blur effect to the div */
|
36
|
+
.fade-in-blur {
|
37
|
+
animation: fadeInBlur var(--fade-duration, 1s) ease-in-out; /* Use CSS variable with a default value */
|
38
|
+
-webkit-animation: fadeInBlur var(--fade-duration, 1s) ease-in-out; /* Safari and Chrome */
|
39
|
+
-moz-animation: fadeInBlur var(--fade-duration, 1s) ease-in-out; /* Firefox */
|
40
|
+
-o-animation: fadeInBlur var(--fade-duration, 1s) ease-in-out; /* Opera */
|
41
|
+
-ms-animation: fadeInBlur var(--fade-duration, 1s) ease-in-out; /* Internet Explorer */
|
42
|
+
opacity: 1; /* Ensures the div is visible after the animation */
|
43
|
+
filter: blur(0); /* Ensures the div is not blurred after the animation */
|
44
|
+
}
|
45
|
+
|
46
|
+
.fade-in-from-bottom {
|
47
|
+
animation: fade-in-from-bottom linear;
|
48
|
+
-moz-animation: fade-in-from-bottom linear;
|
49
|
+
animation-range: entry 0% entry 125%;
|
50
|
+
animation-timeline: view();
|
51
|
+
}
|
52
|
+
.fade-in-from-left {
|
53
|
+
animation: fade-in-from-left linear;
|
54
|
+
animation-range: entry 0% entry 150%;
|
55
|
+
animation-timeline: view();
|
56
|
+
}
|
57
|
+
.fade-in-from-right {
|
58
|
+
animation: fade-in-from-right linear;
|
59
|
+
animation-range: entry 0% entry 150%;
|
60
|
+
animation-timeline: view();
|
61
|
+
}
|
62
|
+
|
63
|
+
@keyframes fade-in-from-bottom {
|
64
|
+
0% {
|
65
|
+
opacity: 0;
|
66
|
+
transform: translateY(100px);
|
67
|
+
}
|
68
|
+
100% {
|
69
|
+
opacity: 1;
|
70
|
+
transform: translateX(0);
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
@keyframes fade-in-from-left {
|
75
|
+
0% {
|
76
|
+
opacity: 0;
|
77
|
+
transform: translateX(-100px);
|
78
|
+
}
|
79
|
+
100% {
|
80
|
+
opacity: 1;
|
81
|
+
transform: translateX(0);
|
82
|
+
}
|
83
|
+
}
|
84
|
+
|
85
|
+
@keyframes fade-in-from-right {
|
86
|
+
0% {
|
87
|
+
opacity: 0;
|
88
|
+
transform: translateX(100px);
|
89
|
+
}
|
90
|
+
100% {
|
91
|
+
opacity: 1;
|
92
|
+
transform: translateX(0);
|
93
|
+
}
|
94
|
+
}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
|
2
|
+
.marquee-wrapper {
|
3
|
+
margin: 2rem;
|
4
|
+
padding: 2rem;
|
5
|
+
width: 95%;
|
6
|
+
max-width: 95%;
|
7
|
+
margin-inline: auto;
|
8
|
+
min-height: calc(var(--marquee-item-height, 100px) + 4rem);
|
9
|
+
position: relative;
|
10
|
+
overflow-x: hidden;
|
11
|
+
mask-image: linear-gradient(to right,rgba(0, 0, 0, 0),rgba(0, 0, 0, 1) 20%,rgba(0, 0, 0, 1) 80%, rgba(0, 0, 0, 0));
|
12
|
+
display: flex;
|
13
|
+
}
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
@keyframes scrollLeft {
|
18
|
+
to {
|
19
|
+
left: calc(var(--marquee-item-width, 200px) * -1);
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
@keyframes scrollRight {
|
24
|
+
to {
|
25
|
+
right: calc(var(--marquee-item-width, 200px) * -1);
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
.itemLeft,
|
30
|
+
.itemRight {
|
31
|
+
position: absolute;
|
32
|
+
animation-timing-function: linear;
|
33
|
+
animation-duration: var(--marquee-duration, 60s);
|
34
|
+
animation-iteration-count: infinite;
|
35
|
+
}
|
36
|
+
|
37
|
+
.itemLeft {
|
38
|
+
/* left: max(calc(200px * 10), calc(100% + 200px)); */
|
39
|
+
animation-name: scrollLeft;
|
40
|
+
}
|
41
|
+
|
42
|
+
.itemRight {
|
43
|
+
/* right: max(calc(200px * 8), calc(100% + 200px)); */
|
44
|
+
animation-name: scrollRight;
|
45
|
+
}
|
@@ -0,0 +1,144 @@
|
|
1
|
+
/*
|
2
|
+
Color variables
|
3
|
+
|
4
|
+
:root {
|
5
|
+
--light: rgb(255, 255, 255);
|
6
|
+
--bg:
|
7
|
+
--primary: rgba(0,212,255,1)
|
8
|
+
}
|
9
|
+
*/
|
10
|
+
:root {
|
11
|
+
--primary: rgb(0, 0, 255);
|
12
|
+
}
|
13
|
+
|
14
|
+
|
15
|
+
.scroller-container {
|
16
|
+
display: flex;
|
17
|
+
justify-content: center;
|
18
|
+
align-items: center;
|
19
|
+
margin-left: 2.5rem;
|
20
|
+
margin-right: 2.5rem;
|
21
|
+
}
|
22
|
+
|
23
|
+
.scroller {
|
24
|
+
margin-left: 1rem;
|
25
|
+
margin-right: 1rem;
|
26
|
+
}
|
27
|
+
|
28
|
+
.scroller__inner {
|
29
|
+
padding-block: 1rem;
|
30
|
+
display: flex;
|
31
|
+
flex-wrap: wrap;
|
32
|
+
gap: 1rem;
|
33
|
+
}
|
34
|
+
|
35
|
+
.scroller[data-animated="true"] {
|
36
|
+
overflow: hidden;
|
37
|
+
-webkit-mask: linear-gradient(
|
38
|
+
90deg,
|
39
|
+
transparent,
|
40
|
+
var(--light, rgb(255, 255, 255)) 20%,
|
41
|
+
var(--light, rgb(255, 255, 255)) 80%,
|
42
|
+
transparent
|
43
|
+
);
|
44
|
+
mask: linear-gradient(90deg, transparent, var(--light, rgb(255, 255, 255)) 20%, var(--light, rgb(255, 255, 255)) 80%, transparent);
|
45
|
+
}
|
46
|
+
|
47
|
+
.scroller[data-animated="true"] .scroller__inner {
|
48
|
+
width: max-content;
|
49
|
+
flex-wrap: nowrap;
|
50
|
+
animation: scroll var(--_animation-duration, 40s)
|
51
|
+
var(--_animation-direction, forwards) linear infinite;
|
52
|
+
}
|
53
|
+
|
54
|
+
|
55
|
+
.scroller-nav {
|
56
|
+
text-align: left;
|
57
|
+
font-size: rem;
|
58
|
+
/* padding-left: 3rem;
|
59
|
+
padding-left: 3rem; */
|
60
|
+
}
|
61
|
+
.scroller-nav li {
|
62
|
+
margin-right: 1rem;
|
63
|
+
display: inline;
|
64
|
+
}
|
65
|
+
.scroller-nav a {
|
66
|
+
text-decoration: none;
|
67
|
+
transition: opacity 0.3s ease;
|
68
|
+
color: var(--light, rgb(255, 255, 255));
|
69
|
+
opacity: .5;
|
70
|
+
}
|
71
|
+
.scroller-nav li a:hover {
|
72
|
+
opacity: 1;
|
73
|
+
}
|
74
|
+
|
75
|
+
|
76
|
+
.scroller[data-animated="true"] .scroller__inner[paused] {
|
77
|
+
animation-play-state: paused;
|
78
|
+
}
|
79
|
+
|
80
|
+
.scroller[data-direction="right"] {
|
81
|
+
--_animation-direction: reverse;
|
82
|
+
}
|
83
|
+
|
84
|
+
.scroller[data-direction="left"] {
|
85
|
+
--_animation-direction: forwards;
|
86
|
+
}
|
87
|
+
|
88
|
+
.scroller[data-speed="fast"] {
|
89
|
+
--_animation-duration: 20s;
|
90
|
+
}
|
91
|
+
|
92
|
+
.scroller[data-speed="slow"] {
|
93
|
+
--_animation-duration: 60s;
|
94
|
+
}
|
95
|
+
|
96
|
+
|
97
|
+
@keyframes scroll {
|
98
|
+
to {
|
99
|
+
transform: translate(calc(-50% - 0.5rem));
|
100
|
+
}
|
101
|
+
}
|
102
|
+
|
103
|
+
a {
|
104
|
+
text-decoration: none !important;
|
105
|
+
}
|
106
|
+
|
107
|
+
.card {
|
108
|
+
width: 250px;
|
109
|
+
height: 125px;
|
110
|
+
display: flex;
|
111
|
+
flex-direction: column;
|
112
|
+
justify-content: center;
|
113
|
+
align-items: center;
|
114
|
+
background-color: rgba(255, 255, 255, 0.1);
|
115
|
+
border-radius: 0.5rem;
|
116
|
+
box-shadow: 0rem 0.25rem 1rem -0.25rem var(--light, rgb(255, 255, 255));
|
117
|
+
text-align: center;
|
118
|
+
color: var(--light, rgb(255, 255, 255));
|
119
|
+
margin: .75rem;
|
120
|
+
font-weight: bold;
|
121
|
+
}
|
122
|
+
|
123
|
+
/* Main content styles */
|
124
|
+
.card-title {
|
125
|
+
font-size: 18px;
|
126
|
+
margin-bottom: 1rem;
|
127
|
+
color: var(--light, rgb(255, 255, 255));
|
128
|
+
}
|
129
|
+
|
130
|
+
/* Subtitle styles */
|
131
|
+
.card-subtitle {
|
132
|
+
font-size: 14px;
|
133
|
+
color: var(--light, rgba(255, 255, 255, 0.5));
|
134
|
+
margin-top: 8px;
|
135
|
+
font-weight: normal;
|
136
|
+
}
|
137
|
+
|
138
|
+
/* Subtitle styles */
|
139
|
+
.card-secondary {
|
140
|
+
font-size: 10px;
|
141
|
+
color: var(--light, rgba(255, 255, 255, 0.55));
|
142
|
+
margin-top: 8px;
|
143
|
+
font-weight: normal;
|
144
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
// Importing CSS files
|
2
|
+
import './src/css/background_icons.css';
|
3
|
+
import './src/css/blur_group.css';
|
4
|
+
import './src/css/fades.css';
|
5
|
+
import './src/css/marquee.css';
|
6
|
+
import './src/css/scroller.css';
|
7
|
+
|
8
|
+
// Import all scripts into a single object
|
9
|
+
import allScripts from './src/js';
|
10
|
+
|
11
|
+
// Log a message
|
12
|
+
console.log('Fun effects loaded!');
|
13
|
+
|
14
|
+
// Re-export the combined scripts object (optional)
|
15
|
+
export default allScripts;
|
@@ -0,0 +1,101 @@
|
|
1
|
+
// Function to generate random position
|
2
|
+
function getRandomPosition(existingPositions, iconSize) {
|
3
|
+
var screenWidth = window.innerWidth;
|
4
|
+
var screenHeight = window.innerHeight;
|
5
|
+
var randomX, randomY;
|
6
|
+
var overlap;
|
7
|
+
|
8
|
+
do {
|
9
|
+
randomX = Math.floor(Math.random() * (screenWidth - iconSize));
|
10
|
+
randomY = Math.floor(Math.random() * (screenHeight - iconSize));
|
11
|
+
overlap = existingPositions.some((pos) => {
|
12
|
+
return (
|
13
|
+
randomX < pos.x + iconSize &&
|
14
|
+
randomX + iconSize > pos.x &&
|
15
|
+
randomY < pos.y + iconSize &&
|
16
|
+
randomY + iconSize > pos.y
|
17
|
+
);
|
18
|
+
});
|
19
|
+
} while (overlap);
|
20
|
+
|
21
|
+
return { x: randomX, y: randomY };
|
22
|
+
}
|
23
|
+
|
24
|
+
// Function to create random icons
|
25
|
+
function createRandomIcons(numIcons) {
|
26
|
+
var iconsContainer = document.createElement("div");
|
27
|
+
iconsContainer.classList.add("icons-container");
|
28
|
+
var iconClasses = [
|
29
|
+
'<i class="fa-brands fa-python"></i>',
|
30
|
+
'<i class="fa-brands fa-golang"></i>',
|
31
|
+
'<i class="fa-brands fa-rust"></i>',
|
32
|
+
'<i class="fa-brands fa-microsoft"></i>',
|
33
|
+
'<i class="fa-solid fa-microchip"></i>',
|
34
|
+
'<i class="fa-brands fa-docker"></i>',
|
35
|
+
'<i class="fa-brands fa-github"></i>',
|
36
|
+
'<i class="fa-brands fa-git"></i>',
|
37
|
+
'<i class="fa-solid fa-code-branch"></i>',
|
38
|
+
'<i class="fa-solid fa-database"></i>',
|
39
|
+
'<i class="fa-solid fa-server"></i>',
|
40
|
+
'<i class="fa-brands fa-discord"></i>',
|
41
|
+
'<i class="fa-solid fa-code"></i>',
|
42
|
+
'<i class="fa-solid fa-network-wired"></i>',
|
43
|
+
'<i class="fa-brands fa-linkedin"></i>',
|
44
|
+
'<i class="fa-brands fa-aws"></i>',
|
45
|
+
'<i class="fa-brands fa-google"></i>',
|
46
|
+
'<i class="fa-brands fa-google-play"></i>',
|
47
|
+
'<i class="fa-brands fa-app-store-ios"></i>',
|
48
|
+
'<i class="fa-brands fa-html5"></i>',
|
49
|
+
'<i class="fa-brands fa-css3-alt"></i>',
|
50
|
+
'<i class="fa-brands fa-js"></i>',
|
51
|
+
'<i class="fa-brands fa-codepen"></i>',
|
52
|
+
'<i class="fa-solid fa-terminal"></i>',
|
53
|
+
'<i class="fa-brands fa-stack-overflow"></i>',
|
54
|
+
'<i class="fa-solid fa-layer-group"></i>',
|
55
|
+
'<i class="fa-solid fa-dharmachakra"></i>',
|
56
|
+
'<i class="fa-brands fa-python"></i>',
|
57
|
+
'<i class="fa-brands fa-golang"></i>',
|
58
|
+
'<i class="fa-brands fa-rust"></i>',
|
59
|
+
];
|
60
|
+
var usedIcons = [];
|
61
|
+
var existingPositions = [];
|
62
|
+
var iconSize = 32 + 100; // Approximate size of the icon in pixels
|
63
|
+
|
64
|
+
if (numIcons > iconClasses.length) {
|
65
|
+
numIcons = iconClasses.length; // Ensure we don't try to use more icons than available
|
66
|
+
}
|
67
|
+
|
68
|
+
for (var i = 0; i < numIcons; i++) {
|
69
|
+
var randomIconClass;
|
70
|
+
do {
|
71
|
+
randomIconClass =
|
72
|
+
iconClasses[Math.floor(Math.random() * iconClasses.length)];
|
73
|
+
} while (usedIcons.includes(randomIconClass));
|
74
|
+
usedIcons.push(randomIconClass);
|
75
|
+
|
76
|
+
var icon = document.createElement("div");
|
77
|
+
icon.classList.add("icon");
|
78
|
+
icon.innerHTML = randomIconClass;
|
79
|
+
var randomPosition = getRandomPosition(existingPositions, iconSize);
|
80
|
+
console.log(randomPosition);
|
81
|
+
existingPositions.push(randomPosition);
|
82
|
+
icon.style.top = randomPosition.y + "px";
|
83
|
+
icon.style.left = randomPosition.x + "px";
|
84
|
+
icon.style.animation =
|
85
|
+
"glow " + (Math.random() * 20 + 10) + "s infinite alternate"; // Random duration for glow animation
|
86
|
+
iconsContainer.appendChild(icon);
|
87
|
+
}
|
88
|
+
document.body.appendChild(iconsContainer);
|
89
|
+
}
|
90
|
+
|
91
|
+
// Function to detect mobile devices
|
92
|
+
function isMobile() {
|
93
|
+
return window.innerWidth <= 768;
|
94
|
+
}
|
95
|
+
|
96
|
+
// Create random icons
|
97
|
+
document.addEventListener("DOMContentLoaded", () => {
|
98
|
+
if (!isMobile()) {
|
99
|
+
createRandomIcons(20);
|
100
|
+
}
|
101
|
+
});
|
@@ -0,0 +1,81 @@
|
|
1
|
+
function addAnimationDelay() {
|
2
|
+
const wrappers = document.querySelectorAll('.marquee-wrapper');
|
3
|
+
wrappers.forEach(wrapper => {
|
4
|
+
const elements = Array.from(wrapper.children);
|
5
|
+
const totalElements = elements.length;
|
6
|
+
const computedStyles = window.getComputedStyle(wrapper);
|
7
|
+
const marqueeDuration = computedStyles.getPropertyValue('--marquee-duration');
|
8
|
+
|
9
|
+
elements.forEach((element, index) => {
|
10
|
+
const n = index + 1;
|
11
|
+
const animationDelay = `calc(${marqueeDuration} / ${totalElements} * (${totalElements} - ${n}) * -1)`;
|
12
|
+
element.style.animationDelay = animationDelay;
|
13
|
+
});
|
14
|
+
});
|
15
|
+
}
|
16
|
+
|
17
|
+
|
18
|
+
function setRightProperty() {
|
19
|
+
const wrappers = document.querySelectorAll('.marquee-wrapper');
|
20
|
+
|
21
|
+
wrappers.forEach(wrapper => {
|
22
|
+
const itemRightElements = wrapper.querySelectorAll('.itemRight');
|
23
|
+
const totalRightItems = itemRightElements.length;
|
24
|
+
const computedStyles = window.getComputedStyle(wrapper);
|
25
|
+
const marqueeItemWidth = computedStyles.getPropertyValue('--marquee-item-width');
|
26
|
+
|
27
|
+
itemRightElements.forEach((element, index) => {
|
28
|
+
element.style.right = `max(calc(${marqueeItemWidth} * ${totalRightItems}), calc(100% + ${marqueeItemWidth}))`
|
29
|
+
});
|
30
|
+
});
|
31
|
+
}
|
32
|
+
|
33
|
+
|
34
|
+
function setLeftProperty() {
|
35
|
+
const wrappers = document.querySelectorAll('.marquee-wrapper');
|
36
|
+
|
37
|
+
wrappers.forEach(wrapper => {
|
38
|
+
const itemLeftElements = wrapper.querySelectorAll('.itemLeft');
|
39
|
+
const totalLeftItems = itemLeftElements.length;
|
40
|
+
const computedStyles = window.getComputedStyle(wrapper);
|
41
|
+
const marqueeItemWidth = computedStyles.getPropertyValue('--marquee-item-width');
|
42
|
+
|
43
|
+
itemLeftElements.forEach((element, index) => {
|
44
|
+
element.style.left = `max(calc(${marqueeItemWidth} * ${totalLeftItems}), calc(100% + ${marqueeItemWidth}))`
|
45
|
+
});
|
46
|
+
});
|
47
|
+
}
|
48
|
+
|
49
|
+
|
50
|
+
function addMarqueeMouseListener() {
|
51
|
+
const marqueeWrappers = document.querySelectorAll('.marquee-wrapper');
|
52
|
+
|
53
|
+
marqueeWrappers.forEach(wrapper => {
|
54
|
+
// Add event listener to the wrapper to handle mouseenter and mouseleave
|
55
|
+
wrapper.addEventListener('mouseenter', () => {
|
56
|
+
// Pause animation for all child elements
|
57
|
+
wrapper.childNodes.forEach(child => {
|
58
|
+
if (child.nodeType === Node.ELEMENT_NODE) {
|
59
|
+
child.style.animationPlayState = 'paused';
|
60
|
+
}
|
61
|
+
});
|
62
|
+
});
|
63
|
+
|
64
|
+
wrapper.addEventListener('mouseleave', () => {
|
65
|
+
// Resume animation for all child elements
|
66
|
+
wrapper.childNodes.forEach(child => {
|
67
|
+
if (child.nodeType === Node.ELEMENT_NODE) {
|
68
|
+
child.style.animationPlayState = 'running';
|
69
|
+
}
|
70
|
+
});
|
71
|
+
});
|
72
|
+
});
|
73
|
+
}
|
74
|
+
|
75
|
+
|
76
|
+
document.addEventListener('DOMContentLoaded', () => {
|
77
|
+
addAnimationDelay();
|
78
|
+
setRightProperty();
|
79
|
+
setLeftProperty();
|
80
|
+
addMarqueeMouseListener();
|
81
|
+
});
|