@effect-app/vue-components 2.7.9 → 2.7.11

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.
@@ -3,13 +3,16 @@ import { type OmegaError } from "./OmegaFormStuff";
3
3
  type __VLS_Props = {
4
4
  generalErrors: (Record<string, StandardSchemaV1Issue[]> | undefined)[];
5
5
  errors: OmegaError[];
6
+ hideErrorDetails?: boolean;
6
7
  };
7
8
  declare var __VLS_6: {
8
9
  errors: OmegaError[];
9
10
  showedGeneralErrors: string[];
10
- };
11
+ }, __VLS_13: {};
11
12
  type __VLS_Slots = {} & {
12
13
  default?: (props: typeof __VLS_6) => any;
14
+ } & {
15
+ icon?: (props: typeof __VLS_13) => any;
13
16
  };
14
17
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
18
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,8 +1,8 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");if(a.appendChild(document.createTextNode(".v-enter-from[data-v-d4ffe76f],.v-leave-to[data-v-d4ffe76f]{max-height:0px;grid-template-rows:0fr;opacity:0}.v-enter-active[data-v-d4ffe76f],.v-leave-active[data-v-d4ffe76f]{display:grid;transition:all .15s}.v-enter-to[data-v-d4ffe76f],.v-leave-from[data-v-d4ffe76f]{grid-template-rows:1fr;max-height:50vh;opacity:1}.error-alert[data-v-d4ffe76f]{transition-behavior:allow-discrete;display:grid;overflow:hidden;min-height:0}.error-alert>*[data-v-d4ffe76f]{min-height:0}.error-list[data-v-d4ffe76f]{list-style-position:inside}div.error-list[data-v-d4ffe76f]{container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;gap:1.5em;align-items:start}@container (max-width: 27.125rem){div.error-list[data-v-d4ffe76f]{grid-template-columns:auto 1fr}.error-link[data-v-d4ffe76f]{grid-column:1 / -1;justify-self:end}}@container (max-width: 17.75rem){div.error-list[data-v-d4ffe76f]{grid-template-columns:1fr}.error-message[data-v-d4ffe76f]{grid-column:1 / -1}}.error-item[data-v-d4ffe76f]{display:contents}a[data-v-d4ffe76f]{min-width:min-content}.error-link[data-v-d4ffe76f]{align-items:center;color:inherit;display:inline-flex;flex-wrap:wrap;gap:.25em;padding-bottom:1em;text-decoration:none}")),document.head.appendChild(a),window.customElements){const e=window.customElements.define;window.customElements.define=function(r,t){const i=t.prototype.connectedCallback;return t.prototype.connectedCallback=function(){if(i&&i.call(this),this.shadowRoot){const d=document.createElement("style");d.appendChild(document.createTextNode(".v-enter-from[data-v-d4ffe76f],.v-leave-to[data-v-d4ffe76f]{max-height:0px;grid-template-rows:0fr;opacity:0}.v-enter-active[data-v-d4ffe76f],.v-leave-active[data-v-d4ffe76f]{display:grid;transition:all .15s}.v-enter-to[data-v-d4ffe76f],.v-leave-from[data-v-d4ffe76f]{grid-template-rows:1fr;max-height:50vh;opacity:1}.error-alert[data-v-d4ffe76f]{transition-behavior:allow-discrete;display:grid;overflow:hidden;min-height:0}.error-alert>*[data-v-d4ffe76f]{min-height:0}.error-list[data-v-d4ffe76f]{list-style-position:inside}div.error-list[data-v-d4ffe76f]{container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;gap:1.5em;align-items:start}@container (max-width: 27.125rem){div.error-list[data-v-d4ffe76f]{grid-template-columns:auto 1fr}.error-link[data-v-d4ffe76f]{grid-column:1 / -1;justify-self:end}}@container (max-width: 17.75rem){div.error-list[data-v-d4ffe76f]{grid-template-columns:1fr}.error-message[data-v-d4ffe76f]{grid-column:1 / -1}}.error-item[data-v-d4ffe76f]{display:contents}a[data-v-d4ffe76f]{min-width:min-content}.error-link[data-v-d4ffe76f]{align-items:center;color:inherit;display:inline-flex;flex-wrap:wrap;gap:.25em;padding-bottom:1em;text-decoration:none}")),this.shadowRoot.appendChild(d)}},e.call(window.customElements,r,t)}}}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
1
+ (function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");if(a.appendChild(document.createTextNode('.v-enter-from[data-v-6b2bf87e],.v-leave-to[data-v-6b2bf87e]{max-height:0px;grid-template-rows:0fr;opacity:0}.v-enter-active[data-v-6b2bf87e],.v-leave-active[data-v-6b2bf87e]{display:grid;transition:all .15s}.v-enter-to[data-v-6b2bf87e],.v-leave-from[data-v-6b2bf87e]{grid-template-rows:1fr;max-height:50vh;opacity:1}.error-alert[data-v-6b2bf87e]{transition-behavior:allow-discrete;display:grid;overflow:hidden;min-height:0}.error-alert>*[data-v-6b2bf87e]{min-height:0}.error-list[data-v-6b2bf87e]{list-style-position:inside}.error-list [data-v-6b2bf87e]::marker{margin:0;padding:0}.error-alert-content[data-v-6b2bf87e]{background-color:var(--error-background, #fff5f5);color:var(--error-color, #c92a2a);padding:1em}.error-link[data-v-6b2bf87e]{font-weight:700;position:relative;color:var(--error-color, #c92a2a);cursor:pointer}.error-link[data-v-6b2bf87e]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(from var(--error-color, #c92a2a) r g b / .5)}.text-h6[data-v-6b2bf87e]{font-weight:700;font-size:1.25em}.error-message[data-v-6b2bf87e]{font-style:italic}.error-item[data-v-6b2bf87e]{margin-bottom:.5em;overflow:hidden}.error-item>div[data-v-6b2bf87e]{float:right;width:100%;max-width:calc(100% - 1.5em)}.container[data-v-6b2bf87e]{display:flex;gap:1.5em}.container svg[data-v-6b2bf87e]{width:3em}.container .single-error[data-v-6b2bf87e]{display:inline-block}')),document.head.appendChild(a),window.customElements){const e=window.customElements.define;window.customElements.define=function(i,t){const r=t.prototype.connectedCallback;return t.prototype.connectedCallback=function(){if(r&&r.call(this),this.shadowRoot){const o=document.createElement("style");o.appendChild(document.createTextNode('.v-enter-from[data-v-6b2bf87e],.v-leave-to[data-v-6b2bf87e]{max-height:0px;grid-template-rows:0fr;opacity:0}.v-enter-active[data-v-6b2bf87e],.v-leave-active[data-v-6b2bf87e]{display:grid;transition:all .15s}.v-enter-to[data-v-6b2bf87e],.v-leave-from[data-v-6b2bf87e]{grid-template-rows:1fr;max-height:50vh;opacity:1}.error-alert[data-v-6b2bf87e]{transition-behavior:allow-discrete;display:grid;overflow:hidden;min-height:0}.error-alert>*[data-v-6b2bf87e]{min-height:0}.error-list[data-v-6b2bf87e]{list-style-position:inside}.error-list [data-v-6b2bf87e]::marker{margin:0;padding:0}.error-alert-content[data-v-6b2bf87e]{background-color:var(--error-background, #fff5f5);color:var(--error-color, #c92a2a);padding:1em}.error-link[data-v-6b2bf87e]{font-weight:700;position:relative;color:var(--error-color, #c92a2a);cursor:pointer}.error-link[data-v-6b2bf87e]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(from var(--error-color, #c92a2a) r g b / .5)}.text-h6[data-v-6b2bf87e]{font-weight:700;font-size:1.25em}.error-message[data-v-6b2bf87e]{font-style:italic}.error-item[data-v-6b2bf87e]{margin-bottom:.5em;overflow:hidden}.error-item>div[data-v-6b2bf87e]{float:right;width:100%;max-width:calc(100% - 1.5em)}.container[data-v-6b2bf87e]{display:flex;gap:1.5em}.container svg[data-v-6b2bf87e]{width:3em}.container .single-error[data-v-6b2bf87e]{display:inline-block}')),this.shadowRoot.appendChild(o)}},e.call(window.customElements,i,t)}}}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
2
  import r from "./vue-components.es33.js";
3
3
 
4
4
  import o from "./vue-components.es35.js";
5
- const e = /* @__PURE__ */ o(r, [["__scopeId", "data-v-d4ffe76f"]]);
5
+ const m = /* @__PURE__ */ o(r, [["__scopeId", "data-v-6b2bf87e"]]);
6
6
  export {
7
- e as default
7
+ m as default
8
8
  };
@@ -1,91 +1,113 @@
1
- import { defineComponent as y, getCurrentInstance as E, computed as C, createBlock as n, openBlock as e, Transition as x, withCtx as o, createElementBlock as d, createCommentVNode as B, renderSlot as b, normalizeProps as I, guardReactiveProps as w, resolveDynamicComponent as s, unref as a, normalizeClass as V, createElementVNode as c, toDisplayString as u, Fragment as p, renderList as _, createTextVNode as k } from "vue";
2
- import { mdiLink as N } from "@mdi/js";
3
- import { useIntl as z } from "./vue-components.es3.js";
4
- const D = {
1
+ import { defineComponent as _, getCurrentInstance as B, computed as V, createBlock as i, openBlock as e, Transition as x, withCtx as u, createElementBlock as o, createCommentVNode as p, renderSlot as g, normalizeProps as b, guardReactiveProps as I, resolveDynamicComponent as h, unref as d, normalizeClass as v, createElementVNode as n, toDisplayString as a, Fragment as w, renderList as y, createTextVNode as C } from "vue";
2
+ import { useIntl as L } from "./vue-components.es3.js";
3
+ const M = {
5
4
  key: 0,
6
5
  class: "error-alert"
7
- }, G = { class: "text-h6 mb-3" }, L = { class: "font-weight-medium" }, M = { class: "error-message" }, O = ["href"], P = { key: 1 }, A = /* @__PURE__ */ y({
6
+ }, j = { class: "container" }, D = {
7
+ key: 0,
8
+ viewBox: "0 0 24 24",
9
+ fill: "none",
10
+ xmlns: "http://www.w3.org/2000/svg"
11
+ }, N = { class: "text-h6" }, z = {
12
+ key: 0,
13
+ class: "error-list"
14
+ }, G = ["for"], H = { key: 1 }, T = /* @__PURE__ */ _({
8
15
  __name: "OmegaErrorsInternal",
9
16
  props: {
10
17
  generalErrors: {},
11
- errors: {}
18
+ errors: {},
19
+ hideErrorDetails: { type: Boolean }
12
20
  },
13
- setup(t) {
14
- const m = E()?.appContext.components.VAlert, h = t, { trans: g } = z(), f = C(() => h.generalErrors ? h.generalErrors.filter((i) => !!i).flatMap(
15
- (i) => Object.values(i).filter((l) => !!l).flatMap(
16
- (l) => l.filter(
21
+ setup(l) {
22
+ const c = B()?.appContext.components.VAlert, k = l, { trans: E } = L(), m = V(() => k.generalErrors ? k.generalErrors.filter((s) => !!s).flatMap(
23
+ (s) => Object.values(s).filter((t) => !!t).flatMap(
24
+ (t) => t.filter(
17
25
  (r) => !!r?.message
18
26
  ).map((r) => r.message)
19
27
  )
20
28
  ) : []);
21
- return (i, l) => (e(), n(x, null, {
22
- default: o(() => [
23
- t.errors.length || f.value.length ? (e(), d("div", D, [
24
- b(i.$slots, "default", I(w({ errors: t.errors, showedGeneralErrors: f.value })), () => [
25
- (e(), n(s(a(m) ? "v-alert" : "div"), {
26
- class: V([a(m) ? "mb-4" : "error-alert-content", "mb-4"]),
29
+ return (s, t) => (e(), i(x, null, {
30
+ default: u(() => [
31
+ l.errors.length || m.value.length ? (e(), o("div", M, [
32
+ g(s.$slots, "default", b(I({ errors: l.errors, showedGeneralErrors: m.value })), () => [
33
+ (e(), i(h(d(c) ? "v-alert" : "div"), {
34
+ class: v([d(c) ? "mb-4" : "error-alert-content", "mb-4"]),
27
35
  type: "error",
28
36
  variant: "tonal",
29
37
  role: "alert",
30
38
  "aria-live": "polite"
31
39
  }, {
32
- default: o(() => [
33
- c("div", G, u(a(g)("form.includes_error")) + ": ", 1),
34
- t.errors.length ? (e(), n(s(t.errors.length > 1 ? "ul" : "div"), {
35
- key: 0,
36
- class: "error-list"
37
- }, {
38
- default: o(() => [
39
- (e(!0), d(p, null, _(t.errors, (r) => (e(), n(s(t.errors.length > 1 ? "li" : "div"), {
40
- key: r.inputId,
41
- class: "error-item"
42
- }, {
43
- default: o(() => [
44
- c("div", L, u(r.label), 1),
45
- c("div", M, [
46
- (e(), n(s(r.errors.length > 1 ? "ul" : "div"), { class: "error-list" }, {
47
- default: o(() => [
48
- (e(!0), d(p, null, _(r.errors, (v) => (e(), n(s(r.errors.length > 1 ? "li" : "span"), { key: v }, {
49
- default: o(() => [
50
- k(u(v), 1)
51
- ]),
52
- _: 2
53
- }, 1024))), 128))
54
- ]),
55
- _: 2
56
- }, 1024))
57
- ]),
58
- c("a", {
59
- href: `#${r.inputId}`,
60
- class: "error-link"
61
- }, [
62
- (e(), n(s(a(m) ? "v-icon" : "i"), {
63
- icon: a(N),
64
- "aria-hidden": "true"
65
- }, {
66
- default: o(() => [...l[0] || (l[0] = [
67
- c("i", null, "🔗", -1)
68
- ])]),
69
- _: 1
70
- }, 8, ["icon"])),
71
- k(" " + u(a(g)("form.fix_input")), 1)
72
- ], 8, O)
73
- ]),
74
- _: 2
75
- }, 1024))), 128))
76
- ]),
77
- _: 1
78
- })) : (e(), d("span", P, u(f.value[0]), 1))
40
+ default: u(() => [
41
+ n("div", j, [
42
+ g(s.$slots, "icon", {}, () => [
43
+ d(c) ? p("", !0) : (e(), o("svg", D, [...t[0] || (t[0] = [
44
+ n("path", {
45
+ d: "M16 2H8L2 8V16L8 22H16L22 16V8L16 2Z",
46
+ stroke: "currentColor",
47
+ "stroke-width": "2",
48
+ "stroke-linecap": "round",
49
+ "stroke-linejoin": "round"
50
+ }, null, -1),
51
+ n("path", {
52
+ d: "M12 8V12",
53
+ stroke: "currentColor",
54
+ "stroke-width": "2",
55
+ "stroke-linecap": "round",
56
+ "stroke-linejoin": "round"
57
+ }, null, -1),
58
+ n("path", {
59
+ d: "M12 16.0195V16",
60
+ stroke: "currentColor",
61
+ "stroke-width": "2",
62
+ "stroke-linecap": "round",
63
+ "stroke-linejoin": "round"
64
+ }, null, -1)
65
+ ])]))
66
+ ], !0),
67
+ n("div", null, [
68
+ n("div", N, a(d(E)("form.includes_error")) + ": ", 1),
69
+ l.errors.length ? (e(), o("ul", z, [
70
+ (e(!0), o(w, null, y(l.errors, (r) => (e(), o("li", {
71
+ key: r.inputId,
72
+ class: "error-item"
73
+ }, [
74
+ n("div", null, [
75
+ n("label", {
76
+ for: r.inputId,
77
+ class: "error-link"
78
+ }, a(r.label), 9, G),
79
+ t[1] || (t[1] = C(" " + a(" ") + " ", -1)),
80
+ l.hideErrorDetails ? p("", !0) : (e(), o("div", {
81
+ key: 0,
82
+ class: v(["error-message", r.errors.length < 2 && "single-error"])
83
+ }, [
84
+ (e(), i(h(r.errors.length > 1 ? "ul" : "div"), { class: "error-list" }, {
85
+ default: u(() => [
86
+ (e(!0), o(w, null, y(r.errors, (f) => (e(), i(h(r.errors.length > 1 ? "li" : "span"), { key: f }, {
87
+ default: u(() => [
88
+ C(a(f), 1)
89
+ ]),
90
+ _: 2
91
+ }, 1024))), 128))
92
+ ]),
93
+ _: 2
94
+ }, 1024))
95
+ ], 2))
96
+ ])
97
+ ]))), 128))
98
+ ])) : (e(), o("span", H, a(m.value[0]), 1))
99
+ ])
100
+ ])
79
101
  ]),
80
- _: 1
102
+ _: 3
81
103
  }, 8, ["class"]))
82
104
  ], !0)
83
- ])) : B("", !0)
105
+ ])) : p("", !0)
84
106
  ]),
85
107
  _: 3
86
108
  }));
87
109
  }
88
110
  });
89
111
  export {
90
- A as default
112
+ T as default
91
113
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/vue-components",
3
- "version": "2.7.9",
3
+ "version": "2.7.11",
4
4
  "peerDependencies": {
5
5
  "@mdi/js": "^7.4.47",
6
6
  "effect": "^3.18.0",
@@ -53,8 +53,8 @@
53
53
  "highlight.js": "^11.11.1",
54
54
  "mitt": "^3.0.1",
55
55
  "vue3-highlightjs": "^1.0.5",
56
- "effect-app": "3.12.0",
57
- "@effect-app/vue": "2.92.2"
56
+ "@effect-app/vue": "2.92.2",
57
+ "effect-app": "3.12.0"
58
58
  },
59
59
  "scripts": {
60
60
  "build": "pnpm build:run",
@@ -14,57 +14,84 @@
14
14
  aria-live="polite"
15
15
  class="mb-4"
16
16
  >
17
- <div class="text-h6 mb-3">
18
- {{ trans("form.includes_error") }}:
19
- </div>
20
- <component
21
- :is="errors.length > 1 ? 'ul' : 'div'"
22
- v-if="errors.length"
23
- class="error-list"
24
- >
25
- <component
26
- :is="errors.length > 1 ? 'li' : 'div'"
27
- v-for="error in errors"
28
- :key="error.inputId"
29
- class="error-item"
30
- >
31
- <div class="font-weight-medium">
32
- {{ error.label }}
33
- </div>
34
- <div class="error-message">
35
- <component
36
- :is="error.errors.length > 1 ? 'ul' : 'div'"
37
- class="error-list"
38
- >
39
- <component
40
- :is="error.errors.length > 1
41
- ? 'li'
42
- : 'span'"
43
- v-for="e in error.errors"
44
- :key="e"
45
- >
46
- {{ e }}
47
- </component>
48
- </component>
17
+ <div class="container">
18
+ <slot name="icon">
19
+ <svg
20
+ v-if="!vuetified"
21
+ viewBox="0 0 24 24"
22
+ fill="none"
23
+ xmlns="http://www.w3.org/2000/svg"
24
+ >
25
+ <path
26
+ d="M16 2H8L2 8V16L8 22H16L22 16V8L16 2Z"
27
+ stroke="currentColor"
28
+ stroke-width="2"
29
+ stroke-linecap="round"
30
+ stroke-linejoin="round"
31
+ />
32
+ <path
33
+ d="M12 8V12"
34
+ stroke="currentColor"
35
+ stroke-width="2"
36
+ stroke-linecap="round"
37
+ stroke-linejoin="round"
38
+ />
39
+ <path
40
+ d="M12 16.0195V16"
41
+ stroke="currentColor"
42
+ stroke-width="2"
43
+ stroke-linecap="round"
44
+ stroke-linejoin="round"
45
+ />
46
+ </svg>
47
+ </slot>
48
+ <div>
49
+ <div class="text-h6">
50
+ {{ trans("form.includes_error") }}:
49
51
  </div>
50
- <a
51
- :href="`#${error.inputId}`"
52
- class="error-link"
52
+ <ul
53
+ v-if="errors.length"
54
+ class="error-list"
53
55
  >
54
- <component
55
- :is="vuetified ? 'v-icon' : 'i'"
56
- :icon="mdiLink"
57
- aria-hidden="true"
56
+ <li
57
+ v-for="error in errors"
58
+ :key="error.inputId"
59
+ class="error-item"
58
60
  >
59
- <i>&#128279;</i>
60
- </component>
61
- {{ trans("form.fix_input") }}
62
- </a>
63
- </component>
64
- </component>
65
- <span v-else>
66
- {{ showedGeneralErrors[0] }}
67
- </span>
61
+ <div>
62
+ <label
63
+ :for="error.inputId"
64
+ class="error-link"
65
+ >{{ error.label }}</label>
66
+ {{ " " }}
67
+ <div
68
+ v-if="!hideErrorDetails"
69
+ class="error-message"
70
+ :class="error.errors.length < 2 && 'single-error'"
71
+ >
72
+ <component
73
+ :is="error.errors.length > 1 ? 'ul' : 'div'"
74
+ class="error-list"
75
+ >
76
+ <component
77
+ :is="error.errors.length > 1
78
+ ? 'li'
79
+ : 'span'"
80
+ v-for="e in error.errors"
81
+ :key="e"
82
+ >
83
+ {{ e }}
84
+ </component>
85
+ </component>
86
+ </div>
87
+ </div>
88
+ </li>
89
+ </ul>
90
+ <span v-else>
91
+ {{ showedGeneralErrors[0] }}
92
+ </span>
93
+ </div>
94
+ </div>
68
95
  </component>
69
96
  </slot>
70
97
  </div>
@@ -72,7 +99,6 @@
72
99
  </template>
73
100
 
74
101
  <script setup lang="ts">
75
- import { mdiLink } from "@mdi/js"
76
102
  import type { StandardSchemaV1Issue } from "@tanstack/vue-form"
77
103
  import { computed, getCurrentInstance } from "vue"
78
104
  import { useIntl } from "../../utils"
@@ -85,6 +111,7 @@ const props = defineProps<
85
111
  {
86
112
  generalErrors: (Record<string, StandardSchemaV1Issue[]> | undefined)[]
87
113
  errors: OmegaError[]
114
+ hideErrorDetails?: boolean
88
115
  }
89
116
  >()
90
117
 
@@ -145,52 +172,64 @@ const showedGeneralErrors = computed(() => {
145
172
 
146
173
  .error-list {
147
174
  list-style-position: inside;
148
- }
149
175
 
150
- div.error-list {
151
- container-type: inline-size;
152
- display: grid;
153
- grid-template-columns: auto 1fr auto;
154
- gap: 1.5em;
155
- align-items: start;
176
+ ::marker {
177
+ margin: 0;
178
+ padding: 0;
179
+ }
156
180
  }
157
181
 
158
- @container (max-width: 27.125rem) {
159
- div.error-list {
160
- grid-template-columns: auto 1fr;
161
- }
182
+ .error-alert-content {
183
+ background-color: var(--error-background, #fff5f5);
184
+ color: var(--error-color, #c92a2a);
185
+ padding: 1em;
186
+ }
162
187
 
163
- .error-link {
164
- grid-column: 1 / -1;
165
- justify-self: end;
188
+ .error-link {
189
+ font-weight: bold;
190
+ position: relative;
191
+ color: var(--error-color, #c92a2a);
192
+ cursor: pointer;
193
+ &::after {
194
+ content: "";
195
+ position: absolute;
196
+ left: 0;
197
+ right: 0;
198
+ bottom: 0;
199
+ height: 1px;
200
+ background: rgba(from var(--error-color, #c92a2a) r g b / 0.5);
166
201
  }
167
202
  }
168
203
 
169
- @container (max-width: 17.75rem) {
170
- div.error-list {
171
- grid-template-columns: 1fr;
172
- }
204
+ .text-h6 {
205
+ font-weight: bold;
206
+ font-size: 1.25em;
207
+ }
173
208
 
174
- .error-message {
175
- grid-column: 1 / -1;
176
- }
209
+ .error-message {
210
+ font-style: italic;
177
211
  }
178
212
 
179
213
  .error-item {
180
- display: contents;
181
- }
214
+ margin-bottom: 0.5em;
215
+ overflow: hidden;
182
216
 
183
- a {
184
- min-width: min-content;
217
+ > div {
218
+ float: right;
219
+ width: 100%;
220
+ max-width: calc(100% - 1.5em);
221
+ }
185
222
  }
186
223
 
187
- .error-link {
188
- align-items: center;
189
- color: inherit;
190
- display: inline-flex;
191
- flex-wrap: wrap;
192
- gap: 0.25em;
193
- padding-bottom: 1em;
194
- text-decoration: none;
224
+ .container {
225
+ display: flex;
226
+ gap: 1.5em;
227
+
228
+ svg {
229
+ width: 3em;
230
+ }
231
+ .single-error {
232
+ display: inline-block;
233
+ }
195
234
  }
196
235
  </style>