@namelivia/vue-components 4.5.1 → 4.7.0

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.
Files changed (48) hide show
  1. package/dist/index.esm.js +1074 -1076
  2. package/dist/index.esm.js.map +1 -1
  3. package/dist/index.js +1103 -1104
  4. package/dist/index.js.map +1 -1
  5. package/package.json +1 -1
  6. package/src/Badge/Badge.vue +3 -7
  7. package/src/Buttons/DangerButton/DangerButton.vue +5 -13
  8. package/src/Buttons/RegularButton/RegularButton.vue +24 -28
  9. package/src/Buttons/ResetButton/ResetButton.vue +3 -7
  10. package/src/Buttons/SecondaryButton/SecondaryButton.vue +5 -13
  11. package/src/Buttons/SubmitButton/SubmitButton.vue +4 -12
  12. package/src/Card/Card.vue +13 -19
  13. package/src/Card/CardBody.vue +4 -9
  14. package/src/Card/CardImage.vue +17 -24
  15. package/src/CardGrid/CardGrid.vue +2 -5
  16. package/src/Container/Container.vue +2 -5
  17. package/src/Icons/CalendarIcon/CalendarIcon.vue +10 -13
  18. package/src/Icons/CreateIcon/CreateIcon.vue +10 -13
  19. package/src/Icons/DropIcon/DropIcon.vue +10 -13
  20. package/src/Icons/SaveIcon/SaveIcon.vue +10 -13
  21. package/src/Icons/SkullIcon/SkullIcon.vue +10 -13
  22. package/src/InfiniteScroll/InfiniteScroll.cy.js +7 -0
  23. package/src/InfiniteScroll/InfiniteScroll.stories.js +38 -0
  24. package/src/InfiniteScroll/InfiniteScroll.vue +59 -0
  25. package/src/Inputs/CheckBoxInput/CheckBoxInput.vue +9 -27
  26. package/src/Inputs/ImageInput/ImageInput.vue +10 -30
  27. package/src/Inputs/NumberInput/NumberInput.vue +12 -37
  28. package/src/Inputs/ResizeImageUpload/ResizeImageUpload.vue +28 -50
  29. package/src/Inputs/Selector/Selector.vue +27 -52
  30. package/src/Inputs/TextInput/TextInput.vue +10 -31
  31. package/src/Loading/Loading.vue +3 -7
  32. package/src/Modal/Modal.vue +9 -16
  33. package/src/Navbar/MobileMenuButton.vue +5 -17
  34. package/src/Navbar/MobileNavigationLink.vue +9 -27
  35. package/src/Navbar/MobileNavigationLinks.vue +6 -19
  36. package/src/Navbar/Navbar.vue +22 -53
  37. package/src/Navbar/NavbarTitle.vue +7 -19
  38. package/src/Navbar/NavigationLink.vue +9 -27
  39. package/src/Navbar/NavigationLinks.vue +5 -15
  40. package/src/Navbar/RightContent.vue +9 -24
  41. package/src/Pagination/Pagination.vue +8 -14
  42. package/src/RangeView/RangeView.vue +3 -7
  43. package/src/SectionTitle/SectionTitle.vue +5 -9
  44. package/src/Spinner/Spinner.vue +2 -5
  45. package/src/StyledTable/StyledTable.vue +2 -5
  46. package/src/Temperature/Temperature.vue +11 -22
  47. package/src/index.js +1 -0
  48. package/styles/index.css +2 -0
package/dist/index.js CHANGED
@@ -2,21 +2,27 @@
2
2
 
3
3
  var vue = require('vue');
4
4
 
5
- var script$B = vue.defineComponent({
6
- name: 'SectionTitle',
5
+ const _hoisted_1$y = { class: "section-title" };
6
+
7
+
8
+ var script$C = {
9
+ __name: 'SectionTitle',
7
10
  props: {
8
- text: {
9
- type: String,
10
- default: ''
11
- }
11
+ text: {
12
+ type: String,
13
+ default: ''
12
14
  }
13
- });
15
+ },
16
+ setup(__props) {
17
+
14
18
 
15
- const _hoisted_1$x = { class: "section-title" };
16
19
 
17
- function render$B(_ctx, _cache, $props, $setup, $data, $options) {
18
- return (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$x, vue.toDisplayString(_ctx.text), 1 /* TEXT */))
20
+ return (_ctx, _cache) => {
21
+ return (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$y, vue.toDisplayString(__props.text), 1 /* TEXT */))
19
22
  }
23
+ }
24
+
25
+ };
20
26
 
21
27
  function styleInject(css, ref) {
22
28
  if ( ref === void 0 ) ref = {};
@@ -45,135 +51,143 @@ function styleInject(css, ref) {
45
51
  }
46
52
  }
47
53
 
48
- var css_248z$w = "\n.section-title[data-v-0375af86] {\n text-align: center;\n font-size: var(--font-size-xlarge);\n line-height: 1.5;\n}\n";
49
- styleInject(css_248z$w);
54
+ var css_248z$x = "\n.section-title[data-v-0375af86] {\n text-align: center;\n font-size: var(--font-size-xlarge);\n line-height: 1.5;\n}\n";
55
+ styleInject(css_248z$x);
50
56
 
51
- script$B.render = render$B;
52
- script$B.__scopeId = "data-v-0375af86";
53
- script$B.__file = "src/SectionTitle/SectionTitle.vue";
57
+ script$C.__scopeId = "data-v-0375af86";
58
+ script$C.__file = "src/SectionTitle/SectionTitle.vue";
54
59
 
55
- var script$A = vue.defineComponent({
56
- name: "Loading",
60
+ var script$B = {
61
+ __name: 'Loading',
57
62
  props: {
58
- text: String,
59
- },
60
- });
63
+ text: String,
64
+ },
65
+ setup(__props) {
66
+
61
67
 
62
- function render$A(_ctx, _cache, $props, $setup, $data, $options) {
68
+
69
+ return (_ctx, _cache) => {
63
70
  return (vue.openBlock(), vue.createElementBlock("div", null, _cache[0] || (_cache[0] = [
64
71
  vue.createStaticVNode("<h1 class=\"loading-text\" data-v-7a9a3040>Loading...</h1><div class=\"loading-balls-container\" data-v-7a9a3040><div class=\"loading-ball blue\" data-v-7a9a3040></div><div class=\"loading-ball green\" data-v-7a9a3040></div><div class=\"loading-ball red\" data-v-7a9a3040></div></div>", 2)
65
72
  ])))
66
73
  }
74
+ }
67
75
 
68
- var css_248z$v = "\n.loading-text[data-v-7a9a3040] {\n text-align: center;\n font-size: var(--font-size-large);\n line-height: 1.75rem;\n}\n.loading-balls-container[data-v-7a9a3040] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n animation: bounce-7a9a3040 1.5s infinite ease-in-out;\n}\n.loading-ball[data-v-7a9a3040] {\n width: 2rem;\n height: 2rem;\n border-radius: var(--border-radius-round);\n}\n.loading-ball.blue[data-v-7a9a3040] {\n background-color: var(--color-loading-ball-blue);\n}\n.loading-ball.green[data-v-7a9a3040] {\n background-color: var(--color-loading-ball-green);\n}\n.loading-ball.red[data-v-7a9a3040] {\n background-color: var(--color-loading-ball-red);\n}\n@keyframes bounce-7a9a3040 {\n0%, 100% {\n transform: translateY(0);\n}\n50% {\n transform: translateY(-1rem);\n}\n}\n";
69
- styleInject(css_248z$v);
76
+ };
77
+
78
+ var css_248z$w = "\n.loading-text[data-v-7a9a3040] {\n text-align: center;\n font-size: var(--font-size-large);\n line-height: 1.75rem;\n}\n.loading-balls-container[data-v-7a9a3040] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n animation: bounce-7a9a3040 1.5s infinite ease-in-out;\n}\n.loading-ball[data-v-7a9a3040] {\n width: 2rem;\n height: 2rem;\n border-radius: var(--border-radius-round);\n}\n.loading-ball.blue[data-v-7a9a3040] {\n background-color: var(--color-loading-ball-blue);\n}\n.loading-ball.green[data-v-7a9a3040] {\n background-color: var(--color-loading-ball-green);\n}\n.loading-ball.red[data-v-7a9a3040] {\n background-color: var(--color-loading-ball-red);\n}\n@keyframes bounce-7a9a3040 {\n0%, 100% {\n transform: translateY(0);\n}\n50% {\n transform: translateY(-1rem);\n}\n}\n";
79
+ styleInject(css_248z$w);
70
80
 
71
- script$A.render = render$A;
72
- script$A.__scopeId = "data-v-7a9a3040";
73
- script$A.__file = "src/Loading/Loading.vue";
81
+ script$B.__scopeId = "data-v-7a9a3040";
82
+ script$B.__file = "src/Loading/Loading.vue";
74
83
 
75
- var script$z = vue.defineComponent({
76
- name: "CardImage",
84
+ const _hoisted_1$x = ["src", "alt"];
85
+
86
+
87
+ var script$A = {
88
+ __name: 'CardImage',
77
89
  props: {
78
- src: String,
79
- alt: String,
80
- },
81
- data: function () {
82
- return {
83
- imageWidth: 0,
84
- }
85
- },
86
- methods: {
87
- calculateWidth() {
88
- return this.$refs.image.clientWidth
89
- },
90
- },
90
+ src: String,
91
+ alt: String,
92
+ },
91
93
  emits: ['width'],
92
- mounted: function () {
93
- this.$emit('width', this.calculateWidth());
94
- },
95
- });
94
+ setup(__props, { emit: __emit }) {
95
+
96
96
 
97
- const _hoisted_1$w = ["src", "alt"];
98
97
 
99
- function render$z(_ctx, _cache, $props, $setup, $data, $options) {
98
+ const emit = __emit;
99
+ const image = vue.ref(null);
100
+
101
+ const calculateWidth = () => image.value.clientWidth;
102
+
103
+ vue.onMounted(() => {
104
+ emit('width', calculateWidth());
105
+ });
106
+
107
+ return (_ctx, _cache) => {
100
108
  return (vue.openBlock(), vue.createElementBlock("img", {
101
- src: _ctx.src,
102
- alt: _ctx.alt,
103
- ref: "image"
104
- }, null, 8 /* PROPS */, _hoisted_1$w))
109
+ src: __props.src,
110
+ alt: __props.alt,
111
+ ref_key: "image",
112
+ ref: image
113
+ }, null, 8 /* PROPS */, _hoisted_1$x))
114
+ }
105
115
  }
106
116
 
107
- var css_248z$u = "\nimg[data-v-5fa6a3f6] {\n width: 100%;\n}\n";
108
- styleInject(css_248z$u);
117
+ };
109
118
 
110
- script$z.render = render$z;
111
- script$z.__scopeId = "data-v-5fa6a3f6";
112
- script$z.__file = "src/Card/CardImage.vue";
119
+ var css_248z$v = "\nimg[data-v-5fa6a3f6] {\n width: 100%;\n}\n";
120
+ styleInject(css_248z$v);
113
121
 
114
- var script$y = vue.defineComponent({
115
- name: "CardBody",
116
- props: {
117
- title: String,
118
- },
119
- });
122
+ script$A.__scopeId = "data-v-5fa6a3f6";
123
+ script$A.__file = "src/Card/CardImage.vue";
120
124
 
121
- const _hoisted_1$v = { class: "card-body" };
125
+ const _hoisted_1$w = { class: "card-body" };
122
126
  const _hoisted_2$g = { class: "card-title" };
123
127
  const _hoisted_3$a = { class: "card-text" };
124
128
 
125
- function render$y(_ctx, _cache, $props, $setup, $data, $options) {
126
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$v, [
127
- vue.createElementVNode("div", _hoisted_2$g, vue.toDisplayString(_ctx.title), 1 /* TEXT */),
129
+
130
+ var script$z = {
131
+ __name: 'CardBody',
132
+ props: {
133
+ title: String,
134
+ },
135
+ setup(__props) {
136
+
137
+
138
+
139
+ return (_ctx, _cache) => {
140
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$w, [
141
+ vue.createElementVNode("div", _hoisted_2$g, vue.toDisplayString(__props.title), 1 /* TEXT */),
128
142
  vue.createElementVNode("p", _hoisted_3$a, [
129
143
  vue.renderSlot(_ctx.$slots, "default")
130
144
  ])
131
145
  ]))
132
146
  }
147
+ }
133
148
 
134
- var css_248z$t = "\n.card-body[data-v-c140cd30] {\n padding: var(--card-body-padding);\n}\n.card-title[data-v-c140cd30] {\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-large);\n margin-bottom: var(--card-title-margin-bottom);\n}\n.card-text[data-v-c140cd30] {\n color: var(--color-card-text);\n font-size: var(--font-size-base);\n}\n";
135
- styleInject(css_248z$t);
149
+ };
136
150
 
137
- script$y.render = render$y;
138
- script$y.__scopeId = "data-v-c140cd30";
139
- script$y.__file = "src/Card/CardBody.vue";
151
+ var css_248z$u = "\n.card-body[data-v-c140cd30] {\n padding: var(--card-body-padding);\n}\n.card-title[data-v-c140cd30] {\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-large);\n margin-bottom: var(--card-title-margin-bottom);\n}\n.card-text[data-v-c140cd30] {\n color: var(--color-card-text);\n font-size: var(--font-size-base);\n}\n";
152
+ styleInject(css_248z$u);
140
153
 
141
- var script$x = vue.defineComponent({
142
- name: "Card",
143
- props: {
144
- image: String,
145
- title: String,
146
- dismissed: {
147
- type: Boolean,
148
- default: false,
149
- },
150
- },
151
- components: {
152
- CardImage: script$z,
153
- CardBody: script$y,
154
- },
155
- emits: ['width']
156
- });
154
+ script$z.__scopeId = "data-v-c140cd30";
155
+ script$z.__file = "src/Card/CardBody.vue";
157
156
 
