@namelivia/vue-components 4.2.1 → 4.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -12,10 +12,10 @@ var script$v = vue.defineComponent({
12
12
  }
13
13
  });
14
14
 
15
- const _hoisted_1$p = { class: "section-title" };
15
+ const _hoisted_1$q = { class: "section-title" };
16
16
 
17
17
  function render$v(_ctx, _cache, $props, $setup, $data, $options) {
18
- return (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$p, vue.toDisplayString(_ctx.text), 1 /* TEXT */))
18
+ return (vue.openBlock(), vue.createElementBlock("h1", _hoisted_1$q, vue.toDisplayString(_ctx.text), 1 /* TEXT */))
19
19
  }
20
20
 
21
21
  function styleInject(css, ref) {
@@ -94,14 +94,14 @@ var script$t = vue.defineComponent({
94
94
  },
95
95
  });
96
96
 
97
- const _hoisted_1$o = ["src", "alt"];
97
+ const _hoisted_1$p = ["src", "alt"];
98
98
 
99
99
  function render$t(_ctx, _cache, $props, $setup, $data, $options) {
100
100
  return (vue.openBlock(), vue.createElementBlock("img", {
101
101
  src: _ctx.src,
102
102
  alt: _ctx.alt,
103
103
  ref: "image"
104
- }, null, 8 /* PROPS */, _hoisted_1$o))
104
+ }, null, 8 /* PROPS */, _hoisted_1$p))
105
105
  }
106
106
 
107
107
  var css_248z$t = "\nimg[data-v-5fa6a3f6] {\n width: 100%;\n}\n";
@@ -118,12 +118,12 @@ var script$s = vue.defineComponent({
118
118
  },
119
119
  });
120
120
 
121
- const _hoisted_1$n = { class: "card-body" };
121
+ const _hoisted_1$o = { class: "card-body" };
122
122
  const _hoisted_2$e = { class: "card-title" };
123
123
  const _hoisted_3$9 = { class: "card-text" };
124
124
 
125
125
  function render$s(_ctx, _cache, $props, $setup, $data, $options) {
126
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
126
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
127
127
  vue.createElementVNode("div", _hoisted_2$e, vue.toDisplayString(_ctx.title), 1 /* TEXT */),
128
128
  vue.createElementVNode("p", _hoisted_3$9, [
129
129
  vue.renderSlot(_ctx.$slots, "default")
@@ -155,7 +155,7 @@ var script$r = vue.defineComponent({
155
155
  emits: ['width']
156
156
  });
157
157
 
158
- const _hoisted_1$m = {
158
+ const _hoisted_1$n = {
159
159
  key: 0,
160
160
  class: "card-container"
161
161
  };
@@ -166,7 +166,7 @@ function render$r(_ctx, _cache, $props, $setup, $data, $options) {
166
166
  const _component_card_body = vue.resolveComponent("card-body");
167
167
 
168
168
  return (!_ctx.dismissed)
169
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
169
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
170
170
  vue.createElementVNode("div", _hoisted_2$d, [
171
171
  vue.createVNode(_component_card_image, {
172
172
  src: _ctx.image,
@@ -195,10 +195,10 @@ var script$q = vue.defineComponent({
195
195
  name: "CardGrid"
196
196
  });
197
197
 
198
- const _hoisted_1$l = { class: "card-grid" };
198
+ const _hoisted_1$m = { class: "card-grid" };
199
199
 
200
200
  function render$q(_ctx, _cache, $props, $setup, $data, $options) {
201
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
201
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
202
202
  vue.renderSlot(_ctx.$slots, "default")
203
203
  ]))
204
204
  }
@@ -214,10 +214,10 @@ var script$p = vue.defineComponent({
214
214
  name: "Container"
215
215
  });
216
216
 
217
- const _hoisted_1$k = { class: "container" };
217
+ const _hoisted_1$l = { class: "container" };
218
218
 
219
219
  function render$p(_ctx, _cache, $props, $setup, $data, $options) {
220
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
220
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
221
221
  vue.renderSlot(_ctx.$slots, "default")
222
222
  ]))
223
223
  }
@@ -249,20 +249,23 @@ var script$o = vue.defineComponent({
249
249
  }
250
250
  return 'regular-link'
251
251
  },
252
+ linkDestination: function () {
253
+ return this.current ? '#' : this.href
254
+ },
252
255
  },
253
256
  });
