@crediblemark/build 0.25.20 → 0.25.21

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 (40) hide show
  1. package/dist/ArrayField-5NGEZXWU.mjs +18 -0
  2. package/dist/{ObjectField-4DTDXE62.css → ArrayField-ELOHWNCP.css} +291 -291
  3. package/dist/{Editor-Z7SABUNT.mjs → Editor-I3NGZND5.mjs} +8 -8
  4. package/dist/{Editor-OKZSVOHC.css → Editor-YW4RWTY3.css} +7 -7
  5. package/dist/{ArrayField-SMHH4YM5.css → ObjectField-AN37XVFT.css} +283 -283
  6. package/dist/ObjectField-TK4CLEHL.mjs +18 -0
  7. package/dist/{Render-DOE2LXKX.css → Render-G6FCHISC.css} +1 -1
  8. package/dist/{Render-I6PZ5MEA.mjs → Render-YPURU4ZF.mjs} +5 -3
  9. package/dist/{chunk-PEXHYNRZ.mjs → chunk-3UVVSIWJ.mjs} +2 -2
  10. package/dist/{chunk-E4F5M5JH.mjs → chunk-5A7FLZ3B.mjs} +2 -2
  11. package/dist/{chunk-NHF3YLSF.mjs → chunk-5ASR74IZ.mjs} +96 -88
  12. package/dist/{chunk-ISXFLTBM.mjs → chunk-HH537E6Q.mjs} +1 -1
  13. package/dist/{chunk-S32JZ2HU.mjs → chunk-J3I5GT3E.mjs} +1 -1
  14. package/dist/{chunk-XLRMLBFR.mjs → chunk-KAL2OHVB.mjs} +1 -1
  15. package/dist/{chunk-QXPX7SNK.mjs → chunk-LGPNWN5U.mjs} +32 -16
  16. package/dist/{chunk-PFHKXXSV.mjs → chunk-MQINT3WW.mjs} +1 -1
  17. package/dist/{chunk-OYB2YQPY.mjs → chunk-N4PD57DO.mjs} +19 -15
  18. package/dist/{chunk-KN26YZZJ.mjs → chunk-NFUQAIKA.mjs} +31 -10
  19. package/dist/{chunk-JR2TCNGX.mjs → chunk-QJ3POSBT.mjs} +5 -5
  20. package/dist/{chunk-7SG4VVVP.mjs → chunk-S65FGP6E.mjs} +3 -3
  21. package/dist/chunk-TFAYWP2C.mjs +16 -0
  22. package/dist/{chunk-66IXS5FK.mjs → chunk-WADDTBOG.mjs} +20 -17
  23. package/dist/{full-77VQ6BAW.css → full-PJWYWS5O.css} +6 -6
  24. package/dist/{full-LSSDDZQW.mjs → full-YJS7XBEW.mjs} +5 -5
  25. package/dist/index.css +38 -38
  26. package/dist/index.js +216 -139
  27. package/dist/index.mjs +14 -13
  28. package/dist/{loaded-4FAPBCAU.css → loaded-GB62SDMW.css} +1 -1
  29. package/dist/{loaded-C2JGMUXV.mjs → loaded-ICFOKFPH.mjs} +4 -3
  30. package/dist/{loaded-FJHWTGH6.mjs → loaded-LU4R6WMV.mjs} +4 -3
  31. package/dist/{loaded-NTEK7RT3.mjs → loaded-VDUTUHUM.mjs} +4 -3
  32. package/dist/no-external.css +38 -38
  33. package/dist/no-external.js +216 -139
  34. package/dist/no-external.mjs +14 -13
  35. package/dist/rsc.css +19 -19
  36. package/dist/rsc.js +161 -91
  37. package/dist/rsc.mjs +13 -12
  38. package/package.json +1 -1
  39. package/dist/ArrayField-QREPD4FL.mjs +0 -17
  40. package/dist/ObjectField-5Q5QBVGN.mjs +0 -17
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  useAlignOptions
3
- } from "./chunk-XLRMLBFR.mjs";
3
+ } from "./chunk-KAL2OHVB.mjs";
4
4
  import {
5
5
  useHeadingOptions
6
- } from "./chunk-PFHKXXSV.mjs";
6
+ } from "./chunk-MQINT3WW.mjs";
7
7
  import {
8
8
  useListOptions
9
- } from "./chunk-S32JZ2HU.mjs";
9
+ } from "./chunk-J3I5GT3E.mjs";
10
10
  import {
11
11
  Bold,
12
12
  Code,
@@ -26,12 +26,12 @@ import {
26
26
  TextAlignStart,
27
27
  Underline,
28
28
  useControlContext
29
- } from "./chunk-KN26YZZJ.mjs";
29
+ } from "./chunk-NFUQAIKA.mjs";
30
30
  import {
31
31
  get_class_name_factory_default
32
32
  } from "./chunk-BFHV72KK.mjs";
33
33
 
34
- // css-module:/home/runner/work/credbuild/credbuild/components/ActionBar/styles.module.css#css-module
34
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/ActionBar/styles.module.css#css-module
35
35
  var styles_module_default = { "ActionBar": "_ActionBar_1xjbo_1", "ActionBar-label": "_ActionBar-label_1xjbo_16", "ActionBarAction": "_ActionBarAction_1xjbo_27", "ActionBar-group": "_ActionBar-group_1xjbo_35", "ActionBarAction--disabled": "_ActionBarAction--disabled_1xjbo_68", "ActionBarAction--active": "_ActionBarAction--active_1xjbo_97", "ActionBar-separator": "_ActionBar-separator_1xjbo_107" };
36
36
 
37
37
  // components/ActionBar/index.tsx
