@clubmed/trident-ui 1.0.0-beta.17 → 1.0.0-beta.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/fonts/Actions/tui-actions.css +6 -6
  3. package/fonts/Actions/tui-actions.eot +0 -0
  4. package/fonts/Actions/tui-actions.less +6 -6
  5. package/fonts/Actions/tui-actions.module.less +6 -6
  6. package/fonts/Actions/tui-actions.scss +6 -6
  7. package/fonts/Actions/tui-actions.styl +6 -6
  8. package/fonts/Actions/tui-actions.ttf +0 -0
  9. package/fonts/Actions/tui-actions.woff +0 -0
  10. package/fonts/Actions/tui-actions.woff2 +0 -0
  11. package/fonts/Activities/tui-activities.css +6 -6
  12. package/fonts/Activities/tui-activities.eot +0 -0
  13. package/fonts/Activities/tui-activities.less +6 -6
  14. package/fonts/Activities/tui-activities.module.less +6 -6
  15. package/fonts/Activities/tui-activities.scss +6 -6
  16. package/fonts/Activities/tui-activities.styl +6 -6
  17. package/fonts/Activities/tui-activities.ttf +0 -0
  18. package/fonts/Activities/tui-activities.woff +0 -0
  19. package/fonts/Activities/tui-activities.woff2 +0 -0
  20. package/fonts/Brand/tui-brand.css +6 -6
  21. package/fonts/Brand/tui-brand.eot +0 -0
  22. package/fonts/Brand/tui-brand.less +6 -6
  23. package/fonts/Brand/tui-brand.module.less +6 -6
  24. package/fonts/Brand/tui-brand.scss +6 -6
  25. package/fonts/Brand/tui-brand.styl +6 -6
  26. package/fonts/Brand/tui-brand.ttf +0 -0
  27. package/fonts/Brand/tui-brand.woff +0 -0
  28. package/fonts/Brand/tui-brand.woff2 +0 -0
  29. package/fonts/Covid/tui-covid.css +6 -6
  30. package/fonts/Covid/tui-covid.eot +0 -0
  31. package/fonts/Covid/tui-covid.less +6 -6
  32. package/fonts/Covid/tui-covid.module.less +6 -6
  33. package/fonts/Covid/tui-covid.scss +6 -6
  34. package/fonts/Covid/tui-covid.styl +6 -6
  35. package/fonts/Covid/tui-covid.ttf +0 -0
  36. package/fonts/Covid/tui-covid.woff +0 -0
  37. package/fonts/Covid/tui-covid.woff2 +0 -0
  38. package/fonts/Food/tui-food.css +6 -6
  39. package/fonts/Food/tui-food.eot +0 -0
  40. package/fonts/Food/tui-food.less +6 -6
  41. package/fonts/Food/tui-food.module.less +6 -6
  42. package/fonts/Food/tui-food.scss +6 -6
  43. package/fonts/Food/tui-food.styl +6 -6
  44. package/fonts/Food/tui-food.ttf +0 -0
  45. package/fonts/Food/tui-food.woff +0 -0
  46. package/fonts/Food/tui-food.woff2 +0 -0
  47. package/fonts/HappyToCare/tui-happy-to-care.css +6 -6
  48. package/fonts/HappyToCare/tui-happy-to-care.eot +0 -0
  49. package/fonts/HappyToCare/tui-happy-to-care.less +6 -6
  50. package/fonts/HappyToCare/tui-happy-to-care.module.less +6 -6
  51. package/fonts/HappyToCare/tui-happy-to-care.scss +6 -6
  52. package/fonts/HappyToCare/tui-happy-to-care.styl +6 -6
  53. package/fonts/HappyToCare/tui-happy-to-care.ttf +0 -0
  54. package/fonts/HappyToCare/tui-happy-to-care.woff +0 -0
  55. package/fonts/HappyToCare/tui-happy-to-care.woff2 +0 -0
  56. package/fonts/Places/tui-places.css +6 -6
  57. package/fonts/Places/tui-places.eot +0 -0
  58. package/fonts/Places/tui-places.less +6 -6
  59. package/fonts/Places/tui-places.module.less +6 -6
  60. package/fonts/Places/tui-places.scss +6 -6
  61. package/fonts/Places/tui-places.styl +6 -6
  62. package/fonts/Places/tui-places.ttf +0 -0
  63. package/fonts/Places/tui-places.woff +0 -0
  64. package/fonts/Places/tui-places.woff2 +0 -0
  65. package/fonts/Room/tui-room.css +6 -6
  66. package/fonts/Room/tui-room.eot +0 -0
  67. package/fonts/Room/tui-room.less +6 -6
  68. package/fonts/Room/tui-room.module.less +6 -6
  69. package/fonts/Room/tui-room.scss +6 -6
  70. package/fonts/Room/tui-room.styl +6 -6
  71. package/fonts/Room/tui-room.ttf +0 -0
  72. package/fonts/Room/tui-room.woff +0 -0
  73. package/fonts/Room/tui-room.woff2 +0 -0
  74. package/fonts/Services/tui-services.css +6 -6
  75. package/fonts/Services/tui-services.eot +0 -0
  76. package/fonts/Services/tui-services.less +6 -6
  77. package/fonts/Services/tui-services.module.less +6 -6
  78. package/fonts/Services/tui-services.scss +6 -6
  79. package/fonts/Services/tui-services.styl +6 -6
  80. package/fonts/Services/tui-services.ttf +0 -0
  81. package/fonts/Services/tui-services.woff +0 -0
  82. package/fonts/Services/tui-services.woff2 +0 -0
  83. package/fonts/Socials/tui-socials.css +6 -6
  84. package/fonts/Socials/tui-socials.eot +0 -0
  85. package/fonts/Socials/tui-socials.less +6 -6
  86. package/fonts/Socials/tui-socials.module.less +6 -6
  87. package/fonts/Socials/tui-socials.scss +6 -6
  88. package/fonts/Socials/tui-socials.styl +6 -6
  89. package/fonts/Socials/tui-socials.ttf +0 -0
  90. package/fonts/Socials/tui-socials.woff +0 -0
  91. package/fonts/Socials/tui-socials.woff2 +0 -0
  92. package/fonts/Transports/tui-transports.css +6 -6
  93. package/fonts/Transports/tui-transports.eot +0 -0
  94. package/fonts/Transports/tui-transports.less +6 -6
  95. package/fonts/Transports/tui-transports.module.less +6 -6
  96. package/fonts/Transports/tui-transports.scss +6 -6
  97. package/fonts/Transports/tui-transports.styl +6 -6
  98. package/fonts/Transports/tui-transports.ttf +0 -0
  99. package/fonts/Transports/tui-transports.woff +0 -0
  100. package/fonts/Transports/tui-transports.woff2 +0 -0
  101. package/fonts/Utilities/tui-utilities.css +6 -6
  102. package/fonts/Utilities/tui-utilities.eot +0 -0
  103. package/fonts/Utilities/tui-utilities.less +6 -6
  104. package/fonts/Utilities/tui-utilities.module.less +6 -6
  105. package/fonts/Utilities/tui-utilities.scss +6 -6
  106. package/fonts/Utilities/tui-utilities.styl +6 -6
  107. package/fonts/Utilities/tui-utilities.ttf +0 -0
  108. package/fonts/Utilities/tui-utilities.woff +0 -0
  109. package/fonts/Utilities/tui-utilities.woff2 +0 -0
  110. package/molecules/Buttons/ButtonAnchor.d.ts +2 -1
  111. package/molecules/Buttons/ButtonAnchor.js +17 -16
  112. package/molecules/Forms/Checkboxes/Checkbox.js +86 -81
  113. package/molecules/Forms/Checkboxes/Checkboxes.js +15 -15
  114. package/molecules/Forms/FormControl.js +26 -20
  115. package/molecules/Link.d.ts +5 -1
  116. package/molecules/Link.js +17 -16
  117. package/package.json +1 -1
