@studiolxd/brand 39.0.0 → 40.1.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 (132) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/dist/_shared/brandmessagescontext.js +15 -0
  3. package/dist/_shared/calendargrid.js +42 -42
  4. package/dist/_shared/datepicker.js +41 -41
  5. package/dist/_shared/imagecropdialog.js +54 -54
  6. package/dist/_shared/tokens.js +1 -0
  7. package/dist/_types/messages/BrandMessages.d.ts +26 -0
  8. package/dist/_types/messages/BrandMessagesContext.d.ts +21 -0
  9. package/dist/_types/messages/BrandMessagesProvider.d.ts +46 -0
  10. package/dist/_types/messages/index.d.ts +5 -0
  11. package/dist/_types/molecules/Pagination/Pagination.d.ts +40 -23
  12. package/dist/_types/organisms/AnnotationThread/AnnotationThread.d.ts +27 -5
  13. package/dist/_types/organisms/DataTable/DataTable.d.ts +3 -2
  14. package/dist/accordion.js +26 -26
  15. package/dist/alert.js +26 -26
  16. package/dist/annotation-thread.css +1 -1
  17. package/dist/annotation-thread.js +37 -26
  18. package/dist/app-header.js +8 -8
  19. package/dist/app-launcher.js +34 -34
  20. package/dist/app-shell.js +14 -14
  21. package/dist/assistant-message.js +8 -8
  22. package/dist/async-multi-select-field.js +9 -9
  23. package/dist/async-multi-select.js +40 -40
  24. package/dist/async-select-field.js +9 -9
  25. package/dist/async-select.js +64 -64
  26. package/dist/avatar-upload.js +40 -40
  27. package/dist/avatar.js +5 -5
  28. package/dist/banner.js +9 -9
  29. package/dist/brand.css +2 -1
  30. package/dist/button.js +7 -7
  31. package/dist/calendar-planner.js +16 -16
  32. package/dist/calendar.js +38 -38
  33. package/dist/card.js +28 -28
  34. package/dist/carousel.js +19 -19
  35. package/dist/chart.js +137 -137
  36. package/dist/chat-shell.js +23 -23
  37. package/dist/checkbox-field.js +11 -11
  38. package/dist/checkbox.js +7 -7
  39. package/dist/close-button.js +6 -6
  40. package/dist/code-block.js +15 -15
  41. package/dist/code.js +5 -5
  42. package/dist/collapsible.js +1 -1
  43. package/dist/columns.js +7 -7
  44. package/dist/command-palette.js +14 -14
  45. package/dist/confirm-dialog.js +10 -10
  46. package/dist/connector-auth-shell.js +9 -9
  47. package/dist/consent.js +23 -23
  48. package/dist/container.js +6 -6
  49. package/dist/conversation-list.js +19 -19
  50. package/dist/conversation-thread.js +15 -15
  51. package/dist/copy-button.js +9 -9
  52. package/dist/copyable-value.js +17 -17
  53. package/dist/data-table.js +29 -29
  54. package/dist/date-picker-field.js +9 -9
  55. package/dist/date-time-field.js +12 -12
  56. package/dist/description-list.js +12 -12
  57. package/dist/docs-search.js +1 -1
  58. package/dist/dots-button.js +7 -7
  59. package/dist/dropdown-field.js +13 -13
  60. package/dist/email.js +44 -44
  61. package/dist/error-text.js +4 -4
  62. package/dist/field-row.js +20 -20
  63. package/dist/figure.js +8 -8
  64. package/dist/file-upload-field.js +9 -9
  65. package/dist/file-upload.js +29 -29
  66. package/dist/filter-bar.js +10 -10
  67. package/dist/floating-dock.js +17 -17
  68. package/dist/form-field.js +43 -43
  69. package/dist/form.js +14 -14
  70. package/dist/heading.js +5 -5
  71. package/dist/input-field.js +20 -20
  72. package/dist/input-phone-field.js +9 -9
  73. package/dist/input-phone.js +19 -19
  74. package/dist/input.js +5 -5
  75. package/dist/kbd.js +5 -5
  76. package/dist/label.js +5 -5
  77. package/dist/link.js +7 -7
  78. package/dist/list.js +7 -7
  79. package/dist/menu-button.js +7 -7
  80. package/dist/message-bubble.js +5 -5
  81. package/dist/message-composer.js +13 -13
  82. package/dist/messages.js +12 -0
  83. package/dist/multi-select-field.js +9 -9
  84. package/dist/multi-select.js +52 -52
  85. package/dist/notification-button.js +8 -8
  86. package/dist/notification-panel.js +25 -25
  87. package/dist/number-input-field.js +9 -9
  88. package/dist/number-input.js +11 -11
  89. package/dist/otp-field.js +9 -9
  90. package/dist/otp-input.js +48 -48
  91. package/dist/pagination.js +92 -89
  92. package/dist/paragraph.js +5 -5
  93. package/dist/password-field.js +15 -15
  94. package/dist/prose.js +4 -4
  95. package/dist/public-page-shell.js +11 -11
  96. package/dist/radio-field.js +11 -11
  97. package/dist/radio-group.js +5 -5
  98. package/dist/radio.js +5 -5
  99. package/dist/scroll-area.js +11 -11
  100. package/dist/search-form.js +8 -8
  101. package/dist/select-field.js +9 -9
  102. package/dist/select.js +85 -85
  103. package/dist/separator.js +6 -6
  104. package/dist/sidebar.js +16 -16
  105. package/dist/site-header.js +14 -14
  106. package/dist/site-shell.js +6 -6
  107. package/dist/sparkline.js +9 -9
  108. package/dist/star-rating.js +24 -24
  109. package/dist/stat-tile.js +12 -12
  110. package/dist/steps.js +32 -32
  111. package/dist/switcher-field.js +13 -13
  112. package/dist/switcher.js +8 -8
  113. package/dist/table-of-contents.js +14 -14
  114. package/dist/tag.js +5 -5
  115. package/dist/text.js +7 -7
  116. package/dist/textarea-field.js +11 -11
  117. package/dist/textarea.js +5 -5
  118. package/dist/time-field.js +9 -9
  119. package/dist/time-select.js +17 -17
  120. package/dist/toaster.js +16 -16
  121. package/dist/toggle-group.js +7 -7
  122. package/dist/toggle.js +5 -5
  123. package/dist/tokens.css +2 -1
  124. package/dist/tooltip.js +16 -16
  125. package/dist/tree-view.js +41 -41
  126. package/dist/uptime-bars.js +34 -34
  127. package/dist/user-message.js +8 -8
  128. package/dist/visually-hidden.js +5 -5
  129. package/package.json +5 -1
  130. package/src/tokens/molecules/annotation-thread.css +1 -0
  131. package/src/tokens/scss/molecules/_annotation-thread.scss +1 -0
  132. package/src/tokens/tokens.json +1 -0