254
257
 
255
- const _hoisted_1$j = ["href"];
258
+ const _hoisted_1$k = ["href"];
256
259
 
257
260
  function render$o(_ctx, _cache, $props, $setup, $data, $options) {
258
261
  return (vue.openBlock(), vue.createElementBlock("a", {
259
- href: _ctx.href,
262
+ href: _ctx.linkDestination,
260
263
  class: vue.normalizeClass(_ctx.linkClass),
261
264
  "aria-current": "page"
262
- }, vue.toDisplayString(_ctx.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_1$j))
265
+ }, vue.toDisplayString(_ctx.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_1$k))
263
266
  }
264
267
 
265
- var css_248z$o = "\n.current-link[data-v-3e279546] {\n background-color: #111827;\n color: #ffffff;\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: 1rem;\n font-weight: 500;\n}\n.regular-link[data-v-3e279546] {\n color: #d1d5db;\n display: block;\n padding: 0.5rem 0.75rem;\n border-radius: 0.375rem;\n font-size: 1rem;\n font-weight: 500;\n transition: background-color 0.2s ease, color 0.2s ease;\n}\n.regular-link[data-v-3e279546]:hover {\n background-color: #374151;\n color: #ffffff;\n}\n";
268
+ var css_248z$o = "\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";
266
269
  styleInject(css_248z$o);
267
270
 
268
271
  script$o.render = render$o;
@@ -285,7 +288,7 @@ var script$n = vue.defineComponent({
285
288
  },
286
289
  });
287
290
 
288
- const _hoisted_1$i = {
291
+ const _hoisted_1$j = {
289
292
  key: 0,
290
293
  id: "mobile-menu"
291
294
  };
@@ -304,14 +307,15 @@ function render$n(_ctx, _cache, $props, $setup, $data, $options) {
304
307
  }, {
305
308
  default: vue.withCtx(() => [
306
309
  (_ctx.open)
307
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
310
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
308
311
  vue.createElementVNode("div", _hoisted_2$c, [
309
312
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.links, (link) => {
310
313
  return (vue.openBlock(), vue.createBlock(_component_mobile_navigation_link, {
311
314
  key: link.id,
312
315
  href: link.href,
313
- text: link.text
314
- }, null, 8 /* PROPS */, ["href", "text"]))
316
+ text: link.text,
317
+ current: link.current
318
+ }, null, 8 /* PROPS */, ["href", "text", "current"]))
315
319
  }), 128 /* KEYED_FRAGMENT */))
316
320
  ])
317
321
  ]))
@@ -321,7 +325,7 @@ function render$n(_ctx, _cache, $props, $setup, $data, $options) {
321
325
  }))
322
326
  }
323
327
 
324
- var css_248z$n = "\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: #1f2937;\n}\n@media (min-width: 640px) {\n#mobile-menu[data-v-eb1296c6] {\n display: none;\n}\n}\n";
328
+ var css_248z$n = "\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";
325
329
  styleInject(css_248z$n);
326
330
 
327
331
  script$n.render = render$n;
@@ -348,20 +352,23 @@ var script$m = vue.defineComponent({
348
352
  }
349
353
  return 'regular-link'
350
354
  },
355
+ linkDestination: function () {
356
+ return this.current ? '#' : this.href
357
+ },
351
358
  },
352
359
  });
353
360
 
354
- const _hoisted_1$h = ["href"];
361
+ const _hoisted_1$i = ["href"];
355
362
 
356
363
  function render$m(_ctx, _cache, $props, $setup, $data, $options) {
357
364
  return (vue.openBlock(), vue.createElementBlock("a", {
358
- href: _ctx.href,
365
+ href: _ctx.linkDestination,
359
366
  class: vue.normalizeClass(_ctx.linkClass),
360
367
  "aria-current": "page"
361
- }, vue.toDisplayString(_ctx.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_1$h))
368
+ }, vue.toDisplayString(_ctx.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_1$i))
362
369
  }