158
- const _hoisted_1$u = {
157
+ const _hoisted_1$v = {
159
158
  key: 0,
160
159
  class: "card-container"
161
160
  };
162
161
  const _hoisted_2$f = { class: "card" };
163
162
 
164
- function render$x(_ctx, _cache, $props, $setup, $data, $options) {
165
- const _component_card_image = vue.resolveComponent("card-image");
166
- const _component_card_body = vue.resolveComponent("card-body");
167
163
 
168
- return (!_ctx.dismissed)
169
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
164
+ var script$y = {
165
+ __name: 'Card',
166
+ props: {
167
+ image: String,
168
+ title: String,
169
+ dismissed: {
170
+ type: Boolean,
171
+ default: false,
172
+ },
173
+ },
174
+ emits: ['width'],
175
+ setup(__props) {
176
+
177
+
178
+
179
+
180
+
181
+ return (_ctx, _cache) => {
182
+ return (!__props.dismissed)
183
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$v, [
170
184
  vue.createElementVNode("div", _hoisted_2$f, [
171
- vue.createVNode(_component_card_image, {
172
- src: _ctx.image,
173
- alt: _ctx.title,
185
+ vue.createVNode(script$A, {
186
+ src: __props.image,
187
+ alt: __props.title,
174
188
  onWidth: _cache[0] || (_cache[0] = $event => (_ctx.$emit('width', $event)))
175
189
  }, null, 8 /* PROPS */, ["src", "alt"]),
176
- vue.createVNode(_component_card_body, { title: _ctx.title }, {
190
+ vue.createVNode(script$z, { title: __props.title }, {
177
191
  default: vue.withCtx(() => [
178
192
  vue.renderSlot(_ctx.$slots, "default")
179
193
  ]),
@@ -183,120 +197,113 @@ function render$x(_ctx, _cache, $props, $setup, $data, $options) {
183
197
  ]))
184
198
  : vue.createCommentVNode("v-if", true)
185
199
  }
200
+ }
186
201
 
187
- var css_248z$s = "\n.card-container[data-v-da3858b4] {\n margin: var(--card-margin);\n}\n.card[data-v-da3858b4] {\n max-width: var(--card-max-width);\n border-radius: var(--border-radius-big);\n overflow: hidden;\n box-shadow: var(--card-shadow);\n}\n";
188
- styleInject(css_248z$s);
202
+ };
203
+
204
+ var css_248z$t = "\n.card-container[data-v-da3858b4] {\n margin: var(--card-margin);\n}\n.card[data-v-da3858b4] {\n max-width: var(--card-max-width);\n border-radius: var(--border-radius-big);\n overflow: hidden;\n box-shadow: var(--card-shadow);\n}\n";
205
+ styleInject(css_248z$t);
189
206
 
190
- script$x.render = render$x;
191
- script$x.__scopeId = "data-v-da3858b4";
192
- script$x.__file = "src/Card/Card.vue";
207
+ script$y.__scopeId = "data-v-da3858b4";
208
+ script$y.__file = "src/Card/Card.vue";
193
209
 
194
- var script$w = vue.defineComponent({
195
- name: "CardGrid"
196
- });
210
+ const _hoisted_1$u = { class: "card-grid" };
197
211
 
198
- const _hoisted_1$t = { class: "card-grid" };
199
212
 
200
- function render$w(_ctx, _cache, $props, $setup, $data, $options) {
201
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$t, [
213
+ var script$x = {
214
+ __name: 'CardGrid',
215
+ setup(__props) {
216
+
217
+ // No logic needed
218
+
219
+ return (_ctx, _cache) => {
220
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
202
221
  vue.renderSlot(_ctx.$slots, "default")
203
222
  ]))
204
223
  }
224
+ }
205
225
 
206
- var css_248z$r = "\n.card-grid[data-v-ad060034] {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n align-content: center;\n}\n@media (min-width: 1024px) {\n.card-grid[data-v-ad060034] {\n justify-content: space-between;\n}\n}\n";
207
- styleInject(css_248z$r);
226
+ };
227
+
228
+ var css_248z$s = "\n.card-grid[data-v-ad060034] {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n align-content: center;\n}\n@media (min-width: 1024px) {\n.card-grid[data-v-ad060034] {\n justify-content: space-between;\n}\n}\n";
229
+ styleInject(css_248z$s);
208
230
 
209
- script$w.render = render$w;
210
- script$w.__scopeId = "data-v-ad060034";
211
- script$w.__file = "src/CardGrid/CardGrid.vue";
231
+ script$x.__scopeId = "data-v-ad060034";
232
+ script$x.__file = "src/CardGrid/CardGrid.vue";
233
+
234
+ const _hoisted_1$t = { class: "container" };
212
235
 
213
- var script$v = vue.defineComponent({
214
- name: "Container"
215
- });
216
236
 
217
- const _hoisted_1$s = { class: "container" };
237
+ var script$w = {
238
+ __name: 'Container',
239
+ setup(__props) {
218
240
 
219
- function render$v(_ctx, _cache, $props, $setup, $data, $options) {
220
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
241
+ // No logic needed
242
+
243
+ return (_ctx, _cache) => {
244
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$t, [
221
245
  vue.renderSlot(_ctx.$slots, "default")
222
246
  ]))
223
247
  }
248
+ }
224
249
 
225
- var css_248z$q = "\n.container[data-v-7cccf06a] {\n max-width: var(--container-max-width);\n margin: var(--container-margin);\n}\n";
226
- styleInject(css_248z$q);
250
+ };
251
+
252
+ var css_248z$r = "\n.container[data-v-7cccf06a] {\n max-width: var(--container-max-width);\n margin: var(--container-margin);\n}\n";
253
+ styleInject(css_248z$r);
254
+
255
+ script$w.__scopeId = "data-v-7cccf06a";
256
+ script$w.__file = "src/Container/Container.vue";
227
257
 
228
- script$v.render = render$v;
229
- script$v.__scopeId = "data-v-7cccf06a";
230
- script$v.__file = "src/Container/Container.vue";
258
+ const _hoisted_1$s = ["href"];
231
259
 
232
- var script$u = vue.defineComponent({
233
- name: "MobileNavigationLink",
260
+ var script$v = {
261
+ __name: 'MobileNavigationLink',
234
262
  props: {
235
- text: {
236
- type: String,
237
- },
238
- href: {
239
- type: String,
240
- },
241
- current: {
242
- type: Boolean,
243
- },
244
- },
245
- computed: {
246
- linkClass: function () {
247
- if (this.current) {
248
- return 'current-link'
249
- }
250
- return 'regular-link'
251
- },
252
- linkDestination: function () {
253
- return this.current ? '#' : this.href
254
- },
255
- },
256
- });
263
+ text: String,
264
+ href: String,
265
+ current: Boolean,
266
+ },
267
+ setup(__props) {
257
268
 
258
- const _hoisted_1$r = ["href"];
269
+ const props = __props;
270
+ const linkClass = vue.computed(() => props.current ? 'current-link' : 'regular-link');
271
+ const linkDestination = vue.computed(() => props.current ? '#' : props.href);
259
272
 
260
- function render$u(_ctx, _cache, $props, $setup, $data, $options) {
273
+ return (_ctx, _cache) => {
261
274
  return (vue.openBlock(), vue.createElementBlock("a", {
262
- href: _ctx.linkDestination,
263
- class: vue.normalizeClass(_ctx.linkClass),
275
+ href: linkDestination.value,
276
+ class: vue.normalizeClass(linkClass.value),
264
277
  "aria-current": "page"
265
- }, vue.toDisplayString(_ctx.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_1$r))
278
+ }, vue.toDisplayString(__props.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_1$s))
279
+ }
266
280
  }
267
281
 
268
- var css_248z$p = "\n.current-link[data-v-3e279546] {\n background-color: var(--color-navbar-current-background);\n color: var(--color-navbar-text);\n display: block;\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n border-radius: 0.375rem;\n font-size: var(--font-size-navbar);\n text-decoration: none;\n cursor: default;\n}\n.regular-link[data-v-3e279546] {\n color: var(--color-navbar-text);\n display: block;\n padding: 0.5rem 0.75rem;\n border-radius: 0.375rem;\n font-size: var(--font-size-navbar);\n transition: background-color 0.2s ease, color 0.2s ease;\n text-decoration: none;\n}\n.regular-link[data-v-3e279546]:hover {\n background-color: var(--color-navbar-link-background);\n}\n";
269
- styleInject(css_248z$p);
282
+ };
270
283
 
271
- script$u.render = render$u;
272
- script$u.__scopeId = "data-v-3e279546";
273
- script$u.__file = "src/Navbar/MobileNavigationLink.vue";
284
+ var css_248z$q = "\n.current-link[data-v-3e279546] {\n background-color: var(--color-navbar-current-background);\n color: var(--color-navbar-text);\n display: block;\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n border-radius: 0.375rem;\n font-size: var(--font-size-navbar);\n text-decoration: none;\n cursor: default;\n}\n.regular-link[data-v-3e279546] {\n color: var(--color-navbar-text);\n display: block;\n padding: 0.5rem 0.75rem;\n border-radius: 0.375rem;\n font-size: var(--font-size-navbar);\n transition: background-color 0.2s ease, color 0.2s ease;\n text-decoration: none;\n}\n.regular-link[data-v-3e279546]:hover {\n background-color: var(--color-navbar-link-background);\n}\n";
285
+ styleInject(css_248z$q);
274
286
 
275
- var script$t = vue.defineComponent({
276
- name: "MobileNavigationLinks",
277
- components: {
278
- MobileNavigationLink: script$u,
279
- },
280
- props: {
281
- links: {
282
- type: Array,
283
- },
284
- open: {
285
- type: Boolean,
286
- default: false,
287
- },
288
- },
289
- });
287
+ script$v.__scopeId = "data-v-3e279546";
288
+ script$v.__file = "src/Navbar/MobileNavigationLink.vue";
290
289
 
291
- const _hoisted_1$q = {
290
+ const _hoisted_1$r = {
292
291
  key: 0,
293
292
  id: "mobile-menu"
294
293
  };
295
294
  const _hoisted_2$e = { class: "menu-panel" };
296
295
 
297
- function render$t(_ctx, _cache, $props, $setup, $data, $options) {
298
- const _component_mobile_navigation_link = vue.resolveComponent("mobile-navigation-link");
296
+ var script$u = {
297
+ __name: 'MobileNavigationLinks',
298
+ props: {
299
+ links: Array,
300
+ open: { type: Boolean, default: false },
301
+ },
302
+ setup(__props) {
303
+
299
304
 
305
+
306
+ return (_ctx, _cache) => {
300
307
  return (vue.openBlock(), vue.createBlock(vue.Transition, {
301
308
  "enter-active-class": "fade-scale-enter-active",
302
309
  "leave-active-class": "fade-scale-leave-active",
@@ -306,11 +313,11 @@ function render$t(_ctx, _cache, $props, $setup, $data, $options) {
306
313
  "leave-to-class": "fade-scale-leave-to"
307
314
  }, {
308
315
  default: vue.withCtx(() => [
309
- (_ctx.open)
310
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
316
+ (__props.open)
317
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
311
318
  vue.createElementVNode("div", _hoisted_2$e, [
312
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.links, (link) => {
313
- return (vue.openBlock(), vue.createBlock(_component_mobile_navigation_link, {
319
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.links, (link) => {
320
+ return (vue.openBlock(), vue.createBlock(script$v, {
314
321
  key: link.id,
315
322
  href: link.href,
316
323
  text: link.text,
@@ -324,79 +331,65 @@ function render$t(_ctx, _cache, $props, $setup, $data, $options) {
324
331
  _: 1 /* STABLE */
325
332
  }))
326
333
  }
334
+ }
327
335
 
328
- var css_248z$o = "\n.fade-scale-enter-active[data-v-eb1296c6],\n.fade-scale-leave-active[data-v-eb1296c6] {\n transition: all 200ms ease;\n}\n.fade-scale-enter-from[data-v-eb1296c6],\n.fade-scale-leave-to[data-v-eb1296c6] {\n transform: scaleY(0);\n transform-origin: top;\n}\n.fade-scale-enter-to[data-v-eb1296c6],\n.fade-scale-leave-from[data-v-eb1296c6] {\n transform: scaleY(1);\n transform-origin: top;\n}\n#mobile-menu[data-v-eb1296c6] {\n display: block;\n}\n.menu-panel[data-v-eb1296c6] {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n padding-top: 0.5rem;\n padding-bottom: 0.75rem;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n background-color: var(--color-navbar-background);\n}\n@media (min-width: 640px) {\n#mobile-menu[data-v-eb1296c6] {\n display: none;\n}\n}\n";
329
- styleInject(css_248z$o);
336
+ };
337
+
338
+ var css_248z$p = "\n.fade-scale-enter-active[data-v-eb1296c6],\n.fade-scale-leave-active[data-v-eb1296c6] {\n transition: all 200ms ease;\n}\n.fade-scale-enter-from[data-v-eb1296c6],\n.fade-scale-leave-to[data-v-eb1296c6] {\n transform: scaleY(0);\n transform-origin: top;\n}\n.fade-scale-enter-to[data-v-eb1296c6],\n.fade-scale-leave-from[data-v-eb1296c6] {\n transform: scaleY(1);\n transform-origin: top;\n}\n#mobile-menu[data-v-eb1296c6] {\n display: block;\n}\n.menu-panel[data-v-eb1296c6] {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n padding-top: 0.5rem;\n padding-bottom: 0.75rem;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n background-color: var(--color-navbar-background);\n}\n@media (min-width: 640px) {\n#mobile-menu[data-v-eb1296c6] {\n display: none;\n}\n}\n";
339
+ styleInject(css_248z$p);
340
+
341
+ script$u.__scopeId = "data-v-eb1296c6";
342
+ script$u.__file = "src/Navbar/MobileNavigationLinks.vue";
330
343
 
331
- script$t.render = render$t;
332
- script$t.__scopeId = "data-v-eb1296c6";
333
- script$t.__file = "src/Navbar/MobileNavigationLinks.vue";
344
+ const _hoisted_1$q = ["href"];
334
345
 
335
- var script$s = vue.defineComponent({
336
- name: "NavigationLink",
346
+ var script$t = {
347
+ __name: 'NavigationLink',
337
348
  props: {
338
- text: {
339
- type: String,
340
- },
341
- href: {
342
- type: String,
343
- },
344
- current: {
345
- type: Boolean,
346
- },
347
- },
348
- computed: {
349
- linkClass: function () {
350
- if (this.current) {
351
- return 'current-link'
352
- }
353
- return 'regular-link'
354
- },
355
- linkDestination: function () {
356
- return this.current ? '#' : this.href
357
- },
358
- },
359
- });
349
+ text: String,
350
+ href: String,
351
+ current: Boolean,
352
+ },
353
+ setup(__props) {
360
354
 
361
- const _hoisted_1$p = ["href"];
355
+ const props = __props;
356
+ const linkClass = vue.computed(() => props.current ? 'current-link' : 'regular-link');
357
+ const linkDestination = vue.computed(() => props.current ? '#' : props.href);
362
358
 
363
- function render$s(_ctx, _cache, $props, $setup, $data, $options) {
359
+ return (_ctx, _cache) => {
364
360
  return (vue.openBlock(), vue.createElementBlock("a", {
365
- href: _ctx.linkDestination,
366
- class: vue.normalizeClass(_ctx.linkClass),
361
+ href: linkDestination.value,
362
+ class: vue.normalizeClass(linkClass.value),
367
363
  "aria-current": "page"
368
- }, vue.toDisplayString(_ctx.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_1$p))
364
+ }, vue.toDisplayString(__props.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_1$q))
365
+ }
369
366
  }
370
367
 
371
- var css_248z$n = "\n.current-link[data-v-4989b384] {\n background-color: var(--color-navbar-current-background);\n color: var(--color-navbar-text);\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n border-radius: 0.375rem;\n font-size: var(--font-size-navbar);\n text-decoration: none;\n cursor: default;\n}\n.regular-link[data-v-4989b384] {\n color: var(--color-navbar-text);\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n border-radius: 0.375rem;\n font-size: var(--font-size-navbar);\n transition: background-color 0.2s ease, color 0.2s ease;\n text-decoration: none;\n}\n.regular-link[data-v-4989b384]:hover {\n background-color: var(--color-navbar-link-background);\n}\n";
372
- styleInject(css_248z$n);
368
+ };
373
369
 
374
- script$s.render = render$s;
375
- script$s.__scopeId = "data-v-4989b384";
376
- script$s.__file = "src/Navbar/NavigationLink.vue";
370
+ var css_248z$o = "\n.current-link[data-v-4989b384] {\n background-color: var(--color-navbar-current-background);\n color: var(--color-navbar-text);\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n border-radius: 0.375rem;\n font-size: var(--font-size-navbar);\n text-decoration: none;\n cursor: default;\n}\n.regular-link[data-v-4989b384] {\n color: var(--color-navbar-text);\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n border-radius: 0.375rem;\n font-size: var(--font-size-navbar);\n transition: background-color 0.2s ease, color 0.2s ease;\n text-decoration: none;\n}\n.regular-link[data-v-4989b384]:hover {\n background-color: var(--color-navbar-link-background);\n}\n";
371
+ styleInject(css_248z$o);
377
372
 
378
- var script$r = vue.defineComponent({
379
- name: "NavigationLinks",
380
- components: {
381
- NavigationLink: script$s,
382
- },
383
- props: {
384
- links: {
385
- type: Array,
386
- },
387
- },
388
- });
373
+ script$t.__scopeId = "data-v-4989b384";
374
+ script$t.__file = "src/Navbar/NavigationLink.vue";
389
375
 
390
- const _hoisted_1$o = { class: "links-container" };
376
+ const _hoisted_1$p = { class: "links-container" };
391
377
  const _hoisted_2$d = { class: "links-wrapper" };
392
378
 
393
- function render$r(_ctx, _cache, $props, $setup, $data, $options) {
394
- const _component_navigation_link = vue.resolveComponent("navigation-link");
379
+ var script$s = {
380
+ __name: 'NavigationLinks',
381
+ props: {
382
+ links: Array,
383
+ },
384
+ setup(__props) {
385
+
386
+
395
387
 
396
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
388
+ return (_ctx, _cache) => {
389
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
397
390
  vue.createElementVNode("div", _hoisted_2$d, [
398
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.links, (link) => {
399
- return (vue.openBlock(), vue.createBlock(_component_navigation_link, {
391
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.links, (link) => {
392
+ return (vue.openBlock(), vue.createBlock(script$t, {
400
393
  key: link.id,
401
394
  href: link.href,
402
395
  text: link.text,
@@ -406,126 +399,113 @@ function render$r(_ctx, _cache, $props, $setup, $data, $options) {
406
399
  ])
407
400
  ]))
408
401
  }
402
+ }
409
403
 
410
- var css_248z$m = "\n.links-container[data-v-294f43c2] {\n display: none;\n}\n.links-wrapper[data-v-294f43c2] {\n display: flex;\n gap: 1rem;\n}\n@media (min-width: 640px) {\n.links-container[data-v-294f43c2] {\n display: block;\n margin-left: 1.5rem;\n}\n}\n";
411
- styleInject(css_248z$m);
404
+ };
412
405
 
413
- script$r.render = render$r;
414
- script$r.__scopeId = "data-v-294f43c2";
415
- script$r.__file = "src/Navbar/NavigationLinks.vue";
406
+ var css_248z$n = "\n.links-container[data-v-294f43c2] {\n display: none;\n}\n.links-wrapper[data-v-294f43c2] {\n display: flex;\n gap: 1rem;\n}\n@media (min-width: 640px) {\n.links-container[data-v-294f43c2] {\n display: block;\n margin-left: 1.5rem;\n}\n}\n";
407
+ styleInject(css_248z$n);
416
408
 
417
- var script$q = vue.defineComponent({
418
- name: "NavbarTitle",
419
- props: {
420
- href: {
421
- type: String,
422
- },
423
- title: {
424
- type: String,
425
- },
426
- imageBig: {
427
- type: String,
428
- },
429
- imageSmall: {
430
- type: String,
431
- },
432
- }
433
- });
409
+ script$s.__scopeId = "data-v-294f43c2";
410
+ script$s.__file = "src/Navbar/NavigationLinks.vue";
434
411
 
435
- const _hoisted_1$n = ["href"];
412
+ const _hoisted_1$o = ["href"];
436
413
  const _hoisted_2$c = ["src", "alt"];
437
414
  const _hoisted_3$9 = ["src", "alt"];
438
415
 
439
- function render$q(_ctx, _cache, $props, $setup, $data, $options) {
416
+
417
+ var script$r = {
418
+ __name: 'NavbarTitle',
419
+ props: {
420
+ href: String,
421
+ title: String,
422
+ imageBig: String,
423
+ imageSmall: String,
424
+ },
425
+ setup(__props) {
426
+
427
+
428
+
429
+ return (_ctx, _cache) => {
440
430
  return (vue.openBlock(), vue.createElementBlock("a", {
441
431
  class: "title-container",
442
- href: _ctx.href
432
+ href: __props.href
443
433
  }, [
444
434
  vue.createElementVNode("img", {
445
435
  class: "logo-small",
446
- src: _ctx.imageSmall,
447
- alt: _ctx.title
436
+ src: __props.imageSmall,
437
+ alt: __props.title
448
438
  }, null, 8 /* PROPS */, _hoisted_2$c),
449
439
  vue.createElementVNode("img", {
450
440
  class: "logo-big",
451
- src: _ctx.imageBig,
452
- alt: _ctx.title
441
+ src: __props.imageBig,
442
+ alt: __props.title
453
443
  }, null, 8 /* PROPS */, _hoisted_3$9)
454
- ], 8 /* PROPS */, _hoisted_1$n))
444
+ ], 8 /* PROPS */, _hoisted_1$o))
445
+ }
455
446
  }
456
447
 
457
- var css_248z$l = "\n.title-container[data-v-661ef87c] {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n}\n.logo-small[data-v-661ef87c] {\n display: block;\n height: 2rem;\n width: auto;\n}\n.logo-big[data-v-661ef87c] {\n display: none;\n height: 2rem;\n width: auto;\n}\n@media (min-width: 1024px) {\n.logo-small[data-v-661ef87c] {\n display: none;\n}\n.logo-big[data-v-661ef87c] {\n display: block;\n}\n}\n\n\n";
458
- styleInject(css_248z$l);
448
+ };
459
449
 
460
- script$q.render = render$q;
461
- script$q.__scopeId = "data-v-661ef87c";
462
- script$q.__file = "src/Navbar/NavbarTitle.vue";
450
+ var css_248z$m = "\n.title-container[data-v-661ef87c] {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n}\n.logo-small[data-v-661ef87c] {\n display: block;\n height: 2rem;\n width: auto;\n}\n.logo-big[data-v-661ef87c] {\n display: none;\n height: 2rem;\n width: auto;\n}\n@media (min-width: 1024px) {\n.logo-small[data-v-661ef87c] {\n display: none;\n}\n.logo-big[data-v-661ef87c] {\n display: block;\n}\n}\n\n\n";
451
+ styleInject(css_248z$m);
463
452
 
464
- var script$p = vue.defineComponent({
465
- name: "RightContent",
466
- props: {
467
- locale: {
468
- type: String,
469
- },
470
- currentUserEmail: {
471
- type: String,
472
- },
473
- currentUserName: {
474
- type: String,
475
- },
476
- currentUserPicture: {
477
- type: String,
478
- },
479
- },
480
- computed: {
481
- avatarAlt: function () {
482
- return this.currentUserName + ` (${this.currentUserEmail})`
483
- },
484
- },
485
- });
453
+ script$r.__scopeId = "data-v-661ef87c";
454
+ script$r.__file = "src/Navbar/NavbarTitle.vue";
486
455
 
487
- const _hoisted_1$m = { class: "action-container" };
456
+ const _hoisted_1$n = { class: "action-container" };
488
457
  const _hoisted_2$b = ["src", "alt"];
489
458
 
490
- function render$p(_ctx, _cache, $props, $setup, $data, $options) {
491
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
459
+ var script$q = {
460
+ __name: 'RightContent',
461
+ props: {
462
+ locale: String,
463
+ currentUserEmail: String,
464
+ currentUserName: String,
465
+ currentUserPicture: String,
466
+ },
467
+ setup(__props) {
468
+
469
+ const props = __props;
470
+ const avatarAlt = vue.computed(() => `${props.currentUserName} (${props.currentUserEmail})`);
471
+
472
+ return (_ctx, _cache) => {
473
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
492
474
  vue.createElementVNode("img", {
493
475
  class: "circle-image",
494
- src: _ctx.currentUserPicture,
495
- alt: _ctx.avatarAlt
476
+ src: __props.currentUserPicture,
477
+ alt: avatarAlt.value
496
478
  }, null, 8 /* PROPS */, _hoisted_2$b)
497
479
  ]))
498
480
  }
481
+ }
499
482
 
500
- var css_248z$k = "\n.action-container[data-v-07675a13] {\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n display: flex;\n align-items: center;\n padding-right: 0.5rem;\n color: var(--color-navbar-text);\n font-size: var(--font-size-navbar);\n}\n.circle-image[data-v-07675a13] {\n border-radius: 9999px;\n padding: 0.25rem;\n height: 50px;\n width: 50px;\n}\n@media (min-width: 640px) {\n.action-container[data-v-07675a13] {\n position: static;\n top: auto;\n bottom: auto;\n right: auto;\n margin-left: 1.5rem;\n padding-right: 0;\n}\n}\n\n";
501
- styleInject(css_248z$k);
483
+ };
502
484
 
503
- script$p.render = render$p;
504
- script$p.__scopeId = "data-v-07675a13";
505
- script$p.__file = "src/Navbar/RightContent.vue";
485
+ var css_248z$l = "\n.action-container[data-v-07675a13] {\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n display: flex;\n align-items: center;\n padding-right: 0.5rem;\n color: var(--color-navbar-text);\n font-size: var(--font-size-navbar);\n}\n.circle-image[data-v-07675a13] {\n border-radius: 9999px;\n padding: 0.25rem;\n height: 50px;\n width: 50px;\n}\n@media (min-width: 640px) {\n.action-container[data-v-07675a13] {\n position: static;\n top: auto;\n bottom: auto;\n right: auto;\n margin-left: 1.5rem;\n padding-right: 0;\n}\n}\n\n";
486
+ styleInject(css_248z$l);
506
487
 
507
- var script$o = vue.defineComponent({
508
- name: "MobileMenuButton",
488
+ script$q.__scopeId = "data-v-07675a13";
489
+ script$q.__file = "src/Navbar/RightContent.vue";
490
+
491
+ var script$p = {
492
+ __name: 'MobileMenuButton',
509
493
  props: {
510
- open: {
511
- type: Boolean,
512
- default: false,
513
- },
514
- },
494
+ open: { type: Boolean, default: false },
495
+ },
515
496
  emits: ['click'],
516
- methods: {
517
- onClick(evt) {
518
- this.$emit('click', evt);
519
- },
520
- },
521
- });
497
+ setup(__props, { emit: __emit }) {
498
+
522
499
 
523
- function render$o(_ctx, _cache, $props, $setup, $data, $options) {
500
+ const emit = __emit;
501
+ const onClick = (evt) => emit('click', evt);
502
+
503
+ return (_ctx, _cache) => {
524
504
  return (vue.openBlock(), vue.createElementBlock("button", {
525
505
  class: "menu-button",
526
506
  type: "button",
527
- onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.onClick && _ctx.onClick(...args)))
528
- }, _cache[1] || (_cache[1] = [
507
+ onClick: onClick
508
+ }, _cache[0] || (_cache[0] = [
529
509
  vue.createElementVNode("svg", {
530
510
  class: "menu-icon",
531
511
  xmlns: "http://www.w3.org/2000/svg",
@@ -542,383 +522,428 @@ function render$o(_ctx, _cache, $props, $setup, $data, $options) {
542
522
  ], -1 /* HOISTED */)
543
523
  ])))
544
524
  }
525
+ }
545
526
 
546
- var css_248z$j = "\n.menu-button[data-v-397545ee] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0.5rem;\n border-radius: var(--border-radius-big);\n color: var(--color-navbar-text);\n background-color: transparent;\n transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;\n border: none;\n cursor: pointer;\n}\n.menu-icon[data-v-397545ee] {\n display: block;\n height: 1.5rem;\n width: 1.5rem;\n}\n";
547
- styleInject(css_248z$j);
527
+ };
548
528
 
549
- script$o.render = render$o;
550
- script$o.__scopeId = "data-v-397545ee";
551
- script$o.__file = "src/Navbar/MobileMenuButton.vue";
552
-
553
- var script$n = vue.defineComponent({
554
- name: "Navbar",
555
- components: {
556
- NavbarTitle: script$q,
557
- NavigationLinks: script$r,
558
- MobileNavigationLinks: script$t,
559
- RightContent: script$p,
560
- MobileMenuButton: script$o,
561
- },
562
- data() {
563
- return {
564
- mobileMenuOpen: false,
565
- }
566
- },
567
- props: {
568
- links: {
569
- type: Array,
570
- },
571
- locale: {
572
- type: String,
573
- },
574
- currentUserEmail: {
575
- type: String,
576
- },
577
- currentUserName: {
578
- type: String,
579
- },
580
- currentUserPicture: {
581
- type: String,
582
- },
583
- title: {
584
- type: String,
585
- },
586
- imageBig: {
587
- type: String,
588
- },
589
- imageSmall: {
590
- type: String,
591
- },
592
- },
593
- methods: {
594
- onMobileMenuClick() {
595
- this.mobileMenuOpen = !this.mobileMenuOpen;
596
- },
597
- }
598
- });
529
+ var css_248z$k = "\n.menu-button[data-v-397545ee] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0.5rem;\n border-radius: var(--border-radius-big);\n color: var(--color-navbar-text);\n background-color: transparent;\n transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;\n border: none;\n cursor: pointer;\n}\n.menu-icon[data-v-397545ee] {\n display: block;\n height: 1.5rem;\n width: 1.5rem;\n}\n";
530
+ styleInject(css_248z$k);
599
531
 
600
- const _hoisted_1$l = { class: "navbar" };
532
+ script$p.__scopeId = "data-v-397545ee";
533
+ script$p.__file = "src/Navbar/MobileMenuButton.vue";
534
+
535
+ const _hoisted_1$m = { class: "navbar" };
601
536
  const _hoisted_2$a = { class: "navbar-container" };
602
537
  const _hoisted_3$8 = { class: "flex-header" };
603
538
  const _hoisted_4$3 = { class: "menu-toggle" };
604
539
  const _hoisted_5$2 = { class: "title-container" };
605
540
 
606
- function render$n(_ctx, _cache, $props, $setup, $data, $options) {
607
- const _component_mobile_menu_button = vue.resolveComponent("mobile-menu-button");
608
- const _component_navbar_title = vue.resolveComponent("navbar-title");
609
- const _component_navigation_links = vue.resolveComponent("navigation-links");
610
- const _component_right_content = vue.resolveComponent("right-content");
611
- const _component_mobile_navigation_links = vue.resolveComponent("mobile-navigation-links");
612
541
 
613
- return (vue.openBlock(), vue.createElementBlock("nav", _hoisted_1$l, [
542
+ var script$o = {
543
+ __name: 'Navbar',
544
+ props: {
545
+ links: Array,
546
+ locale: String,
547
+ currentUserEmail: String,
548
+ currentUserName: String,
549
+ currentUserPicture: String,
550
+ title: String,
551
+ imageBig: String,
552
+ imageSmall: String,
553
+ },
554
+ setup(__props) {
555
+
556
+
557
+
558
+ const mobileMenuOpen = vue.ref(false);
559
+ const onMobileMenuClick = () => {
560
+ mobileMenuOpen.value = !mobileMenuOpen.value;
561
+ };
562
+
563
+ return (_ctx, _cache) => {
564
+ return (vue.openBlock(), vue.createElementBlock("nav", _hoisted_1$m, [
614
565
  vue.createElementVNode("div", _hoisted_2$a, [
615
566
  vue.createElementVNode("div", _hoisted_3$8, [
616
567
  vue.createElementVNode("div", _hoisted_4$3, [
617
- vue.createVNode(_component_mobile_menu_button, {
618
- onClick: _ctx.onMobileMenuClick,
619
- open: _ctx.mobileMenuOpen
620
- }, null, 8 /* PROPS */, ["onClick", "open"])
568
+ vue.createVNode(script$p, {
569
+ onClick: onMobileMenuClick,
570
+ open: mobileMenuOpen.value
571
+ }, null, 8 /* PROPS */, ["open"])
621
572
  ]),
622
573
  vue.createElementVNode("div", _hoisted_5$2, [
623
- vue.createVNode(_component_navbar_title, {
574
+ vue.createVNode(script$r, {
624
575
  href: "/",
625
- title: _ctx.title,
626
- imageBig: _ctx.imageBig,
627
- imageSmall: _ctx.imageSmall
576
+ title: __props.title,
577
+ imageBig: __props.imageBig,
578
+ imageSmall: __props.imageSmall
628
579
  }, null, 8 /* PROPS */, ["title", "imageBig", "imageSmall"]),
629
- vue.createVNode(_component_navigation_links, { links: _ctx.links }, null, 8 /* PROPS */, ["links"])
580
+ vue.createVNode(script$s, { links: __props.links }, null, 8 /* PROPS */, ["links"])
630
581
  ]),
631
- vue.createVNode(_component_right_content, {
632
- locale: _ctx.locale,
633
- "current-user-email": _ctx.currentUserEmail,
634
- "current-user-name": _ctx.currentUserName,
635
- "current-user-picture": _ctx.currentUserPicture
582
+ vue.createVNode(script$q, {
583
+ locale: __props.locale,
584
+ "current-user-email": __props.currentUserEmail,
585
+ "current-user-name": __props.currentUserName,
586
+ "current-user-picture": __props.currentUserPicture
636
587
  }, null, 8 /* PROPS */, ["locale", "current-user-email", "current-user-name", "current-user-picture"])
637
588
  ])
638
589
  ]),
639
- vue.createVNode(_component_mobile_navigation_links, {
640
- links: _ctx.links,
641
- open: _ctx.mobileMenuOpen
590
+ vue.createVNode(script$u, {
591
+ links: __props.links,
592
+ open: mobileMenuOpen.value
642
593
  }, null, 8 /* PROPS */, ["links", "open"])
643
594
  ]))
644
595
  }
596
+ }
645
597
 
646
- var css_248z$i = "\n.navbar[data-v-1b5caf34] {\n background-color: var(--color-navbar-background);\n}\n.navbar-container[data-v-1b5caf34] {\n max-width: 80rem;\n margin-left: auto;\n margin-right: auto;\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.flex-header[data-v-1b5caf34] {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 4rem;\n}\n.menu-toggle[data-v-1b5caf34] {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n display: flex;\n align-items: center;\n}\n.title-container[data-v-1b5caf34] {\n flex: 1 1 0%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n@media (min-width: 640px) {\n.navbar-container[data-v-1b5caf34] {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n.menu-toggle[data-v-1b5caf34] {\n display: none;\n}\n.title-container[data-v-1b5caf34] {\n align-items: stretch;\n justify-content: flex-start;\n}\n}\n@media (min-width: 1024px) {\n.navbar-container[data-v-1b5caf34] {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n}\n";
647
- styleInject(css_248z$i);
598
+ };
648
599
 
649
- script$n.render = render$n;
650
- script$n.__scopeId = "data-v-1b5caf34";
651
- script$n.__file = "src/Navbar/Navbar.vue";
600
+ var css_248z$j = "\n.navbar[data-v-1b5caf34] {\n background-color: var(--color-navbar-background);\n}\n.navbar-container[data-v-1b5caf34] {\n max-width: 80rem;\n margin-left: auto;\n margin-right: auto;\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.flex-header[data-v-1b5caf34] {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 4rem;\n}\n.menu-toggle[data-v-1b5caf34] {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n display: flex;\n align-items: center;\n}\n.title-container[data-v-1b5caf34] {\n flex: 1 1 0%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n@media (min-width: 640px) {\n.navbar-container[data-v-1b5caf34] {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n.menu-toggle[data-v-1b5caf34] {\n display: none;\n}\n.title-container[data-v-1b5caf34] {\n align-items: stretch;\n justify-content: flex-start;\n}\n}\n@media (min-width: 1024px) {\n.navbar-container[data-v-1b5caf34] {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n}\n";
601
+ styleInject(css_248z$j);
652
602
 
653
- var script$m = vue.defineComponent({
654
- name: "StyledTable",
655
- });
603
+ script$o.__scopeId = "data-v-1b5caf34";
604
+ script$o.__file = "src/Navbar/Navbar.vue";
656
605
 
657
- const _hoisted_1$k = { class: "styled-table" };
606
+ const _hoisted_1$l = { class: "styled-table" };
658
607
 
659
- function render$m(_ctx, _cache, $props, $setup, $data, $options) {
660
- return (vue.openBlock(), vue.createElementBlock("table", _hoisted_1$k, [
608
+
609
+ var script$n = {
610
+ __name: 'StyledTable',
611
+ setup(__props) {
612
+
613
+ // No logic needed
614
+
615
+ return (_ctx, _cache) => {
616
+ return (vue.openBlock(), vue.createElementBlock("table", _hoisted_1$l, [
661
617
  vue.renderSlot(_ctx.$slots, "default")
662
618
  ]))
663
619
  }
620
+ }
664
621
 
665
- var css_248z$h = "\n.styled-table[data-v-8e6b2044] {\n width: 100%;\n border-collapse: collapse;\n}\n";
666
- styleInject(css_248z$h);
622
+ };
623
+
624
+ var css_248z$i = "\n.styled-table[data-v-8e6b2044] {\n width: 100%;\n border-collapse: collapse;\n}\n";
625
+ styleInject(css_248z$i);
626
+
627
+ script$n.__scopeId = "data-v-8e6b2044";
628
+ script$n.__file = "src/StyledTable/StyledTable.vue";
667
629
 
668
- script$m.render = render$m;
669
- script$m.__scopeId = "data-v-8e6b2044";
670
- script$m.__file = "src/StyledTable/StyledTable.vue";
630
+ const _hoisted_1$k = ["disabled"];
671
631
 
672
- var script$l = vue.defineComponent({
673
- name: "RegularButton",
632
+
633
+ var script$m = {
634
+ __name: 'RegularButton',
674
635
  props: {
675
- text: String,
676
- loading: {
677
- type: Boolean,
678
- default: false,
679
- },
680
- textWhileLoading: {
681
- type: String,
682
- default: '...',
683
- },
636
+ text: String,
637
+ loading: {
638
+ type: Boolean,
639
+ default: false,
684
640
  },
685
- emits: ['click'],
686
- computed: {
687
- cssClass: function () {
688
- if (this.loading) {
689
- return 'regular-button loading';
690
- }
691
- return 'regular-button'
692
- },
693
- },
694
- methods: {
695
- onClick(evt) {
696
- this.$emit('click', evt);
697
- },
641
+ textWhileLoading: {
642
+ type: String,
643
+ default: '...',
698
644
  },
645
+ },
646
+ emits: ['click'],
647
+ setup(__props, { emit: __emit }) {
648
+
649
+ const props = __props;
650
+
651
+ const emit = __emit;
652
+
653
+ const cssClass = vue.computed(() => {
654
+ if (props.loading) {
655
+ return 'regular-button loading';
656
+ }
657
+ return 'regular-button';
699
658
  });
700
659
 
701
- const _hoisted_1$j = ["disabled"];
660
+ const onClick = (evt) => {
661
+ emit('click', evt);
662
+ };
702
663
 
703
- function render$l(_ctx, _cache, $props, $setup, $data, $options) {
664
+ return (_ctx, _cache) => {
704
665
  return (vue.openBlock(), vue.createElementBlock("button", {
705
- onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.onClick && _ctx.onClick(...args))),
706
- class: vue.normalizeClass(_ctx.cssClass),
707
- disabled: _ctx.loading
708
- }, vue.toDisplayString(_ctx.loading ? _ctx.textWhileLoading : _ctx.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_1$j))
666
+ onClick: onClick,
667
+ class: vue.normalizeClass(cssClass.value),
668
+ disabled: __props.loading
669
+ }, vue.toDisplayString(__props.loading ? __props.textWhileLoading : __props.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_1$k))
670
+ }
709
671
  }
710
672
 
711
- var css_248z$g = "\n.regular-button[data-v-7c962c54] {\n background-color: var(--color-regular);\n color: var(--color-regular-text);\n font-weight: var(--font-weight-bold);\n padding: var(--button-padding);\n border-radius: var(--border-radius-base);\n border: var(--button-border);\n cursor: pointer;\n transition: var(--button-transition);\n}\n.regular-button[data-v-7c962c54]:hover {\n background-color: var(--color-regular-hover);\n}\n\n/* Loading state */\n.loading[data-v-7c962c54] {\n background-color: var(--color-regular-disabled);\n cursor: wait;\n}\n.loading[data-v-7c962c54]:hover {\n background-color: var(--color-regular-disabled);\n}\n";
712
- styleInject(css_248z$g);
673
+ };
713
674
 
714
- script$l.render = render$l;
715
- script$l.__scopeId = "data-v-7c962c54";
716
- script$l.__file = "src/Buttons/RegularButton/RegularButton.vue";
675
+ var css_248z$h = "\n.regular-button[data-v-7c962c54] {\n background-color: var(--color-regular);\n color: var(--color-regular-text);\n font-weight: var(--font-weight-bold);\n padding: var(--button-padding);\n border-radius: var(--border-radius-base);\n border: var(--button-border);\n cursor: pointer;\n transition: var(--button-transition);\n}\n.regular-button[data-v-7c962c54]:hover {\n background-color: var(--color-regular-hover);\n}\n\n/* Loading state */\n.loading[data-v-7c962c54] {\n background-color: var(--color-regular-disabled);\n cursor: wait;\n}\n.loading[data-v-7c962c54]:hover {\n background-color: var(--color-regular-disabled);\n}\n";
676
+ styleInject(css_248z$h);
717
677
 
718
- var script$k = vue.defineComponent({
719
- name: "Pagination",
720
- props: {
721
- previousLabel: String,
722
- nextLabel: String,
723
- showPrevious: Boolean,
724
- previousLink: String,
725
- nextLink: String,
726
- },
727
- components: {
728
- RegularButton: script$l,
729
- },
730
- });
678
+ script$m.__scopeId = "data-v-7c962c54";
679
+ script$m.__file = "src/Buttons/RegularButton/RegularButton.vue";
731
680
 
732
- const _hoisted_1$i = { class: "pagination-container" };
681
+ const _hoisted_1$j = { class: "pagination-container" };
733
682
  const _hoisted_2$9 = ["href"];
734
683
  const _hoisted_3$7 = ["href"];
735
684
 
736
- function render$k(_ctx, _cache, $props, $setup, $data, $options) {
737
- const _component_regular_button = vue.resolveComponent("regular-button");
738
685
 
739
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
740
- (_ctx.showPrevious)
686
+ var script$l = {
687
+ __name: 'Pagination',
688
+ props: {
689
+ previousLabel: String,
690
+ nextLabel: String,
691
+ showPrevious: Boolean,
692
+ previousLink: String,
693
+ nextLink: String,
694
+ },
695
+ setup(__props) {
696
+
697
+
698
+
699
+ return (_ctx, _cache) => {
700
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
701
+ (__props.showPrevious)
741
702
  ? (vue.openBlock(), vue.createElementBlock("a", {
742
703
  key: 0,
743
- href: _ctx.previousLink
704
+ href: __props.previousLink
744
705
  }, [
745
- vue.createVNode(_component_regular_button, { text: _ctx.previousLabel }, null, 8 /* PROPS */, ["text"])
706
+ vue.createVNode(script$m, { text: __props.previousLabel }, null, 8 /* PROPS */, ["text"])
746
707
  ], 8 /* PROPS */, _hoisted_2$9))
747
708
  : vue.createCommentVNode("v-if", true),
748
- vue.createElementVNode("a", { href: _ctx.nextLink }, [
749
- vue.createVNode(_component_regular_button, { text: _ctx.nextLabel }, null, 8 /* PROPS */, ["text"])
709
+ vue.createElementVNode("a", { href: __props.nextLink }, [
710
+ vue.createVNode(script$m, { text: __props.nextLabel }, null, 8 /* PROPS */, ["text"])
750
711
  ], 8 /* PROPS */, _hoisted_3$7)
751
712
  ]))
752
713
  }
714
+ }
753
715
 
754
- var css_248z$f = "\n.pagination-container[data-v-265c87a6] {\n display: flex;\n justify-content: space-between;\n margin-top: 1rem;\n}\na[data-v-265c87a6] {\n text-decoration: none;\n}\n";
755
- styleInject(css_248z$f);
716
+ };
717
+
718
+ var css_248z$g = "\n.pagination-container[data-v-265c87a6] {\n display: flex;\n justify-content: space-between;\n margin-top: 1rem;\n}\na[data-v-265c87a6] {\n text-decoration: none;\n}\n";
719
+ styleInject(css_248z$g);
756
720
 
757
- script$k.render = render$k;
758
- script$k.__scopeId = "data-v-265c87a6";
759
- script$k.__file = "src/Pagination/Pagination.vue";
721
+ script$l.__scopeId = "data-v-265c87a6";
722
+ script$l.__file = "src/Pagination/Pagination.vue";
760
723
 
761
- var script$j = vue.defineComponent({
762
- name: "Badge",
724
+ const _hoisted_1$i = { class: "badge" };
725
+
726
+
727
+ var script$k = {
728
+ __name: 'Badge',
763
729
  props: {
764
- text: String,
765
- },
766
- });
730
+ text: String,
731
+ },
732
+ setup(__props) {
733
+
767
734
 
768
- const _hoisted_1$h = { class: "badge" };
769
735
 
770
- function render$j(_ctx, _cache, $props, $setup, $data, $options) {
771
- return (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$h, vue.toDisplayString(_ctx.text), 1 /* TEXT */))
736
+ return (_ctx, _cache) => {
737
+ return (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$i, vue.toDisplayString(__props.text), 1 /* TEXT */))
738
+ }
772
739
  }
773
740
 
774
- var css_248z$e = "\n.badge[data-v-187659a4] {\n background-color: var(--color-badge);\n color: var(--color-badge-text);\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-bold);\n margin-right: var(--badge-margin-right);\n padding: var(--badge-padding);\n border-radius: var(--badge-border-radius);\n display: inline-block;\n}\n.dark .badge[data-v-187659a4] {\n background-color: var(--color-badge-dark);\n color: var(--color-badge-dark-text);\n}\n";
775
- styleInject(css_248z$e);
741
+ };
776
742
 
777
- script$j.render = render$j;
778
- script$j.__scopeId = "data-v-187659a4";
779
- script$j.__file = "src/Badge/Badge.vue";
743
+ var css_248z$f = "\n.badge[data-v-187659a4] {\n background-color: var(--color-badge);\n color: var(--color-badge-text);\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-bold);\n margin-right: var(--badge-margin-right);\n padding: var(--badge-padding);\n border-radius: var(--badge-border-radius);\n display: inline-block;\n}\n.dark .badge[data-v-187659a4] {\n background-color: var(--color-badge-dark);\n color: var(--color-badge-dark-text);\n}\n";
744
+ styleInject(css_248z$f);
780
745
 
781
- var script$i = vue.defineComponent({
782
- name: "Temperature",
783
- props: {
784
- title: String,
785
- min: Number,
786
- max: Number,
787
- avg: Number
788
- },
789
- computed: {
790
- minFormatted() {
791
- return this.min.toFixed(2);
792
- },
793
- avgFormatted() {
794
- return this.avg.toFixed(2);
795
- },
796
- maxFormatted() {
797
- return this.max.toFixed(2);
798
- },
799
- },
800
- });
746
+ script$k.__scopeId = "data-v-187659a4";
747
+ script$k.__file = "src/Badge/Badge.vue";
801
748
 
802
- const _hoisted_1$g = { class: "wrapper" };
749
+ const _hoisted_1$h = { class: "wrapper" };
803
750
  const _hoisted_2$8 = { class: "title" };
804
751
  const _hoisted_3$6 = { class: "avg" };
805
752
  const _hoisted_4$2 = { class: "minmax" };
806
753
  const _hoisted_5$1 = { class: "min" };
807
754
  const _hoisted_6 = { class: "max" };
808
755
 
809
- function render$i(_ctx, _cache, $props, $setup, $data, $options) {
810
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
811
- vue.createElementVNode("div", _hoisted_2$8, vue.toDisplayString(_ctx.title), 1 /* TEXT */),
812
- vue.createElementVNode("div", _hoisted_3$6, vue.toDisplayString(_ctx.avgFormatted) + " ℃", 1 /* TEXT */),
756
+ var script$j = {
757
+ __name: 'Temperature',
758
+ props: {
759
+ title: String,
760
+ min: Number,
761
+ max: Number,
762
+ avg: Number
763
+ },
764
+ setup(__props) {
765
+
766
+ const props = __props;
767
+ const minFormatted = vue.computed(() => props.min.toFixed(2));
768
+ const avgFormatted = vue.computed(() => props.avg.toFixed(2));
769
+ const maxFormatted = vue.computed(() => props.max.toFixed(2));
770
+
771
+ return (_ctx, _cache) => {
772
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
773
+ vue.createElementVNode("div", _hoisted_2$8, vue.toDisplayString(__props.title), 1 /* TEXT */),
774
+ vue.createElementVNode("div", _hoisted_3$6, vue.toDisplayString(avgFormatted.value) + " ℃", 1 /* TEXT */),
813
775
  vue.createElementVNode("div", _hoisted_4$2, [
814
- vue.createElementVNode("div", _hoisted_5$1, vue.toDisplayString(_ctx.minFormatted) + " ℃", 1 /* TEXT */),
776
+ vue.createElementVNode("div", _hoisted_5$1, vue.toDisplayString(minFormatted.value) + " ℃", 1 /* TEXT */),
815
777
  _cache[0] || (_cache[0] = vue.createElementVNode("div", { class: "separator" }, "—", -1 /* HOISTED */)),
816
- vue.createElementVNode("div", _hoisted_6, vue.toDisplayString(_ctx.maxFormatted) + " ℃", 1 /* TEXT */)
778
+ vue.createElementVNode("div", _hoisted_6, vue.toDisplayString(maxFormatted.value) + " ℃", 1 /* TEXT */)
817
779
  ])
818
780
  ]))
819
781
  }
782
+ }
783
+
784
+ };
785
+
786
+ var css_248z$e = "\n.wrapper[data-v-4250e6d0] {\n flex-direction: column;\n display: inline-flex;\n}\n.avg[data-v-4250e6d0] {\n display: flex;\n font-size: var(--font-size-xlarge);\n justify-content: center;\n}\n.title[data-v-4250e6d0] {\n display: flex;\n font-size: var(--font-size-base);\n justify-content: center;\n}\n.minmax[data-v-4250e6d0] {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n font-size: var(--font-size-base);\n}\n";
787
+ styleInject(css_248z$e);
788
+
789
+ script$j.__scopeId = "data-v-4250e6d0";
790
+ script$j.__file = "src/Temperature/Temperature.vue";
791
+
792
+ var script$i = {
793
+ __name: 'SecondaryButton',
794
+ props: {
795
+ text: String,
796
+ },
797
+ emits: ['click'],
798
+ setup(__props, { emit: __emit }) {
799
+
800
+
801
+ const emit = __emit;
802
+ const onClick = (evt) => emit('click', evt);
803
+
804
+ return (_ctx, _cache) => {
805
+ return (vue.openBlock(), vue.createElementBlock("button", {
806
+ class: "secondary-button",
807
+ onClick: onClick
808
+ }, vue.toDisplayString(__props.text), 1 /* TEXT */))
809
+ }
810
+ }
811
+
812
+ };
820
813
 
821
- var css_248z$d = "\n.wrapper[data-v-4250e6d0] {\n flex-direction: column;\n display: inline-flex;\n}\n.avg[data-v-4250e6d0] {\n display: flex;\n font-size: var(--font-size-xlarge);\n justify-content: center;\n}\n.title[data-v-4250e6d0] {\n display: flex;\n font-size: var(--font-size-base);\n justify-content: center;\n}\n.minmax[data-v-4250e6d0] {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n font-size: var(--font-size-base);\n}\n";
814
+ var css_248z$d = "\n.secondary-button[data-v-5bb3ed46] {\n background-color: var(--color-secondary);\n color: var(--color-secondary-text);\n font-weight: var(--font-weight-bold);\n padding: var(--button-padding);\n border-radius: var(--border-radius-base);\n border: var(--button-border);\n cursor: pointer;\n transition: var(--button-transition);\n}\n.secondary-button[data-v-5bb3ed46]:hover {\n background-color: var(--color-secondary-hover);\n}\n";
822
815
  styleInject(css_248z$d);
823
816
 
824
- script$i.render = render$i;
825
- script$i.__scopeId = "data-v-4250e6d0";
826
- script$i.__file = "src/Temperature/Temperature.vue";
817
+ script$i.__scopeId = "data-v-5bb3ed46";
818
+ script$i.__file = "src/Buttons/SecondaryButton/SecondaryButton.vue";
827
819
 
828
- var script$h = vue.defineComponent({
829
- name: "Modal",
830
- emits: ['cancel', 'confirm'],
820
+ var script$h = {
821
+ __name: 'DangerButton',
831
822
  props: {
832
- open: Boolean,
833
- },
834
- methods: {
835
- onCancel(evt) {
836
- this.$emit('cancel', evt);
837
- },
838
- onConfirm(evt) {
839
- this.$emit('confirm', evt);
840
- },
841
- },
842
- });
823
+ text: String,
824
+ },
825
+ emits: ['click'],
826
+ setup(__props, { emit: __emit }) {
843
827
 
844
- const _hoisted_1$f = {
828
+
829
+ const emit = __emit;
830
+ const onClick = (evt) => emit('click', evt);
831
+
832
+ return (_ctx, _cache) => {
833
+ return (vue.openBlock(), vue.createElementBlock("button", {
834
+ class: "danger-button",
835
+ onClick: onClick
836
+ }, vue.toDisplayString(__props.text), 1 /* TEXT */))
837
+ }
838
+ }
839
+
840
+ };
841
+
842
+ var css_248z$c = "\n.danger-button[data-v-5e080598] {\n background-color: var(--color-danger);\n color: var(--color-danger-text);\n font-weight: var(--font-weight-bold);\n padding: var(--button-padding);\n border-radius: var(--border-radius-base);\n border: var(--button-border);\n cursor: pointer;\n transition: var(--button-transition);\n}\n.danger-button[data-v-5e080598]:hover {\n background-color: var(--color-danger-hover);\n}\n";
843
+ styleInject(css_248z$c);
844
+
845
+ script$h.__scopeId = "data-v-5e080598";
846
+ script$h.__file = "src/Buttons/DangerButton/DangerButton.vue";
847
+
848
+ const _hoisted_1$g = {
845
849
  key: 0,
846
850
  class: "modal-overlay"
847
851
  };
848
852
  const _hoisted_2$7 = { class: "modal-container" };
849
853
 
850
- function render$h(_ctx, _cache, $props, $setup, $data, $options) {
851
- const _component_secondary_button = vue.resolveComponent("secondary-button");
852
- const _component_danger_button = vue.resolveComponent("danger-button");
853
854
 
854
- return (_ctx.open)
855
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
855
+ var script$g = {
856
+ __name: 'Modal',
857
+ props: {
858
+ open: Boolean,
859
+ },
860
+ emits: ['cancel', 'confirm'],
861
+ setup(__props, { emit: __emit }) {
862
+
863
+
864
+ const emit = __emit;
865
+ const onCancel = (evt) => emit('cancel', evt);
866
+ const onConfirm = (evt) => emit('confirm', evt);
867
+
868
+ return (_ctx, _cache) => {
869
+ return (__props.open)
870
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
856
871
  vue.createElementVNode("div", _hoisted_2$7, [
857
872
  _cache[0] || (_cache[0] = vue.createElementVNode("h1", { class: "modal-title" }, "Are you sure?", -1 /* HOISTED */)),
858
- vue.createVNode(_component_secondary_button, {
859
- onClick: _ctx.onCancel,
873
+ vue.createVNode(script$i, {
874
+ onClick: onCancel,
860
875
  text: "No"
861
- }, null, 8 /* PROPS */, ["onClick"]),
862
- vue.createVNode(_component_danger_button, {
876
+ }),
877
+ vue.createVNode(script$h, {
863
878
  class: "ml-2",
864
- onClick: _ctx.onConfirm,
879
+ onClick: onConfirm,
865
880
  text: "Yes"
866
- }, null, 8 /* PROPS */, ["onClick"])
881
+ })
867
882
  ])
868
883
  ]))
869
884
  : vue.createCommentVNode("v-if", true)
870
885
  }
886
+ }
871
887
 
872
- var css_248z$c = "\n.modal-overlay[data-v-11d137c2] {\n background-color: var(--color-modal-overlay);\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n.modal-container[data-v-11d137c2] {\n background-color: var(--color-modal-background);\n padding: 3.5rem 4rem;\n border-radius: var(--border-radius-big);\n text-align: center;\n}\n.modal-title[data-v-11d137c2] {\n font-size: var(--font-size-large);\n margin-bottom: 1rem;\n font-weight: var(--font-weight-bold);\n color: var(--color-modal-title);\n}\n";
873
- styleInject(css_248z$c);
888
+ };
874
889
 
875
- script$h.render = render$h;
876
- script$h.__scopeId = "data-v-11d137c2";
877
- script$h.__file = "src/Modal/Modal.vue";
890
+ var css_248z$b = "\n.modal-overlay[data-v-11d137c2] {\n background-color: var(--color-modal-overlay);\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n.modal-container[data-v-11d137c2] {\n background-color: var(--color-modal-background);\n padding: 3.5rem 4rem;\n border-radius: var(--border-radius-big);\n text-align: center;\n}\n.modal-title[data-v-11d137c2] {\n font-size: var(--font-size-large);\n margin-bottom: 1rem;\n font-weight: var(--font-weight-bold);\n color: var(--color-modal-title);\n}\n";
891
+ styleInject(css_248z$b);
878
892
 
879
- var script$g = vue.defineComponent({
880
- name: "Spinner",
881
- });
893
+ script$g.__scopeId = "data-v-11d137c2";
894
+ script$g.__file = "src/Modal/Modal.vue";
882
895
 
883
- const _hoisted_1$e = {
896
+ const _hoisted_1$f = {
884
897
  class: "spinner",
885
898
  role: "status"
886
899
  };
887
900
 
888
- function render$g(_ctx, _cache, $props, $setup, $data, $options) {
889
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, _cache[0] || (_cache[0] = [
901
+
902
+ var script$f = {
903
+ __name: 'Spinner',
904
+ setup(__props) {
905
+
906
+ // No logic needed
907
+
908
+ return (_ctx, _cache) => {
909
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, _cache[0] || (_cache[0] = [
890
910
  vue.createElementVNode("span", { class: "sr-only-text" }, "Please wait...", -1 /* HOISTED */)
891
911
  ])))
892
912
  }
913
+ }
893
914
 
894
- var css_248z$b = "\n.spinner[data-v-3d456f9a] {\n display: inline-block;\n height: 2rem;\n width: 2rem;\n border: 4px solid currentColor;\n border-right-color: transparent;\n border-radius: var(--border-radius-round);\n animation: spin-3d456f9a 1.5s linear infinite;\n}\n.sr-only-text[data-v-3d456f9a] {\n position: absolute;\n margin: -1px;\n height: 1px;\n width: 1px;\n overflow: hidden;\n white-space: nowrap;\n border: 0;\n padding: 0;\n clip: rect(0, 0, 0, 0);\n}\n@keyframes spin-3d456f9a {\nfrom {\n transform: rotate(0deg);\n}\nto {\n transform: rotate(360deg);\n}\n}\n";
895
- styleInject(css_248z$b);
915
+ };
896
916
 
897
- script$g.render = render$g;
898
- script$g.__scopeId = "data-v-3d456f9a";
899
- script$g.__file = "src/Spinner/Spinner.vue";
917
+ var css_248z$a = "\n.spinner[data-v-3d456f9a] {\n display: inline-block;\n height: 2rem;\n width: 2rem;\n border: 4px solid currentColor;\n border-right-color: transparent;\n border-radius: var(--border-radius-round);\n animation: spin-3d456f9a 1.5s linear infinite;\n}\n.sr-only-text[data-v-3d456f9a] {\n position: absolute;\n margin: -1px;\n height: 1px;\n width: 1px;\n overflow: hidden;\n white-space: nowrap;\n border: 0;\n padding: 0;\n clip: rect(0, 0, 0, 0);\n}\n@keyframes spin-3d456f9a {\nfrom {\n transform: rotate(0deg);\n}\nto {\n transform: rotate(360deg);\n}\n}\n";
918
+ styleInject(css_248z$a);
900
919
 
901
- var script$f = vue.defineComponent({
902
- name: "RangeView",
903
- props: {
904
- ranges: Array,
905
- },
906
- });
920
+ script$f.__scopeId = "data-v-3d456f9a";
921
+ script$f.__file = "src/Spinner/Spinner.vue";
907
922
 
908
- const _hoisted_1$d = { class: "ranges-editor" };
923
+ const _hoisted_1$e = { class: "ranges-editor" };
909
924
  const _hoisted_2$6 = { class: "labels" };
910
925
  const _hoisted_3$5 = { class: "label" };
911
926
  const _hoisted_4$1 = { class: "label" };
912
927
 
913
- function render$f(_ctx, _cache, $props, $setup, $data, $options) {
914
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$d, [
915
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.ranges, (range, index) => {
928
+
929
+ var script$e = {
930
+ __name: 'RangeView',
931
+ props: {
932
+ ranges: Array,
933
+ },
934
+ setup(__props) {
935
+
936
+
937
+
938
+ return (_ctx, _cache) => {
939
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
940
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.ranges, (range, index) => {
916
941
  return (vue.openBlock(), vue.createElementBlock("div", {
917
942
  class: "range",
918
943
  key: range.id
919
944
  }, [
920
945
  vue.createElementVNode("div", _hoisted_2$6, [
921
- vue.createElementVNode("span", _hoisted_3$5, vue.toDisplayString(index < _ctx.ranges.length - 1 ? range.max : ' '), 1 /* TEXT */)
946
+ vue.createElementVNode("span", _hoisted_3$5, vue.toDisplayString(index < __props.ranges.length - 1 ? range.max : ' '), 1 /* TEXT */)
922
947
  ]),
923
948
  _cache[0] || (_cache[0] = vue.createElementVNode("div", { class: "gap" }, null, -1 /* HOISTED */)),
924
949
  vue.createElementVNode("span", _hoisted_4$1, vue.toDisplayString(range.label), 1 /* TEXT */)
@@ -926,367 +951,279 @@ function render$f(_ctx, _cache, $props, $setup, $data, $options) {
926
951
  }), 128 /* KEYED_FRAGMENT */))
927
952
  ]))
928
953
  }
954
+ }
929
955
 
930
- var css_248z$a = "\n.ranges-editor[data-v-3e589c2c] {\n display: flex;\n flex-direction: row;\n cursor: pointer;\n}\n.range[data-v-3e589c2c] {\n min-width: 50px;\n text-align: center;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n.labels[data-v-3e589c2c] {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n}\n.gap[data-v-3e589c2c] {\n height: 10px;\n width: auto;\n background-color: red;\n border: 1px solid black;\n}\n.label[data-v-3e589c2c] {\n margin-top: 5px;\n}\n";
931
- styleInject(css_248z$a);
956
+ };
932
957
 
933
- script$f.render = render$f;
934
- script$f.__scopeId = "data-v-3e589c2c";
935
- script$f.__file = "src/RangeView/RangeView.vue";
958
+ var css_248z$9 = "\n.ranges-editor[data-v-3e589c2c] {\n display: flex;\n flex-direction: row;\n cursor: pointer;\n}\n.range[data-v-3e589c2c] {\n min-width: 50px;\n text-align: center;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n.labels[data-v-3e589c2c] {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n}\n.gap[data-v-3e589c2c] {\n height: 10px;\n width: auto;\n background-color: red;\n border: 1px solid black;\n}\n.label[data-v-3e589c2c] {\n margin-top: 5px;\n}\n";
959
+ styleInject(css_248z$9);
936
960
 
937
- var script$e = vue.defineComponent({
938
- name: "ResetButton",
939
- props: {
940
- text: String,
941
- },
942
- });
961
+ script$e.__scopeId = "data-v-3e589c2c";
962
+ script$e.__file = "src/RangeView/RangeView.vue";
943
963
 
944
- const _hoisted_1$c = {
964
+ const _hoisted_1$d = {
945
965
  class: "reset-button",
946
966
  type: "reset"
947
967
  };
948
968
 
949
- function render$e(_ctx, _cache, $props, $setup, $data, $options) {
950
- return (vue.openBlock(), vue.createElementBlock("button", _hoisted_1$c, vue.toDisplayString(_ctx.text), 1 /* TEXT */))
951
- }
952
-
953
- var css_248z$9 = "\n.reset-button[data-v-70384d7c] {\n background-color: var(--color-reset);\n color: var(--color-reset-text);\n font-weight: var(--font-weight-bold);\n padding: var(--button-padding);\n border-radius: var(--border-radius-base);\n border: var(--button-border);\n cursor: pointer;\n transition: var(--button-transition);\n}\n.reset-button[data-v-70384d7c]:hover {\n background-color: var(--color-reset-hover);\n}\n";
954
- styleInject(css_248z$9);
955
-
956
- script$e.render = render$e;
957
- script$e.__scopeId = "data-v-70384d7c";
958
- script$e.__file = "src/Buttons/ResetButton/ResetButton.vue";
959
969
 
960
- var script$d = vue.defineComponent({
961
- name: "SubmitButton",
970
+ var script$d = {
971
+ __name: 'ResetButton',
962
972
  props: {
963
- text: {
964
- type: String,
965
- },
966
- disabled: {
967
- type: Boolean,
968
- },
969
- },
970
- });
973
+ text: String,
974
+ },
975
+ setup(__props) {
971
976
 
972
- const _hoisted_1$b = ["disabled"];
973
977
 
974
- function render$d(_ctx, _cache, $props, $setup, $data, $options) {
975
- return (vue.openBlock(), vue.createElementBlock("button", {
976
- class: "submit-button",
977
- type: "submit",
978
- disabled: _ctx.disabled
979
- }, vue.toDisplayString(_ctx.text), 9 /* TEXT, PROPS */, _hoisted_1$b))
978
+
979
+ return (_ctx, _cache) => {
980
+ return (vue.openBlock(), vue.createElementBlock("button", _hoisted_1$d, vue.toDisplayString(__props.text), 1 /* TEXT */))
981
+ }
980
982
  }
981
983
 
982
- var css_248z$8 = "\n.submit-button[data-v-f7f11890] {\n background-color: var(--color-submit);\n color: var(--color-submit-text);\n font-weight: var(--font-weight-bold);\n padding: var(--button-padding);\n border-radius: var(--border-radius-base);\n border: var(--button-border);\n cursor: pointer;\n transition: var(--button-transition);\n}\n.submit-button[data-v-f7f11890]:hover {\n background-color: var(--color-submit-hover);\n}\n.submit-button[data-v-f7f11890]:disabled {\n background-color: var(--color-submit-disabled);\n cursor: not-allowed;\n}\n";
984
+ };
985
+
986
+ var css_248z$8 = "\n.reset-button[data-v-70384d7c] {\n background-color: var(--color-reset);\n color: var(--color-reset-text);\n font-weight: var(--font-weight-bold);\n padding: var(--button-padding);\n border-radius: var(--border-radius-base);\n border: var(--button-border);\n cursor: pointer;\n transition: var(--button-transition);\n}\n.reset-button[data-v-70384d7c]:hover {\n background-color: var(--color-reset-hover);\n}\n";
983
987
  styleInject(css_248z$8);
984
988
 
985
- script$d.render = render$d;
986
- script$d.__scopeId = "data-v-f7f11890";
987
- script$d.__file = "src/Buttons/SubmitButton/SubmitButton.vue";
989
+ script$d.__scopeId = "data-v-70384d7c";
990
+ script$d.__file = "src/Buttons/ResetButton/ResetButton.vue";
988
991
 
989
- var script$c = vue.defineComponent({
990
- name: "SecondaryButton",
991
- props: {
992
- text: String,
993
- },
994
- emits: ['click'],
995
- methods: {
996
- onClick(evt) {
997
- this.$emit('click', evt);
998
- },
999
- },
1000
- });
992
+ const _hoisted_1$c = ["disabled"];
1001
993
 
1002
- function render$c(_ctx, _cache, $props, $setup, $data, $options) {
1003
- return (vue.openBlock(), vue.createElementBlock("button", {
1004
- class: "secondary-button",
1005
- onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.onClick && _ctx.onClick(...args)))
1006
- }, vue.toDisplayString(_ctx.text), 1 /* TEXT */))
1007
- }
1008
994
 
1009
- var css_248z$7 = "\n.secondary-button[data-v-5bb3ed46] {\n background-color: var(--color-secondary);\n color: var(--color-secondary-text);\n font-weight: var(--font-weight-bold);\n padding: var(--button-padding);\n border-radius: var(--border-radius-base);\n border: var(--button-border);\n cursor: pointer;\n transition: var(--button-transition);\n}\n.secondary-button[data-v-5bb3ed46]:hover {\n background-color: var(--color-secondary-hover);\n}\n";
1010
- styleInject(css_248z$7);
995
+ var script$c = {
996
+ __name: 'SubmitButton',
997
+ props: {
998
+ text: String,
999
+ disabled: Boolean,
1000
+ },
1001
+ setup(__props) {
1011
1002
 
1012
- script$c.render = render$c;
1013
- script$c.__scopeId = "data-v-5bb3ed46";
1014
- script$c.__file = "src/Buttons/SecondaryButton/SecondaryButton.vue";
1015
1003
 
1016
- var script$b = vue.defineComponent({
1017
- name: "DangerButton",
1018
- props: {
1019
- text: String,
1020
- },
1021
- emits: ['click'],
1022
- methods: {
1023
- onClick(evt) {
1024
- this.$emit('click', evt);
1025
- },
1026
- },
1027
- });
1028
1004
 
1029
- function render$b(_ctx, _cache, $props, $setup, $data, $options) {
1005
+ return (_ctx, _cache) => {
1030
1006
  return (vue.openBlock(), vue.createElementBlock("button", {
1031
- class: "danger-button",
1032
- onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.onClick && _ctx.onClick(...args)))
1033
- }, vue.toDisplayString(_ctx.text), 1 /* TEXT */))
1007
+ class: "submit-button",
1008
+ type: "submit",
1009
+ disabled: __props.disabled
1010
+ }, vue.toDisplayString(__props.text), 9 /* TEXT, PROPS */, _hoisted_1$c))
1011
+ }
1034
1012
  }
1035
1013
 
1036
- var css_248z$6 = "\n.danger-button[data-v-5e080598] {\n background-color: var(--color-danger);\n color: var(--color-danger-text);\n font-weight: var(--font-weight-bold);\n padding: var(--button-padding);\n border-radius: var(--border-radius-base);\n border: var(--button-border);\n cursor: pointer;\n transition: var(--button-transition);\n}\n.danger-button[data-v-5e080598]:hover {\n background-color: var(--color-danger-hover);\n}\n";
1037
- styleInject(css_248z$6);
1014
+ };
1038
1015
 
1039
- script$b.render = render$b;
1040
- script$b.__scopeId = "data-v-5e080598";
1041
- script$b.__file = "src/Buttons/DangerButton/DangerButton.vue";
1016
+ var css_248z$7 = "\n.submit-button[data-v-f7f11890] {\n background-color: var(--color-submit);\n color: var(--color-submit-text);\n font-weight: var(--font-weight-bold);\n padding: var(--button-padding);\n border-radius: var(--border-radius-base);\n border: var(--button-border);\n cursor: pointer;\n transition: var(--button-transition);\n}\n.submit-button[data-v-f7f11890]:hover {\n background-color: var(--color-submit-hover);\n}\n.submit-button[data-v-f7f11890]:disabled {\n background-color: var(--color-submit-disabled);\n cursor: not-allowed;\n}\n";
1017
+ styleInject(css_248z$7);
1042
1018
 
1043
- var script$a = vue.defineComponent({
1044
- name: "TextInput",
1045
- props: {
1046
- id: {
1047
- type: String,
1048
- },
1049
- required: {
1050
- type: Boolean,
1051
- },
1052
- disabled: {
1053
- type: Boolean,
1054
- },
1055
- placeholder: {
1056
- type: String,
1057
- },
1058
- label: {
1059
- type: String,
1060
- },
1061
- text: {
1062
- type: String,
1063
- },
1064
- },
1065
- emits: ['update'],
1066
- methods: {
1067
- onInput(event) {
1068
- this.$emit('update', event.target.value);
1069
- },
1070
- },
1071
- });
1019
+ script$c.__scopeId = "data-v-f7f11890";
1020
+ script$c.__file = "src/Buttons/SubmitButton/SubmitButton.vue";
1072
1021
 
1073
- const _hoisted_1$a = { class: "text-input-container" };
1022
+ const _hoisted_1$b = { class: "text-input-container" };
1074
1023
  const _hoisted_2$5 = ["for"];
1075
1024
  const _hoisted_3$4 = ["id", "name", "required", "disabled", "placeholder", "value"];
1076
1025
 
1077
- function render$a(_ctx, _cache, $props, $setup, $data, $options) {
1078
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
1026
+
1027
+ var script$b = {
1028
+ __name: 'TextInput',
1029
+ props: {
1030
+ id: String,
1031
+ required: Boolean,
1032
+ disabled: Boolean,
1033
+ placeholder: String,
1034
+ label: String,
1035
+ text: String,
1036
+ },
1037
+ emits: ['update'],
1038
+ setup(__props, { emit: __emit }) {
1039
+
1040
+
1041
+ const emit = __emit;
1042
+ const onInput = (event) => emit('update', event.target.value);
1043
+
1044
+ return (_ctx, _cache) => {
1045
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
1079
1046
  vue.createElementVNode("label", {
1080
1047
  class: "text-input-label",
1081
- for: _ctx.id
1082
- }, vue.toDisplayString(_ctx.label), 9 /* TEXT, PROPS */, _hoisted_2$5),
1048
+ for: __props.id
1049
+ }, vue.toDisplayString(__props.label), 9 /* TEXT, PROPS */, _hoisted_2$5),
1083
1050
  vue.createElementVNode("input", {
1084
1051
  class: "text-input-field",
1085
- id: _ctx.id,
1086
- name: _ctx.id,
1087
- required: _ctx.required,
1088
- disabled: _ctx.disabled,
1089
- placeholder: _ctx.placeholder,
1090
- value: _ctx.text,
1091
- onInput: _cache[0] || (_cache[0] = (...args) => (_ctx.onInput && _ctx.onInput(...args))),
1052
+ id: __props.id,
1053
+ name: __props.id,
1054
+ required: __props.required,
1055
+ disabled: __props.disabled,
1056
+ placeholder: __props.placeholder,
1057
+ value: __props.text,
1058
+ onInput: onInput,
1092
1059
  type: "text"
1093
1060
  }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_3$4)
1094
1061
  ]))
1095
1062
  }
1063
+ }
1096
1064
 
1097
- var css_248z$5 = "\n.text-input-container[data-v-6df3547e] {\n margin-bottom: 1rem;\n}\n.text-input-label[data-v-6df3547e] {\n display: block;\n color: var(--color-text-input-label);\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-bold);\n margin-bottom: 0.5rem;\n}\n.text-input-field[data-v-6df3547e] {\n box-shadow: 0 1px 3px var(--color-text-input-shadow);\n appearance: none;\n border: 1px solid var(--color-text-input-border);\n border-radius: var(--border-radius--base);\n width: 100%;\n padding: 0.5rem 0.75rem;\n color: var(--color-text-input);\n line-height: 1.25;\n transition: box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out;\n}\n.text-input-field[data-v-6df3547e]:focus {\n outline: none;\n box-shadow: 0 0 0 3px var(--color-text-input-shadow);\n border-color: var(--color-text-input-border-focus);\n}\n.text-input-field[data-v-6df3547e]:disabled {\n background-color: var(--color-input-disabled);\n cursor: not-allowed;\n}\n";
1098
- styleInject(css_248z$5);
1065
+ };
1099
1066
 
1100
- script$a.render = render$a;
1101
- script$a.__scopeId = "data-v-6df3547e";
1102
- script$a.__file = "src/Inputs/TextInput/TextInput.vue";
1067
+ var css_248z$6 = "\n.text-input-container[data-v-6df3547e] {\n margin-bottom: 1rem;\n}\n.text-input-label[data-v-6df3547e] {\n display: block;\n color: var(--color-text-input-label);\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-bold);\n margin-bottom: 0.5rem;\n}\n.text-input-field[data-v-6df3547e] {\n box-shadow: 0 1px 3px var(--color-text-input-shadow);\n appearance: none;\n border: 1px solid var(--color-text-input-border);\n border-radius: var(--border-radius--base);\n width: 100%;\n padding: 0.5rem 0.75rem;\n color: var(--color-text-input);\n line-height: 1.25;\n transition: box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out;\n}\n.text-input-field[data-v-6df3547e]:focus {\n outline: none;\n box-shadow: 0 0 0 3px var(--color-text-input-shadow);\n border-color: var(--color-text-input-border-focus);\n}\n.text-input-field[data-v-6df3547e]:disabled {\n background-color: var(--color-input-disabled);\n cursor: not-allowed;\n}\n";
1068
+ styleInject(css_248z$6);
1103
1069
 
1104
- var script$9 = vue.defineComponent({
1105
- name: "CheckBoxInput",
1106
- props: {
1107
- id: {
1108
- type: String,
1109
- },
1110
- required: {
1111
- type: Boolean,
1112
- },
1113
- placeholder: {
1114
- type: String,
1115
- },
1116
- label: {
1117
- type: String,
1118
- },
1119
- checked: {
1120
- type: Boolean,
1121
- },
1122
- },
1123
- emits: ['update'],
1124
- methods: {
1125
- onInput(event) {
1126
- this.$emit('update', event.target.value);
1127
- },
1128
- },
1129
- });
1070
+ script$b.__scopeId = "data-v-6df3547e";
1071
+ script$b.__file = "src/Inputs/TextInput/TextInput.vue";
1130
1072
 
1131
- const _hoisted_1$9 = { class: "checkbox-container" };
1073
+ const _hoisted_1$a = { class: "checkbox-container" };
1132
1074
  const _hoisted_2$4 = ["id", "name", "required", "value"];
1133
1075
  const _hoisted_3$3 = ["for"];
1134
1076
 
1135
- function render$9(_ctx, _cache, $props, $setup, $data, $options) {
1136
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
1077
+
1078
+ var script$a = {
1079
+ __name: 'CheckBoxInput',
1080
+ props: {
1081
+ id: String,
1082
+ required: Boolean,
1083
+ placeholder: String,
1084
+ label: String,
1085
+ checked: Boolean,
1086
+ },
1087
+ emits: ['update'],
1088
+ setup(__props, { emit: __emit }) {
1089
+
1090
+
1091
+ const emit = __emit;
1092
+ const onInput = (event) => emit('update', event.target.value);
1093
+
1094
+ return (_ctx, _cache) => {
1095
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
1137
1096
  vue.createElementVNode("input", {
1138
- id: _ctx.id,
1139
- name: _ctx.id,
1140
- required: _ctx.required,
1141
- value: _ctx.checked,
1142
- onInput: _cache[0] || (_cache[0] = (...args) => (_ctx.onInput && _ctx.onInput(...args))),
1097
+ id: __props.id,
1098
+ name: __props.id,
1099
+ required: __props.required,
1100
+ value: __props.checked,
1101
+ onInput: onInput,
1143
1102
  type: "checkbox",
1144
1103
  "unchecked-value": "false"
1145
1104
  }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_2$4),
1146
1105
  vue.createElementVNode("label", {
1147
1106
  class: "checkbox-label",
1148
- for: _ctx.id
1149
- }, vue.toDisplayString(_ctx.label), 9 /* TEXT, PROPS */, _hoisted_3$3)
1107
+ for: __props.id
1108
+ }, vue.toDisplayString(__props.label), 9 /* TEXT, PROPS */, _hoisted_3$3)
1150
1109
  ]))
1151
1110
  }
1111
+ }
1152
1112
 
1153
- var css_248z$4 = "\n.checkbox-container[data-v-4612e592] {\n margin-bottom: 1rem;\n}\ninput[type=\"checkbox\"][data-v-4612e592] {\n margin-right: 0.5rem;\n}\n.checkbox-label[data-v-4612e592] {\n display: block;\n color: var(--color-checkbox-label);\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-bold);\n}\n";
1154
- styleInject(css_248z$4);
1113
+ };
1155
1114
 
1156
- script$9.render = render$9;
1157
- script$9.__scopeId = "data-v-4612e592";
1158
- script$9.__file = "src/Inputs/CheckBoxInput/CheckBoxInput.vue";
1115
+ var css_248z$5 = "\n.checkbox-container[data-v-4612e592] {\n margin-bottom: 1rem;\n}\ninput[type=\"checkbox\"][data-v-4612e592] {\n margin-right: 0.5rem;\n}\n.checkbox-label[data-v-4612e592] {\n display: block;\n color: var(--color-checkbox-label);\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-bold);\n}\n";
1116
+ styleInject(css_248z$5);
1159
1117
 
1160
- var script$8 = vue.defineComponent({
1161
- name: "NumberInput",
1162
- props: {
1163
- id: {
1164
- type: String,
1165
- },
1166
- required: {
1167
- type: Boolean,
1168
- },
1169
- disabled: {
1170
- type: Boolean,
1171
- },
1172
- placeholder: {
1173
- type: String,
1174
- },
1175
- label: {
1176
- type: String,
1177
- },
1178
- amount: {
1179
- type: Number,
1180
- },
1181
- min: {
1182
- type: String,
1183
- },
1184
- step: {
1185
- type: String,
1186
- },
1187
- },
1188
- emits: ['update'],
1189
- methods: {
1190
- onInput(event) {
1191
- this.$emit('update', event.target.value);
1192
- },
1193
- },
1194
- });
1118
+ script$a.__scopeId = "data-v-4612e592";
1119
+ script$a.__file = "src/Inputs/CheckBoxInput/CheckBoxInput.vue";
1195
1120
 
1196
- const _hoisted_1$8 = { class: "number-input-container" };
1121
+ const _hoisted_1$9 = { class: "number-input-container" };
1197
1122
  const _hoisted_2$3 = ["for"];
1198
1123
  const _hoisted_3$2 = ["id", "name", "required", "placeholder", "disabled", "value", "min", "step"];
1199
1124
 
1200
- function render$8(_ctx, _cache, $props, $setup, $data, $options) {
1201
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
1125
+
1126
+ var script$9 = {
1127
+ __name: 'NumberInput',
1128
+ props: {
1129
+ id: String,
1130
+ required: Boolean,
1131
+ disabled: Boolean,
1132
+ placeholder: String,
1133
+ label: String,
1134
+ amount: Number,
1135
+ min: String,
1136
+ step: String,
1137
+ },
1138
+ emits: ['update'],
1139
+ setup(__props, { emit: __emit }) {
1140
+
1141
+
1142
+ const emit = __emit;
1143
+ const onInput = (event) => emit('update', event.target.value);
1144
+
1145
+ return (_ctx, _cache) => {
1146
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
1202
1147
  vue.createElementVNode("label", {
1203
1148
  class: "number-input-label",
1204
- for: _ctx.id
1205
- }, vue.toDisplayString(_ctx.label), 9 /* TEXT, PROPS */, _hoisted_2$3),
1149
+ for: __props.id
1150
+ }, vue.toDisplayString(__props.label), 9 /* TEXT, PROPS */, _hoisted_2$3),
1206
1151
  vue.createElementVNode("input", {
1207
1152
  class: "number-input-field",
1208
- id: _ctx.id,
1209
- name: _ctx.id,
1210
- required: _ctx.required,
1211
- placeholder: _ctx.placeholder,
1212
- disabled: _ctx.disabled,
1213
- value: _ctx.amount,
1214
- min: _ctx.min,
1215
- step: _ctx.step,
1216
- onInput: _cache[0] || (_cache[0] = (...args) => (_ctx.onInput && _ctx.onInput(...args))),
1153
+ id: __props.id,
1154
+ name: __props.id,
1155
+ required: __props.required,
1156
+ placeholder: __props.placeholder,
1157
+ disabled: __props.disabled,
1158
+ value: __props.amount,
1159
+ min: __props.min,
1160
+ step: __props.step,
1161
+ onInput: onInput,
1217
1162
  type: "number"
1218
1163
  }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_3$2)
1219
1164
  ]))
1220
1165
  }
1166
+ }
1221
1167
 
1222
- var css_248z$3 = "\n.number-input-container[data-v-26abc846] {\n margin-bottom: 1rem;\n}\n.number-input-label[data-v-26abc846] {\n display: block;\n color: var(--color-number-input-label);\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-bold);\n margin-bottom: 0.5rem;\n}\n.number-input-field[data-v-26abc846] {\n box-shadow: 0 1px 3px var(--color-input-shadow);\n appearance: none;\n border: 1px solid var(--color-number-input-border);\n border-radius: var(--border-radius--base);\n width: 100%;\n padding: 0.5rem 0.75rem;\n color: var(--color-number-input);\n line-height: 1.25;\n transition: box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out;\n}\n.number-input-field[data-v-26abc846]:focus {\n outline: none;\n box-shadow: 0 0 0 3px var(--color-input-shadow-focus);\n border-color: var(--color-number-input-border-focus);\n}\n.number-input-field[data-v-26abc846]:disabled {\n background-color: var(--color-input-disabled);\n cursor: not-allowed;\n}\n";
1223
- styleInject(css_248z$3);
1168
+ };
1224
1169
 
1225
- script$8.render = render$8;
1226
- script$8.__scopeId = "data-v-26abc846";
1227
- script$8.__file = "src/Inputs/NumberInput/NumberInput.vue";
1170
+ var css_248z$4 = "\n.number-input-container[data-v-26abc846] {\n margin-bottom: 1rem;\n}\n.number-input-label[data-v-26abc846] {\n display: block;\n color: var(--color-number-input-label);\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-bold);\n margin-bottom: 0.5rem;\n}\n.number-input-field[data-v-26abc846] {\n box-shadow: 0 1px 3px var(--color-input-shadow);\n appearance: none;\n border: 1px solid var(--color-number-input-border);\n border-radius: var(--border-radius--base);\n width: 100%;\n padding: 0.5rem 0.75rem;\n color: var(--color-number-input);\n line-height: 1.25;\n transition: box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out;\n}\n.number-input-field[data-v-26abc846]:focus {\n outline: none;\n box-shadow: 0 0 0 3px var(--color-input-shadow-focus);\n border-color: var(--color-number-input-border-focus);\n}\n.number-input-field[data-v-26abc846]:disabled {\n background-color: var(--color-input-disabled);\n cursor: not-allowed;\n}\n";
1171
+ styleInject(css_248z$4);
1228
1172
 
1229
- var script$7 = vue.defineComponent({
1230
- name: "ImageInput",
1231
- props: {
1232
- id: {
1233
- type: String,
1234
- },
1235
- required: {
1236
- type: Boolean,
1237
- },
1238
- placeholder: {
1239
- type: String,
1240
- },
1241
- dropPlaceholder: {
1242
- type: String,
1243
- },
1244
- label: {
1245
- type: String,
1246
- },
1247
- file: {
1248
- type: Object,
1249
- },
1250
- },
1251
- emits: ['update'],
1252
- methods: {
1253
- onInput(event) {
1254
- this.$emit('update', event.target.files[0]);
1255
- },
1256
- },
1257
- });
1173
+ script$9.__scopeId = "data-v-26abc846";
1174
+ script$9.__file = "src/Inputs/NumberInput/NumberInput.vue";
1258
1175
 
1259
- const _hoisted_1$7 = { class: "image-input-container" };
1176
+ const _hoisted_1$8 = { class: "image-input-container" };
1260
1177
  const _hoisted_2$2 = ["for"];
1261
1178
  const _hoisted_3$1 = ["id", "name", "required", "placeholder", "value", "drop-placeholder"];
1262
1179
 
1263
- function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1264
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
1180
+
1181
+ var script$8 = {
1182
+ __name: 'ImageInput',
1183
+ props: {
1184
+ id: String,
1185
+ required: Boolean,
1186
+ placeholder: String,
1187
+ dropPlaceholder: String,
1188
+ label: String,
1189
+ file: Object,
1190
+ },
1191
+ emits: ['update'],
1192
+ setup(__props, { emit: __emit }) {
1193
+
1194
+
1195
+ const emit = __emit;
1196
+ const onInput = (event) => emit('update', event.target.files[0]);
1197
+
1198
+ return (_ctx, _cache) => {
1199
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
1265
1200
  vue.createElementVNode("label", {
1266
1201
  class: "image-input-label",
1267
- for: _ctx.id
1268
- }, vue.toDisplayString(_ctx.label), 9 /* TEXT, PROPS */, _hoisted_2$2),
1202
+ for: __props.id
1203
+ }, vue.toDisplayString(__props.label), 9 /* TEXT, PROPS */, _hoisted_2$2),
1269
1204
  vue.createElementVNode("input", {
1270
1205
  class: "image-input-field",
1271
- id: _ctx.id,
1272
- name: _ctx.id,
1273
- required: _ctx.required,
1274
- placeholder: _ctx.placeholder,
1275
- value: _ctx.file,
1276
- "drop-placeholder": _ctx.dropPlaceholder,
1277
- onInput: _cache[0] || (_cache[0] = (...args) => (_ctx.onInput && _ctx.onInput(...args))),
1206
+ id: __props.id,
1207
+ name: __props.id,
1208
+ required: __props.required,
1209
+ placeholder: __props.placeholder,
1210
+ value: __props.file,
1211
+ "drop-placeholder": __props.dropPlaceholder,
1212
+ onInput: onInput,
1278
1213
  type: "file",
1279
1214
  accept: "image/*"
1280
1215
  }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_3$1)
1281
1216
  ]))
1282
1217
  }
1218
+ }
1283
1219
 
1284
- var css_248z$2 = "\n.image-input-container[data-v-d90b5f3c] {\n margin-bottom: 1rem;\n}\n.image-input-label[data-v-d90b5f3c] {\n display: block;\n color: var(--color-image-input);\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-bold);\n margin-bottom: 0.5rem;\n}\n.image-input-field[data-v-d90b5f3c] {\n box-shadow: 0 1px 3px var(--color-input-shadow);\n appearance: none;\n border: 1px solid var(--color-image-input-border);\n border-radius: var(--border-radius--base);\n width: 100%;\n padding: 0.5rem 0.75rem;\n color: var(--color-image-input);\n line-height: 1.25;\n transition: box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out;\n}\n.image-input-field[data-v-d90b5f3c]:focus {\n outline: none;\n box-shadow: 0 0 0 3px var(--color-image-input-shadow);\n border-color: var(--color-image-input-border-focus);\n}\n";
1285
- styleInject(css_248z$2);
1220
+ };
1221
+
1222
+ var css_248z$3 = "\n.image-input-container[data-v-d90b5f3c] {\n margin-bottom: 1rem;\n}\n.image-input-label[data-v-d90b5f3c] {\n display: block;\n color: var(--color-image-input);\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-bold);\n margin-bottom: 0.5rem;\n}\n.image-input-field[data-v-d90b5f3c] {\n box-shadow: 0 1px 3px var(--color-input-shadow);\n appearance: none;\n border: 1px solid var(--color-image-input-border);\n border-radius: var(--border-radius--base);\n width: 100%;\n padding: 0.5rem 0.75rem;\n color: var(--color-image-input);\n line-height: 1.25;\n transition: box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out;\n}\n.image-input-field[data-v-d90b5f3c]:focus {\n outline: none;\n box-shadow: 0 0 0 3px var(--color-image-input-shadow);\n border-color: var(--color-image-input-border-focus);\n}\n";
1223
+ styleInject(css_248z$3);
1286
1224
 
1287
- script$7.render = render$7;
1288
- script$7.__scopeId = "data-v-d90b5f3c";
1289
- script$7.__file = "src/Inputs/ImageInput/ImageInput.vue";
1225
+ script$8.__scopeId = "data-v-d90b5f3c";
1226
+ script$8.__file = "src/Inputs/ImageInput/ImageInput.vue";
1290
1227
 
1291
1228
  /*! image-blob-reduce 4.1.0 https://github.com/nodeca/image-blob-reduce @license MIT */
1292
1229
  function commonjsRequire (path) {
@@ -4883,157 +4820,122 @@ ImageBlobReduce.pica = pica;
4883
4820
 
4884
4821
  var imageBlobReduce = ImageBlobReduce;
4885
4822
 
4886
- var script$6 = vue.defineComponent({
4887
- name: "ResizeImageUpload",
4888
- components: {
4889
- ImageInput: script$7,
4890
- },
4823
+ const _hoisted_1$7 = { class: "image-input-container" };
4824
+ const _hoisted_2$1 = { key: 0 };
4825
+
4826
+
4827
+ var script$7 = {
4828
+ __name: 'ResizeImageUpload',
4891
4829
  props: {
4892
- id: {
4893
- type: String,
4894
- },
4895
- required: {
4896
- type: Boolean,
4897
- },
4898
- placeholder: {
4899
- type: String,
4900
- },
4901
- dropPlaceholder: {
4902
- type: String,
4903
- },
4904
- label: {
4905
- type: String,
4906
- },
4907
- file: {
4908
- type: Object,
4909
- },
4910
- },
4911
- data() {
4912
- return {
4913
- rawImage: null,
4914
- resizing: false,
4915
- };
4916
- },
4830
+ id: String,
4831
+ required: Boolean,
4832
+ placeholder: String,
4833
+ dropPlaceholder: String,
4834
+ label: String,
4835
+ file: Object,
4836
+ },
4917
4837
  emits: ['loaded', 'error'],
4918
- methods: {
4919
- async onInput(file) {
4920
- try {
4921
- this.resizing = true;
4922
- const reduce = new imageBlobReduce();
4923
- const blob = await reduce.toBlob(file, { max: 1024 });
4924
- const newFile = new File([blob], file.name, { type: file.type });
4925
- this.$emit('loaded', newFile);
4926
- } catch (err) {
4927
- this.$emit('error');
4928
- } finally {
4929
- this.resizing = false;
4930
- }
4931
- },
4932
- },
4933
- });
4838
+ setup(__props, { emit: __emit }) {
4934
4839
 
4935
- const _hoisted_1$6 = { class: "image-input-container" };
4936
- const _hoisted_2$1 = { key: 0 };
4937
4840
 
4938
- function render$6(_ctx, _cache, $props, $setup, $data, $options) {
4939
- const _component_image_input = vue.resolveComponent("image-input");
4940
4841
 
4941
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
4942
- vue.createVNode(_component_image_input, {
4943
- id: _ctx.id,
4944
- name: _ctx.id,
4945
- required: _ctx.required,
4946
- placeholder: _ctx.placeholder,
4947
- "drop-placeholder": _ctx.dropPlaceholder,
4948
- label: _ctx.label,
4949
- onUpdate: _ctx.onInput
4950
- }, null, 8 /* PROPS */, ["id", "name", "required", "placeholder", "drop-placeholder", "label", "onUpdate"]),
4951
- (_ctx.resizing)
4842
+ const emit = __emit;
4843
+ const resizing = vue.ref(false);
4844
+
4845
+ const onInput = async (file) => {
4846
+ try {
4847
+ resizing.value = true;
4848
+ const reduce = new imageBlobReduce();
4849
+ const blob = await reduce.toBlob(file, { max: 1024 });
4850
+ const newFile = new File([blob], file.name, { type: file.type });
4851
+ emit('loaded', newFile);
4852
+ } catch (err) {
4853
+ emit('error');
4854
+ } finally {
4855
+ resizing.value = false;
4856
+ }
4857
+ };
4858
+
4859
+ return (_ctx, _cache) => {
4860
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
4861
+ vue.createVNode(script$8, {
4862
+ id: __props.id,
4863
+ name: __props.id,
4864
+ required: __props.required,
4865
+ placeholder: __props.placeholder,
4866
+ "drop-placeholder": __props.dropPlaceholder,
4867
+ label: __props.label,
4868
+ onUpdate: onInput
4869
+ }, null, 8 /* PROPS */, ["id", "name", "required", "placeholder", "drop-placeholder", "label"]),
4870
+ (resizing.value)
4952
4871
  ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$1, "Resizing..."))
4953
4872
  : vue.createCommentVNode("v-if", true)
4954
4873
  ]))
4955
4874
  }
4875
+ }
4956
4876
 
4957
- var css_248z$1 = "\nimage-input[data-v-3fb95754] {\n display: block;\n margin-bottom: 1rem;\n}\nimage-input label[data-v-3fb95754] {\n display: block;\n margin-bottom: 0.5rem;\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-small);\n color: var(--color-image-input);\n}\nimage-input input[type=\"file\"][data-v-3fb95754] {\n display: block;\n width: 100%;\n padding: 0.5rem;\n border: 1px solid var(--color-image-input-border);\n border-radius: var(--border-radius--base);\n color: var(--color-image-input);\n background-color: var(--color-image-input-background);\n cursor: pointer;\n}\nimage-input input[type=\"file\"][data-v-3fb95754]:focus {\n outline: none;\n border-color: var(--color-image-input-border-focus);\n box-shadow: 0 0 0 3px var(--color-image-input-shadow);\n}\nimage-input input[type=\"file\"][data-v-3fb95754]:disabled {\n background-color: var(--color-input-disabled);\n cursor: not-allowed;\n}\n";
4958
- styleInject(css_248z$1);
4877
+ };
4959
4878
 
4960
- script$6.render = render$6;
4961
- script$6.__scopeId = "data-v-3fb95754";
4962
- script$6.__file = "src/Inputs/ResizeImageUpload/ResizeImageUpload.vue";
4879
+ var css_248z$2 = "\nimage-input[data-v-3fb95754] {\n display: block;\n margin-bottom: 1rem;\n}\nimage-input label[data-v-3fb95754] {\n display: block;\n margin-bottom: 0.5rem;\n font-weight: var(--font-weight-bold);\n font-size: var(--font-size-small);\n color: var(--color-image-input);\n}\nimage-input input[type=\"file\"][data-v-3fb95754] {\n display: block;\n width: 100%;\n padding: 0.5rem;\n border: 1px solid var(--color-image-input-border);\n border-radius: var(--border-radius--base);\n color: var(--color-image-input);\n background-color: var(--color-image-input-background);\n cursor: pointer;\n}\nimage-input input[type=\"file\"][data-v-3fb95754]:focus {\n outline: none;\n border-color: var(--color-image-input-border-focus);\n box-shadow: 0 0 0 3px var(--color-image-input-shadow);\n}\nimage-input input[type=\"file\"][data-v-3fb95754]:disabled {\n background-color: var(--color-input-disabled);\n cursor: not-allowed;\n}\n";
4880
+ styleInject(css_248z$2);
4963
4881
 
4964
- var script$5 = vue.defineComponent({
4965
- name: "Selector",
4966
- props: {
4967
- id: {
4968
- type: String,
4969
- },
4970
- disabled: {
4971
- type: Boolean,
4972
- },
4973
- label: {
4974
- type: String,
4975
- },
4976
- initialValue: {
4977
- type: String,
4978
- },
4979
- options: {
4980
- type: Array,
4981
- },
4982
- },
4983
- data() {
4984
- return {
4985
- selected: '',
4986
- };
4987
- },
4988
- watch: {
4989
- initialValue: {
4990
- immediate: true,
4991
- handler: function (newSelectedValue) {
4992
- if (newSelectedValue !== "" && newSelectedValue !== undefined) {
4993
- this.selected = newSelectedValue;
4994
- }
4995
- },
4996
- },
4997
- options: {
4998
- immediate: true,
4999
- handler: function (newOptions) {
5000
- const enabledOptions = newOptions.filter((option) => !option.disabled);
5001
- if (enabledOptions.length === 1) {
5002
- this.selected = enabledOptions[0].value;
5003
- this.$emit('selected', this.selected);
5004
- }
5005
- },
5006
- },
5007
- },
5008
- emits: ['selected'],
5009
- methods: {
5010
- onChange() {
5011
- this.$emit('selected', this.selected);
5012
- },
5013
- },
5014
- });
4882
+ script$7.__scopeId = "data-v-3fb95754";
4883
+ script$7.__file = "src/Inputs/ResizeImageUpload/ResizeImageUpload.vue";
5015
4884
 
5016
- const _hoisted_1$5 = { class: "selector-container" };
4885
+ const _hoisted_1$6 = { class: "selector-container" };
5017
4886
  const _hoisted_2 = ["for"];
5018
4887
  const _hoisted_3 = { class: "selector-relative-container" };
5019
4888
  const _hoisted_4 = ["id", "disabled"];
5020
4889
  const _hoisted_5 = ["value", "disabled"];
5021
4890
 
5022
- function render$5(_ctx, _cache, $props, $setup, $data, $options) {
5023
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
4891
+
4892
+ var script$6 = {
4893
+ __name: 'Selector',
4894
+ props: {
4895
+ id: String,
4896
+ disabled: Boolean,
4897
+ label: String,
4898
+ initialValue: String,
4899
+ options: Array,
4900
+ },
4901
+ emits: ['selected'],
4902
+ setup(__props, { emit: __emit }) {
4903
+
4904
+ const props = __props;
4905
+
4906
+ const emit = __emit;
4907
+ const selected = vue.ref('');
4908
+
4909
+ vue.watch(() => props.initialValue, (newVal) => {
4910
+ if (newVal !== "" && newVal !== undefined) selected.value = newVal;
4911
+ }, { immediate: true });
4912
+
4913
+ vue.watch(() => props.options, (newOptions) => {
4914
+ if (!newOptions) return;
4915
+ const enabledOptions = newOptions.filter((o) => !o.disabled);
4916
+ if (enabledOptions.length === 1) {
4917
+ selected.value = enabledOptions[0].value;
4918
+ emit('selected', selected.value);
4919
+ }
4920
+ }, { immediate: true });
4921
+
4922
+ const onChange = () => emit('selected', selected.value);
4923
+
4924
+ return (_ctx, _cache) => {
4925
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
5024
4926
  vue.createElementVNode("label", {
5025
4927
  class: "selector-label",
5026
- for: _ctx.id
5027
- }, vue.toDisplayString(_ctx.label), 9 /* TEXT, PROPS */, _hoisted_2),
4928
+ for: __props.id
4929
+ }, vue.toDisplayString(__props.label), 9 /* TEXT, PROPS */, _hoisted_2),
5028
4930
  vue.createElementVNode("div", _hoisted_3, [
5029
4931
  vue.withDirectives(vue.createElementVNode("select", {
5030
4932
  class: "selector-field",
5031
- id: _ctx.id,
5032
- disabled: _ctx.disabled,
5033
- "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => ((_ctx.selected) = $event)),
5034
- onChange: _cache[1] || (_cache[1] = (...args) => (_ctx.onChange && _ctx.onChange(...args)))
4933
+ id: __props.id,
4934
+ disabled: __props.disabled,
4935
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => ((selected).value = $event)),
4936
+ onChange: onChange
5035
4937
  }, [
5036
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.options, (option) => {
4938
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.options, (option) => {
5037
4939
  return (vue.openBlock(), vue.createElementBlock("option", {
5038
4940
  key: option.value,
5039
4941
  value: option.value,
@@ -5041,9 +4943,9 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
5041
4943
  }, vue.toDisplayString(option.text), 9 /* TEXT, PROPS */, _hoisted_5))
5042
4944
  }), 128 /* KEYED_FRAGMENT */))
5043
4945
  ], 40 /* PROPS, NEED_HYDRATION */, _hoisted_4), [
5044
- [vue.vModelSelect, _ctx.selected]
4946
+ [vue.vModelSelect, selected.value]
5045
4947
  ]),
5046
- _cache[2] || (_cache[2] = vue.createElementVNode("div", { class: "selector-icon-container" }, [
4948
+ _cache[1] || (_cache[1] = vue.createElementVNode("div", { class: "selector-icon-container" }, [
5047
4949
  vue.createElementVNode("svg", {
5048
4950
  class: "selector-icon",
5049
4951
  xmlns: "http://www.w3.org/2000/svg",
@@ -5055,38 +4957,43 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
5055
4957
  ])
5056
4958
  ]))
5057
4959
  }
4960
+ }
5058
4961
 
5059
- var css_248z = "\n.selector-container[data-v-008e1be2] {\n margin-bottom: 1rem;\n}\n.selector-label[data-v-008e1be2] {\n display: block;\n color: var(--color-selector-label);\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-bold);\n margin-bottom: 0.5rem;\n}\n.selector-relative-container[data-v-008e1be2] {\n position: relative;\n}\n.selector-field[data-v-008e1be2] {\n appearance: none;\n width: 100%;\n background-color: var(--color-selector-background);\n border: 1px solid var(--color-selector-border);\n color: var(--color-selector-text);\n padding: 0.75rem 1rem 0.75rem 0.75rem;\n padding-right: 2rem;\n border-radius: var(--border-radius--base);\n line-height: 1.25;\n transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;\n}\n.selector-field[data-v-008e1be2]:focus {\n outline: none;\n background-color: var(--color-selector-background-focused);\n border-color: var(--color-selector-border-focused);\n}\n.selector-icon-container[data-v-008e1be2] {\n pointer-events: none;\n position: absolute;\n inset: 0 auto;\n right: 0;\n display: flex;\n align-items: center;\n padding: 0 0.5rem;\n color: var(--color-selector-icon-container);\n}\n.selector-icon[data-v-008e1be2] {\n fill: currentColor;\n height: 1rem;\n width: 1rem;\n}\n";
5060
- styleInject(css_248z);
4962
+ };
4963
+
4964
+ var css_248z$1 = "\n.selector-container[data-v-008e1be2] {\n margin-bottom: 1rem;\n}\n.selector-label[data-v-008e1be2] {\n display: block;\n color: var(--color-selector-label);\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-bold);\n margin-bottom: 0.5rem;\n}\n.selector-relative-container[data-v-008e1be2] {\n position: relative;\n}\n.selector-field[data-v-008e1be2] {\n appearance: none;\n width: 100%;\n background-color: var(--color-selector-background);\n border: 1px solid var(--color-selector-border);\n color: var(--color-selector-text);\n padding: 0.75rem 1rem 0.75rem 0.75rem;\n padding-right: 2rem;\n border-radius: var(--border-radius--base);\n line-height: 1.25;\n transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;\n}\n.selector-field[data-v-008e1be2]:focus {\n outline: none;\n background-color: var(--color-selector-background-focused);\n border-color: var(--color-selector-border-focused);\n}\n.selector-icon-container[data-v-008e1be2] {\n pointer-events: none;\n position: absolute;\n inset: 0 auto;\n right: 0;\n display: flex;\n align-items: center;\n padding: 0 0.5rem;\n color: var(--color-selector-icon-container);\n}\n.selector-icon[data-v-008e1be2] {\n fill: currentColor;\n height: 1rem;\n width: 1rem;\n}\n";
4965
+ styleInject(css_248z$1);
5061
4966
 
5062
- script$5.render = render$5;
5063
- script$5.__scopeId = "data-v-008e1be2";
5064
- script$5.__file = "src/Inputs/Selector/Selector.vue";
4967
+ script$6.__scopeId = "data-v-008e1be2";
4968
+ script$6.__file = "src/Inputs/Selector/Selector.vue";
5065
4969
 
5066
- var script$4 = {
5067
- name: 'DropIcon',
4970
+ const _hoisted_1$5 = ["width", "height", "stroke"];
4971
+
4972
+
4973
+ var script$5 = {
4974
+ __name: 'DropIcon',
5068
4975
  props: {
5069
- size: {
5070
- type: [Number, String],
5071
- default: 24
5072
- },
5073
- color: {
5074
- type: String,
5075
- default: 'currentColor'
5076
- }
4976
+ size: {
4977
+ type: [Number, String],
4978
+ default: 24
4979
+ },
4980
+ color: {
4981
+ type: String,
4982
+ default: 'currentColor'
5077
4983
  }
5078
- };
4984
+ },
4985
+ setup(__props) {
5079
4986
 
5080
- const _hoisted_1$4 = ["width", "height", "stroke"];
5081
4987
 
5082
- function render$4(_ctx, _cache, $props, $setup, $data, $options) {
4988
+
4989
+ return (_ctx, _cache) => {
5083
4990
  return (vue.openBlock(), vue.createElementBlock("svg", {
5084
4991
  xmlns: "http://www.w3.org/2000/svg",
5085
- width: $props.size,
5086
- height: $props.size,
4992
+ width: __props.size,
4993
+ height: __props.size,
5087
4994
  viewBox: "0 0 24 24",
5088
4995
  fill: "none",
5089
- stroke: $props.color,
4996
+ stroke: __props.color,
5090
4997
  "stroke-width": "2",
5091
4998
  "stroke-linecap": "round",
5092
4999
  "stroke-linejoin": "round",
@@ -5094,36 +5001,41 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
5094
5001
  }, _cache[0] || (_cache[0] = [
5095
5002
  vue.createElementVNode("path", { d: "M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z" }, null, -1 /* HOISTED */),
5096
5003
  vue.createElementVNode("path", { d: "M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97" }, null, -1 /* HOISTED */)
5097
- ]), 8 /* PROPS */, _hoisted_1$4))
5004
+ ]), 8 /* PROPS */, _hoisted_1$5))
5098
5005
  }
5006
+ }
5007
+
5008
+ };
5099
5009
 
5100
- script$4.render = render$4;
5101
- script$4.__file = "src/Icons/DropIcon/DropIcon.vue";
5010
+ script$5.__file = "src/Icons/DropIcon/DropIcon.vue";
5102
5011
 
5103
- var script$3 = {
5104
- name: 'SkullIcon',
5012
+ const _hoisted_1$4 = ["width", "height", "stroke"];
5013
+
5014
+
5015
+ var script$4 = {
5016
+ __name: 'SkullIcon',
5105
5017
  props: {
5106
- size: {
5107
- type: [Number, String],
5108
- default: 24
5109
- },
5110
- color: {
5111
- type: String,
5112
- default: 'currentColor'
5113
- }
5018
+ size: {
5019
+ type: [Number, String],
5020
+ default: 24
5021
+ },
5022
+ color: {
5023
+ type: String,
5024
+ default: 'currentColor'
5114
5025
  }
5115
- };
5026
+ },
5027
+ setup(__props) {
5116
5028
 
5117
- const _hoisted_1$3 = ["width", "height", "stroke"];
5118
5029
 
5119
- function render$3(_ctx, _cache, $props, $setup, $data, $options) {
5030
+
5031
+ return (_ctx, _cache) => {
5120
5032
  return (vue.openBlock(), vue.createElementBlock("svg", {
5121
5033
  xmlns: "http://www.w3.org/2000/svg",
5122
- width: $props.size,
5123
- height: $props.size,
5034
+ width: __props.size,
5035
+ height: __props.size,
5124
5036
  viewBox: "0 0 24 24",
5125
5037
  fill: "none",
5126
- stroke: $props.color,
5038
+ stroke: __props.color,
5127
5039
  "stroke-width": "2",
5128
5040
  "stroke-linecap": "round",
5129
5041
  "stroke-linejoin": "round",
@@ -5141,36 +5053,41 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
5141
5053
  cy: "12",
5142
5054
  r: "1"
5143
5055
  }, null, -1 /* HOISTED */)
5144
- ]), 8 /* PROPS */, _hoisted_1$3))
5056
+ ]), 8 /* PROPS */, _hoisted_1$4))
5057
+ }
5145
5058
  }
5146
5059
 
5147
- script$3.render = render$3;
5148
- script$3.__file = "src/Icons/SkullIcon/SkullIcon.vue";
5060
+ };
5149
5061
 
5150
- var script$2 = {
5151
- name: 'CalendarIcon',
5062
+ script$4.__file = "src/Icons/SkullIcon/SkullIcon.vue";
5063
+
5064
+ const _hoisted_1$3 = ["width", "height", "stroke"];
5065
+
5066
+
5067
+ var script$3 = {
5068
+ __name: 'CalendarIcon',
5152
5069
  props: {
5153
- size: {
5154
- type: [Number, String],
5155
- default: 24
5156
- },
5157
- color: {
5158
- type: String,
5159
- default: 'currentColor'
5160
- }
5070
+ size: {
5071
+ type: [Number, String],
5072
+ default: 24
5073
+ },
5074
+ color: {
5075
+ type: String,
5076
+ default: 'currentColor'
5161
5077
  }
5162
- };
5078
+ },
5079
+ setup(__props) {
5080
+
5163
5081
 
5164
- const _hoisted_1$2 = ["width", "height", "stroke"];
5165
5082
 
5166
- function render$2(_ctx, _cache, $props, $setup, $data, $options) {
5083
+ return (_ctx, _cache) => {
5167
5084
  return (vue.openBlock(), vue.createElementBlock("svg", {
5168
5085
  xmlns: "http://www.w3.org/2000/svg",
5169
- width: $props.size,
5170
- height: $props.size,
5086
+ width: __props.size,
5087
+ height: __props.size,
5171
5088
  viewBox: "0 0 24 24",
5172
5089
  fill: "none",
5173
- stroke: $props.color,
5090
+ stroke: __props.color,
5174
5091
  "stroke-width": "2",
5175
5092
  "stroke-linecap": "round",
5176
5093
  "stroke-linejoin": "round",
@@ -5186,36 +5103,41 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
5186
5103
  rx: "2"
5187
5104
  }, null, -1 /* HOISTED */),
5188
5105
  vue.createElementVNode("path", { d: "M3 10h18" }, null, -1 /* HOISTED */)
5189
- ]), 8 /* PROPS */, _hoisted_1$2))
5106
+ ]), 8 /* PROPS */, _hoisted_1$3))
5190
5107
  }
