django-venobox 0.1.1__tar.gz

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.
@@ -0,0 +1,7 @@
1
+ Changes
2
+ -------
3
+
4
+ 0.1.0 (2026-09-08)
5
+ ~~~~~~~~~~~~~~~~~~
6
+
7
+ * Initial release.
@@ -0,0 +1,28 @@
1
+ Copyright (c) 2013-2015, Basil Shubin
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are
6
+ met:
7
+
8
+ * Redistributions of source code must retain the above copyright
9
+ notice, this list of conditions and the following disclaimer.
10
+ * Redistributions in binary form must reproduce the above
11
+ copyright notice, this list of conditions and the following
12
+ disclaimer in the documentation and/or other materials provided
13
+ with the distribution.
14
+ * Neither the name of the author nor the names of other
15
+ contributors may be used to endorse or promote products derived
16
+ from this software without specific prior written permission.
17
+
18
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,137 @@
1
+ Metadata-Version: 2.4
2
+ Name: django-venobox
3
+ Version: 0.1.1
4
+ Summary: Simple venobox modal for Django
5
+ Author-email: Basil Shubin <basil.shubin@gmail.com>
6
+ License-Expression: BSD-3-Clause
7
+ Project-URL: download, https://github.com/bashu/django-venobox/zipball/master
8
+ Project-URL: homepage, https://github.com/bashu/django-venobox/
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Environment :: Web Environment
11
+ Classifier: Framework :: Django
12
+ Classifier: Framework :: Django :: 5.2
13
+ Classifier: Framework :: Django :: 6.0
14
+ Classifier: Framework :: Django :: 6.1
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python
18
+ Classifier: Programming Language :: Python :: 3 :: Only
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: 3.14
24
+ Classifier: Topic :: Internet :: WWW/HTTP
25
+ Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
26
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
27
+ Requires-Python: >=3.10
28
+ Description-Content-Type: text/x-rst
29
+ License-File: LICENSE
30
+ Requires-Dist: django>=5.2
31
+ Dynamic: license-file
32
+
33
+ django-venobox
34
+ ===============
35
+
36
+
37
+ .. image:: https://badge.fury.io/py/django-venobox.svg
38
+ :target: https://badge.fury.io/py/django-venobox
39
+
40
+ .. image:: https://img.shields.io/pypi/pyversions/django-venobox.svg
41
+ :target: https://pypi.python.org/pypi/django-venobox/
42
+
43
+ .. image:: https://img.shields.io/pypi/djversions/django-venobox.svg
44
+ :target: https://pypi.python.org/pypi/django-venobox/
45
+
46
+ .. image:: https://github.com/bashu/django-venobox/actions/workflows/test.yml/badge.svg
47
+ :target: https://github.com/bashu/django-venobox/actions/workflows/test.yml
48
+
49
+ This is a Django_ integration of VenoBox_.
50
+
51
+ Installation
52
+ ------------
53
+
54
+ First install the module, preferably in a virtual environment. It can be installed from PyPI:
55
+
56
+ .. code-block:: shell
57
+
58
+ pip install django-venobox
59
+
60
+ Setup
61
+ -----
62
+
63
+ Add ``venobox`` to ``INSTALLED_APPS``:
64
+
65
+ .. code-block:: python
66
+
67
+ INSTALLED_APPS += (
68
+ 'venobox',
69
+ )
70
+
71
+ Be sure you have the ``django.template.context_processors.request`` processor
72
+
73
+ .. code-block:: python
74
+
75
+ TEMPLATES = [
76
+ {
77
+ ...
78
+ 'OPTIONS': {
79
+ 'context_processors': [
80
+ ...
81
+ 'django.template.context_processors.request',
82
+ ],
83
+ },
84
+ },
85
+ ]
86
+
87
+ and just include ``venobox`` templates
88
+
89
+ .. code-block:: html+django
90
+
91
+ {% include "venobox/venobox_css.html" %} {# Before the closing head tag #}
92
+ {% include "venobox/venobox_js.html" %} {# Before the closing body tag #}
93
+
94
+ When deploying on production server, don't forget to run :
95
+
96
+ .. code-block:: shell
97
+
98
+ python manage.py collectstatic
99
+
100
+ Usage
101
+ -----
102
+
103
+ Extend base template for ajax requests
104
+
105
+ .. code-block:: html+django
106
+
107
+ {% extends request.is_ajax|yesno:"venobox/base.html,base.html" %}
108
+
109
+ Add ``class="venobox"`` to a link, and set the href to a page you want to display
110
+
111
+ .. code-block:: html+django
112
+
113
+ <a data-vbtype="ajax" href="{% url 'remote.html' %}" class="venobox">Click here</a>
114
+
115
+ Please see ``example`` application. This application is used to manually test the functionalities of this package. This also serves as a good example.
116
+
117
+ Contributing
118
+ ------------
119
+
120
+ If you like this module, forked it, or would like to improve it, please let us know!
121
+ Pull requests are welcome too. :-)
122
+
123
+ License
124
+ -------
125
+
126
+ ``django-venobox`` is released under the BSD license.
127
+
128
+ .. _django: https://www.djangoproject.com/
129
+ .. _venobox: https://veno.es/venobox/
130
+
131
+ Changes
132
+ -------
133
+
134
+ 0.1.0 (2026-09-08)
135
+ ~~~~~~~~~~~~~~~~~~
136
+
137
+ * Initial release.
@@ -0,0 +1,97 @@
1
+ django-venobox
2
+ ===============
3
+
4
+
5
+ .. image:: https://badge.fury.io/py/django-venobox.svg
6
+ :target: https://badge.fury.io/py/django-venobox
7
+
8
+ .. image:: https://img.shields.io/pypi/pyversions/django-venobox.svg
9
+ :target: https://pypi.python.org/pypi/django-venobox/
10
+
11
+ .. image:: https://img.shields.io/pypi/djversions/django-venobox.svg
12
+ :target: https://pypi.python.org/pypi/django-venobox/
13
+
14
+ .. image:: https://github.com/bashu/django-venobox/actions/workflows/test.yml/badge.svg
15
+ :target: https://github.com/bashu/django-venobox/actions/workflows/test.yml
16
+
17
+ This is a Django_ integration of VenoBox_.
18
+
19
+ Installation
20
+ ------------
21
+
22
+ First install the module, preferably in a virtual environment. It can be installed from PyPI:
23
+
24
+ .. code-block:: shell
25
+
26
+ pip install django-venobox
27
+
28
+ Setup
29
+ -----
30
+
31
+ Add ``venobox`` to ``INSTALLED_APPS``:
32
+
33
+ .. code-block:: python
34
+
35
+ INSTALLED_APPS += (
36
+ 'venobox',
37
+ )
38
+
39
+ Be sure you have the ``django.template.context_processors.request`` processor
40
+
41
+ .. code-block:: python
42
+
43
+ TEMPLATES = [
44
+ {
45
+ ...
46
+ 'OPTIONS': {
47
+ 'context_processors': [
48
+ ...
49
+ 'django.template.context_processors.request',
50
+ ],
51
+ },
52
+ },
53
+ ]
54
+
55
+ and just include ``venobox`` templates
56
+
57
+ .. code-block:: html+django
58
+
59
+ {% include "venobox/venobox_css.html" %} {# Before the closing head tag #}
60
+ {% include "venobox/venobox_js.html" %} {# Before the closing body tag #}
61
+
62
+ When deploying on production server, don't forget to run :
63
+
64
+ .. code-block:: shell
65
+
66
+ python manage.py collectstatic
67
+
68
+ Usage
69
+ -----
70
+
71
+ Extend base template for ajax requests
72
+
73
+ .. code-block:: html+django
74
+
75
+ {% extends request.is_ajax|yesno:"venobox/base.html,base.html" %}
76
+
77
+ Add ``class="venobox"`` to a link, and set the href to a page you want to display
78
+
79
+ .. code-block:: html+django
80
+
81
+ <a data-vbtype="ajax" href="{% url 'remote.html' %}" class="venobox">Click here</a>
82
+
83
+ Please see ``example`` application. This application is used to manually test the functionalities of this package. This also serves as a good example.
84
+
85
+ Contributing
86
+ ------------
87
+
88
+ If you like this module, forked it, or would like to improve it, please let us know!
89
+ Pull requests are welcome too. :-)
90
+
91
+ License
92
+ -------
93
+
94
+ ``django-venobox`` is released under the BSD license.
95
+
96
+ .. _django: https://www.djangoproject.com/
97
+ .. _venobox: https://veno.es/venobox/
@@ -0,0 +1,137 @@
1
+ Metadata-Version: 2.4
2
+ Name: django-venobox
3
+ Version: 0.1.1
4
+ Summary: Simple venobox modal for Django
5
+ Author-email: Basil Shubin <basil.shubin@gmail.com>
6
+ License-Expression: BSD-3-Clause
7
+ Project-URL: download, https://github.com/bashu/django-venobox/zipball/master
8
+ Project-URL: homepage, https://github.com/bashu/django-venobox/
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Environment :: Web Environment
11
+ Classifier: Framework :: Django
12
+ Classifier: Framework :: Django :: 5.2
13
+ Classifier: Framework :: Django :: 6.0
14
+ Classifier: Framework :: Django :: 6.1
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python
18
+ Classifier: Programming Language :: Python :: 3 :: Only
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: 3.14
24
+ Classifier: Topic :: Internet :: WWW/HTTP
25
+ Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
26
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
27
+ Requires-Python: >=3.10
28
+ Description-Content-Type: text/x-rst
29
+ License-File: LICENSE
30
+ Requires-Dist: django>=5.2
31
+ Dynamic: license-file
32
+
33
+ django-venobox
34
+ ===============
35
+
36
+
37
+ .. image:: https://badge.fury.io/py/django-venobox.svg
38
+ :target: https://badge.fury.io/py/django-venobox
39
+
40
+ .. image:: https://img.shields.io/pypi/pyversions/django-venobox.svg
41
+ :target: https://pypi.python.org/pypi/django-venobox/
42
+
43
+ .. image:: https://img.shields.io/pypi/djversions/django-venobox.svg
44
+ :target: https://pypi.python.org/pypi/django-venobox/
45
+
46
+ .. image:: https://github.com/bashu/django-venobox/actions/workflows/test.yml/badge.svg
47
+ :target: https://github.com/bashu/django-venobox/actions/workflows/test.yml
48
+
49
+ This is a Django_ integration of VenoBox_.
50
+
51
+ Installation
52
+ ------------
53
+
54
+ First install the module, preferably in a virtual environment. It can be installed from PyPI:
55
+
56
+ .. code-block:: shell
57
+
58
+ pip install django-venobox
59
+
60
+ Setup
61
+ -----
62
+
63
+ Add ``venobox`` to ``INSTALLED_APPS``:
64
+
65
+ .. code-block:: python
66
+
67
+ INSTALLED_APPS += (
68
+ 'venobox',
69
+ )
70
+
71
+ Be sure you have the ``django.template.context_processors.request`` processor
72
+
73
+ .. code-block:: python
74
+
75
+ TEMPLATES = [
76
+ {
77
+ ...
78
+ 'OPTIONS': {
79
+ 'context_processors': [
80
+ ...
81
+ 'django.template.context_processors.request',
82
+ ],
83
+ },
84
+ },
85
+ ]
86
+
87
+ and just include ``venobox`` templates
88
+
89
+ .. code-block:: html+django
90
+
91
+ {% include "venobox/venobox_css.html" %} {# Before the closing head tag #}
92
+ {% include "venobox/venobox_js.html" %} {# Before the closing body tag #}
93
+
94
+ When deploying on production server, don't forget to run :
95
+
96
+ .. code-block:: shell
97
+
98
+ python manage.py collectstatic
99
+
100
+ Usage
101
+ -----
102
+
103
+ Extend base template for ajax requests
104
+
105
+ .. code-block:: html+django
106
+
107
+ {% extends request.is_ajax|yesno:"venobox/base.html,base.html" %}
108
+
109
+ Add ``class="venobox"`` to a link, and set the href to a page you want to display
110
+
111
+ .. code-block:: html+django
112
+
113
+ <a data-vbtype="ajax" href="{% url 'remote.html' %}" class="venobox">Click here</a>
114
+
115
+ Please see ``example`` application. This application is used to manually test the functionalities of this package. This also serves as a good example.
116
+
117
+ Contributing
118
+ ------------
119
+
120
+ If you like this module, forked it, or would like to improve it, please let us know!
121
+ Pull requests are welcome too. :-)
122
+
123
+ License
124
+ -------
125
+
126
+ ``django-venobox`` is released under the BSD license.
127
+
128
+ .. _django: https://www.djangoproject.com/
129
+ .. _venobox: https://veno.es/venobox/
130
+
131
+ Changes
132
+ -------
133
+
134
+ 0.1.0 (2026-09-08)
135
+ ~~~~~~~~~~~~~~~~~~
136
+
137
+ * Initial release.
@@ -0,0 +1,17 @@
1
+ CHANGES.rst
2
+ LICENSE
3
+ README.rst
4
+ pyproject.toml
5
+ django_venobox.egg-info/PKG-INFO
6
+ django_venobox.egg-info/SOURCES.txt
7
+ django_venobox.egg-info/dependency_links.txt
8
+ django_venobox.egg-info/not-zip-safe
9
+ django_venobox.egg-info/requires.txt
10
+ django_venobox.egg-info/top_level.txt
11
+ venobox/__init__.py
12
+ venobox/models.py
13
+ venobox/static/venobox/css/venobox.min.css
14
+ venobox/static/venobox/js/venobox.min.js
15
+ venobox/templates/venobox/base.html
16
+ venobox/templates/venobox/venobox_css.html
17
+ venobox/templates/venobox/venobox_js.html
@@ -0,0 +1 @@
1
+ django>=5.2
@@ -0,0 +1,184 @@
1
+ [build-system]
2
+ build-backend = "setuptools.build_meta"
3
+ requires = [ "setuptools>=61" ]
4
+
5
+ [project]
6
+ name = "django-venobox"
7
+ version = "0.1.1"
8
+ description = "Simple venobox modal for Django"
9
+ license = "BSD-3-Clause"
10
+ authors = [ { name = "Basil Shubin", email = "basil.shubin@gmail.com" } ]
11
+ requires-python = ">=3.10"
12
+ classifiers = [
13
+ "Development Status :: 5 - Production/Stable",
14
+ "Environment :: Web Environment",
15
+ "Framework :: Django",
16
+ "Framework :: Django :: 5.2",
17
+ "Framework :: Django :: 6.0",
18
+ "Framework :: Django :: 6.1",
19
+ "Intended Audience :: Developers",
20
+ "Operating System :: OS Independent",
21
+ "Programming Language :: Python",
22
+ "Programming Language :: Python :: 3 :: Only",
23
+ "Programming Language :: Python :: 3.10",
24
+ "Programming Language :: Python :: 3.11",
25
+ "Programming Language :: Python :: 3.12",
26
+ "Programming Language :: Python :: 3.13",
27
+ "Programming Language :: Python :: 3.14",
28
+ "Topic :: Internet :: WWW/HTTP",
29
+ "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
30
+ "Topic :: Software Development :: Libraries :: Python Modules",
31
+ ]
32
+ dynamic = [ "readme" ]
33
+ dependencies = [
34
+ "django>=5.2",
35
+ ]
36
+ urls.download = "https://github.com/bashu/django-venobox/zipball/master"
37
+ urls.homepage = "https://github.com/bashu/django-venobox/"
38
+
39
+ [dependency-groups]
40
+ dev = [
41
+ "coverage==7.16.0",
42
+ "django-stubs[compatible-mypy]==6.0.9",
43
+ "django-upgrade==1.32.0",
44
+ "djlint==1.45.2",
45
+ "factory-boy==3.3.3",
46
+ "mypy==2.3.1",
47
+ "pre-commit==4.6.2",
48
+ "pytest==9.1.1",
49
+ "pytest-django==4.14.0",
50
+ "pytest-sugar==1.1.1",
51
+ "ruff==0.16.6",
52
+ ]
53
+
54
+ [tool.setuptools]
55
+ packages.find.include = [ "venobox*" ]
56
+ packages.find.exclude = [ "venobox.tests*" ]
57
+ include-package-data = true
58
+ package-data.venobox = [ "static/**/*", "templates/**/*.html" ]
59
+ dynamic.readme = { file = [ "README.rst", "CHANGES.rst" ], content-type = "text/x-rst" }
60
+ zip-safe = false
61
+
62
+ # ==== djLint ====
63
+ [tool.djlint]
64
+ profile = "django"
65
+ include = "H017,H035"
66
+ indent = 2
67
+ max_line_length = 119
68
+ blank_line_after_tag = "load,extends"
69
+ close_void_tags = true
70
+ format_css = true
71
+ format_js = true
72
+ custom_blocks = "element,setvar,slot"
73
+ # TODO: remove T002 when fixed https://github.com/djlint/djLint/issues/687
74
+ ignore = "H006,H030,H031,T002"
75
+ css.indent_size = 2
76
+ js.indent_size = 2
77
+
78
+ # ==== ruff ====
79
+ [tool.ruff]
80
+ # Exclude a variety of commonly ignored directories.
81
+ extend-exclude = [
82
+ "*/migrations/*.py",
83
+ ]
84
+ lint.select = [
85
+ "A",
86
+ "ASYNC",
87
+ "B",
88
+ "BLE",
89
+ "C4",
90
+ "C90",
91
+ "COM",
92
+ "DJ",
93
+ "DTZ",
94
+ "E",
95
+ "EM",
96
+ "ERA",
97
+ "EXE",
98
+ "F",
99
+ "FA",
100
+ "FBT",
101
+ "FLY",
102
+ "G",
103
+ "I",
104
+ "ICN",
105
+ "INP",
106
+ "INT",
107
+ "ISC",
108
+ "N",
109
+ "PD",
110
+ "PERF",
111
+ "PGH",
112
+ "PIE",
113
+ "PL",
114
+ "PT",
115
+ "PTH",
116
+ "PYI",
117
+ "Q",
118
+ "RET",
119
+ "RSE",
120
+ "RUF",
121
+ "S",
122
+ "SIM",
123
+ "SLF",
124
+ "SLOT",
125
+ "T10",
126
+ "T20",
127
+ "TC",
128
+ "TID",
129
+ "TRY",
130
+ "UP",
131
+ "W",
132
+ "YTT",
133
+ ]
134
+ lint.ignore = [
135
+ "RUF012", # Mutable class attributes should be annotated with `typing.ClassVar`
136
+ "S101", # Use of assert detected https://docs.astral.sh/ruff/rules/assert/
137
+ "SIM102", # sometimes it's better to nest
138
+ # of types for comparison.
139
+ # Deactivated because it can make the code slow:
140
+ # https://github.com/astral-sh/ruff/issues/7871
141
+ ]
142
+ lint.isort.default-section = "third-party"
143
+ lint.isort.force-single-line = true
144
+ lint.isort.known-first-party = [ "venobox" ]
145
+ lint.isort.section-order = [ "future", "standard-library", "django", "third-party", "first-party", "local-folder" ]
146
+ lint.isort.sections.django = [ "django" ]
147
+
148
+ # ==== pyproject-fmt ====
149
+ [tool.pyproject-fmt]
150
+ keep_full_version = true
151
+
152
+ # ==== mypy ====
153
+ [tool.mypy]
154
+ ignore_missing_imports = true
155
+ python_version = "3.14"
156
+ check_untyped_defs = true
157
+ warn_redundant_casts = true
158
+ warn_unused_ignores = true
159
+ plugins = [
160
+ "mypy_django_plugin.main",
161
+ ]
162
+ warn_unused_configs = true
163
+ overrides = [
164
+ # Django migrations should not produce any errors:
165
+ { module = "*.migrations.*", ignore_errors = true },
166
+ ]
167
+
168
+ [tool.django-stubs]
169
+ django_settings_module = "venobox.tests.settings"
170
+
171
+ [tool.pytest]
172
+ ini_options.minversion = "6.0"
173
+ ini_options.python_files = [
174
+ "test_*.py",
175
+ "tests.py",
176
+ ]
177
+ # ==== pytest ====
178
+ ini_options.addopts = [ "--ds=venobox.tests.settings", "--reuse-db", "--import-mode=importlib" ]
179
+
180
+ # ==== Coverage ====
181
+ [tool.coverage]
182
+ run.source = [ "venobox" ]
183
+ run.omit = [ "*/migrations/*", "*/tests/*" ]
184
+ run.relative_files = true
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
File without changes
File without changes
@@ -0,0 +1,2 @@
1
+ .vbox-overlay{--vbox-tools-color:#fff;--vbox-title-background:#101010;--vbox-title-width:'auto';--vbox-title-radius:0;--vbox-share-background:#101010;--vbox-share-width:'auto';--vbox-share-radius:0;--vbox-padding:0;--vbox-max-width:100%}.vbox-overlay *,.vbox-overlay :after,.vbox-overlay :before{-webkit-backface-visibility:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.vbox-overlay *{-webkit-backface-visibility:visible;backface-visibility:visible}.vbox-overlay{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;align-items:center;position:fixed;left:0;top:0;bottom:0;right:0;z-index:999999}.vbox-share,.vbox-title{line-height:1;position:fixed;z-index:98;text-align:center;margin:0 auto;color:var(--vbox-tools-color)}.vbox-title{font-size:12px;background-color:var(--vbox-title-background);width:var(--vbox-title-width);border-radius:var(--vbox-title-radius);padding:12px 54px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.vbox-share{font-size:24px;padding:0 .35em;background-color:var(--vbox-share-background);width:var(--vbox-share-width);border-radius:var(--vbox-share-radius)}.vbox-link-btn,button.vbox-link-btn,button.vbox-link-btn:active,button.vbox-link-btn:focus,button.vbox-link-btn:hover{border:none!important;background:0 0!important;box-shadow:none!important;color:inherit!important;padding:6px 12px;outline:0;display:inline-block;cursor:pointer}.vbox-share a{color:inherit!important;padding:6px 12px;display:inline-block}.vbox-share svg{z-index:10;vertical-align:middle}button.vbox-close,button.vbox-link-btn,button.vbox-next,button.vbox-prev{background:0 0;border:none}button.vbox-close{cursor:pointer;position:fixed;top:0;right:0;z-index:99;padding:6px 15px;color:#000;color:var(--vbox-tools-color);font-size:24px;display:flex;align-items:center;opacity:.8;transition:opacity .2s}.vbox-close:hover{opacity:1}.vbox-left-corner{cursor:pointer;position:fixed;left:0;top:0;overflow:hidden;line-height:1;font-size:12px;z-index:99;display:flex;align-items:center;color:var(--vbox-tools-color)}.vbox-num{display:inline-block;padding:12px 15px}.vbox-left{left:0}.vbox-right{right:0}.vbox-top{top:0}.vbox-bottom{bottom:0}.vbox-next,.vbox-prev{position:fixed;top:50%;margin-top:-15px;overflow:hidden;cursor:pointer;display:block;width:45px;height:45px;z-index:99;opacity:.8;transition:opacity .2s}.vbox-next:hover,.vbox-prev:hover{opacity:1}.vbox-next span,.vbox-prev span{position:relative;width:20px;height:20px;border:2px solid transparent;border-top-color:var(--vbox-tools-color);border-right-color:var(--vbox-tools-color);text-indent:-100px;position:absolute;top:8px;display:block}.vbox-prev{left:15px}.vbox-next{right:15px}.vbox-prev span{left:10px;-ms-transform:rotate(-135deg);-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}.vbox-next span{-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg);right:10px}.vbox-open{overflow:hidden}.vbox-container{position:absolute;left:0;right:0;top:0;bottom:0;overflow-x:hidden;overflow-y:scroll;overflow-scrolling:touch;-webkit-overflow-scrolling:touch;z-index:20;max-height:100%;padding:30px 0;scrollbar-width:none;-ms-overflow-style:none}.vbox-container::-webkit-scrollbar{display:none}.vbox-content{opacity:0;text-align:center;width:100%;position:relative;overflow:hidden;padding:0 4%;display:flex;align-items:center;justify-content:center;min-height:100%}.vbox-container img{max-width:100%;height:auto}.vbox-child{box-shadow:0 0 12px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);max-width:var(--vbox-max-width);text-align:initial;padding:var(--vbox-padding)}.vbox-child img{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;display:block}.vbox-fit .vbox-child img,.vbox-fit .vbox-child.venoratio{max-height:calc(100vh - 60px)}.vbox-inline,.venoratio{position:relative;width:100%;margin:0 auto}.venoratio::before{display:block;padding-top:var(--vb-aspect-ratio);content:""}.venoratio>*{position:absolute;top:0;left:0;width:100%;height:100%;padding:var(--vbox-padding)}.venoratio-1x1{--vb-aspect-ratio:100%;max-width:calc(min(var(--vbox-max-width),(100vh - 60px)))}.venoratio-4x3.vbox-child.venoratio{--vb-aspect-ratio:calc(3 / 4 * 100%);max-width:calc(min(var(--vbox-max-width),(100vh - 60px) * 4 / 3))}.venoratio-16x9.vbox-child.venoratio{--vb-aspect-ratio:calc(9 / 16 * 100%);max-width:calc(min(var(--vbox-max-width),(100vh - 60px) * 16 / 9))}.venoratio-21x9.vbox-child.venoratio{--vb-aspect-ratio:calc(9 / 21 * 100%);max-width:calc(min(var(--vbox-max-width),(100vh - 60px) * 21 / 9))}.venoratio-full{--vb-aspect-ratio:calc(100vh - 60px)}.vbox-grab .vbox-child img{cursor:grab}.vbox-child>iframe{border:none!important}.vbox-content.swipe-left{margin-left:-200px!important}.vbox-content.swipe-right{margin-left:200px!important}.vbox-preloader{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.vbox-preloader .vbox-preloader-inner{opacity:1;transition:opacity .2s}.vbox-hidden{display:none}.vbox-preloader.vbox-hidden .vbox-preloader-inner{opacity:0}.vbox-backdrop{position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:translateZ(-1px);-moz-transform:translateZ(-1px);-o-transform:translateZ(-1px);transform:translateZ(-1px);z-index:0}.vbox-tooltip{position:relative;display:inline-block}.vbox-tooltip .vbox-tooltip-text{visibility:hidden;color:#fff;text-align:center;padding:0;position:absolute;z-index:1;bottom:100%;left:0;opacity:0;transition:opacity .3s;margin-bottom:2px;font-family:sans-serif}.vbox-top .vbox-tooltip .vbox-tooltip-text{bottom:auto;top:100%;margin-bottom:0;margin-top:2px}.vbox-tooltip-inner{padding:5px 10px;background-color:rgba(0,0,0,.9);border-radius:6px;font-size:10px}.vbox-tooltip:hover .vbox-tooltip-text{visibility:visible;opacity:1}.vbox-overlay{--sk-size:40px;--sk-color:#333}.sk-center{margin:auto}.sk-plane{width:var(--sk-size);height:var(--sk-size);background-color:var(--sk-color);animation:sk-plane 1.2s infinite ease-in-out}@keyframes sk-plane{0%{transform:perspective(120px) rotateX(0) rotateY(0)}50%{transform:perspective(120px) rotateX(-180.1deg) rotateY(0)}100%{transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}.sk-chase{width:var(--sk-size);height:var(--sk-size);position:relative;animation:sk-chase 2.5s infinite linear both}.sk-chase-dot{width:100%;height:100%;position:absolute;left:0;top:0;animation:sk-chase-dot 2s infinite ease-in-out both}.sk-chase-dot:before{content:'';display:block;width:25%;height:25%;background-color:var(--sk-color);border-radius:100%;animation:sk-chase-dot-before 2s infinite ease-in-out both}.sk-chase-dot:first-child{animation-delay:-1.1s}.sk-chase-dot:nth-child(2){animation-delay:-1s}.sk-chase-dot:nth-child(3){animation-delay:-.9s}.sk-chase-dot:nth-child(4){animation-delay:-.8s}.sk-chase-dot:nth-child(5){animation-delay:-.7s}.sk-chase-dot:nth-child(6){animation-delay:-.6s}.sk-chase-dot:first-child:before{animation-delay:-1.1s}.sk-chase-dot:nth-child(2):before{animation-delay:-1s}.sk-chase-dot:nth-child(3):before{animation-delay:-.9s}.sk-chase-dot:nth-child(4):before{animation-delay:-.8s}.sk-chase-dot:nth-child(5):before{animation-delay:-.7s}.sk-chase-dot:nth-child(6):before{animation-delay:-.6s}@keyframes sk-chase{100%{transform:rotate(360deg)}}@keyframes sk-chase-dot{100%,80%{transform:rotate(360deg)}}@keyframes sk-chase-dot-before{50%{transform:scale(.4)}0%,100%{transform:scale(1)}}.sk-bounce{width:var(--sk-size);height:var(--sk-size);position:relative}.sk-bounce-dot{width:100%;height:100%;border-radius:50%;background-color:var(--sk-color);opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite cubic-bezier(.455,.03,.515,.955)}.sk-bounce-dot:nth-child(2){animation-delay:-1s}@keyframes sk-bounce{0%,100%{transform:scale(0)}45%,55%{transform:scale(1)}}.sk-wave{width:var(--sk-size);height:var(--sk-size);display:flex;justify-content:space-between}.sk-wave-rect{background-color:var(--sk-color);height:100%;width:15%;animation:sk-wave 1.2s infinite ease-in-out}.sk-wave-rect:first-child{animation-delay:-1.2s}.sk-wave-rect:nth-child(2){animation-delay:-1.1s}.sk-wave-rect:nth-child(3){animation-delay:-1s}.sk-wave-rect:nth-child(4){animation-delay:-.9s}.sk-wave-rect:nth-child(5){animation-delay:-.8s}@keyframes sk-wave{0%,100%,40%{transform:scaleY(.4)}20%{transform:scaleY(1)}}.sk-pulse{width:var(--sk-size);height:var(--sk-size);background-color:var(--sk-color);border-radius:100%;animation:sk-pulse 1.2s infinite cubic-bezier(.455,.03,.515,.955)}@keyframes sk-pulse{0%{transform:scale(0)}100%{transform:scale(1);opacity:0}}.sk-flow{width:calc(var(--sk-size) * 1.3);height:calc(var(--sk-size) * 1.3);display:flex;justify-content:space-between}.sk-flow-dot{width:25%;height:25%;background-color:var(--sk-color);border-radius:50%;animation:sk-flow 1.4s cubic-bezier(.455,.03,.515,.955) 0s infinite both}.sk-flow-dot:first-child{animation-delay:-.3s}.sk-flow-dot:nth-child(2){animation-delay:-.15s}@keyframes sk-flow{0%,100%,80%{transform:scale(.3)}40%{transform:scale(1)}}.sk-swing{width:var(--sk-size);height:var(--sk-size);position:relative;animation:sk-swing 1.8s infinite linear}.sk-swing-dot{width:45%;height:45%;position:absolute;top:0;left:0;right:0;margin:auto;background-color:var(--sk-color);border-radius:100%;animation:sk-swing-dot 2s infinite ease-in-out}.sk-swing-dot:nth-child(2){top:auto;bottom:0;animation-delay:-1s}@keyframes sk-swing{100%{transform:rotate(360deg)}}@keyframes sk-swing-dot{0%,100%{transform:scale(.2)}50%{transform:scale(1)}}.sk-circle{width:var(--sk-size);height:var(--sk-size);position:relative}.sk-circle-dot{width:100%;height:100%;position:absolute;left:0;top:0}.sk-circle-dot:before{content:'';display:block;width:15%;height:15%;background-color:var(--sk-color);border-radius:100%;animation:sk-circle 1.2s infinite ease-in-out both}.sk-circle-dot:first-child{transform:rotate(30deg)}.sk-circle-dot:nth-child(2){transform:rotate(60deg)}.sk-circle-dot:nth-child(3){transform:rotate(90deg)}.sk-circle-dot:nth-child(4){transform:rotate(120deg)}.sk-circle-dot:nth-child(5){transform:rotate(150deg)}.sk-circle-dot:nth-child(6){transform:rotate(180deg)}.sk-circle-dot:nth-child(7){transform:rotate(210deg)}.sk-circle-dot:nth-child(8){transform:rotate(240deg)}.sk-circle-dot:nth-child(9){transform:rotate(270deg)}.sk-circle-dot:nth-child(10){transform:rotate(300deg)}.sk-circle-dot:nth-child(11){transform:rotate(330deg)}.sk-circle-dot:first-child:before{animation-delay:-1.1s}.sk-circle-dot:nth-child(2):before{animation-delay:-1s}.sk-circle-dot:nth-child(3):before{animation-delay:-.9s}.sk-circle-dot:nth-child(4):before{animation-delay:-.8s}.sk-circle-dot:nth-child(5):before{animation-delay:-.7s}.sk-circle-dot:nth-child(6):before{animation-delay:-.6s}.sk-circle-dot:nth-child(7):before{animation-delay:-.5s}.sk-circle-dot:nth-child(8):before{animation-delay:-.4s}.sk-circle-dot:nth-child(9):before{animation-delay:-.3s}.sk-circle-dot:nth-child(10):before{animation-delay:-.2s}.sk-circle-dot:nth-child(11):before{animation-delay:-.1s}@keyframes sk-circle{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.sk-circle-fade{width:var(--sk-size);height:var(--sk-size);position:relative}.sk-circle-fade-dot{width:100%;height:100%;position:absolute;left:0;top:0}.sk-circle-fade-dot:before{content:'';display:block;width:15%;height:15%;background-color:var(--sk-color);border-radius:100%;animation:sk-circle-fade 1.2s infinite ease-in-out both}.sk-circle-fade-dot:first-child{transform:rotate(30deg)}.sk-circle-fade-dot:nth-child(2){transform:rotate(60deg)}.sk-circle-fade-dot:nth-child(3){transform:rotate(90deg)}.sk-circle-fade-dot:nth-child(4){transform:rotate(120deg)}.sk-circle-fade-dot:nth-child(5){transform:rotate(150deg)}.sk-circle-fade-dot:nth-child(6){transform:rotate(180deg)}.sk-circle-fade-dot:nth-child(7){transform:rotate(210deg)}.sk-circle-fade-dot:nth-child(8){transform:rotate(240deg)}.sk-circle-fade-dot:nth-child(9){transform:rotate(270deg)}.sk-circle-fade-dot:nth-child(10){transform:rotate(300deg)}.sk-circle-fade-dot:nth-child(11){transform:rotate(330deg)}.sk-circle-fade-dot:first-child:before{animation-delay:-1.1s}.sk-circle-fade-dot:nth-child(2):before{animation-delay:-1s}.sk-circle-fade-dot:nth-child(3):before{animation-delay:-.9s}.sk-circle-fade-dot:nth-child(4):before{animation-delay:-.8s}.sk-circle-fade-dot:nth-child(5):before{animation-delay:-.7s}.sk-circle-fade-dot:nth-child(6):before{animation-delay:-.6s}.sk-circle-fade-dot:nth-child(7):before{animation-delay:-.5s}.sk-circle-fade-dot:nth-child(8):before{animation-delay:-.4s}.sk-circle-fade-dot:nth-child(9):before{animation-delay:-.3s}.sk-circle-fade-dot:nth-child(10):before{animation-delay:-.2s}.sk-circle-fade-dot:nth-child(11):before{animation-delay:-.1s}@keyframes sk-circle-fade{0%,100%,39%{opacity:0;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.sk-grid{width:var(--sk-size);height:var(--sk-size)}.sk-grid-cube{width:33.33%;height:33.33%;background-color:var(--sk-color);float:left;animation:sk-grid 1.3s infinite ease-in-out}.sk-grid-cube:first-child{animation-delay:.2s}.sk-grid-cube:nth-child(2){animation-delay:.3s}.sk-grid-cube:nth-child(3){animation-delay:.4s}.sk-grid-cube:nth-child(4){animation-delay:.1s}.sk-grid-cube:nth-child(5){animation-delay:.2s}.sk-grid-cube:nth-child(6){animation-delay:.3s}.sk-grid-cube:nth-child(7){animation-delay:0s}.sk-grid-cube:nth-child(8){animation-delay:.1s}.sk-grid-cube:nth-child(9){animation-delay:.2s}@keyframes sk-grid{0%,100%,70%{transform:scale3D(1,1,1)}35%{transform:scale3D(0,0,1)}}.sk-fold{width:var(--sk-size);height:var(--sk-size);position:relative;transform:rotateZ(45deg)}.sk-fold-cube{float:left;width:50%;height:50%;position:relative;transform:scale(1.1)}.sk-fold-cube:before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sk-color);animation:sk-fold 2.4s infinite linear both;transform-origin:100% 100%}.sk-fold-cube:nth-child(2){transform:scale(1.1) rotateZ(90deg)}.sk-fold-cube:nth-child(4){transform:scale(1.1) rotateZ(180deg)}.sk-fold-cube:nth-child(3){transform:scale(1.1) rotateZ(270deg)}.sk-fold-cube:nth-child(2):before{animation-delay:.3s}.sk-fold-cube:nth-child(4):before{animation-delay:.6s}.sk-fold-cube:nth-child(3):before{animation-delay:.9s}@keyframes sk-fold{0%,10%{transform:perspective(140px) rotateX(-180deg);opacity:0}25%,75%{transform:perspective(140px) rotateX(0);opacity:1}100%,90%{transform:perspective(140px) rotateY(180deg);opacity:0}}.sk-wander{width:var(--sk-size);height:var(--sk-size);position:relative}.sk-wander-cube{background-color:var(--sk-color);width:20%;height:20%;position:absolute;top:0;left:0;--sk-wander-distance:calc(var(--sk-size) * 0.75);animation:sk-wander 2s ease-in-out -2s infinite both}.sk-wander-cube:nth-child(2){animation-delay:-.5s}.sk-wander-cube:nth-child(3){animation-delay:-1s}@keyframes sk-wander{0%{transform:rotate(0)}25%{transform:translateX(var(--sk-wander-distance)) rotate(-90deg) scale(.6)}50%{transform:translateX(var(--sk-wander-distance)) translateY(var(--sk-wander-distance)) rotate(-179deg)}50.1%{transform:translateX(var(--sk-wander-distance)) translateY(var(--sk-wander-distance)) rotate(-180deg)}75%{transform:translateX(0) translateY(var(--sk-wander-distance)) rotate(-270deg) scale(.6)}100%{transform:rotate(-360deg)}}
2
+ /*# sourceMappingURL=venobox.min.css.map */
@@ -0,0 +1,7 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VenoBox=t()}(this,function(){"use strict";
2
+ /**
3
+ * VenoBox 2.2.0
4
+ * Copyright 2013-2024 Nicola Franchini
5
+ * @license: https://github.com/nicolafranchini/VenoBox/blob/master/LICENSE
6
+ */let e,t,o,n,s,i,a,l,r,c,d,v,u,b,p,f,m,g,y,x,h,L,w,k,S,C,A,E,q,P,M,T,j,H,O,z,I,V;const D='<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" focusable="false">',B="</svg>",N=D+'<path d="M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"/><path d="M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"/>'+B,Q=D+'<path fill-rule="evenodd" d="M3.5 6a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 1 0-1h2A1.5 1.5 0 0 1 14 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-8A1.5 1.5 0 0 1 3.5 5h2a.5.5 0 0 1 0 1h-2z"/><path fill-rule="evenodd" d="M7.646.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 1.707V10.5a.5.5 0 0 1-1 0V1.707L5.354 3.854a.5.5 0 1 1-.708-.708l3-3z"/>'+B,X=D+'<path fill-rule="evenodd" d="M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0z"/><path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/><path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/>'+B;let Y,R=0,K=0,F=0,U=!1,W=!1,Z=!1,_=!1;const G={bounce:["sk-bounce","sk-bounce-dot",2],chase:["sk-chase","sk-chase-dot",6],circle:["sk-circle","sk-circle-dot",12],"circle-fade":["sk-circle-fade","sk-circle-fade-dot",12],flow:["sk-flow","sk-flow-dot",3],fold:["sk-fold","sk-fold-cube",4],grid:["sk-grid","sk-grid-cube",9],plane:["sk-plane","",0],pulse:["sk-pulse","",5],swing:["sk-swing","sk-swing-dot",2],wander:["sk-wander","sk-wander-cube",3],wave:["sk-wave","sk-wave-rect",5]},J={selector:".venobox",autoplay:!1,bgcolor:"#fff",border:"0",customClass:!1,infinigall:!1,maxWidth:"100%",navigation:!0,navKeyboard:!0,navTouch:!0,navSpeed:300,numeration:!1,overlayClose:!0,overlayColor:"rgba(23,23,23,0.95)",popup:!1,ratio:"16x9",share:!1,shareStyle:"pill",spinner:"bounce",spinColor:"#d2d2d2",titleattr:"title",titlePosition:"top",titleStyle:"bar",toolsBackground:"#1C1C1C",toolsColor:"#d2d2d2",onPreOpen:function(){return!0},onPostOpen:function(){},onPreClose:function(){return!0},onNavComplete:function(){},onContentLoaded:function(){},onInit:function(){},jQuerySelectors:!1,focusItem:!0,fitView:!1,initialScale:.9,transitionSpeed:200};function $(e,t,o){if("[object Object]"===Object.prototype.toString.call(e)){let n;for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.call(o,e[n],n,e)}else{let n=0,s=e.length;for(n=0;n<s;n++)t.call(o,e[n],n,e)}}function ee(e){return e}function te({timing:e,draw:t,duration:o}){let n=performance.now();requestAnimationFrame(function s(i){let a=(i-n)/o;a>1&&(a=1);let l=e(a);t(l),a<1&&requestAnimationFrame(s)})}function oe(e){if(!e)return!1;y=!0,l=e,L=!1,w=!1,S=e.getAttribute("data-maxwidth")||e.settings.maxWidth,C=e.getAttribute("data-overlay")||e.settings.overlayColor,A=e.getAttribute("data-ratio")||e.settings.ratio,E=e.hasAttribute("data-autoplay")||e.settings.autoplay,q=e.getAttribute("data-href")||e.getAttribute("href"),P=e.getAttribute("data-customclass")||e.settings.customClass,I=e.getAttribute(e.settings.titleattr)||"",O=e.getAttribute("data-border")||e.settings.border,M=e.hasAttribute("data-fitview")||e.settings.fitView}function ne(){return!(!l||!document.body.classList.contains("vbox-open"))&&((!l.settings.onPreClose||"function"!=typeof l.settings.onPreClose||!1!==l.settings.onPreClose(l,p,j,H))&&(document.body.removeEventListener("keydown",ae),document.body.classList.remove("vbox-open"),l.settings.focusItem&&l.focus(),void te({duration:200,timing:ee,draw:function(e){k.style.opacity=1-e,1===e&&k.remove()}})))}function se(){ge(j)}function ie(){ge(H)}function ae(e){if(27===e.keyCode&&ne(),9===e.keyCode){const t=k.querySelectorAll('a[href], button, input, textarea, select, [tabindex]:not([tabindex="-1"])'),o=t[0],n=t[t.length-1];e.shiftKey?document.activeElement===o&&(n.focus(),e.preventDefault()):document.activeElement===n&&(o.focus(),e.preventDefault())}V||(37==e.keyCode&&!0===w&&ge(H),39==e.keyCode&&!0===L&&ge(j),V=setTimeout(()=>{V=null},100))}function le(){y=!1,a.style.opacity=0,a.innerHTML=x,_?(a.classList.add("vbox-grab"),a.addEventListener("touchstart",ve,!1),a.addEventListener("touchend",ue,!1),a.addEventListener("touchmove",be,!1),a.addEventListener("mousedown",ve,!1),a.addEventListener("mouseup",ue,!1),a.addEventListener("mouseout",ue,!1),a.addEventListener("mousemove",be,!1)):(a.classList.remove("vbox-grab"),a.removeEventListener("touchstart",ve,!1),a.removeEventListener("touchend",ue,!1),a.removeEventListener("touchmove",be,!1),a.removeEventListener("mousedown",ve,!1),a.removeEventListener("mouseup",ue,!1),a.removeEventListener("mouseout",ue,!1),a.removeEventListener("mousemove",be,!1));let e=a.querySelector(":first-child");e.classList.add("vbox-child"),e.style.backgroundColor=l.settings.bgcolor,e.style.transform="scale("+l.settings.initialScale+")",e.style.transition="transform "+l.settings.transitionSpeed+"ms";let t=a.querySelector(".vbox-child img");t&&t.addEventListener("dragstart",function(e){e.preventDefault()}),i.scrollTo(0,0),e.style.transform="scale(1)",k.style.setProperty("--vbox-padding",O),k.style.setProperty("--vbox-max-width",S),$(k.classList,function(e){"vbox-overlay"!==e&&k.classList.remove(e)}),P&&k.classList.add(P),M?a.classList.add("vbox-fit"):a.classList.remove("vbox-fit"),te({duration:l.settings.transitionSpeed,timing:ee,draw:function(e){a.style.opacity=e,1===e&&u.classList.add("vbox-hidden")}}),l.settings.onContentLoaded&&"function"==typeof l.settings.onContentLoaded&&l.settings.onContentLoaded(x)}function re(e){a.classList.contains("vbox-"+e)||le()}function ce(e,t,o){let n;a.classList.add("vbox-loading");let s=function(e){let t,o,n;if(o=e.match(/(https?:\/\/)?((www\.)?(youtube(-nocookie)?|youtube.googleapis)\.com.*(v\/|v=|vi=|vi\/|e\/|embed\/|user\/.*\/u\/\d+\/)|youtu\.be\/)([_0-9a-z-]+)/i),o&&o[7])t="youtube",n=o[7];else{let s=/^.*(vimeo\.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/))?([0-9]+)/;o=e.match(s),o&&o[5]&&(t="vimeo",n=o[5])}return{type:t,id:n}}(e);if("vimeo"==s.type||"youtube"==s.type){let i;n=o?"?rel=0&autoplay=1":"?rel=0";let a=n+function(e){let t="",o=decodeURIComponent(e).split("?");if(void 0!==o[1]){let e,n,s=o[1].split("&");for(n=0;n<s.length;n++)e=s[n].split("="),t=t+"&"+e[0]+"="+e[1]}return encodeURI(t)}(e);"vimeo"==s.type?i="https://player.vimeo.com/video/":"youtube"==s.type&&(i="https://www.youtube-nocookie.com/embed/"),x='<div class="venoratio venoratio-'+t+'"><iframe webkitallowfullscreen mozallowfullscreen allowfullscreen allow="autoplay" frameborder="0" src="'+i+s.id+a+'"></iframe></div>'}else n=o?" autoplay":"",x='<div class="venoratio venoratio-'+t+'"><video src="'+e+'"'+n+" controls>Your browser does not support the video tag.</video></div>";a.classList.remove("vbox-loading"),re("animated")}function de(){var e;if(e=x,W.innerHTML=e,f=W.querySelectorAll("img"),f.length){let e=0;$(f,function(t){let o=t.src;const n=new Image;n.onload=function(){e++,e==f.length&&(a.classList.remove("vbox-loading"),re("animated"))},n.onerror=function(){e++,e==f.length&&(a.classList.remove("vbox-loading"),re("animated"))},n.src=o})}else a.classList.remove("vbox-loading"),re("animated")}function ve(e){if(!y){let t=.84*l.settings.navSpeed;a.style.transition="margin "+t+"ms ease-out, opacity "+t+"ms ease-out",R=K="touchstart"===e.type?e.touches[0].pageX:e.pageX,T=v="touchstart"===e.type?e.touches[0].pageY:e.pageY,U=!0}}function ue(e){if(U){U=!1;let e=l,t=!1;F=K-R,F<0&&L&&(e=j,t=!0),F>0&&w&&(e=H,t=!0),Math.abs(F)>=50&&t?ge(e):(a.style.marginLeft=0,a.style.opacity=1)}}function be(e){if(U&&!y){K="touchmove"===e.type?e.touches[0].pageX:e.pageX,v="touchmove"===e.type?e.touches[0].pageY:e.pageY,c=K-R,d=v-T;let t=Math.abs(c);if(t>Math.abs(d)&&t<=180){let o=1.5*(1-t/180);e.preventDefault(),a.style.marginLeft=c+"px",a.style.opacity=o}}}function pe(e){if(!e)return!1;z=e.dataset.gall,h=e.settings.numeration,m=e.settings.infinigall,o.innerHTML="";let s=e.dataset.vbtype;e.settings.share&&"iframe"!==s&&"inline"!==s&&"ajax"!==s&&function(e){if(navigator.canShare){const t={url:e};o.insertAdjacentHTML("beforeend",'<button type="button" class="vbox-link-btn vbox-share-mobile" aria-label="Condividi">'+Q+"</button>"),o.querySelector(".vbox-share-mobile").addEventListener("click",function(e){e.preventDefault(),navigator.share(t)})}o.insertAdjacentHTML("beforeend",'<a target="_blank" href="'+e+'" download aria-label="Download">'+N+"</a>"),o.insertAdjacentHTML("beforeend",'<div class="vbox-tooltip"><button type="button" class="vbox-link-btn vbox-share-copy" aria-label="Copia link"><span class="vbox-tooltip-text" id="myTooltip"></span>'+X+"</button></div>"),o.querySelector(".vbox-share-copy").addEventListener("click",function(t){t.preventDefault();let o=document.getElementById("myTooltip");navigator.clipboard.writeText(e).then(function(){o.innerHTML='<div class="vbox-tooltip-inner">Copied</div>'},function(){console.log("copy failed")})})}(e.href),g=document.querySelectorAll('.vbox-item[data-gall="'+z+'"]'),r=Array.prototype.indexOf.call(g,e),g.length<2&&(h=!1),g.length<3&&(m=!1),j=g[r+1],H=g[r-1],!j&&m&&(j=g[0]),!H&&m&&(H=g[g.length-1]),g.length>=1?(p=r+1,t.innerHTML=p+" / "+g.length):p=1,h?t.classList.remove("vbox-hidden"):t.classList.add("vbox-hidden"),""!==I?n.classList.remove("vbox-hidden"):n.classList.add("vbox-hidden"),n.innerHTML=I,w=!1,L=!1,(j||m)&&(L=!0),(r>0||m)&&(w=!0),_=(w||L)&&e.settings.navTouch;let i=k.querySelector(".vbox-next"),a=k.querySelector(".vbox-prev");w?a.classList.remove("vbox-hidden"):a.classList.add("vbox-hidden"),L?i.classList.remove("vbox-hidden"):i.classList.add("vbox-hidden"),e.settings.navigation||(i.classList.add("vbox-hidden"),a.classList.add("vbox-hidden"))}function fe(t){if(!t)return!1;e.style.backgroundColor=C,b.innerHTML=function(e){if(!e)return"Loading...";let t='<div class="sk-center '+e[0]+'">',o=0;for(o=0;o<e[2];o++)t+='<div class="'+e[1]+'"></div>';return t+="</div>",t}(G[t.settings.spinner]),k.style.setProperty("--sk-color",t.settings.spinColor),u.classList.remove("vbox-hidden"),o.classList.remove("vbox-top","vbox-bottom"),n.classList.remove("vbox-top","vbox-bottom"),"top"==t.settings.titlePosition?(n.classList.add("vbox-top"),o.classList.add("vbox-bottom")):(n.classList.add("vbox-bottom"),o.classList.add("vbox-top"));let s="bar"===t.settings.titleStyle?"100%":"auto",i="pill"===t.settings.titleStyle?"5em":"0",a="bar"===t.settings.shareStyle?"100%":"auto",l="pill"===t.settings.shareStyle?"5em":"0",r="transparent"===t.settings.titleStyle?"transparent":t.settings.toolsBackground,c="transparent"===t.settings.shareStyle?"transparent":t.settings.toolsBackground;k.style.setProperty("--vbox-title-width",s),k.style.setProperty("--vbox-title-radius",i),k.style.setProperty("--vbox-share-width",a),k.style.setProperty("--vbox-share-radius",l),k.style.setProperty("--vbox-tools-color",t.settings.toolsColor),k.style.setProperty("--vbox-title-background",r),k.style.setProperty("--vbox-share-background",c)}function me(){if(!l)return!1;switch(l.dataset.vbtype){case"iframe":e=q,t=A,a.classList.add("vbox-loading"),x='<div class="venoratio venoratio-'+t+'"><iframe src="'+e+'"></iframe></div>',a.classList.remove("vbox-loading"),re("animated");break;case"inline":!function(e){let t=document.querySelector(e);t&&(a.classList.add("vbox-loading"),x='<div class="vbox-inline">'+t.innerHTML+"</div>",a.classList.remove("vbox-loading"),re("animated"))}(q);break;case"ajax":!function(e){a.classList.add("vbox-loading");let t=new XMLHttpRequest;t.open("GET",e,!0),t.onload=function(){x='<div class="vbox-inline">'+t.response+"</div>",de()},t.onerror=function(){x='<div class="vbox-inline"></div>',a.classList.remove("vbox-loading"),re("animated")},t.send()}(q);break;case"video":ce(q,A,E);break;default:!function(e){Z.onload=function(){x='<div class="vbox-child"><img src="'+e+'" alt="'+(I||"Details")+'"></div>',a.classList.remove("vbox-loading"),re("animated")},Z.src=e}(q)}var e,t}function ge(e){if(!e||y||!document.body.classList.contains("vbox-open"))return!1;oe(e),fe(e);const t=.84*l.settings.navSpeed;a.style.transition="margin "+t+"ms ease-out, opacity "+t+"ms ease-out",e===H&&a.classList.add("swipe-right"),e===j&&a.classList.add("swipe-left"),u.classList.remove("vbox-hidden");const o=a.style.opacity;a.classList.add("vbox-animated","vbox-loading"),Y=a.cloneNode(!1),Y.classList.add("cloned"),Y.classList.remove("swipe-left","swipe-right"),Y.style.opacity=0,Y.style.marginLeft="0",Y.style.marginRight="0";const n=a;i.append(Y),a=Y,a.classList.remove("cloned"),pe(e),te({duration:l.settings.navSpeed,timing:ee,draw:function(e){n.style.opacity=o-e/o,1===e&&(n.remove(),a.classList.remove("vbox-animated"),re("loading"),y=!1,l.settings.onNavComplete&&"function"==typeof l.settings.onNavComplete&&l.settings.onNavComplete(l,p,j,H))}}),me()}function ye(r){return!(document.body.classList.contains("vbox-open")||!r)&&((!r.settings.onPreOpen||"function"!=typeof r.settings.onPreOpen||!1!==r.settings.onPreOpen(r))&&(oe(r),document.body.insertAdjacentHTML("beforeend",s),document.body.classList.add("vbox-open"),k=document.querySelector(".vbox-overlay"),e=k.querySelector(".vbox-backdrop"),i=k.querySelector(".vbox-container"),a=i.querySelector(".vbox-content"),t=k.querySelector(".vbox-num"),o=k.querySelector(".vbox-share"),n=k.querySelector(".vbox-title"),u=k.querySelector(".vbox-preloader"),b=u.querySelector(".vbox-preloader-inner"),k.style.opacity=0,fe(r),pe(r),a.classList.add("vbox-animated","vbox-loading"),te({duration:200,timing:ee,draw:function(e){if(k.style.opacity=e,1===e){a.classList.remove("vbox-animated"),y=!1,re("loading");const e=k.querySelector(".vbox-close");e&&(e.setAttribute("tabindex","0"),e.focus()),l.settings.onPostOpen&&"function"==typeof l.settings.onPostOpen&&l.settings.onPostOpen(l,p,j,H)}}}),me(),r.settings.navKeyboard&&(document.body.addEventListener("keydown",ae),document.body.addEventListener("keyup",()=>{V&&(clearTimeout(V),V=null)})),document.querySelector(".vbox-prev").addEventListener("click",function(){ge(H)}),document.querySelector(".vbox-next").addEventListener("click",function(){ge(j)}),void k.addEventListener("click",function(e){let t=document.querySelector(".vbox-close");t&&(t.contains(e.target)||t===e.target||l.settings.overlayClose&&(e.target.classList.contains("vbox-overlay")||e.target.classList.contains("vbox-content")||e.target.classList.contains("vbox-backdrop")||e.target.classList.contains("vbox-close")||e.target.classList.contains("vbox-preloader")||e.target.classList.contains("vbox-container")))&&ne()})))}const xe=function(e){const t={};let o=function(e,t){let o={};return $(e,function(t,n){o[n]=e[n]}),$(t,function(e,n){o[n]=t[n]}),o}(J,e||{});return t.close=ne,t.next=se,t.prev=ie,t.open=ye,t.settings=o,function(e,t){t.onInit&&"function"==typeof t.onInit&&t.onInit(e);let o=t.jQuerySelectors||document.querySelectorAll(t.selector);if(s='<div class="vbox-overlay"><div class="vbox-backdrop"></div><div class="vbox-preloader"><div class="vbox-preloader-inner"></div></div><div class="vbox-container"><div class="vbox-content"></div></div><div class="vbox-title"></div><div class="vbox-left-corner"><div class="vbox-num" aria-live="polite">0/0</div></div><button type="button" class="vbox-close" aria-label="Close"><svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" class="vbox-close-icon" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M13.854 2.146a.5.5 0 0 1 0 .708l-11 11a.5.5 0 0 1-.708-.708l11-11a.5.5 0 0 1 .708 0Z"/><path fill-rule="evenodd" d="M2.146 2.146a.5.5 0 0 0 0 .708l11 11a.5.5 0 0 0 .708-.708l-11-11a.5.5 0 0 0-.708 0Z"/></svg></button><button type="button" class="vbox-next" aria-label="Next"><span>Next</span></button><button type="button" class="vbox-prev" aria-label="Prev"><span>Prev</span></button><div class="vbox-share"></div></div>',W=W||document.createElement("div"),Z=Z||new Image,$(o,function(e){if(e instanceof Element){if(e.classList.contains("vbox-item"))return!0;e.settings=t,e.classList.add("vbox-item"),e.addEventListener("click",function(t){return t.preventDefault(),e.blur(),ye(e),!1})}}),t.popup){let e=document.querySelector(t.popup);e.settings=t,ye(e)}}(t,o),t};return"function"==typeof jQuery&&jQuery.fn.extend({venobox:function(e){const t=e||{};t.jQuerySelectors=this,new xe(t)}}),xe});
7
+ //# sourceMappingURL=venobox.min.js.map
@@ -0,0 +1,14 @@
1
+ <div class="modal-header">
2
+ {% block content_title %}
3
+ {% endblock content_title %}
4
+ </div>
5
+ <div class="modal-body {% block body_class %}{% endblock body_class %}">
6
+ {% block content %}
7
+ {% endblock content %}
8
+ </div>
9
+ {% block extra_body_base %}
10
+ {% block extra_javascript %}
11
+ {% endblock extra_javascript %}
12
+ {% block extra_body %}
13
+ {% endblock extra_body %}
14
+ {% endblock extra_body_base %}
@@ -0,0 +1,5 @@
1
+ {% load static %}
2
+
3
+ <link rel="stylesheet"
4
+ href="{% static "venobox/css/venobox.min.css" %}?2.2.0"
5
+ media="screen" />
@@ -0,0 +1,10 @@
1
+ {% load static %}
2
+
3
+ <script src="{% static "venobox/js/venobox.min.js" %}?2.2.0"></script>
4
+ <script>
5
+ document.addEventListener("DOMContentLoaded", function() {
6
+ new VenoBox({
7
+ selector: ".venobox"
8
+ });
9
+ });
10
+ </script>