@1024pix/epreuves-components 0.2.0 → 0.2.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.
@@ -1,4 +1,4 @@
1
- import { d as i, r as l, c as n, o as a, n as p, a as t, b as c, F as u, e as f, f as m, _ as g, g as _ } from "../_plugin-vue_export-helper-DhEI-a9q.js";
1
+ import { d as i, r as l, c as n, o as a, n as p, a as t, b as c, F as u, e as f, f as m, _ as g, g as _ } from "../_plugin-vue_export-helper-Covkti4z.js";
2
2
  const v = { class: "card-inner" }, y = /* @__PURE__ */ i({
3
3
  __name: "CarteARetourner",
4
4
  props: {
@@ -1,33 +1,59 @@
1
- import { d as r, c as o, o as s, n as m, a as n, h as p, t, F as d, e as l, f as _, _ as u, g as f } from "../_plugin-vue_export-helper-DhEI-a9q.js";
2
- const h = { class: "message__sender" }, x = { class: "message__content" }, y = /* @__PURE__ */ r({
1
+ import { d as u, h as _, c as t, o as s, n as y, i as m, a as d, j as l, t as c, F as p, e as f, f as h, _ as x, g as k } from "../_plugin-vue_export-helper-Covkti4z.js";
2
+ const b = ["part"], v = ["part"], w = { key: 0 }, C = /* @__PURE__ */ u({
3
3
  __name: "Message",
4
4
  props: {
5
+ displaySender: { type: Boolean, default: !0 },
5
6
  message: {}
6
7
  },
7
8
  setup(i) {
8
- return (e, a) => (s(), o("article", {
9
- class: m(["message", `message--${e.message.direction}`])
9
+ const g = _(() => i.message.content.split(`
10
+ `));
11
+ return (e, n) => (s(), t("div", {
12
+ class: y(["message", `message--${e.message.direction}`])
10
13
  }, [
11
- n("p", h, [
12
- a[0] || (a[0] = n("span", { class: "sr-only" }, "Message de ", -1)),
13
- p(t(e.message.userName), 1)
14
- ]),
15
- n("p", x, t(e.message.content), 1)
14
+ e.displaySender ? (s(), t("p", {
15
+ key: 0,
16
+ class: "message__sender",
17
+ part: `sender ${e.message.direction}`
18
+ }, [
19
+ n[0] || (n[0] = d("span", { class: "sr-only" }, "Message de ", -1)),
20
+ l(c(e.message.userName), 1)
21
+ ], 8, b)) : m("", !0),
22
+ d("p", {
23
+ class: "message__content",
24
+ part: `message ${e.message.direction}`
25
+ }, [
26
+ (s(!0), t(p, null, f(g.value, (a, o) => (s(), t(p, { key: o }, [
27
+ o > 0 ? (s(), t("br", w)) : m("", !0),
28
+ l(" " + c(a), 1)
29
+ ], 64))), 128))
30
+ ], 8, v)
16
31
  ], 2));
17
32
  }
18
- }), b = { part: "conversation" }, w = { class: "sr-only" }, k = /* @__PURE__ */ r({
33
+ }), N = { part: "conversation" }, $ = { class: "sr-only" }, B = /* @__PURE__ */ u({
19
34
  __name: "MessageConversation.ce",
20
35
  props: {
21
36
  props: { type: Object }
22
37
  },
23
38
  setup(i) {
24
- return (e, a) => (s(), o("figure", b, [
25
- n("figcaption", w, t(e.props.title ?? "Conversation par messages"), 1),
26
- (s(!0), o(d, null, l(e.props.messages, (g, c) => (s(), _(y, {
27
- message: g,
28
- key: c
29
- }, null, 8, ["message"]))), 128))
39
+ const g = _(
40
+ () => i.props.messages.reduce(
41
+ (e, n) => {
42
+ var r;
43
+ const a = (r = e.at(-1)) == null ? void 0 : r.message, o = !a || n.direction !== a.direction || n.userName !== a.userName;
44
+ return [...e, { message: n, displaySender: o }];
45
+ },
46
+ []
47
+ )
48
+ );
49
+ return (e, n) => (s(), t("figure", N, [
50
+ d("figcaption", $, c(e.props.title ?? "Conversation par messages"), 1),
51
+ (s(!0), t(p, null, f(g.value, ({ message: a, displaySender: o }, r) => (s(), h(C, {
52
+ message: a,
53
+ "display-sender": o,
54
+ key: r
55
+ }, null, 8, ["message", "display-sender"]))), 128))
30
56
  ]));
31
57
  }
32
- }), v = "figure{background-color:#fff;border-radius:16px;display:flex;flex-direction:column;gap:8px;margin:0;padding:16px}.message{max-width:80%}.message--incoming{align-self:start}.message--incoming .message__sender{padding-left:10px}.message--incoming .message__content{background-color:#e8e8e8}.message--outgoing{align-self:end}.message--outgoing .message__sender{padding-right:10px;text-align:right}.message--outgoing .message__content{background-color:#d1eaff}.message__sender{color:#444;font-size:.8rem;font-weight:700;margin:0}.message__content{border-radius:16px;margin:0;padding:10px 14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}", C = /* @__PURE__ */ u(k, [["styles", [v]]]);
33
- window.customElements.define("message-conversation", f(C));
58
+ }), M = "figure{background-color:#fff;border-radius:16px;display:flex;flex-direction:column;gap:8px;margin:0;padding:16px}.message{max-width:80%}.message--incoming{align-self:start}.message--incoming .message__sender{padding-left:10px}.message--incoming .message__content{background-color:#e8e8e8}.message--outgoing{align-self:end}.message--outgoing .message__sender{padding-right:10px;text-align:right}.message--outgoing .message__content{background-color:#d1eaff}.message__sender{color:#444;font-size:.8rem;font-weight:700;margin:0}.message__content{border-radius:16px;margin:0;padding:10px 14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}", S = /* @__PURE__ */ x(B, [["styles", [M]]]);
59
+ window.customElements.define("message-conversation", k(S));
@@ -1,5 +1,5 @@
1
- import { d as b, r as _, w as y, c as u, o as r, i as g, j as p, n as v, a as k, m as q, t as w, k as m, s as $, F as P, e as B, f as N, _ as j, g as z } from "../_plugin-vue_export-helper-DhEI-a9q.js";
2
- function L(o, n = E) {
1
+ import { d as b, r as _, w as y, c as h, o as r, k as g, l as p, n as v, a as k, m as q, t as w, h as m, s as $, F as P, e as B, f as N, _ as z, g as L } from "../_plugin-vue_export-helper-Covkti4z.js";
2
+ function j(o, n = E) {
3
3
  const i = [...o];
4
4
  for (let a = i.length - 1; a > 0; a--) {
5
5
  const e = n() % (a + 1);
@@ -28,7 +28,7 @@ const M = ["aria-checked", "tabindex"], Q = { key: 0 }, S = /* @__PURE__ */ b({
28
28
  n.checked && ((e = i.value) == null || e.focus());
29
29
  });
30
30
  const a = `qcu-image-choice-${(n.choice.response ?? n.choice.name).replace(/[^\w\-_:.]/g, "")}`;
31
- return (e, s) => (r(), u("li", {
31
+ return (e, s) => (r(), h("li", {
32
32
  ref_key: "el",
33
33
  ref: i,
34
34
  role: "radio",
@@ -43,7 +43,7 @@ const M = ["aria-checked", "tabindex"], Q = { key: 0 }, S = /* @__PURE__ */ b({
43
43
  s[3] || (s[3] = g(p((c) => e.$emit("checkNext"), ["stop", "prevent"]), ["down", "right"]))
44
44
  ]
45
45
  }, [
46
- e.choice.image ? (r(), u("figure", Q, [
46
+ e.choice.image ? (r(), h("figure", Q, [
47
47
  k("img", q(e.choice.image, {
48
48
  class: e.imageClass,
49
49
  alt: ""
@@ -52,7 +52,7 @@ const M = ["aria-checked", "tabindex"], Q = { key: 0 }, S = /* @__PURE__ */ b({
52
52
  class: v(e.nameClass),
53
53
  id: a
54
54
  }, w(e.choice.name), 3)
55
- ])) : (r(), u("span", {
55
+ ])) : (r(), h("span", {
56
56
  key: 1,
57
57
  id: a
58
58
  }, w(e.choice.name), 1))
@@ -65,28 +65,28 @@ const M = ["aria-checked", "tabindex"], Q = { key: 0 }, S = /* @__PURE__ */ b({
65
65
  },
66
66
  emits: ["answer"],
67
67
  setup(o, { emit: n }) {
68
- const i = n, a = m(() => o.props.maxChoicesPerLine ?? 5), e = m(() => o.props.hideChoicesName ? "sr-only" : ""), s = m(() => o.props.imageChoicesSize ?? "icon"), c = m(() => o.props.orderChoices ? o.props.choices : L(o.props.choices)), t = $(), C = m(() => t.value ?? c.value[0]);
68
+ const i = n, a = m(() => o.props.maxChoicesPerLine ?? 5), e = m(() => o.props.hideChoicesName ? "sr-only" : ""), s = m(() => o.props.imageChoicesSize ?? "icon"), c = m(() => o.props.orderChoices ? o.props.choices : j(o.props.choices)), t = $(), C = m(() => t.value ?? c.value[0]);
69
69
  function d(l) {
70
70
  l === -1 ? t.value = c.value[c.value.length - 1] : l === c.value.length ? t.value = c.value[0] : t.value = c.value[l], i("answer", t.value.response ?? t.value.name);
71
71
  }
72
- return (l, O) => (r(), u("ul", {
72
+ return (l, O) => (r(), h("ul", {
73
73
  role: "radiogroup",
74
74
  class: "qcu-image",
75
75
  "aria-label": l.props.name
76
76
  }, [
77
- (r(!0), u(P, null, B(c.value, (f, h) => (r(), N(S, {
77
+ (r(!0), h(P, null, B(c.value, (f, u) => (r(), N(S, {
78
78
  choice: f,
79
79
  "max-choices-per-line": a.value,
80
- key: h,
80
+ key: u,
81
81
  "name-class": e.value,
82
82
  "image-class": s.value,
83
83
  checked: f === t.value,
84
84
  focusable: f === C.value,
85
- onCheck: (x) => d(h),
86
- onCheckNext: (x) => d(h + 1),
87
- onCheckPrevious: (x) => d(h - 1)
85
+ onCheck: (x) => d(u),
86
+ onCheckNext: (x) => d(u + 1),
87
+ onCheckPrevious: (x) => d(u - 1)
88
88
  }, null, 8, ["choice", "max-choices-per-line", "name-class", "image-class", "checked", "focusable", "onCheck", "onCheckNext", "onCheckPrevious"]))), 128))
89
89
  ], 8, U));
90
90
  }
91
- }), I = '*{box-sizing:border-box}ul,li{padding:0;margin:0}li{list-style:none}.qcu-image{display:flex;width:100%;flex-wrap:wrap;justify-content:space-around;font-size:110%;font-family:Open Sans,Arial,sans-serif}.qcu-image__choice{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;margin:1em;border:solid 2px #c1c7d0;border-radius:10px;background:#fff;width:calc(20% - 2em);min-width:120px}.qcu-image__choice--max4{width:calc(25% - 2em);min-width:175px}.qcu-image__choice--max3{width:calc(33% - 2em)}.qcu-image__choice--max2{width:calc(50% - 2em);min-width:300px}.qcu-image__choice--max1{width:calc(100% - 4em);min-width:300px}.qcu-image__choice:hover{cursor:pointer;box-shadow:0 3px 10px #0000001a;transform:scale(1.04);transition:transform ease-in .1s}.qcu-image__choice:focus{outline:none;box-shadow:5px 5px #ffbe00,-5px 5px #ffbe00,5px -5px #ffbe00,-5px -5px #ffbe00}.qcu-image__choice[aria-checked=true]{border-color:#3d68ff}.qcu-image__choice[aria-checked=true]:after{content:"";position:absolute;width:100%;height:100%;background:#3d68ff4d;border-radius:10px;z-index:3}.qcu-image__choice figure{width:100%;padding:0 10px;margin:3px;text-align:center}.qcu-image__choice figure img{max-width:100%;height:auto}.qcu-image__choice figure img.icon{max-height:100px;width:auto}.qcu-image__choice figure img.medium{max-width:50%;height:auto}.qcu-image__choice figure figcaption{margin:1ex}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}', K = /* @__PURE__ */ j(F, [["styles", [I]]]);
92
- window.customElements.define("qcu-image", z(K));
91
+ }), I = '*{box-sizing:border-box}ul,li{padding:0;margin:0}li{list-style:none}.qcu-image{display:flex;width:100%;flex-wrap:wrap;justify-content:space-around;font-size:110%;font-family:Open Sans,Arial,sans-serif}.qcu-image__choice{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;margin:1em;border:solid 2px #c1c7d0;border-radius:10px;background:#fff;width:calc(20% - 2em);min-width:120px}.qcu-image__choice--max4{width:calc(25% - 2em);min-width:175px}.qcu-image__choice--max3{width:calc(33% - 2em)}.qcu-image__choice--max2{width:calc(50% - 2em);min-width:300px}.qcu-image__choice--max1{width:calc(100% - 4em);min-width:300px}.qcu-image__choice:hover{cursor:pointer;box-shadow:0 3px 10px #0000001a;transform:scale(1.04);transition:transform ease-in .1s}.qcu-image__choice:focus{outline:none;box-shadow:5px 5px #ffbe00,-5px 5px #ffbe00,5px -5px #ffbe00,-5px -5px #ffbe00}.qcu-image__choice[aria-checked=true]{border-color:#3d68ff}.qcu-image__choice[aria-checked=true]:after{content:"";position:absolute;width:100%;height:100%;background:#3d68ff4d;border-radius:10px;z-index:3}.qcu-image__choice figure{width:100%;padding:0 10px;margin:3px;text-align:center}.qcu-image__choice figure img{max-width:100%;height:auto}.qcu-image__choice figure img.icon{max-height:100px;width:auto}.qcu-image__choice figure img.medium{max-width:50%;height:auto}.qcu-image__choice figure figcaption{margin:1ex}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}', K = /* @__PURE__ */ z(F, [["styles", [I]]]);
92
+ window.customElements.define("qcu-image", L(K));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1024pix/epreuves-components",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "A collection of interactive components to be used in Pix challenges or modules",
5
5
  "exports": {
6
6
  ".": "./dist/index.js",