5108
+ }
5109
+
5110
+ };
5191
5111
 
5192
- script$2.render = render$2;
5193
- script$2.__file = "src/Icons/CalendarIcon/CalendarIcon.vue";
5112
+ script$3.__file = "src/Icons/CalendarIcon/CalendarIcon.vue";
5194
5113
 
5195
- var script$1 = {
5196
- name: 'SaveIcon',
5114
+ const _hoisted_1$2 = ["width", "height", "stroke"];
5115
+
5116
+
5117
+ var script$2 = {
5118
+ __name: 'SaveIcon',
5197
5119
  props: {
5198
- size: {
5199
- type: [Number, String],
5200
- default: 24
5201
- },
5202
- color: {
5203
- type: String,
5204
- default: 'currentColor'
5205
- }
5120
+ size: {
5121
+ type: [Number, String],
5122
+ default: 24
5123
+ },
5124
+ color: {
5125
+ type: String,
5126
+ default: 'currentColor'
5206
5127
  }
5207
- };
5128
+ },
5129
+ setup(__props) {
5208
5130
 
5209
- const _hoisted_1$1 = ["width", "height", "stroke"];
5210
5131
 
5211
- function render$1(_ctx, _cache, $props, $setup, $data, $options) {
5132
+
5133
+ return (_ctx, _cache) => {
5212
5134
  return (vue.openBlock(), vue.createElementBlock("svg", {
5213
5135
  xmlns: "http://www.w3.org/2000/svg",
5214
- width: $props.size,
5215
- height: $props.size,
5136
+ width: __props.size,
5137
+ height: __props.size,
5216
5138
  viewBox: "0 0 24 24",
5217
5139
  fill: "none",
5218
- stroke: $props.color,
5140
+ stroke: __props.color,
5219
5141
  "stroke-width": "2",
5220
5142
  "stroke-linecap": "round",
5221
5143
  "stroke-linejoin": "round",
@@ -5224,36 +5146,41 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
5224
5146
  vue.createElementVNode("path", { d: "M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z" }, null, -1 /* HOISTED */),
5225
5147
  vue.createElementVNode("path", { d: "M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7" }, null, -1 /* HOISTED */),
5226
5148
  vue.createElementVNode("path", { d: "M7 3v4a1 1 0 0 0 1 1h7" }, null, -1 /* HOISTED */)
5227
- ]), 8 /* PROPS */, _hoisted_1$1))
5149
+ ]), 8 /* PROPS */, _hoisted_1$2))
5150
+ }
5228
5151
  }