363
370
 
364
- var css_248z$m = "\n.current-link[data-v-4989b384] {\n background-color: #111827;\n color: #ffffff;\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: 0.875rem;\n}\n.regular-link[data-v-4989b384] {\n color: #d1d5db;\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: 0.875rem;\n font-weight: 500;\n transition: background-color 0.2s ease, color 0.2s ease;\n}\n.regular-link[data-v-4989b384]:hover {\n background-color: #374151;\n color: #ffffff;\n}\n";
371
+ var css_248z$m = "\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";
365
372
  styleInject(css_248z$m);
366
373
 
367
374
  script$m.render = render$m;
@@ -380,20 +387,21 @@ var script$l = vue.defineComponent({
380
387
  },
381
388
  });
382
389
 
383
- const _hoisted_1$g = { class: "links-container" };
390
+ const _hoisted_1$h = { class: "links-container" };
384
391
  const _hoisted_2$b = { class: "links-wrapper" };
385
392
 
386
393
  function render$l(_ctx, _cache, $props, $setup, $data, $options) {
387
394
  const _component_navigation_link = vue.resolveComponent("navigation-link");
388
395
 
389
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
396
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
390
397
  vue.createElementVNode("div", _hoisted_2$b, [
391
398
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.links, (link) => {
392
399
  return (vue.openBlock(), vue.createBlock(_component_navigation_link, {
393
400
  key: link.id,
394
401
  href: link.href,
395
- text: link.text
396
- }, null, 8 /* PROPS */, ["href", "text"]))
402
+ text: link.text,
403
+ current: link.current
404
+ }, null, 8 /* PROPS */, ["href", "text", "current"]))
397
405
  }), 128 /* KEYED_FRAGMENT */))
398
406
  ])
399
407
  ]))
@@ -424,7 +432,7 @@ var script$k = vue.defineComponent({
424
432
  }
425
433
  });
426
434
 
427
- const _hoisted_1$f = ["href"];
435
+ const _hoisted_1$g = ["href"];
428
436
  const _hoisted_2$a = ["src", "alt"];
429
437
  const _hoisted_3$8 = ["src", "alt"];
430
438
 
@@ -443,7 +451,7 @@ function render$k(_ctx, _cache, $props, $setup, $data, $options) {
443
451
  src: _ctx.imageBig,
444
452
  alt: _ctx.title
445
453
  }, null, 8 /* PROPS */, _hoisted_3$8)
446
- ], 8 /* PROPS */, _hoisted_1$f))
454
+ ], 8 /* PROPS */, _hoisted_1$g))
447
455
  }
448
456
 
449
457
  var css_248z$k = "\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";
@@ -476,11 +484,11 @@ var script$j = vue.defineComponent({
476
484
  },
477
485
  });
478
486
 
479
- const _hoisted_1$e = { class: "action-container" };
487
+ const _hoisted_1$f = { class: "action-container" };
480
488
  const _hoisted_2$9 = ["src", "alt"];
481
489
 
482
490
  function render$j(_ctx, _cache, $props, $setup, $data, $options) {
483
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
491
+ return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
484
492
  vue.createElementVNode("img", {
485
493
  class: "circle-image",
486
494
  src: _ctx.currentUserPicture,
@@ -489,7 +497,7 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) {
489
497
  ]))
490
498
  }
491
499
 
492
- var css_248z$j = "\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}\n.circle-image[data-v-07675a13] {\n border-radius: 9999px;\n padding: 0.25rem;\n height: 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";
500
+ var css_248z$j = "\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";
493
501
  styleInject(css_248z$j);
494
502
 
495
503
  script$j.render = render$j;
@@ -535,7 +543,7 @@ function render$i(_ctx, _cache, $props, $setup, $data, $options) {
535
543
  ])))
536
544
  }
537
545
 