@@ -67,6 +67,8 @@ var Action = ({
67
67
  className: getActionClassName({ active, disabled }),
68
68
  onClick,
69
69
  title: label,
70
+ "aria-label": label,
71
+ "aria-pressed": active,
70
72
  tabIndex: 0,
71
73
  disabled,
72
74
  children
@@ -83,10 +85,10 @@ ActionBar.Separator = Separator;
83
85
  // components/IconButton/IconButton.tsx
84
86
  import { useState } from "react";
85
87
 
86
- // css-module:/home/runner/work/credbuild/credbuild/components/IconButton/IconButton.module.css#css-module
88
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/IconButton/IconButton.module.css#css-module
87
89
  var IconButton_module_default = { "IconButton": "_IconButton_1a0fz_1", "IconButton--active": "_IconButton--active_1a0fz_14", "IconButton--disabled": "_IconButton--disabled_1a0fz_24", "IconButton-title": "_IconButton-title_1a0fz_37" };
88
90
 
89
- // css-module:/home/runner/work/credbuild/credbuild/components/Loader/styles.module.css#css-module
91
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/Loader/styles.module.css#css-module
90
92
  var styles_module_default2 = { "Loader": "_Loader_nacdm_13", "loader-animation": "_loader-animation_nacdm_1" };
91
93
 
92
94
  // components/Loader/index.tsx
@@ -112,6 +114,16 @@ var Loader = ({
112
114
  );
113
115
  };
114
116
 
117
+ // lib/sanitize-href.ts
118
+ function sanitizeHref(href) {
119
+ if (!href) return href;
120
+ const strippedHref = href.replace(/[\u0000-\u001F\u007F-\u009F\s]/g, "").toLowerCase();
121
+ if (strippedHref.startsWith("javascript:") || strippedHref.startsWith("data:") || strippedHref.startsWith("vbscript:")) {
122
+ return "#";
123
+ }
124
+ return href;
125
+ }
126
+
115
127
  // components/IconButton/IconButton.tsx
116
128
  import { Fragment, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
117
129
  var getClassName3 = get_class_name_factory_default("IconButton", IconButton_module_default);
@@ -129,7 +141,7 @@ var IconButton = ({
129
141
  suppressHydrationWarning
130
142
  }) => {
131
143
  const [loading, setLoading] = useState(false);
132
- const safeHref = href && href.trim().toLowerCase().startsWith("javascript:") ? "#" : href;
144
+ const safeHref = sanitizeHref(href);
133
145
  const ElementType = safeHref ? "a" : "button";
134
146
  const el = /* @__PURE__ */ jsxs2(
135
147
  ElementType,
@@ -167,13 +179,13 @@ var IconButton = ({
167
179
  return el;
168
180
  };
169
181
 
170
- // css-module:/home/runner/work/credbuild/credbuild/components/RichTextMenu/styles.module.css#css-module
182
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/RichTextMenu/styles.module.css#css-module
171
183
  var styles_module_default3 = { "RichTextMenu": "_RichTextMenu_193iw_1", "RichTextMenu--form": "_RichTextMenu--form_193iw_7", "RichTextMenu-group": "_RichTextMenu-group_193iw_17", "RichTextMenu--inline": "_RichTextMenu--inline_193iw_35" };
172
184
 
173
185
  // components/RichTextMenu/inner.tsx
174
186
  import { useMemo } from "react";
175
187
 
176
- // css-module:/home/runner/work/credbuild/credbuild/components/RichTextMenu/components/Control/styles.module.css#css-module
188
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/RichTextMenu/components/Control/styles.module.css#css-module
177
189
  var styles_module_default4 = { "Control": "_Control_1aveu_1", "Control--inline": "_Control--inline_1aveu_6" };
178
190
 
179
191
  // components/RichTextMenu/components/Control/index.tsx
@@ -303,7 +315,8 @@ function AlignSelectFallback() {
303
315
  },
304
316
  value: "left",
305
317
  defaultValue: "left",
306
- renderDefaultIcon: TextAlignStart
318
+ renderDefaultIcon: TextAlignStart,
319
+ title: "Text alignment"
307
320
  }
308
321
  );
309
322
  }
@@ -311,7 +324,7 @@ function AlignSelectFallback() {
311
324
  // components/RichTextMenu/controls/AlignSelect/index.tsx
312
325
  import { jsx as jsx10 } from "react/jsx-runtime";
313
326
  var AlignSelectLoaded = lazy(
314
- () => import("./loaded-FJHWTGH6.mjs").then((m) => ({
327
+ () => import("./loaded-LU4R6WMV.mjs").then((m) => ({
315
328
  default: m.AlignSelectLoaded
316
329
  }))
317
330
  );
@@ -522,7 +535,8 @@ function HeadingSelectFallback() {
522
535
  },
523
536
  value: "p",
524
537
  defaultValue: "p",
525
- renderDefaultIcon: Heading
538
+ renderDefaultIcon: Heading,
539
+ title: "Heading level"
526
540
  }
527
541
  );
528
542
  }
@@ -530,7 +544,7 @@ function HeadingSelectFallback() {
530
544
  // components/RichTextMenu/controls/HeadingSelect/index.tsx
531
545
  import { jsx as jsx22 } from "react/jsx-runtime";
532
546
  var HeadingSelectLoaded = lazy2(
533
- () => import("./loaded-NTEK7RT3.mjs").then((m) => ({
547
+ () => import("./loaded-VDUTUHUM.mjs").then((m) => ({
534
548
  default: m.HeadingSelectLoaded
535
549
  }))
536
550
  );
@@ -552,7 +566,8 @@ function ListSelectFallback() {
552
566
  },
553
567
  value: "p",
554
568
  defaultValue: "p",
555
- renderDefaultIcon: List
569
+ renderDefaultIcon: List,
570
+ title: "List style"
556
571
  }
557
572
  );
558
573
  }
@@ -560,7 +575,7 @@ function ListSelectFallback() {
560
575
  // components/RichTextMenu/controls/ListSelect/index.tsx
561
576
  import { jsx as jsx24 } from "react/jsx-runtime";
562
577
  var ListSelectLoaded = lazy3(
563
- () => import("./loaded-C2JGMUXV.mjs").then((m) => ({
578
+ () => import("./loaded-ICFOKFPH.mjs").then((m) => ({
564
579
  default: m.ListSelectLoaded
565
580
  }))
566
581
  );
@@ -650,6 +665,7 @@ export {
650
665
  Label,
651
666
  Separator,
652
667
  Loader,
668
+ sanitizeHref,
653
669
  IconButton,
654
670
  RichTextMenu,
655
671
  LoadedRichTextMenuInner
@@ -5,7 +5,7 @@ import {
5
5
  Heading4,
6
6
  Heading5,
7
7
  Heading6
8
- } from "./chunk-KN26YZZJ.mjs";
8
+ } from "./chunk-NFUQAIKA.mjs";
9
9
 
10
10
  // components/RichTextMenu/controls/HeadingSelect/use-options.ts
11
11
  import { useMemo } from "react";
@@ -1,11 +1,15 @@
1
1
  import {
2
2
  EditorInner
3
- } from "./chunk-E4F5M5JH.mjs";
3
+ } from "./chunk-5A7FLZ3B.mjs";
4
+ import {
5
+ dompurify_default
6
+ } from "./chunk-TFAYWP2C.mjs";
4
7
  import {
5
8
  IconButton,
6
9
  LoadedRichTextMenuInner,
7
- Loader
8
- } from "./chunk-QXPX7SNK.mjs";
10
+ Loader,
11
+ sanitizeHref
12
+ } from "./chunk-LGPNWN5U.mjs";
9
13
  import {
10
14
  ChevronDown,
11
15
  CircleCheckBig,
@@ -17,7 +21,7 @@ import {
17
21
  SlidersHorizontal,
18
22
  Type,
19
23
  useAppStore
20
- } from "./chunk-KN26YZZJ.mjs";
24
+ } from "./chunk-NFUQAIKA.mjs";
21
25
  import {
22
26
  get_class_name_factory_default
23
27
  } from "./chunk-BFHV72KK.mjs";
@@ -74,7 +78,7 @@ function useFieldStore(selector) {
74
78
  return useStore2(store, useShallow2(selector));
75
79
  }
76
80
 
77
- // css-module:/home/runner/work/credbuild/credbuild/components/AutoField/styles.module.css#css-module
81
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/AutoField/styles.module.css#css-module
78
82
  var styles_module_default = { "InputWrapper": "_InputWrapper_1l0eg_1", "InputWrapper--object": "_InputWrapper--object_1l0eg_1", "InputWrapper--array": "_InputWrapper--array_1l0eg_1", "Input-label": "_Input-label_1l0eg_18", "Input-label--noChildren": "_Input-label--noChildren_1l0eg_28", "Input-labelIcon": "_Input-labelIcon_1l0eg_32", "Input-disabledIcon": "_Input-disabledIcon_1l0eg_39", "Input-input": "_Input-input_1l0eg_44", "Input": "_Input_1l0eg_1", "Input--readOnly": "_Input--readOnly_1l0eg_104", "Input-radioGroupItems": "_Input-radioGroupItems_1l0eg_115", "Input-radio": "_Input-radio_1l0eg_115", "Input-radioInner": "_Input-radioInner_1l0eg_132", "Input-radioInput": "_Input-radioInput_1l0eg_177" };
79
83
 
80
84
  // components/AutoField/FieldLabel.tsx
@@ -190,7 +194,7 @@ var NestedFieldProvider = ({
190
194
  // components/Button/Button.tsx
191
195
  import { useEffect, useState as useState2 } from "react";
192
196
 
193
- // css-module:/home/runner/work/credbuild/credbuild/components/Button/Button.module.css#css-module
197
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/Button/Button.module.css#css-module
194
198
  var Button_module_default = { "Button": "_Button_164uz_1", "Button--medium": "_Button--medium_164uz_29", "Button--large": "_Button--large_164uz_34", "Button-icon": "_Button-icon_164uz_38", "Button--primary": "_Button--primary_164uz_42", "Button--secondary": "_Button--secondary_164uz_63", "Button--flush": "_Button--flush_164uz_80", "Button--disabled": "_Button--disabled_164uz_84", "Button--fullWidth": "_Button--fullWidth_164uz_92", "Button-spinner": "_Button-spinner_164uz_97" };
195
199
 
196
200
  // lib/filter-data-attrs.ts
@@ -225,7 +229,7 @@ var Button = ({
225
229
  }) => {
226
230
  const [loading, setLoading] = useState2(loadingProp);
227
231
  useEffect(() => setLoading(loadingProp), [loadingProp]);
228
- const safeHref = href && href.trim().toLowerCase().startsWith("javascript:") ? "#" : href;
232
+ const safeHref = sanitizeHref(href);
229
233
  const ElementType = safeHref ? "a" : type ? "button" : "span";
230
234
  const dataAttrs = filterDataAttrs(props);
231
235
  const el = /* @__PURE__ */ jsxs2(
@@ -359,6 +363,7 @@ var SelectField = ({
359
363
  "select",
360
364
  {
361
365
  id,
366
+ "aria-label": label || name,
362
367
  title: label || name,
363
368
  className: getClassName4("input"),
364
369
  disabled: readOnly,
@@ -392,13 +397,13 @@ import {
392
397
  isValidElement
393
398
  } from "react";
394
399
 
395
- // css-module:/home/runner/work/credbuild/credbuild/components/ExternalInput/styles.module.css#css-module
400
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/ExternalInput/styles.module.css#css-module
396
401
  var styles_module_default2 = { "ExternalInput-actions": "_ExternalInput-actions_1gpb4_1", "ExternalInput-button": "_ExternalInput-button_1gpb4_5", "ExternalInput--dataSelected": "_ExternalInput--dataSelected_1gpb4_24", "ExternalInput--readOnly": "_ExternalInput--readOnly_1gpb4_31", "ExternalInput-detachButton": "_ExternalInput-detachButton_1gpb4_35", "ExternalInput": "_ExternalInput_1gpb4_1", "ExternalInputModal": "_ExternalInputModal_1gpb4_79", "ExternalInputModal-grid": "_ExternalInputModal-grid_1gpb4_89", "ExternalInputModal--filtersToggled": "_ExternalInputModal--filtersToggled_1gpb4_100", "ExternalInputModal-filters": "_ExternalInputModal-filters_1gpb4_105", "ExternalInputModal-masthead": "_ExternalInputModal-masthead_1gpb4_124", "ExternalInputModal-tableWrapper": "_ExternalInputModal-tableWrapper_1gpb4_133", "ExternalInputModal-table": "_ExternalInputModal-table_1gpb4_133", "ExternalInputModal-thead": "_ExternalInputModal-thead_1gpb4_149", "ExternalInputModal-th": "_ExternalInputModal-th_1gpb4_149", "ExternalInputModal-td": "_ExternalInputModal-td_1gpb4_164", "ExternalInputModal-tr": "_ExternalInputModal-tr_1gpb4_169", "ExternalInputModal-tbody": "_ExternalInputModal-tbody_1gpb4_176", "ExternalInputModal--hasData": "_ExternalInputModal--hasData_1gpb4_202", "ExternalInputModal-loadingBanner": "_ExternalInputModal-loadingBanner_1gpb4_206", "ExternalInputModal--isLoading": "_ExternalInputModal--isLoading_1gpb4_223", "ExternalInputModal-searchForm": "_ExternalInputModal-searchForm_1gpb4_227", "ExternalInputModal-search": "_ExternalInputModal-search_1gpb4_227", "ExternalInputModal-searchIcon": "_ExternalInputModal-searchIcon_1gpb4_264", "ExternalInputModal-searchIconText": "_ExternalInputModal-searchIconText_1gpb4_289", "ExternalInputModal-searchInput": "_ExternalInputModal-searchInput_1gpb4_299", "ExternalInputModal-searchActions": "_ExternalInputModal-searchActions_1gpb4_313", "ExternalInputModal-searchActionIcon": "_ExternalInputModal-searchActionIcon_1gpb4_326", "ExternalInputModal-footerContainer": "_ExternalInputModal-footerContainer_1gpb4_330", "ExternalInputModal-footer": "_ExternalInputModal-footer_1gpb4_330", "ExternalInputModal-field": "_ExternalInputModal-field_1gpb4_343" };
397
402
 
398
403
  // components/Modal/index.tsx
399
404
  import { useEffect as useEffect2, useState as useState3 } from "react";
400
405
 
401
- // css-module:/home/runner/work/credbuild/credbuild/components/Modal/styles.module.css#css-module
406
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/Modal/styles.module.css#css-module
402
407
  var styles_module_default3 = { "Modal": "_Modal_b422s_1", "Modal--isOpen": "_Modal--isOpen_b422s_15", "Modal-inner": "_Modal-inner_b422s_19" };
403
408
 
404
409
  // components/Modal/index.tsx
@@ -442,7 +447,7 @@ var Modal = ({
442
447
  );
443
448
  };
444
449
 
445
- // css-module:/home/runner/work/credbuild/credbuild/components/Heading/styles.module.css#css-module
450
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/Heading/styles.module.css#css-module
446
451
  var styles_module_default4 = { "Heading": "_Heading_1tpsl_1", "Heading--xxxxl": "_Heading--xxxxl_1tpsl_12", "Heading--xxxl": "_Heading--xxxl_1tpsl_18", "Heading--xxl": "_Heading--xxl_1tpsl_22", "Heading--xl": "_Heading--xl_1tpsl_26", "Heading--l": "_Heading--l_1tpsl_30", "Heading--m": "_Heading--m_1tpsl_34", "Heading--s": "_Heading--s_1tpsl_38", "Heading--xs": "_Heading--xs_1tpsl_42" };
447
452
 
448
453
  // components/Heading/index.tsx
@@ -940,7 +945,6 @@ import { lazy, Suspense } from "react";
940
945
 
941
946
  // components/RichTextEditor/components/EditorFallback.tsx
942
947
  import { memo } from "react";
943
- import DOMPurify from "isomorphic-dompurify";
944
948
  import { jsx as jsx14 } from "react/jsx-runtime";
945
949
  var EditorFallback = memo((props) => {
946
950
  return /* @__PURE__ */ jsx14(
@@ -961,7 +965,7 @@ var EditorFallback = memo((props) => {
961
965
  "div",
962
966
  {
963
967
  className: "rich-text",
964
- dangerouslySetInnerHTML: { __html: DOMPurify.sanitize(props.content) },
968
+ dangerouslySetInnerHTML: { __html: dompurify_default.sanitize(props.content, { ADD_ATTR: ["target"] }) },
965
969
  contentEditable: true
966
970
  }
967
971
  )
@@ -973,7 +977,7 @@ EditorFallback.displayName = "EditorFallback";
973
977
  // components/AutoField/fields/RichtextField/index.tsx
974
978
  import { Fragment as Fragment4, jsx as jsx15 } from "react/jsx-runtime";
975
979
  var Editor = lazy(
976
- () => import("./Editor-Z7SABUNT.mjs").then((m) => ({
980
+ () => import("./Editor-I3NGZND5.mjs").then((m) => ({
977
981
  default: m.Editor
978
982
  }))
979
983
  );
@@ -1010,8 +1014,8 @@ var RichtextField = ({
1010
1014
 
1011
1015
  // components/AutoField/AutoFieldInternal.tsx
1012
1016
  import { jsx as jsx16 } from "react/jsx-runtime";
1013
- var ArrayField = lazy2(() => import("./ArrayField-QREPD4FL.mjs").then((m) => ({ default: m.ArrayField })));
1014
- var ObjectField = lazy2(() => import("./ObjectField-5Q5QBVGN.mjs").then((m) => ({ default: m.ObjectField })));
1017
+ var ArrayField = lazy2(() => import("./ArrayField-5NGEZXWU.mjs").then((m) => ({ default: m.ArrayField })));
1018
+ var ObjectField = lazy2(() => import("./ObjectField-TK4CLEHL.mjs").then((m) => ({ default: m.ObjectField })));
1015
1019
  var getClassNameWrapper2 = get_class_name_factory_default("InputWrapper", styles_module_default);
1016
1020
  var defaultFields = {
1017
1021
  array: ArrayField,
@@ -1857,7 +1857,7 @@ var useControlContext = () => {
1857
1857
  // components/RichTextMenu/components/SelectControl/index.tsx
1858
1858
  import { useMemo } from "react";
1859
1859
 
1860
- // css-module:/home/runner/work/credbuild/credbuild/components/Select/styles.module.css#css-module
1860
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/Select/styles.module.css#css-module
1861
1861
  var styles_module_default = { "Select": "_Select_16son_1", "Select-button": "_Select-button_16son_6", "Select--hasOptions": "_Select--hasOptions_16son_19", "Select--disabled": "_Select--disabled_16son_23", "Select-buttonIcon": "_Select-buttonIcon_16son_27", "Select--standalone": "_Select--standalone_16son_33", "Select--actionBar": "_Select--actionBar_16son_38", "Select--hasValue": "_Select--hasValue_16son_44", "Select-items": "_Select-items_16son_61", "SelectItem": "_SelectItem_16son_72", "SelectItem--isSelected": "_SelectItem--isSelected_16son_87", "SelectItem-icon": "_SelectItem-icon_16son_93" };
1862
1862
 
1863
1863
  // components/Select/index.tsx
@@ -1885,7 +1885,9 @@ var Select = ({
1885
1885
  value,
1886
1886
  defaultValue,
1887
1887
  mode,
1888
- disabled = false
1888
+ disabled = false,
1889
+ title,
1890
+ ariaLabel
1889
1891
  }) => {
1890
1892
  const [open, setOpen] = useState(false);
1891
1893
  const hasOptions = options.length > 0;
@@ -1901,13 +1903,30 @@ var Select = ({
1901
1903
  disabled: isDisabled
1902
1904
  }),
1903
1905
  children: /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
1904
- hasOptions ? /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs("button", { type: "button", className: getClassName("button"), children: [
1905
- /* @__PURE__ */ jsx("span", { className: getClassName("buttonIcon"), children }),
1906
- /* @__PURE__ */ jsx(ChevronDown, { size: 12 })
1907
- ] }) }) : /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("div", { className: getClassName("button"), children: [
1908
- /* @__PURE__ */ jsx("span", { className: getClassName("buttonIcon"), children }),
1909
- /* @__PURE__ */ jsx(ChevronDown, { size: 12 })
1910
- ] }) }),
1906
+ hasOptions ? /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
1907
+ "button",
1908
+ {
1909
+ type: "button",
1910
+ className: getClassName("button"),
1911
+ title,
1912
+ "aria-label": ariaLabel || title,
1913
+ children: [
1914
+ /* @__PURE__ */ jsx("span", { className: getClassName("buttonIcon"), children }),
1915
+ /* @__PURE__ */ jsx(ChevronDown, { size: 12 })
1916
+ ]
1917
+ }
1918
+ ) }) : /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs(
1919
+ "div",
1920
+ {
1921
+ className: getClassName("button"),
1922
+ title,
1923
+ "aria-label": ariaLabel || title,
1924
+ children: [
1925
+ /* @__PURE__ */ jsx("span", { className: getClassName("buttonIcon"), children }),
1926
+ /* @__PURE__ */ jsx(ChevronDown, { size: 12 })
1927
+ ]
1928
+ }
1929
+ ) }),
1911
1930
  options.length > 0 && /* @__PURE__ */ jsx(PopoverPortal, { children: /* @__PURE__ */ jsx(PopoverContent, { align: "start", children: /* @__PURE__ */ jsx("ul", { className: getClassName("items"), "data-credbuild-rte-menu": true, children: options.map((option) => {
1912
1931
  const Icon2 = option.icon;
1913
1932
  return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
@@ -1937,7 +1956,8 @@ function SelectControl({
1937
1956
  onChange,
1938
1957
  options,
1939
1958
  value,
1940
- defaultValue
1959
+ defaultValue,
1960
+ title
1941
1961
  }) {
1942
1962
  const { inline, readOnly } = useControlContext();
1943
1963
  const optionsByValue = useMemo(
@@ -1957,6 +1977,7 @@ function SelectControl({
1957
1977
  defaultValue,
1958
1978
  mode: inline ? "actionBar" : "standalone",
1959
1979
  disabled: readOnly,
1980
+ title,
1960
1981
  children: /* @__PURE__ */ jsx2(Node, {})
1961
1982
  }
1962
1983
  );
@@ -4,10 +4,10 @@ import {
4
4
  useFieldStore,
5
5
  useFieldStoreApi,
6
6
  useNestedFieldContext
7
- } from "./chunk-OYB2YQPY.mjs";
7
+ } from "./chunk-N4PD57DO.mjs";
8
8
  import {
9
9
  IconButton
10
- } from "./chunk-QXPX7SNK.mjs";
10
+ } from "./chunk-LGPNWN5U.mjs";
11
11
  import {
12
12
  Copy,
13
13
  GripVertical,
@@ -18,7 +18,7 @@ import {
18
18
  replace,
19
19
  useAppStore,
20
20
  useAppStoreApi
21
- } from "./chunk-KN26YZZJ.mjs";
21
+ } from "./chunk-NFUQAIKA.mjs";
22
22
  import {
23
23
  get_class_name_factory_default
24
24
  } from "./chunk-BFHV72KK.mjs";
@@ -28,7 +28,7 @@ import {
28
28
  walkField
29
29
  } from "./chunk-O44M27KT.mjs";
30
30
 
31
- // css-module:/home/runner/work/credbuild/credbuild/components/AutoField/fields/ArrayField/styles.module.css#css-module
31
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/AutoField/fields/ArrayField/styles.module.css#css-module
32
32
  var styles_module_default = { "ArrayField": "_ArrayField_rvhj3_5", "ArrayField--isDraggingFrom": "_ArrayField--isDraggingFrom_rvhj3_13", "ArrayField-addButton": "_ArrayField-addButton_rvhj3_18", "ArrayField--hasItems": "_ArrayField--hasItems_rvhj3_33", "ArrayField-inner": "_ArrayField-inner_rvhj3_59", "ArrayFieldItem": "_ArrayFieldItem_rvhj3_67", "ArrayFieldItem--isDragging": "_ArrayFieldItem--isDragging_rvhj3_78", "ArrayFieldItem--isExpanded": "_ArrayFieldItem--isExpanded_rvhj3_82", "ArrayFieldItem-summary": "_ArrayFieldItem-summary_rvhj3_97", "ArrayFieldItem--noFields": "_ArrayFieldItem--noFields_rvhj3_122", "ArrayField--addDisabled": "_ArrayField--addDisabled_rvhj3_131", "ArrayFieldItem-body": "_ArrayFieldItem-body_rvhj3_170", "ArrayFieldItem-fieldset": "_ArrayFieldItem-fieldset_rvhj3_179", "ArrayFieldItem-rhs": "_ArrayFieldItem-rhs_rvhj3_187", "ArrayFieldItem-actions": "_ArrayFieldItem-actions_rvhj3_193" };
33
33
 
34
34
  // components/AutoField/fields/ArrayField/index.tsx
@@ -41,7 +41,7 @@ import {
41
41
  useState as useState2
42
42
  } from "react";
43
43
 
44
- // css-module:/home/runner/work/credbuild/credbuild/components/DragIcon/styles.module.css#css-module
44
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/DragIcon/styles.module.css#css-module
45
45
  var styles_module_default2 = { "DragIcon": "_DragIcon_ei1r9_1", "DragIcon--disabled": "_DragIcon--disabled_ei1r9_8" };
46
46
 
47
47
  // components/DragIcon/index.tsx
@@ -3,18 +3,18 @@ import {
3
3
  getDeep,
4
4
  useFieldStoreApi,
5
5
  useNestedFieldContext
6
- } from "./chunk-OYB2YQPY.mjs";
6
+ } from "./chunk-N4PD57DO.mjs";
7
7
  import {
8
8
  ChevronDown,
9
9
  ChevronUp,
10
10
  LayoutTemplate,
11
11
  useAppStore
12
- } from "./chunk-KN26YZZJ.mjs";
12
+ } from "./chunk-NFUQAIKA.mjs";
13
13
  import {
14
14
  get_class_name_factory_default
15
15
  } from "./chunk-BFHV72KK.mjs";
16
16
 
17
- // css-module:/home/runner/work/credbuild/credbuild/components/AutoField/fields/ObjectField/styles.module.css#css-module
17
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/AutoField/fields/ObjectField/styles.module.css#css-module
18
18
  var styles_module_default = { "ObjectField": "_ObjectField_12pvo_1", "ObjectField--isOpen": "_ObjectField--isOpen_12pvo_10", "ObjectField-content": "_ObjectField-content_12pvo_14", "ObjectField-fieldset": "_ObjectField-fieldset_12pvo_18", "ObjectField-header": "_ObjectField-header_12pvo_30", "ObjectField-headerIcon": "_ObjectField-headerIcon_12pvo_53" };
19
19
 
20
20
  // components/AutoField/fields/ObjectField/index.tsx
@@ -0,0 +1,16 @@
1
+ // lib/dompurify.ts
2
+ import DOMPurify from "isomorphic-dompurify";
3
+ DOMPurify.addHook("afterSanitizeAttributes", function(node) {
4
+ if ("target" in node && node.getAttribute("target") === "_blank") {
5
+ const existingRel = node.getAttribute("rel") || "";
6
+ const rels = new Set(existingRel.split(" ").filter(Boolean));
7
+ rels.add("noopener");
8
+ rels.add("noreferrer");
9
+ node.setAttribute("rel", Array.from(rels).join(" "));
10
+ }
11
+ });
12
+ var dompurify_default = DOMPurify;
13
+
14
+ export {
15
+ dompurify_default
16
+ };
@@ -1,23 +1,26 @@
1
1
  import {
2
2
  LoadedRichTextMenu
3
- } from "./chunk-PEXHYNRZ.mjs";
3
+ } from "./chunk-3UVVSIWJ.mjs";
4
4
  import {
5
5
  DragIcon,
6
6
  createDynamicCollisionDetector,
7
7
  setDeep
8
- } from "./chunk-JR2TCNGX.mjs";
8
+ } from "./chunk-QJ3POSBT.mjs";
9
9
  import {
10
10
  EditorFallback,
11
11
  useContextStore,
12
12
  useSafeId
13
- } from "./chunk-OYB2YQPY.mjs";
13
+ } from "./chunk-N4PD57DO.mjs";
14
+ import {
15
+ dompurify_default
16
+ } from "./chunk-TFAYWP2C.mjs";
14
17
  import {
15
18
  styles_module_default
16
- } from "./chunk-ISXFLTBM.mjs";
19
+ } from "./chunk-HH537E6Q.mjs";
17
20
  import {
18
21
  ActionBar,
19
22
  Loader
20
- } from "./chunk-QXPX7SNK.mjs";
23
+ } from "./chunk-LGPNWN5U.mjs";
21
24
  import {
22
25
  Copy,
23
26
  CornerLeftUp,
@@ -26,7 +29,7 @@ import {
26
29
  resolveComponentData,
27
30
  useAppStore,
28
31
  useAppStoreApi
29
- } from "./chunk-KN26YZZJ.mjs";
32
+ } from "./chunk-NFUQAIKA.mjs";
30
33
  import {
31
34
  get_class_name_factory_default
32
35
  } from "./chunk-BFHV72KK.mjs";
@@ -160,6 +163,8 @@ var SliderField = ({
160
163
  useUnits && /* @__PURE__ */ jsxs(
161
164
  "select",
162
165
  {
166
+ "aria-label": "Select unit",
167
+ title: "Select unit",
163
168
  value: currentUnit,
164
169
  onChange: handleUnitChange,
165
170
  className: "cb-select-input",
@@ -450,7 +455,7 @@ var ColorPickerField = ({ value, onChange }) => {
450
455
  ] });
451
456
  };
452
457
 
453
- // css-module:/home/runner/work/credbuild/credbuild/components/Drawer/styles.module.css#css-module
458
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/Drawer/styles.module.css#css-module
454
459
  var styles_module_default2 = { "Drawer": "_Drawer_1quh5_1", "Drawer-draggable": "_Drawer-draggable_1quh5_7", "Drawer-draggableBg": "_Drawer-draggableBg_1quh5_11", "DrawerItem-draggable": "_DrawerItem-draggable_1quh5_21", "DrawerItem--disabled": "_DrawerItem--disabled_1quh5_34", "DrawerItem": "_DrawerItem_1quh5_21", "Drawer--isDraggingFrom": "_Drawer--isDraggingFrom_1quh5_43", "DrawerItem-default": "_DrawerItem-default_1quh5_44", "DrawerItem-name": "_DrawerItem-name_1quh5_61" };
455
460
 
456
461
  // components/Drawer/index.tsx
@@ -677,7 +682,6 @@ import {
677
682
  useMemo as useMemo8,
678
683
  useRef as useRef8
679
684
  } from "react";
680
- import DOMPurify2 from "isomorphic-dompurify";
681
685
 
682
686
  // components/DraggableComponent/index.tsx
683
687
  import {
@@ -691,7 +695,7 @@ import {
691
695
  useTransition
692
696
  } from "react";
693
697
 
694
- // css-module:/home/runner/work/credbuild/credbuild/components/DraggableComponent/styles.module.css#css-module
698
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/DraggableComponent/styles.module.css#css-module
695
699
  var styles_module_default3 = { "DraggableComponent": "_DraggableComponent_yrtpz_1", "DraggableComponent-overlayWrapper": "_DraggableComponent-overlayWrapper_yrtpz_12", "DraggableComponent-overlay": "_DraggableComponent-overlay_yrtpz_12", "DraggableComponent-loadingOverlay": "_DraggableComponent-loadingOverlay_yrtpz_34", "DraggableComponent--hover": "_DraggableComponent--hover_yrtpz_50", "DraggableComponent--isSelected": "_DraggableComponent--isSelected_yrtpz_57", "DraggableComponent-actionsOverlay": "_DraggableComponent-actionsOverlay_yrtpz_71", "DraggableComponent-actions": "_DraggableComponent-actions_yrtpz_71" };
696
700
 
697
701
  // components/DraggableComponent/index.tsx
@@ -1410,7 +1414,7 @@ var DraggableComponent = ({
1410
1414
  ] });
1411
1415
  };
1412
1416
 
1413
- // css-module:/home/runner/work/credbuild/credbuild/components/DropZone/styles.module.css#css-module
1417
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/DropZone/styles.module.css#css-module
1414
1418
  var styles_module_default4 = { "DropZone": "_DropZone_1vmgt_1", "DropZone--hasChildren": "_DropZone--hasChildren_1vmgt_11", "DropZone--isAreaSelected": "_DropZone--isAreaSelected_1vmgt_24", "DropZone--hoveringOverArea": "_DropZone--hoveringOverArea_1vmgt_25", "DropZone--isRootZone": "_DropZone--isRootZone_1vmgt_25", "DropZone--isDestination": "_DropZone--isDestination_1vmgt_35", "DropZone-item": "_DropZone-item_1vmgt_47", "DropZone-hitbox": "_DropZone-hitbox_1vmgt_51", "DropZone--isEnabled": "_DropZone--isEnabled_1vmgt_59", "DropZone--isAnimating": "_DropZone--isAnimating_1vmgt_68" };
1415
1419
 
1416
1420
  // components/DropZone/index.tsx
@@ -1682,7 +1686,6 @@ import { forwardRef } from "react";
1682
1686
  import { lazy, Suspense, useMemo as useMemo5 } from "react";
1683
1687
 
1684
1688
  // components/RichTextEditor/components/RenderFallback.tsx
1685
- import DOMPurify from "isomorphic-dompurify";
1686
1689
  import { jsx as jsx7 } from "react/jsx-runtime";
1687
1690
  var getClassName3 = get_class_name_factory_default("RichTextEditor", styles_module_default);
1688
1691
  function RichTextRenderFallback({ content }) {
@@ -1690,7 +1693,7 @@ function RichTextRenderFallback({ content }) {
1690
1693
  "div",
1691
1694
  {
1692
1695
  className: "rich-text",
1693
- dangerouslySetInnerHTML: { __html: DOMPurify.sanitize(content) }
1696
+ dangerouslySetInnerHTML: { __html: dompurify_default.sanitize(content, { ADD_ATTR: ["target"] }) }
1694
1697
  }
1695
1698
  ) });
1696
1699
  }
@@ -1740,7 +1743,7 @@ function useRichtextProps(fields, props) {
1740
1743
  const richtextProps = useMemo5(() => {
1741
1744
  if (!richtextKeys?.length) return {};
1742
1745
  const RichTextRender2 = lazy(
1743
- () => import("./Render-I6PZ5MEA.mjs").then((m) => ({
1746
+ () => import("./Render-YPURU4ZF.mjs").then((m) => ({
1744
1747
  default: m.RichTextRender
1745
1748
  }))
1746
1749
  );
@@ -1873,7 +1876,7 @@ function useFieldTransformsTracked(config, item, transforms, readOnly, forceRead
1873
1876
  // components/InlineTextField/index.tsx
1874
1877
  import { memo, useEffect as useEffect6, useRef as useRef5, useState as useState6 } from "react";
1875
1878
 
1876
- // css-module:/home/runner/work/credbuild/credbuild/components/InlineTextField/styles.module.css#css-module
1879
+ // css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/InlineTextField/styles.module.css#css-module
1877
1880
  var styles_module_default5 = { "InlineTextField": "_InlineTextField_104qp_1" };
1878
1881
 
1879
1882
  // lib/get-selector-for-id.ts
@@ -2042,12 +2045,12 @@ import {
2042
2045
  } from "react";
2043
2046
  import { jsx as jsx13 } from "react/jsx-runtime";
2044
2047
  var Editor = lazy2(
2045
- () => import("./Editor-Z7SABUNT.mjs").then((m) => ({
2048
+ () => import("./Editor-I3NGZND5.mjs").then((m) => ({
2046
2049
  default: m.Editor
2047
2050
  }))
2048
2051
  );
2049
2052
  var RichTextRender = lazy2(
2050
- () => import("./Render-I6PZ5MEA.mjs").then((m) => ({
2053
+ () => import("./Render-YPURU4ZF.mjs").then((m) => ({
2051
2054
  default: m.RichTextRender
2052
2055
  }))
2053
2056
  );
@@ -2454,7 +2457,7 @@ var InsertPreview = ({
2454
2457
  if (element) {
2455
2458
  return (
2456
2459
  // Safe to use this since the HTML is set by the user
2457
- /* @__PURE__ */ jsx16("div", { dangerouslySetInnerHTML: { __html: DOMPurify2.sanitize(element.outerHTML) } })
2460
+ /* @__PURE__ */ jsx16("div", { dangerouslySetInnerHTML: { __html: dompurify_default.sanitize(element.outerHTML, { ADD_ATTR: ["target"] }) } })
2458
2461
  );
2459
2462
  }
2460
2463
  return /* @__PURE__ */ jsx16(DrawerItemInner, { name: label, children: override });
@@ -1,4 +1,4 @@
1
- /* css-module:/home/runner/work/credbuild/credbuild/components/RichTextMenu/styles.module.css/#css-module-data */
1
+ /* css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/RichTextMenu/styles.module.css/#css-module-data */
2
2
  ._RichTextMenu_193iw_1 {
3
3
  display: flex;
4
4
  flex-direction: row;
@@ -40,7 +40,7 @@
40
40
  border-left: 0.5px solid var(--credbuild-color-grey-05);
41
41
  }
42
42
 
43
- /* css-module:/home/runner/work/credbuild/credbuild/components/IconButton/IconButton.module.css/#css-module-data */
43
+ /* css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/IconButton/IconButton.module.css/#css-module-data */
44
44
  ._IconButton_1a0fz_1 {
45
45
  align-items: center;
46
46
  background: transparent;
@@ -85,7 +85,7 @@
85
85
  color: var(--credbuild-color-grey-07);
86
86
  }
87
87
 
88
- /* css-module:/home/runner/work/credbuild/credbuild/components/Loader/styles.module.css/#css-module-data */
88
+ /* css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/Loader/styles.module.css/#css-module-data */
89
89
  @keyframes _loader-animation_nacdm_1 {
90
90
  0% {
91
91
  transform: rotate(0deg) scale(1);
@@ -107,7 +107,7 @@
107
107
  animation-fill-mode: both;
108
108
  }
109
109
 
110
- /* css-module:/home/runner/work/credbuild/credbuild/components/ActionBar/styles.module.css/#css-module-data */
110
+ /* css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/ActionBar/styles.module.css/#css-module-data */
111
111
  ._ActionBar_1xjbo_1 {
112
112
  align-items: center;
113
113
  cursor: default;
@@ -207,7 +207,7 @@
207
207
  height: 12px;
208
208
  }
209
209
 
210
- /* css-module:/home/runner/work/credbuild/credbuild/components/RichTextMenu/components/Control/styles.module.css/#css-module-data */
210
+ /* css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/RichTextMenu/components/Control/styles.module.css/#css-module-data */
211
211
  ._Control_1aveu_1 .lucide {
212
212
  height: 18px;
213
213
  width: 18px;
@@ -217,7 +217,7 @@
217
217
  width: 16px;
218
218
  }
219
219
 
220
- /* css-module:/home/runner/work/credbuild/credbuild/components/Select/styles.module.css/#css-module-data */
220
+ /* css-module:/home/rasyiqi/PROJECT/Credbuild/credbuild/components/Select/styles.module.css/#css-module-data */
221
221
  ._Select_16son_1 {
222
222
  position: relative;
223
223
  z-index: 1;