5229
5152
 
5230
- script$1.render = render$1;
5231
- script$1.__file = "src/Icons/SaveIcon/SaveIcon.vue";
5153
+ };
5232
5154
 
5233
- var script = {
5234
- name: 'CreateIcon',
5155
+ script$2.__file = "src/Icons/SaveIcon/SaveIcon.vue";
5156
+
5157
+ const _hoisted_1$1 = ["width", "height", "stroke"];
5158
+
5159
+
5160
+ var script$1 = {
5161
+ __name: 'CreateIcon',
5235
5162
  props: {
5236
- size: {
5237
- type: [Number, String],
5238
- default: 24
5239
- },
5240
- color: {
5241
- type: String,
5242
- default: 'currentColor'
5243
- }
5163
+ size: {
5164
+ type: [Number, String],
5165
+ default: 24
5166
+ },
5167
+ color: {
5168
+ type: String,
5169
+ default: 'currentColor'
5244
5170
  }
5245
- };
5171
+ },
5172
+ setup(__props) {
5246
5173
 
5247
- const _hoisted_1 = ["width", "height", "stroke"];
5248
5174
 
5249
- function render(_ctx, _cache, $props, $setup, $data, $options) {
5175
+
5176
+ return (_ctx, _cache) => {
5250
5177
  return (vue.openBlock(), vue.createElementBlock("svg", {
5251
5178
  xmlns: "http://www.w3.org/2000/svg",
5252
- width: $props.size,
5253
- height: $props.size,
5179
+ width: __props.size,
5180
+ height: __props.size,
5254
5181
  viewBox: "0 0 24 24",
5255
5182
  fill: "none",
5256
- stroke: $props.color,
5183
+ stroke: __props.color,
5257
5184
  "stroke-width": "2",
5258
5185
  "stroke-linecap": "round",
5259
5186
  "stroke-linejoin": "round",
@@ -5272,39 +5199,111 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
5272
5199
  y1: "12",
5273
5200
  y2: "12"
5274
5201
  }, null, -1 /* HOISTED */)
5275
- ]), 8 /* PROPS */, _hoisted_1))
5202
+ ]), 8 /* PROPS */, _hoisted_1$1))
5276
5203
  }