package/dist/tooltip.js CHANGED
@@ -1,14 +1,14 @@
1
1
  'use client';
2
2
  import './tooltip.css';
3
- import { jsx as e, jsxs as t } from "react/jsx-runtime";
4
- import { forwardRef as n, useId as r, useState as i } from "react";
3
+ import { forwardRef as e, useId as t, useState as n } from "react";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
5
  import { Tooltip as a } from "@base-ui/react/tooltip";
6
6
  //#region src/stories/atoms/Tooltip/Tooltip.tsx
7
- function o({ children: t, delayDuration: n = 0, skipDelayDuration: r }) {
8
- return /* @__PURE__ */ e(a.Provider, {
9
- delay: n,
10
- ...r === void 0 ? {} : { timeout: r },
11
- children: t
7
+ function o({ children: e, delayDuration: t = 0, skipDelayDuration: n }) {
8
+ return /* @__PURE__ */ r(a.Provider, {
9
+ delay: t,
10
+ ...n === void 0 ? {} : { timeout: n },
11
+ children: e
12
12
  });
13
13
  }
14
14
  function s(e, t) {
@@ -19,37 +19,37 @@ function c() {
19
19
  let e = document.documentElement;
20
20
  return s(getComputedStyle(e).getPropertyValue("--tooltip-offset").trim(), e);
21
21
  }
22
- var l = n(function({ label: n, children: o, side: s = "top", align: l = "center", sideOffset: u, open: d, defaultOpen: f, onOpenChange: p, delayDuration: m, describe: h = !0, className: g, ..._ }, v) {
23
- let y = r(), [b, x] = i(f ?? !1), S = d ?? b;
24
- return /* @__PURE__ */ t(a.Root, {
22
+ var l = e(function({ label: e, children: o, side: s = "top", align: l = "center", sideOffset: u, open: d, defaultOpen: f, onOpenChange: p, delayDuration: m, describe: h = !0, className: g, ..._ }, v) {
23
+ let y = t(), [b, x] = n(f ?? !1), S = d ?? b;
24
+ return /* @__PURE__ */ i(a.Root, {
25
25
  open: d,
26
26
  defaultOpen: f,
27
27
  onOpenChange: (e) => {
28
28
  d === void 0 && x(e), p?.(e);
29
29
  },
30
- children: [/* @__PURE__ */ e(a.Trigger, {
30
+ children: [/* @__PURE__ */ r(a.Trigger, {
31
31
  ref: v,
32
32
  render: o,
33
33
  "aria-describedby": S && h ? y : void 0,
34
34
  ...m === void 0 ? {} : { delay: m },
35
35
  ..._
36
- }), /* @__PURE__ */ e(a.Portal, { children: /* @__PURE__ */ e(a.Positioner, {
36
+ }), /* @__PURE__ */ r(a.Portal, { children: /* @__PURE__ */ r(a.Positioner, {
37
37
  className: "tooltip__positioner",
38
38
  side: s,
39
39
  align: l,
40
40
  sideOffset: u ?? c,
41
- children: /* @__PURE__ */ t(a.Popup, {
41
+ children: /* @__PURE__ */ i(a.Popup, {
42
42
  id: y,
43
43
  role: "tooltip",
44
44
  className: ["tooltip", g].filter(Boolean).join(" "),
45
- children: [n, /* @__PURE__ */ e(a.Arrow, {
45
+ children: [e, /* @__PURE__ */ r(a.Arrow, {
46
46
  className: "tooltip__arrow",
47
- children: /* @__PURE__ */ e("svg", {
47
+ children: /* @__PURE__ */ r("svg", {
48
48
  width: "10",
49
49
  height: "5",
50
50
  viewBox: "0 0 30 10",
51
51
  preserveAspectRatio: "none",
52
- children: /* @__PURE__ */ e("polygon", { points: "0,0 30,0 15,10" })
52
+ children: /* @__PURE__ */ r("polygon", { points: "0,0 30,0 15,10" })
53
53
  })
54
54
  })]
55
55
  })
package/dist/tree-view.js CHANGED
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
  import './tree-view.css';
3
3
  import { Icon as e } from "./icon.js";
4
- import { jsx as t, jsxs as n } from "react/jsx-runtime";
5
- import { useCallback as r, useId as i, useMemo as a, useRef as o, useState as s } from "react";
4
+ import { useCallback as t, useId as n, useMemo as r, useRef as i, useState as a } from "react";
5
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
6
6
  //#region src/stories/molecules/TreeView/TreeView.tsx
7
7
  var c = 500;
8
8
  function l(e, t, n = 1, r) {
@@ -13,18 +13,18 @@ function l(e, t, n = 1, r) {
13
13
  }, ...e.children && t.has(e.id) ? l(e.children, t, n + 1, e.id) : []]);
14
14
  }
15
15
  function u({ items: u, expanded: d, defaultExpanded: f, onExpandedChange: p, selected: m, defaultSelected: h, onSelectedChange: g, label: _ = "Árbol", truncateFromLevel: v = 4, nodeRef: y, className: b, ...x }) {
16
- let S = i(), C = o(null), [w, T] = s(f ?? []), E = d !== void 0, D = E ? d : w, [O, k] = s(h), A = m !== void 0, j = A ? m : O, M = a(() => new Set(D), [D]), N = a(() => l(u, M), [u, M]), [P, F] = s(void 0), I = P && N.some((e) => e.node.id === P) ? P : j && N.some((e) => e.node.id === j) ? j : N[0]?.node.id, L = o(""), R = o(0), z = r((e) => {
16
+ let S = n(), C = i(null), [w, T] = a(f ?? []), E = d !== void 0, D = E ? d : w, [O, k] = a(h), A = m !== void 0, j = A ? m : O, M = r(() => new Set(D), [D]), N = r(() => l(u, M), [u, M]), [P, F] = a(void 0), I = P && N.some((e) => e.node.id === P) ? P : j && N.some((e) => e.node.id === j) ? j : N[0]?.node.id, L = i(""), R = i(0), z = t((e) => {
17
17
  E || T(e), p?.(e);
18
- }, [E, p]), B = r((e, t) => {
18
+ }, [E, p]), B = t((e, t) => {
19
19
  let n = M.has(e), r = t ?? !n;
20
20
  r !== n && z(r ? [...D, e] : D.filter((t) => t !== e));
21
21
  }, [
22
22
  D,
23
23
  M,
24
24
  z
25
- ]), V = r((e) => {
25
+ ]), V = t((e) => {
26
26
  A || k(e), g?.(e);
27
- }, [A, g]), H = r((e) => {
27
+ }, [A, g]), H = t((e) => {
28
28
  let t = N.filter((t) => t.parentId === e.parentId && t.node.children?.length).map((e) => e.node.id).filter((e) => !M.has(e));
29
29
  t.length !== 0 && z([...D, ...t]);
30
30
  }, [
@@ -32,9 +32,9 @@ function u({ items: u, expanded: d, defaultExpanded: f, onExpandedChange: p, sel
32
32
  N,
33
33
  M,
34
34
  z
35
- ]), U = r((e) => `${S}-${e}`, [S]), W = r((e) => {
35
+ ]), U = t((e) => `${S}-${e}`, [S]), W = t((e) => {
36
36
  e && (F(e), C.current?.querySelector(`[data-tree-item="${CSS.escape(e)}"]`)?.focus());
37
- }, []), G = r((e, t) => {
37
+ }, []), G = t((e, t) => {
38
38
  let n = Date.now(), r = n - R.current > c ? e : L.current + e;
39
39
  L.current = r, R.current = n;
40
40
  let i = r.length === 1 ? t + 1 : Math.max(t, 0), a = r.toLowerCase();
@@ -79,80 +79,80 @@ function u({ items: u, expanded: d, defaultExpanded: f, onExpandedChange: p, sel
79
79
  break;
80
80
  }
81
81
  }
82
- function q(r, i, a) {
83
- return r.map((r) => {
84
- let o = !!r.children?.length, s = o && M.has(r.id), c = j === r.id, l = s && r.iconExpanded || r.icon, u = i >= v, d = u && typeof r.label == "string" ? r.label : void 0, f = r.dropTarget ? "target" : r.dropDisabled ? "disabled" : void 0;
85
- return /* @__PURE__ */ n("li", {
82
+ function q(t, n, r) {
83
+ return t.map((t) => {
84
+ let i = !!t.children?.length, a = i && M.has(t.id), c = j === t.id, l = a && t.iconExpanded || t.icon, u = n >= v, d = u && typeof t.label == "string" ? t.label : void 0, f = t.dropTarget ? "target" : t.dropDisabled ? "disabled" : void 0;
85
+ return /* @__PURE__ */ s("li", {
86
86
  role: "treeitem",
87
- "data-tree-item": r.id,
88
- "aria-labelledby": U(r.id),
89
- "aria-expanded": o ? s : void 0,
87
+ "data-tree-item": t.id,
88
+ "aria-labelledby": U(t.id),
89
+ "aria-expanded": i ? a : void 0,
90
90
  "aria-selected": c,
91
- "aria-level": i,
92
- "aria-disabled": r.disabled || void 0,
91
+ "aria-level": n,
92
+ "aria-disabled": t.disabled || void 0,
93
93
  "data-drop": f,
94
- tabIndex: I === r.id ? 0 : -1,
94
+ tabIndex: I === t.id ? 0 : -1,
95
95
  className: [
96
96
  "tree-view__item",
97
97
  c ? "tree-view__item--selected" : "",
98
- r.disabled ? "tree-view__item--disabled" : "",
99
- r.dropTarget ? "tree-view__item--drop-target" : "",
100
- r.dropDisabled ? "tree-view__item--drop-disabled" : ""
98
+ t.disabled ? "tree-view__item--disabled" : "",
99
+ t.dropTarget ? "tree-view__item--drop-target" : "",
100
+ t.dropDisabled ? "tree-view__item--drop-disabled" : ""
101
101
  ].filter(Boolean).join(" "),
102
102
  onKeyDown: (e) => {
103
103
  e.target === e.currentTarget && K(e, {
104
- node: r,
105
- level: i,
106
- parentId: a
104
+ node: t,
105
+ level: n,
106
+ parentId: r
107
107
  });
108
108
  },
109
109
  onFocus: (e) => {
110
- e.target === e.currentTarget && F(r.id);
110
+ e.target === e.currentTarget && F(t.id);
111
111
  },
112
- onClick: r.disabled ? void 0 : (e) => {
113
- e.stopPropagation(), o && B(r.id), V(r.id), W(r.id);
112
+ onClick: t.disabled ? void 0 : (e) => {
113
+ e.stopPropagation(), i && B(t.id), V(t.id), W(t.id);
114
114
  },
115
- children: [/* @__PURE__ */ n("span", {
115
+ children: [/* @__PURE__ */ s("span", {
116
116
  className: "tree-view__row",
117
- ref: y ? (e) => y(r.id, e) : void 0,
117
+ ref: y ? (e) => y(t.id, e) : void 0,
118
118
  children: [
119
- /* @__PURE__ */ t("span", {
119
+ /* @__PURE__ */ o("span", {
120
120
  className: "tree-view__chevron-slot",
121
121
  "aria-hidden": "true",
122
- children: o && /* @__PURE__ */ t(e, {
122
+ children: i && /* @__PURE__ */ o(e, {
123
123
  name: "chevron",
124
124
  className: "tree-view__chevron",
125
125
  size: "sm"
126
126
  })
127
127
  }),
128
- l && /* @__PURE__ */ t("span", {
128
+ l && /* @__PURE__ */ o("span", {
129
129
  className: "tree-view__icon",
130
130
  "aria-hidden": "true",
131
131
  children: l
132
132
  }),
133
- /* @__PURE__ */ t("span", {
133
+ /* @__PURE__ */ o("span", {
134
134
  className: ["tree-view__label", u ? "tree-view__label--truncated" : ""].filter(Boolean).join(" "),
135
- id: U(r.id),
135
+ id: U(t.id),
136
136
  title: d,
137
- children: r.label
137
+ children: t.label
138
138
  }),
139
- r.actions && /* @__PURE__ */ t("span", {
139
+ t.actions && /* @__PURE__ */ o("span", {
140
140
  className: "tree-view__actions",
141
141
  onClick: (e) => e.stopPropagation(),
142
142
  onKeyDown: (e) => e.stopPropagation(),
143
143
  onKeyUp: (e) => e.stopPropagation(),
144
- children: r.actions
144
+ children: t.actions
145
145
  })
146
146
  ]
147
- }), o && s && /* @__PURE__ */ t("ul", {
147
+ }), i && a && /* @__PURE__ */ o("ul", {
148
148
  role: "group",
149
149
  className: "tree-view__group",
150
- children: q(r.children, i + 1, r.id)
150
+ children: q(t.children, n + 1, t.id)
151
151
  })]
152
- }, r.id);
152
+ }, t.id);
153
153
  });
154
154
  }
155
- return /* @__PURE__ */ t("ul", {
155
+ return /* @__PURE__ */ o("ul", {
156
156
  ref: C,
157
157
  role: "tree",
158
158
  "aria-label": _,
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
  import './uptime-bars.css';
3
3
  import { Tooltip as e } from "./tooltip.js";
4
- import { jsx as t, jsxs as n } from "react/jsx-runtime";
5
- import { forwardRef as r, useRef as i, useState as a } from "react";
4
+ import { forwardRef as t, useRef as n, useState as r } from "react";
5
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
6
  //#region src/stories/molecules/UptimeBars/uptimeStatus.ts
7
7
  var o = {
8
8
  ok: 99.65,
@@ -13,11 +13,11 @@ function s(e, t) {
13
13
  }
14
14
  //#endregion
15
15
  //#region src/stories/molecules/UptimeBars/UptimeBars.tsx
16
- var c = r(function({ points: r, summary: c, label: l = "Disponibilidad", startLabel: u, endLabel: d, thresholds: f, locale: p = "es-ES", maximumFractionDigits: m = 2, pointLabel: h, noDataLabel: g = "sin datos", tooltips: _ = !0, className: v, ...y }, b) {
16
+ var c = t(function({ points: t, summary: c, label: l = "Disponibilidad", startLabel: u, endLabel: d, thresholds: f, locale: p = "es-ES", maximumFractionDigits: m = 2, pointLabel: h, noDataLabel: g = "sin datos", tooltips: _ = !0, className: v, ...y }, b) {
17
17
  let x = {
18
18
  ...o,
19
19
  ...f
20
- }, S = i([]), [C, w] = a(0), T = new Intl.NumberFormat(p, {
20
+ }, S = n([]), [C, w] = r(0), T = new Intl.NumberFormat(p, {
21
21
  style: "percent",
22
22
  maximumFractionDigits: m
23
23
  }), E = (e) => e === null || !Number.isFinite(e) ? null : T.format(e / 100), D = (e, t) => {
@@ -25,70 +25,70 @@ var c = r(function({ points: r, summary: c, label: l = "Disponibilidad", startLa
25
25
  let n = `${e.label}: ${t ?? g}`;
26
26
  return e.detail ? `${n}. ${e.detail}` : n;
27
27
  }, O = (e) => {
28
- let t = Math.max(0, Math.min(r.length - 1, e));
29
- w(t), S.current[t]?.focus();
30
- }, k = (e, t) => {
31
- let n = {
28
+ let n = Math.max(0, Math.min(t.length - 1, e));
29
+ w(n), S.current[n]?.focus();
30
+ }, k = (e, n) => {
31
+ let r = {
32
32
  ArrowRight: 1,
33
33
  ArrowDown: 1,
34
34
  ArrowLeft: -1,
35
35
  ArrowUp: -1
36
36
  }[e.key];
37
- if (n) {
38
- e.preventDefault(), O(t + n);
37
+ if (r) {
38
+ e.preventDefault(), O(n + r);
39
39
  return;
40
40
  }
41
- e.key === "Home" ? (e.preventDefault(), O(0)) : e.key === "End" && (e.preventDefault(), O(r.length - 1));
42
- }, A = Math.max(0, Math.min(C, r.length - 1));
43
- return /* @__PURE__ */ n("div", {
41
+ e.key === "Home" ? (e.preventDefault(), O(0)) : e.key === "End" && (e.preventDefault(), O(t.length - 1));
42
+ }, A = Math.max(0, Math.min(C, t.length - 1));
43
+ return /* @__PURE__ */ a("div", {
44
44
  ref: b,
45
45
  className: ["uptime-bars", v].filter(Boolean).join(" "),
46
46
  ...y,
47
- children: [/* @__PURE__ */ t("ol", {
47
+ children: [/* @__PURE__ */ i("ol", {
48
48
  className: "uptime-bars__list",
49
49
  "aria-label": l,
50
- children: r.map((r, i) => {
51
- let a = E(r.value), o = /* @__PURE__ */ t("span", {
52
- className: `uptime-bars__bar uptime-bars__bar--${s(r.value, x)}`,
50
+ children: t.map((t, n) => {
51
+ let r = E(t.value), o = /* @__PURE__ */ i("span", {
52
+ className: `uptime-bars__bar uptime-bars__bar--${s(t.value, x)}`,
53
53
  role: "img",
54
- "aria-label": D(r, a),
55
- tabIndex: _ ? i === A ? 0 : -1 : void 0,
56
- onKeyDown: _ ? (e) => k(e, i) : void 0,
57
- onFocus: _ ? () => w(i) : void 0
54
+ "aria-label": D(t, r),
55
+ tabIndex: _ ? n === A ? 0 : -1 : void 0,
56
+ onKeyDown: _ ? (e) => k(e, n) : void 0,
57
+ onFocus: _ ? () => w(n) : void 0
58
58
  });
59
- return /* @__PURE__ */ t("li", {
59
+ return /* @__PURE__ */ i("li", {
60
60
  className: "uptime-bars__item",
61
- children: _ ? /* @__PURE__ */ t(e, {
61
+ children: _ ? /* @__PURE__ */ i(e, {
62
62
  ref: (e) => {
63
- S.current[i] = e;
63
+ S.current[n] = e;
64
64
  },
65
- label: /* @__PURE__ */ n("span", {
65
+ label: /* @__PURE__ */ a("span", {
66
66
  className: "uptime-bars__tooltip",
67
67
  children: [
68
- /* @__PURE__ */ t("span", {
68
+ /* @__PURE__ */ i("span", {
69
69
  className: "uptime-bars__tooltip-label",
70
- children: r.label
70
+ children: t.label
71
71
  }),
72
- /* @__PURE__ */ t("span", { children: a ?? g }),
73
- r.detail ? /* @__PURE__ */ t("span", { children: r.detail }) : null
72
+ /* @__PURE__ */ i("span", { children: r ?? g }),
73
+ t.detail ? /* @__PURE__ */ i("span", { children: t.detail }) : null
74
74
  ]
75
75
  }),
76
76
  children: o
77
77
  }) : o
78
- }, `${r.label}-${i}`);
78
+ }, `${t.label}-${n}`);
79
79
  })
80
- }), /* @__PURE__ */ n("p", {
80
+ }), /* @__PURE__ */ a("p", {
81
81
  className: "uptime-bars__footer",
82
82
  children: [
83
- /* @__PURE__ */ t("span", {
83
+ /* @__PURE__ */ i("span", {
84
84
  className: "uptime-bars__edge",
85
85
  children: u
86
86
  }),
87
- /* @__PURE__ */ t("span", {
87
+ /* @__PURE__ */ i("span", {
88
88
  className: "uptime-bars__summary",
89
89
  children: c
90
90
  }),
91
- /* @__PURE__ */ t("span", {
91
+ /* @__PURE__ */ i("span", {
92
92
  className: "uptime-bars__edge uptime-bars__edge--end",
93
93
  children: d
94
94
  })
@@ -1,25 +1,25 @@
1
1
  import './user-message.css';
2
2
  import { MessageBubble as e } from "./message-bubble.js";
3
3
  import { t } from "./_shared/messagetimestamp.js";
4
- import { jsx as n, jsxs as r } from "react/jsx-runtime";
5
- import { forwardRef as i } from "react";
4
+ import { forwardRef as n } from "react";
5
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
6
6
  //#region src/stories/molecules/UserMessage/UserMessage.tsx
7
- var a = i(function({ children: i, author: a, timestamp: o, locale: s, timestampFormat: c, className: l, ...u }, d) {
7
+ var a = n(function({ children: n, author: a, timestamp: o, locale: s, timestampFormat: c, className: l, ...u }, d) {
8
8
  let f = t(o, s, c);
9
- return /* @__PURE__ */ r("div", {
9
+ return /* @__PURE__ */ i("div", {
10
10
  ref: d,
11
11
  className: `user-message${l ? ` ${l}` : ""}`,
12
12
  ...u,
13
13
  children: [
14
- a && /* @__PURE__ */ n("span", {
14
+ a && /* @__PURE__ */ r("span", {
15
15
  className: "user-message__author",
16
16
  children: a
17
17
  }),
18
- /* @__PURE__ */ n(e, {
18
+ /* @__PURE__ */ r(e, {
19
19
  role: "user",
20
- children: i
20
+ children: n
21
21
  }),
22
- f && /* @__PURE__ */ n("time", {
22
+ f && /* @__PURE__ */ r("time", {
23
23
  className: "user-message__timestamp",
24
24
  dateTime: f.dateTime,
25
25
  children: f.label
@@ -1,13 +1,13 @@
1
1
  /* empty css */
2
- import { jsx as e } from "react/jsx-runtime";
3
- import { forwardRef as t } from "react";
2
+ import { forwardRef as e } from "react";
3
+ import { jsx as t } from "react/jsx-runtime";
4
4
  //#region src/stories/atoms/VisuallyHidden/VisuallyHidden.tsx
5
- var n = t(function({ children: t, as: n = "span", className: r, ...i }, a) {
6
- return /* @__PURE__ */ e(n, {
5
+ var n = e(function({ children: e, as: n = "span", className: r, ...i }, a) {
6
+ return /* @__PURE__ */ t(n, {
7
7
  ref: a,
8
8
  className: ["visually-hidden", r].filter(Boolean).join(" "),
9
9
  ...i,
10
- children: t
10
+ children: e
11
11
  });
12
12
  });
13
13
  //#endregion
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studiolxd/brand",
3
- "version": "39.0.0",
3
+ "version": "40.1.0",
4
4
  "description": "El sistema de diseño de Studio LXD: componentes React, tokens y documentación de la suite SLXD.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -457,6 +457,10 @@
457
457
  "types": "./dist/_types/atoms/OtpInput/OtpInput.d.ts",
458
458
  "import": "./dist/otp-input.js"
459
459
  },
460
+ "./messages": {
461
+ "types": "./dist/_types/messages/index.d.ts",
462
+ "import": "./dist/messages.js"
463
+ },
460
464
  "./pagination": {
461
465
  "types": "./dist/_types/molecules/Pagination/Pagination.d.ts",
462
466
  "import": "./dist/pagination.js"
@@ -12,6 +12,7 @@
12
12
  --annotation-thread-item-gap: var(--spacing-2); /** Separación entre la cabecera, el cuerpo y las acciones de una anotación */
13
13
  --annotation-thread-items-gap: var(--spacing-4); /** Separación entre anotaciones */
14
14
  --annotation-thread-header-gap: var(--spacing-2); /** Separación entre autor, fecha y marca de editada */
15
+ --annotation-thread-acknowledged-opacity: var(--opacity-muted); /** Un hilo atendido da un paso atrás: sigue vivo, pero ya no es lo primero que hay que mirar */
15
16
  --annotation-thread-resolved-opacity: var(--opacity-disabled); /** Un hilo resuelto se retira: baja de intensidad sin desaparecer */
16
17
  --annotation-thread-border-width: var(--border-width-default); /** Grosor del borde del hilo */
17
18
  --annotation-thread-border-color: var(--color-border-default-on-light); /** Borde del hilo */
@@ -25,4 +25,5 @@ $lxd-annotation-thread-body-line-height: 1.5; // Interlineado del cuerpo
25
25
  $lxd-annotation-thread-body-color: #111e30; // Tinta del cuerpo
26
26
  $lxd-annotation-thread-replies-label-font-size: 0.875rem; // Tamaño del rótulo que cuenta las respuestas
27
27
  $lxd-annotation-thread-replies-label-color: #4a4a4a; // Tinta del rótulo que cuenta las respuestas
28
+ $lxd-annotation-thread-acknowledged-opacity: 0.7; // Un hilo atendido da un paso atrás: sigue vivo, pero ya no es lo primero que hay que mirar
28
29
  $lxd-annotation-thread-resolved-opacity: 0.4; // Un hilo resuelto se retira: baja de intensidad sin desaparecer
@@ -3102,6 +3102,7 @@
3102
3102
  "--annotation-thread-body-color": "#111e30",
3103
3103
  "--annotation-thread-replies-label-font-size": "0.875rem",
3104
3104
  "--annotation-thread-replies-label-color": "#4a4a4a",
3105
+ "--annotation-thread-acknowledged-opacity": "0.7",
3105
3106
  "--annotation-thread-resolved-opacity": "0.4",
3106
3107
  "--chart-series-1": "#1e7ff6",
3107
3108
  "--chart-series-2": "#f16123",