@@ -1,11 +1,11 @@
1
1
  @font-face {
2
2
  font-family: "tui-utilities";
3
- src: url('tui-utilities.eot?t=1720179211423'); /* IE9*/
4
- src: url('tui-utilities.eot?t=1720179211423#iefix') format('embedded-opentype'), /* IE6-IE8 */
5
- url("tui-utilities.woff2?t=1720179211423") format("woff2"),
6
- url("tui-utilities.woff?t=1720179211423") format("woff"),
7
- url('tui-utilities.ttf?t=1720179211423') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
8
- url('tui-utilities.svg?t=1720179211423#tui-utilities') format('svg'); /* iOS 4.1- */
3
+ src: url('tui-utilities.eot?t=1720195943768'); /* IE9*/
4
+ src: url('tui-utilities.eot?t=1720195943768#iefix') format('embedded-opentype'), /* IE6-IE8 */
5
+ url("tui-utilities.woff2?t=1720195943768") format("woff2"),
6
+ url("tui-utilities.woff?t=1720195943768") format("woff"),
7
+ url('tui-utilities.ttf?t=1720195943768') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
8
+ url('tui-utilities.svg?t=1720195943768#tui-utilities') format('svg'); /* iOS 4.1- */
9
9
  }
10
10
 
11
11
  [class^="tui-utilities-"], [class*=" tui-utilities-"] {
Binary file
@@ -1,10 +1,10 @@
1
1
  @font-face {font-family: "tui-utilities";
2
- src: url('tui-utilities.eot?t=1720179211423'); /* IE9*/
3
- src: url('tui-utilities.eot?t=1720179211423#iefix') format('embedded-opentype'), /* IE6-IE8 */
4
- url("tui-utilities.woff2?t=1720179211423") format("woff2"),
5
- url("tui-utilities.woff?t=1720179211423") format("woff"),
6
- url('tui-utilities.ttf?t=1720179211423') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
7
- url('tui-utilities.svg?t=1720179211423#tui-utilities') format('svg'); /* iOS 4.1- */
2
+ src: url('tui-utilities.eot?t=1720195943768'); /* IE9*/
3
+ src: url('tui-utilities.eot?t=1720195943768#iefix') format('embedded-opentype'), /* IE6-IE8 */
4
+ url("tui-utilities.woff2?t=1720195943768") format("woff2"),
5
+ url("tui-utilities.woff?t=1720195943768") format("woff"),
6
+ url('tui-utilities.ttf?t=1720195943768') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
7
+ url('tui-utilities.svg?t=1720195943768#tui-utilities') format('svg'); /* iOS 4.1- */
8
8
  }
9
9
 
10
10
  [class^="tui-utilities-"], [class*=" tui-utilities-"] {
@@ -1,10 +1,10 @@
1
1
  @font-face {font-family: "tui-utilities";
2
- src: url('tui-utilities.eot?t=1720179211423'); /* IE9*/
3
- src: url('tui-utilities.eot?t=1720179211423#iefix') format('embedded-opentype'), /* IE6-IE8 */
4
- url("tui-utilities.woff2?t=1720179211423") format("woff2"),
5
- url("tui-utilities.woff?t=1720179211423") format("woff"),
6
- url('tui-utilities.ttf?t=1720179211423') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
7
- url('tui-utilities.svg?t=1720179211423#tui-utilities') format('svg'); /* iOS 4.1- */
2
+ src: url('tui-utilities.eot?t=1720195943768'); /* IE9*/
3
+ src: url('tui-utilities.eot?t=1720195943768#iefix') format('embedded-opentype'), /* IE6-IE8 */
4
+ url("tui-utilities.woff2?t=1720195943768") format("woff2"),
5
+ url("tui-utilities.woff?t=1720195943768") format("woff"),
6
+ url('tui-utilities.ttf?t=1720195943768') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
7
+ url('tui-utilities.svg?t=1720195943768#tui-utilities') format('svg'); /* iOS 4.1- */
8
8
  }
9
9
 
10
10
  [class^="tui-utilities-"], [class*=" tui-utilities-"] {
@@ -1,10 +1,10 @@
1
1
  @font-face {font-family: "tui-utilities";
2
- src: url('tui-utilities.eot?t=1720179211423'); /* IE9*/
3
- src: url('tui-utilities.eot?t=1720179211423#iefix') format('embedded-opentype'), /* IE6-IE8 */
4
- url("tui-utilities.woff2?t=1720179211423") format("woff2"),
5
- url("tui-utilities.woff?t=1720179211423") format("woff"),
6
- url('tui-utilities.ttf?t=1720179211423') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
7
- url('tui-utilities.svg?t=1720179211423#tui-utilities') format('svg'); /* iOS 4.1- */
2
+ src: url('tui-utilities.eot?t=1720195943768'); /* IE9*/
3
+ src: url('tui-utilities.eot?t=1720195943768#iefix') format('embedded-opentype'), /* IE6-IE8 */
4
+ url("tui-utilities.woff2?t=1720195943768") format("woff2"),
5
+ url("tui-utilities.woff?t=1720195943768") format("woff"),
6
+ url('tui-utilities.ttf?t=1720195943768') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
7
+ url('tui-utilities.svg?t=1720195943768#tui-utilities') format('svg'); /* iOS 4.1- */
8
8
  }
9
9
 
10
10
  [class^="tui-utilities-"], [class*=" tui-utilities-"] {
@@ -1,10 +1,10 @@
1
1
  @font-face {font-family: "tui-utilities";
2
- src: url('tui-utilities.eot?t=1720179211423'); /* IE9*/
3
- src: url('tui-utilities.eot?t=1720179211423#iefix') format('embedded-opentype'), /* IE6-IE8 */
4
- url("tui-utilities.woff2?t=1720179211423") format("woff2"),
5
- url("tui-utilities.woff?t=1720179211423") format("woff"),
6
- url('tui-utilities.ttf?t=1720179211423') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
7
- url('tui-utilities.svg?t=1720179211423#tui-utilities') format('svg'); /* iOS 4.1- */
2
+ src: url('tui-utilities.eot?t=1720195943768'); /* IE9*/
3
+ src: url('tui-utilities.eot?t=1720195943768#iefix') format('embedded-opentype'), /* IE6-IE8 */
4
+ url("tui-utilities.woff2?t=1720195943768") format("woff2"),
5
+ url("tui-utilities.woff?t=1720195943768") format("woff"),
6
+ url('tui-utilities.ttf?t=1720195943768') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
7
+ url('tui-utilities.svg?t=1720195943768#tui-utilities') format('svg'); /* iOS 4.1- */
8
8
  }
9
9
 
10
10
  [class^="tui-utilities-"], [class*=" tui-utilities-"] {
Binary file
Binary file
Binary file
@@ -1,7 +1,8 @@
1
- import type { AnchorHTMLAttributes, FunctionComponent } from 'react';
1
+ import type { AnchorHTMLAttributes, FunctionComponent, PropsWithChildren } from 'react';
2
2
  import './button.css';
3
3
  import { type CommonButtonProps } from './Button';
4
4
  interface ButtonAnchorProps extends CommonButtonProps, AnchorHTMLAttributes<HTMLAnchorElement> {
5
+ component?: FunctionComponent<PropsWithChildren<any>> | string;
5
6
  }
6
7
  export declare const ButtonAnchor: FunctionComponent<ButtonAnchorProps>;
7
8
  export {};
@@ -1,37 +1,38 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- import { c as x } from "../../index-Cu0xwYjD.js";
2
+ import { c as C } from "../../index-Cu0xwYjD.js";
3
3
  import "../../button-l0sNRNKZ.js";
4
4
  import { variants as y, rootClassName as B } from "./Button.helpers.js";
5
5
  import { themes as w } from "./Button.themes.js";
6
6
  import { ButtonContent as A } from "./ButtonContent.js";
7
- const k = ({
8
- theme: r = "yellow",
7
+ const z = ({
8
+ theme: m = "yellow",
9
+ component: r = "a",
9
10
  backgroundOverride: e,
10
11
  variant: t = "text",
11
- className: m,
12
+ className: n,
12
13
  label: o,
13
- children: n,
14
- title: a,
15
- icon: c,
14
+ children: a,
15
+ title: c,
16
+ icon: p,
16
17
  dataTestId: i,
17
18
  href: l,
18
- groupName: p = "",
19
- ...f
19
+ groupName: f = "",
20
+ ...h
20
21
  }) => {
21
- const h = t === "text", u = y[t], d = w(r, e, p);
22
+ const u = t === "text", d = y[t], x = w(m, e, f);
22
23
  return /* @__PURE__ */ s(
23
- "a",
24
+ r,
24
25
  {
25
26
  "data-name": "ButtonAnchor",
26
27
  "data-testid": i,
27
- className: x(B, d, u, t, m),
28
- title: a || o,
28
+ className: C(B, x, d, t, n),
29
+ title: c || o,
29
30
  href: l,
30
- ...f,
31
- children: /* @__PURE__ */ s(A, { showLabel: h, label: o, icon: c, children: n })
31
+ ...h,
32
+ children: /* @__PURE__ */ s(A, { showLabel: u, label: o, icon: p, children: a })
32
33
  }
33
34
  );
34
35
  };
35
36
  export {
36
- k as ButtonAnchor
37
+ z as ButtonAnchor
37
38
  };
@@ -1,97 +1,102 @@
1
1
  import { jsxs as t, jsx as a } from "react/jsx-runtime";
2
- import { c as p } from "../../../index-Cu0xwYjD.js";
3
- import { useId as w } from "react";
2
+ import { c } from "../../../index-Cu0xwYjD.js";
3
+ import { useId as D } from "react";
4
4
  import { Icon as u } from "../../../atoms/Icons/Icon.js";
5
5
  import "../../../atoms/Icons/contexts/IconsContext.js";
6
6
  import { useValue as S } from "../../../hooks/useValue.js";
7
7
  import "../../../controls-l0sNRNKZ.js";
8
8
  import { useInternalStatus as V } from "../../../hooks/useInternalStatus.js";
9
- function A(h) {
10
- const x = w(), {
11
- id: n = x,
12
- name: o = n,
13
- className: f,
14
- dataTestId: b,
15
- disabled: s = !1,
16
- checked: k = !1,
17
- value: r,
18
- size: l = 24,
19
- tabIndex: g = 0,
20
- validationStatus: v = "default",
21
- errorMessage: c,
22
- children: N,
23
- onChange: i,
9
+ function B(x) {
10
+ const f = D(), {
11
+ id: s = f,
12
+ name: n = s,
13
+ className: b,
14
+ dataTestId: k,
15
+ disabled: r = !1,
16
+ checked: v = !1,
17
+ value: l,
18
+ size: i = 24,
19
+ tabIndex: N = 0,
20
+ validationStatus: g = "default",
21
+ errorMessage: d,
22
+ children: y,
23
+ onChange: o,
24
24
  ...I
25
- } = h, { value: d, setValue: y } = S({
26
- name: o,
27
- initialValue: k,
28
- onChange(C, m) {
29
- i == null || i(C, m ? r !== void 0 ? r : m : null);
25
+ } = x, { value: m, setValue: C } = S({
26
+ name: n,
27
+ initialValue: v,
28
+ onChange(w, h) {
29
+ o == null || o(w, h ? l !== void 0 ? l : h : null);
30
30
  }
31
31
  }), e = V({
32
- isDisabled: s,
33
- validationStatus: v
34
- });
35
- return /* @__PURE__ */ t("div", { className: "flex flex-col gap-y-4", children: [
36
- /* @__PURE__ */ t(
37
- "label",
38
- {
39
- className: p(
40
- f,
41
- "cursor-pointer relative flex gap-8 text-b3 items-center",
32
+ isDisabled: r,
33
+ validationStatus: g
34
+ }), p = e === "error" && d;
35
+ return /* @__PURE__ */ t(
36
+ "div",
37
+ {
38
+ className: c(b, "flex flex-col space-y-2", {
39
+ "mb-24": !p
40
+ }),
41
+ "data-testid": `checkbox-container-${s}`,
42
+ children: [
43
+ /* @__PURE__ */ t(
44
+ "label",
42
45
  {
43
- "text-grey": e === "disabled",
44
- "text-black": e !== "default"
45
- }
46
- ),
47
- children: [
48
- /* @__PURE__ */ t("span", { className: "relative", children: [
49
- /* @__PURE__ */ a(
50
- "input",
51
- {
52
- ...I,
53
- name: o,
54
- "data-testid": b,
55
- type: "checkbox",
56
- tabIndex: g,
57
- onChange: () => {
58
- !s && y(!d);
59
- },
60
- checked: d,
61
- "data-name": "Checkbox",
62
- disabled: s,
63
- value: r
64
- }
65
- ),
66
- /* @__PURE__ */ a(
67
- "span",
68
- {
69
- style: { height: l, width: l },
70
- className: p({ "!border-red": e === "error" }),
71
- "data-testid": `check-container-${n}`,
72
- children: /* @__PURE__ */ a(
73
- u,
46
+ className: c("cursor-pointer relative flex text-b3 items-center", {
47
+ "text-grey": e === "disabled",
48
+ "text-black": e !== "default"
49
+ }),
50
+ children: [
51
+ /* @__PURE__ */ t("span", { className: "relative self-start me-8", children: [
52
+ /* @__PURE__ */ a(
53
+ "input",
54
+ {
55
+ ...I,
56
+ name: n,
57
+ "data-testid": k,
58
+ type: "checkbox",
59
+ tabIndex: N,
60
+ onChange: () => {
61
+ !r && C(!m);
62
+ },
63
+ checked: m,
64
+ "data-name": "Checkbox",
65
+ disabled: r,
66
+ value: l
67
+ }
68
+ ),
69
+ /* @__PURE__ */ a(
70
+ "span",
74
71
  {
75
- name: "CheckDefault",
76
- type: "svg",
77
- width: `${l}px`,
78
- color: "black",
79
- className: "absolute"
72
+ style: { height: i, width: i },
73
+ className: c({ "!border-red": e === "error" }),
74
+ "data-testid": `check-container-${s}`,
75
+ children: /* @__PURE__ */ a(
76
+ u,
77
+ {
78
+ name: "CheckDefault",
79
+ type: "svg",
80
+ width: `${i}px`,
81
+ color: "black",
82
+ className: "absolute"
83
+ }
84
+ )
80
85
  }
81
86
  )
82
- }
83
- )
84
- ] }),
85
- N
86
- ]
87
- }
88
- ),
89
- e === "error" && c && /* @__PURE__ */ t("span", { className: "text-red text-b4 flex items-start gap-x-4 ps-20", role: "alert", children: [
90
- /* @__PURE__ */ a(u, { name: "Error", width: "20px" }),
91
- c
92
- ] })
93
- ] });
87
+ ] }),
88
+ y
89
+ ]
90
+ }
91
+ ),
92
+ p && /* @__PURE__ */ t("span", { className: "text-red text-b4 flex items-start space-x-4 ps-20", role: "alert", children: [
93
+ /* @__PURE__ */ a(u, { name: "Error", width: "20px" }),
94
+ d
95
+ ] })
96
+ ]
97
+ }
98
+ );
94
99
  }
95
100
  export {
96
- A as Checkbox
101
+ B as Checkbox
97
102
  };
@@ -5,17 +5,17 @@ import { c as E } from "../../../index-Cu0xwYjD.js";
5
5
  function q(m) {
6
6
  const i = N(), {
7
7
  id: r = i,
8
- name: s = r,
8
+ name: n = r,
9
9
  children: u,
10
10
  value: c,
11
11
  defaultValue: p,
12
12
  onChange: d,
13
13
  disabled: f,
14
- readOnly: b,
15
- tabIndex: V = 0,
16
- ...t
17
- } = m, { value: a, setValue: l } = k({
18
- name: s,
14
+ readOnly: V,
15
+ tabIndex: b = 0,
16
+ ...s
17
+ } = m, { value: a, setValue: o } = k({
18
+ name: n,
19
19
  initialValue: c,
20
20
  formatter(e) {
21
21
  return e !== void 0 ? [].concat(e) : e;
@@ -23,20 +23,20 @@ function q(m) {
23
23
  defaultValue: p || [],
24
24
  onChange: d
25
25
  });
26
- return /* @__PURE__ */ I("div", { ...t, className: t.className, role: "listbox", children: v.map(u, (e, o) => {
26
+ return /* @__PURE__ */ I("div", { ...s, className: s.className, role: "listbox", children: v.map(u, (e, l) => {
27
27
  if (g(e)) {
28
- const n = e.props.value;
28
+ const t = e.props.value;
29
29
  return h(e, {
30
30
  ...e.props,
31
- name: s,
32
- id: `${r}-${o}`,
31
+ name: n,
32
+ id: `${r}-${l}`,
33
33
  disabled: f,
34
- readOnly: b,
35
- tabIndex: V + o + 1,
36
- className: E(e.props.className || "mb-12 last:mb-0"),
37
- checked: a.includes(n),
34
+ readOnly: V,
35
+ tabIndex: b + l + 1,
36
+ className: E(e.props.className || "mt-8 first:mt-0"),
37
+ checked: a.includes(t),
38
38
  onChange($, x) {
39
- l(x === null ? a.filter((C) => C !== n) : a.concat(n));
39
+ o(x === null ? a.filter((C) => C !== t) : a.concat(t));
40
40
  }
41
41
  });
42
42
  }
@@ -3,35 +3,41 @@ import { useInternalStatus as u } from "../../hooks/useInternalStatus.js";
3
3
  import { FormLabel as h } from "./FormLabel.js";
4
4
  import { Icon as b } from "../../atoms/Icons/Icon.js";
5
5
  import "../../atoms/Icons/contexts/IconsContext.js";
6
- import { c as j } from "../../index-Cu0xwYjD.js";
7
- const w = ({
6
+ import { c as S } from "../../index-Cu0xwYjD.js";
7
+ const v = ({
8
8
  id: t,
9
9
  label: r,
10
- description: s,
11
- disabled: m,
12
- required: n,
13
- className: i,
14
- validationStatus: l = "default",
15
- children: p,
10
+ description: m,
11
+ disabled: n,
12
+ required: i,
13
+ className: l,
14
+ validationStatus: p = "default",
15
+ children: c,
16
16
  errorMessage: a,
17
- dataTestId: c,
17
+ dataTestId: d,
18
18
  dataName: x,
19
- layout: d
19
+ layout: f
20
20
  }) => {
21
- const f = u({
22
- isDisabled: !!m,
23
- validationStatus: l
24
- });
21
+ const s = u({
22
+ isDisabled: !!n,
23
+ validationStatus: p
24
+ }) === "error" && a;
25
25
  return /* @__PURE__ */ e(
26
26
  "div",
27
27
  {
28
- className: j("flex flex-col gap-4", i),
28
+ className: S(
29
+ "flex flex-col gap-4",
30
+ {
31
+ "mb-24": !s
32
+ },
33
+ l
34
+ ),
29
35
  "data-name": x,
30
- "data-testid": c,
36
+ "data-testid": d,
31
37
  children: [
32
- r && t && /* @__PURE__ */ o(h, { description: s, id: t, layout: d, required: n, children: r }),
33
- p,
34
- f === "error" && a && /* @__PURE__ */ e("span", { className: "text-red text-b4 flex items-start gap-x-4 px-20", children: [
38
+ r && t && /* @__PURE__ */ o(h, { description: m, id: t, layout: f, required: i, children: r }),
39
+ c,
40
+ s && /* @__PURE__ */ e("span", { className: "text-red text-b4 flex items-start gap-x-4 px-20", children: [
35
41
  /* @__PURE__ */ o(b, { name: "Error", width: "20px" }),
36
42
  a
37
43
  ] })
@@ -40,5 +46,5 @@ const w = ({
40
46
  );
41
47
  };
42
48
  export {
43
- w as FormControl
49
+ v as FormControl
44
50
  };
@@ -1,4 +1,4 @@
1
- import { AnchorHTMLAttributes, FunctionComponent } from 'react';
1
+ import { AnchorHTMLAttributes, FunctionComponent, type PropsWithChildren } from 'react';
2
2
  import { IconicNames, IconicTypes } from '../atoms/Icons';
3
3
  interface LinkProps<T extends HTMLAnchorElement = HTMLAnchorElement> extends AnchorHTMLAttributes<T> {
4
4
  /**
@@ -22,6 +22,10 @@ interface LinkProps<T extends HTMLAnchorElement = HTMLAnchorElement> extends Anc
22
22
  * Is the link inert (not itself clickable but part of a clickable element)
23
23
  */
24
24
  inert?: boolean;
25
+ /**
26
+ * Allow giving a custom component
27
+ */
28
+ component?: FunctionComponent<PropsWithChildren<any>> | string;
25
29
  }
26
30
  export declare const Link: FunctionComponent<LinkProps>;
27
31
  export {};
package/molecules/Link.js CHANGED
@@ -1,28 +1,29 @@
1
1
  import { jsxs as t, jsx as o } from "react/jsx-runtime";
2
2
  import { c as a } from "../index-Cu0xwYjD.js";
3
- import { Icon as g } from "../atoms/Icons/Icon.js";
3
+ import { Icon as u } from "../atoms/Icons/Icon.js";
4
4
  import "../atoms/Icons/contexts/IconsContext.js";
5
- const b = ({
5
+ const C = ({
6
6
  label: n,
7
7
  icon: s,
8
- iconType: c,
8
+ component: c = "a",
9
+ iconType: m,
9
10
  underlined: e = !0,
10
- className: m,
11
- inert: l,
12
- ...p
11
+ className: l,
12
+ inert: p,
13
+ ...d
13
14
  }) => {
14
- const r = n.lastIndexOf(" "), i = r === -1 ? n.length : r, d = n.substring(0, 1), h = n.substring(1, i + 1), x = n.substring(i);
15
+ const r = n.lastIndexOf(" "), i = r === -1 ? n.length : r, h = n.substring(0, 1), x = n.substring(1, i + 1), g = n.substring(i);
15
16
  return /* @__PURE__ */ t(
16
- l ? "span" : "a",
17
+ p ? "span" : c,
17
18
  {
18
19
  className: a(
19
20
  "text-b3 decoration-none link-container cursor-pointer text-inherit",
20
- m
21
+ l
21
22
  ),
22
23
  "data-name": "Link",
23
- ...p,
24
+ ...d,
24
25
  children: [
25
- /* @__PURE__ */ o("span", { className: a({ "link-underline": e }), children: d }),
26
+ /* @__PURE__ */ o("span", { className: a({ "link-underline": e }), children: h }),
26
27
  /* @__PURE__ */ t(
27
28
  "span",
28
29
  {
@@ -31,14 +32,14 @@ const b = ({
31
32
  "link-underline": e
32
33
  }),
33
34
  children: [
34
- h,
35
+ x,
35
36
  /* @__PURE__ */ t("span", { className: "inline-block", children: [
36
- x,
37
+ g,
37
38
  s && /* @__PURE__ */ o(
38
- g,
39
+ u,
39
40
  {
40
41
  name: s,
41
- iconType: c,
42
+ iconType: m,
42
43
  width: "24px",
43
44
  style: { marginInlineStart: "8px" }
44
45
  }
@@ -52,5 +53,5 @@ const b = ({
52
53
  );
53
54
  };
54
55
  export {
55
- b as Link
56
+ C as Link
56
57
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubmed/trident-ui",
3
- "version": "1.0.0-beta.17",
3
+ "version": "1.0.0-beta.19",
4
4
  "type": "module",
5
5
  "description": "Shared ClubMed React UI components",
6
6
  "keywords": [