5204
+ }
5205
+
5206
+ };
5207
+
5208
+ script$1.__file = "src/Icons/CreateIcon/CreateIcon.vue";
5209
+
5210
+ const _hoisted_1 = { class: "infinite-scroll-container" };
5211
+
5212
+
5213
+ var script = {
5214
+ __name: 'InfiniteScroll',
5215
+ props: {
5216
+ threshold: {
5217
+ type: Number,
5218
+ default: 0.1
5219
+ },
5220
+ rootMargin: {
5221
+ type: String,
5222
+ default: '0px'
5223
+ },
5224
+ disabled: {
5225
+ type: Boolean,
5226
+ default: false
5227
+ }
5228
+ },
5229
+ emits: ['load-more'],
5230
+ setup(__props, { emit: __emit }) {
5231
+
5232
+ const props = __props;
5233
+
5234
+ const emit = __emit;
5235
+ const sentinel = vue.ref(null);
5236
+ let observer = null;
5237
+
5238
+ vue.onMounted(() => {
5239
+ observer = new IntersectionObserver(([entry]) => {
5240
+ if (entry.isIntersecting && !props.disabled) {
5241
+ emit('load-more');
5242
+ }
5243
+ }, {
5244
+ rootMargin: props.rootMargin,
5245
+ threshold: props.threshold
5246
+ });
5247
+
5248
+ if (sentinel.value) {
5249
+ observer.observe(sentinel.value);
5250
+ }
5251
+ });
5252
+
5253
+ vue.onBeforeUnmount(() => {
5254
+ if (observer) {
5255
+ observer.disconnect();
5256
+ }
5257
+ });
5258
+
5259
+ return (_ctx, _cache) => {
5260
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
5261
+ vue.renderSlot(_ctx.$slots, "default"),
5262
+ vue.createElementVNode("div", {
5263
+ class: "sentinel",
5264
+ ref_key: "sentinel",
5265
+ ref: sentinel
5266
+ }, null, 512 /* NEED_PATCH */)
5267
+ ]))
5268
+ }
5269
+ }
5270
+
5271
+ };
5272
+
5273
+ var css_248z = "\n.infinite-scroll-container[data-v-69ac2b46] {\n width: 100%;\n}\n.sentinel[data-v-69ac2b46] {\n height: var(--infinite-scroll-sentinel-height, 1px);\n width: 100%;\n}\n";
5274
+ styleInject(css_248z);
5277
5275
 