538
- var css_248z$i = "\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-menu-button);\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-button[data-v-397545ee]:hover {\n color: var(--color-menu-button-text-hover);\n background-color: var(--color-menu-button-hover);\n}\n.menu-button[data-v-397545ee]:focus {\n outline: none;\n box-shadow: 0 0 0 3px var(--color-menu-button-shadow-focus);\n}\n.menu-icon[data-v-397545ee] {\n display: block;\n height: 1.5rem;\n width: 1.5rem;\n}\n";
546
+ var css_248z$i = "\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";
539
547
  styleInject(css_248z$i);
540
548
 
541
549
  script$i.render = render$i;
@@ -589,7 +597,7 @@ var script$h = vue.defineComponent({
589
597
  }
590
598
  });
591
599
 
592
- const _hoisted_1$d = { class: "navbar" };
600
+ const _hoisted_1$e = { class: "navbar" };
593
601
  const _hoisted_2$8 = { class: "navbar-container" };
594
602
  const _hoisted_3$7 = { class: "flex-header" };
595
603
  const _hoisted_4$2 = { class: "menu-toggle" };
@@ -602,7 +610,7 @@ function render$h(_ctx, _cache, $props, $setup, $data, $options) {
602
610
  const _component_right_content = vue.resolveComponent("right-content");
603
611
  const _component_mobile_navigation_links = vue.resolveComponent("mobile-navigation-links");
604
612
 
605
- return (vue.openBlock(), vue.createElementBlock("nav", _hoisted_1$d, [
613
+ return (vue.openBlock(), vue.createElementBlock("nav", _hoisted_1$e, [
606
614
  vue.createElementVNode("div", _hoisted_2$8, [
607
615
  vue.createElementVNode("div", _hoisted_3$7, [
608
616
  vue.createElementVNode("div", _hoisted_4$2, [
@@ -635,7 +643,7 @@ function render$h(_ctx, _cache, $props, $setup, $data, $options) {
635
643
  ]))
636
644
  }
637
645
 
638
- var css_248z$h = "\n.navbar[data-v-1b5caf34] {\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 background-color: #1f2937;\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";
646
+ var css_248z$h = "\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";
639
647
  styleInject(css_248z$h);
640
648
 
641
649
  script$h.render = render$h;
@@ -646,10 +654,10 @@ var script$g = vue.defineComponent({
646
654
  name: "StyledTable",
647
655
  });
648
656
 
649
- const _hoisted_1$c = { class: "styled-table" };
657
+ const _hoisted_1$d = { class: "styled-table" };
650
658
 
651
659
  function render$g(_ctx, _cache, $props, $setup, $data, $options) {
652
- return (vue.openBlock(), vue.createElementBlock("table", _hoisted_1$c, [
660
+ return (vue.openBlock(), vue.createElementBlock("table", _hoisted_1$d, [
653
661
  vue.renderSlot(_ctx.$slots, "default")
654
662
  ]))
655
663
  }
@@ -665,8 +673,24 @@ var script$f = vue.defineComponent({
665
673
  name: "RegularButton",
666
674
  props: {
667
675
  text: String,
676
+ loading: {
677
+ type: Boolean,
678
+ default: false,
679
+ },
680
+ textWhileLoading: {
681
+ type: String,
682
+ default: '...',
683
+ },
668
684
  },
669
685
  emits: ['click'],
686
+ computed: {
687
+ cssClass: function () {
688
+ if (this.loading) {
689
+ return 'regular-button loading';
690
+ }
691
+ return 'regular-button'
692
+ },
693
+ },
670
694
  methods: {
671
695
  onClick(evt) {
672
696
  this.$emit('click', evt);
@@ -674,14 +698,17 @@ var script$f = vue.defineComponent({
674
698
  },
675
699
  });
676
700
 
701
+ const _hoisted_1$c = ["disabled"];
702
+
677
703
  function render$f(_ctx, _cache, $props, $setup, $data, $options) {
678
704
  return (vue.openBlock(), vue.createElementBlock("button", {
679
- class: "regular-button",
680
- onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.onClick && _ctx.onClick(...args)))
681
- }, vue.toDisplayString(_ctx.text), 1 /* TEXT */))
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$c))
682
709
  }
683
710
 
684
- var css_248z$f = "\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";
711
+ var css_248z$f = "\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";
685
712
  styleInject(css_248z$f);
686
713
 
687
714
  script$f.render = render$f;