5278
- script.render = render;
5279
- script.__file = "src/Icons/CreateIcon/CreateIcon.vue";
5280
-
5281
- exports.Badge = script$j;
5282
- exports.CalendarIcon = script$2;
5283
- exports.Card = script$x;
5284
- exports.CardGrid = script$w;
5285
- exports.CheckBoxInput = script$9;
5286
- exports.Container = script$v;
5287
- exports.CreateIcon = script;
5288
- exports.DangerButton = script$b;
5289
- exports.DropIcon = script$4;
5290
- exports.ImageInput = script$7;
5291
- exports.Loading = script$A;
5292
- exports.Modal = script$h;
5293
- exports.Navbar = script$n;
5294
- exports.NumberInput = script$8;
5295
- exports.Pagination = script$k;
5296
- exports.RangeView = script$f;
5297
- exports.RegularButton = script$l;
5298
- exports.ResetButton = script$e;
5299
- exports.ResizeImageUpload = script$6;
5300
- exports.SaveIcon = script$1;
5301
- exports.SecondaryButton = script$c;
5302
- exports.SectionTitle = script$B;
5303
- exports.Selector = script$5;
5304
- exports.SkullIcon = script$3;
5305
- exports.Spinner = script$g;
5306
- exports.StyledTable = script$m;
5307
- exports.SubmitButton = script$d;
5308
- exports.Temperature = script$i;
5309
- exports.TextInput = script$a;
5276
+ script.__scopeId = "data-v-69ac2b46";
5277
+ script.__file = "src/InfiniteScroll/InfiniteScroll.vue";
5278
+
5279
+ exports.Badge = script$k;
5280
+ exports.CalendarIcon = script$3;
5281
+ exports.Card = script$y;
5282
+ exports.CardGrid = script$x;
5283
+ exports.CheckBoxInput = script$a;
5284
+ exports.Container = script$w;
5285
+ exports.CreateIcon = script$1;
5286
+ exports.DangerButton = script$h;
5287
+ exports.DropIcon = script$5;
5288
+ exports.ImageInput = script$8;
5289
+ exports.InfiniteScroll = script;
5290
+ exports.Loading = script$B;
5291
+ exports.Modal = script$g;
5292
+ exports.Navbar = script$o;
5293
+ exports.NumberInput = script$9;
5294
+ exports.Pagination = script$l;
5295
+ exports.RangeView = script$e;
5296
+ exports.RegularButton = script$m;
5297
+ exports.ResetButton = script$d;
5298
+ exports.ResizeImageUpload = script$7;
5299
+ exports.SaveIcon = script$2;
5300
+ exports.SecondaryButton = script$i;
5301
+ exports.SectionTitle = script$C;
5302
+ exports.Selector = script$6;
5303
+ exports.SkullIcon = script$4;
5304
+ exports.Spinner = script$f;
5305
+ exports.StyledTable = script$n;
5306
+ exports.SubmitButton = script$c;
5307
+ exports.Temperature = script$j;
5308
+ exports.TextInput = script$b;
5310
5309
  //# sourceMappingURL=index.js.map