@strands.gg/accui 2.15.11 → 2.15.14

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 (30) hide show
  1. package/dist/StrandsUIPlugin-D9RVai-I.cjs.js +1 -0
  2. package/dist/{StrandsUIPlugin-JP858JzQ.es.js → StrandsUIPlugin-Dws5Nqi_.es.js} +243 -53
  3. package/dist/accui.css +1 -1
  4. package/dist/index.cjs.js +1 -1
  5. package/dist/index.es.js +67 -18
  6. package/dist/vite.cjs.js +1 -1
  7. package/dist/vite.es.js +1 -1
  8. package/dist/webcomponents/define-element.d.ts +25 -0
  9. package/dist/webcomponents/entries/strands-alert.d.ts +12 -0
  10. package/dist/webcomponents/entries/strands-button.d.ts +12 -0
  11. package/dist/webcomponents/entries/strands-card.d.ts +12 -0
  12. package/dist/webcomponents/entries/strands-checkbox-group.d.ts +11 -0
  13. package/dist/webcomponents/entries/strands-divider.d.ts +12 -0
  14. package/dist/webcomponents/entries/strands-input.d.ts +14 -0
  15. package/dist/webcomponents/entries/strands-link.d.ts +12 -0
  16. package/dist/webcomponents/entries/strands-loader-spinner.d.ts +10 -0
  17. package/dist/webcomponents/entries/strands-modal.d.ts +16 -0
  18. package/dist/webcomponents/entries/strands-pill.d.ts +11 -0
  19. package/dist/webcomponents/entries/strands-radio-group.d.ts +11 -0
  20. package/dist/webcomponents/entries/strands-slider.d.ts +10 -0
  21. package/dist/webcomponents/entries/strands-table.d.ts +13 -0
  22. package/dist/webcomponents/entries/strands-tabs.d.ts +12 -0
  23. package/dist/webcomponents/entries/strands-theme-toggle.d.ts +10 -0
  24. package/dist/webcomponents/entries/strands-toggle.d.ts +10 -0
  25. package/dist/webcomponents/entries/strands-tooltip.d.ts +12 -0
  26. package/dist/webcomponents/index.d.ts +8 -0
  27. package/dist/webcomponents/loader.d.ts +73 -0
  28. package/dist/webcomponents/registry.d.ts +41 -0
  29. package/package.json +3 -1
  30. package/dist/StrandsUIPlugin-DSCUXdBp.cjs.js +0 -1
@@ -1573,6 +1573,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
1573
1573
  label: {},
1574
1574
  helpText: {},
1575
1575
  modelValue: {},
1576
+ value: {},
1576
1577
  placeholder: {},
1577
1578
  disabled: { type: Boolean, default: false },
1578
1579
  readonly: { type: Boolean, default: false },
@@ -1738,6 +1739,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
1738
1739
  label: {},
1739
1740
  helpText: {},
1740
1741
  modelValue: {},
1742
+ value: {},
1741
1743
  placeholder: {},
1742
1744
  disabled: { type: Boolean, default: false },
1743
1745
  readonly: { type: Boolean, default: false },
@@ -2061,18 +2063,18 @@ const _hoisted_6$3 = {
2061
2063
  class: "input-trailing-icon"
2062
2064
  };
2063
2065
  const _hoisted_7$3 = ["id", "aria-multiselectable"];
2064
- const _hoisted_8$2 = {
2066
+ const _hoisted_8$3 = {
2065
2067
  key: 0,
2066
2068
  class: "input-dropdown-search"
2067
2069
  };
2068
- const _hoisted_9$2 = {
2070
+ const _hoisted_9$3 = {
2069
2071
  key: 0,
2070
2072
  class: "input-dropdown-no-options"
2071
2073
  };
2072
- const _hoisted_10$2 = ["onClick", "onMouseenter", "aria-selected"];
2073
- const _hoisted_11$2 = { class: "input-dropdown-option-content" };
2074
- const _hoisted_12$2 = { class: "input-dropdown-option-text" };
2075
- const _hoisted_13$2 = {
2074
+ const _hoisted_10$3 = ["onClick", "onMouseenter", "aria-selected"];
2075
+ const _hoisted_11$3 = { class: "input-dropdown-option-content" };
2076
+ const _hoisted_12$3 = { class: "input-dropdown-option-text" };
2077
+ const _hoisted_13$3 = {
2076
2078
  key: 0,
2077
2079
  class: "input-dropdown-option-description"
2078
2080
  };
@@ -2095,6 +2097,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2095
2097
  label: {},
2096
2098
  helpText: {},
2097
2099
  modelValue: {},
2100
+ value: {},
2098
2101
  placeholder: {},
2099
2102
  disabled: { type: Boolean, default: false },
2100
2103
  readonly: { type: Boolean },
@@ -2437,7 +2440,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2437
2440
  onMousedown: _cache[1] || (_cache[1] = withModifiers(() => {
2438
2441
  }, ["prevent"]))
2439
2442
  }, [
2440
- _ctx.searchable ? (openBlock(), createElementBlock("div", _hoisted_8$2, [
2443
+ _ctx.searchable ? (openBlock(), createElementBlock("div", _hoisted_8$3, [
2441
2444
  createVNode(StrandsUiInput, {
2442
2445
  ref_key: "searchInputRef",
2443
2446
  ref: searchInputRef,
@@ -2459,7 +2462,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2459
2462
  class: "input-dropdown-options",
2460
2463
  style: normalizeStyle({ maxHeight: `${_ctx.maxDropdownHeight}px` })
2461
2464
  }, [
2462
- filteredOptions.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_9$2, [
2465
+ filteredOptions.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_9$3, [
2463
2466
  renderSlot(_ctx.$slots, "zero-state", {}, () => [
2464
2467
  createTextVNode(toDisplayString(_ctx.noOptionsText), 1)
2465
2468
  ], true)
@@ -2478,14 +2481,14 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2478
2481
  role: "option",
2479
2482
  "aria-selected": isOptionSelected(option)
2480
2483
  }, [
2481
- createElementVNode("div", _hoisted_11$2, [
2482
- createElementVNode("div", _hoisted_12$2, toDisplayString(option.label), 1),
2483
- option.description ? (openBlock(), createElementBlock("div", _hoisted_13$2, toDisplayString(option.description), 1)) : createCommentVNode("", true)
2484
+ createElementVNode("div", _hoisted_11$3, [
2485
+ createElementVNode("div", _hoisted_12$3, toDisplayString(option.label), 1),
2486
+ option.description ? (openBlock(), createElementBlock("div", _hoisted_13$3, toDisplayString(option.description), 1)) : createCommentVNode("", true)
2484
2487
  ]),
2485
2488
  _ctx.multiple && isOptionSelected(option) ? (openBlock(), createElementBlock("div", _hoisted_14$2, [
2486
2489
  createVNode(unref(Check))
2487
2490
  ])) : createCommentVNode("", true)
2488
- ], 42, _hoisted_10$2);
2491
+ ], 42, _hoisted_10$3);
2489
2492
  }), 128))
2490
2493
  ], 4)
2491
2494
  ], 46, _hoisted_7$3)) : createCommentVNode("", true)
@@ -2505,21 +2508,21 @@ const _hoisted_5$5 = {
2505
2508
  };
2506
2509
  const _hoisted_6$2 = { class: "input-file-list" };
2507
2510
  const _hoisted_7$2 = { class: "input-file-item" };
2508
- const _hoisted_8$1 = { class: "input-file-name" };
2509
- const _hoisted_9$1 = {
2511
+ const _hoisted_8$2 = { class: "input-file-name" };
2512
+ const _hoisted_9$2 = {
2510
2513
  key: 1,
2511
2514
  class: "input-file-prompt"
2512
2515
  };
2513
- const _hoisted_10$1 = { class: "input-file-prompt-text" };
2514
- const _hoisted_11$1 = {
2516
+ const _hoisted_10$2 = { class: "input-file-prompt-text" };
2517
+ const _hoisted_11$2 = {
2515
2518
  key: 0,
2516
2519
  class: "input-file-accept-text"
2517
2520
  };
2518
- const _hoisted_12$1 = {
2521
+ const _hoisted_12$2 = {
2519
2522
  key: 2,
2520
2523
  class: "input-file-selected"
2521
2524
  };
2522
- const _hoisted_13$1 = { class: "input-file-selected-text" };
2525
+ const _hoisted_13$2 = { class: "input-file-selected-text" };
2523
2526
  const _hoisted_14$1 = { class: "input-file-list" };
2524
2527
  const _hoisted_15$1 = { class: "input-file-name" };
2525
2528
  const _hoisted_16$1 = { class: "input-file-size" };
@@ -2545,6 +2548,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2545
2548
  label: {},
2546
2549
  helpText: {},
2547
2550
  modelValue: {},
2551
+ value: {},
2548
2552
  placeholder: {},
2549
2553
  disabled: { type: Boolean, default: false },
2550
2554
  readonly: { type: Boolean },
@@ -2771,14 +2775,14 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2771
2775
  _cache[0] || (_cache[0] = createElementVNode("div", { class: "input-file-selected-text" }, " File loaded ", -1)),
2772
2776
  createElementVNode("div", _hoisted_6$2, [
2773
2777
  createElementVNode("div", _hoisted_7$2, [
2774
- createElementVNode("span", _hoisted_8$1, toDisplayString(displayUrl.value), 1)
2778
+ createElementVNode("span", _hoisted_8$2, toDisplayString(displayUrl.value), 1)
2775
2779
  ])
2776
2780
  ])
2777
- ])) : selectedFiles.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_9$1, [
2778
- createElementVNode("div", _hoisted_10$1, toDisplayString(_ctx.dragDropText || "Click to select or drag and drop"), 1),
2779
- _ctx.accept ? (openBlock(), createElementBlock("div", _hoisted_11$1, toDisplayString(_ctx.accept), 1)) : createCommentVNode("", true)
2780
- ])) : (openBlock(), createElementBlock("div", _hoisted_12$1, [
2781
- createElementVNode("div", _hoisted_13$1, toDisplayString(_ctx.selectedText || `${selectedFiles.value.length} file(s) selected`), 1),
2781
+ ])) : selectedFiles.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_9$2, [
2782
+ createElementVNode("div", _hoisted_10$2, toDisplayString(_ctx.dragDropText || "Click to select or drag and drop"), 1),
2783
+ _ctx.accept ? (openBlock(), createElementBlock("div", _hoisted_11$2, toDisplayString(_ctx.accept), 1)) : createCommentVNode("", true)
2784
+ ])) : (openBlock(), createElementBlock("div", _hoisted_12$2, [
2785
+ createElementVNode("div", _hoisted_13$2, toDisplayString(_ctx.selectedText || `${selectedFiles.value.length} file(s) selected`), 1),
2782
2786
  createElementVNode("div", _hoisted_14$1, [
2783
2787
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(selectedFiles.value, (file, index) => {
2784
2788
  return openBlock(), createElementBlock("div", {
@@ -3299,12 +3303,12 @@ const _hoisted_7$1 = {
3299
3303
  key: 1,
3300
3304
  class: "datetime-picker-panel"
3301
3305
  };
3302
- const _hoisted_8 = { class: "datetime-picker-header" };
3303
- const _hoisted_9 = { class: "datetime-picker-month-year" };
3304
- const _hoisted_10 = ["value"];
3305
- const _hoisted_11 = ["value"];
3306
- const _hoisted_12 = { class: "datetime-picker-weekdays" };
3307
- const _hoisted_13 = { class: "datetime-picker-grid" };
3306
+ const _hoisted_8$1 = { class: "datetime-picker-header" };
3307
+ const _hoisted_9$1 = { class: "datetime-picker-month-year" };
3308
+ const _hoisted_10$1 = ["value"];
3309
+ const _hoisted_11$1 = ["value"];
3310
+ const _hoisted_12$1 = { class: "datetime-picker-weekdays" };
3311
+ const _hoisted_13$1 = { class: "datetime-picker-grid" };
3308
3312
  const _hoisted_14 = {
3309
3313
  key: 2,
3310
3314
  class: "datetime-picker-panel datetime-picker-time-panel"
@@ -3696,7 +3700,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3696
3700
  style: { "margin-bottom": "1rem" }
3697
3701
  }, null, 8, ["modelValue", "tabs"])) : createCommentVNode("", true),
3698
3702
  showDatePanel.value ? (openBlock(), createElementBlock("div", _hoisted_7$1, [
3699
- createElementVNode("div", _hoisted_8, [
3703
+ createElementVNode("div", _hoisted_8$1, [
3700
3704
  createVNode(StrandsUiButton, {
3701
3705
  onClick: previousMonth,
3702
3706
  disabled: isPrevDisabled.value,
@@ -3710,7 +3714,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3710
3714
  ]),
3711
3715
  _: 1
3712
3716
  }, 8, ["disabled"]),
3713
- createElementVNode("div", _hoisted_9, [
3717
+ createElementVNode("div", _hoisted_9$1, [
3714
3718
  withDirectives(createElementVNode("select", {
3715
3719
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => currentMonth.value = $event),
3716
3720
  class: "datetime-picker-select"
@@ -3719,7 +3723,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3719
3723
  return createElementVNode("option", {
3720
3724
  key: index,
3721
3725
  value: index
3722
- }, toDisplayString(month), 9, _hoisted_10);
3726
+ }, toDisplayString(month), 9, _hoisted_10$1);
3723
3727
  }), 64))
3724
3728
  ], 512), [
3725
3729
  [vModelSelect, currentMonth.value]
@@ -3732,7 +3736,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3732
3736
  return openBlock(), createElementBlock("option", {
3733
3737
  key: year,
3734
3738
  value: year
3735
- }, toDisplayString(year), 9, _hoisted_11);
3739
+ }, toDisplayString(year), 9, _hoisted_11$1);
3736
3740
  }), 128))
3737
3741
  ], 512), [
3738
3742
  [vModelSelect, currentYear.value]
@@ -3752,7 +3756,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3752
3756
  _: 1
3753
3757
  }, 8, ["disabled"])
3754
3758
  ]),
3755
- createElementVNode("div", _hoisted_12, [
3759
+ createElementVNode("div", _hoisted_12$1, [
3756
3760
  (openBlock(), createElementBlock(Fragment$1, null, renderList(weekDays, (day) => {
3757
3761
  return createElementVNode("div", {
3758
3762
  key: day,
@@ -3760,7 +3764,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3760
3764
  }, toDisplayString(day), 1);
3761
3765
  }), 64))
3762
3766
  ]),
3763
- createElementVNode("div", _hoisted_13, [
3767
+ createElementVNode("div", _hoisted_13$1, [
3764
3768
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(calendarDays.value, (day) => {
3765
3769
  return openBlock(), createBlock(StrandsUiButton, {
3766
3770
  key: day.key,
@@ -3919,6 +3923,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3919
3923
  label: {},
3920
3924
  helpText: {},
3921
3925
  modelValue: {},
3926
+ value: {},
3922
3927
  placeholder: {},
3923
3928
  disabled: { type: Boolean, default: false },
3924
3929
  readonly: { type: Boolean, default: false },
@@ -3965,6 +3970,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
3965
3970
  label: {},
3966
3971
  helpText: {},
3967
3972
  modelValue: {},
3973
+ value: {},
3968
3974
  placeholder: {},
3969
3975
  disabled: { type: Boolean, default: false },
3970
3976
  readonly: { type: Boolean, default: false },
@@ -4013,6 +4019,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4013
4019
  label: {},
4014
4020
  helpText: {},
4015
4021
  modelValue: {},
4022
+ value: {},
4016
4023
  placeholder: {},
4017
4024
  disabled: { type: Boolean, default: false },
4018
4025
  readonly: { type: Boolean, default: false },
@@ -25011,15 +25018,26 @@ const _hoisted_3$2 = { class: "input-richtext-group" };
25011
25018
  const _hoisted_4$2 = { class: "input-richtext-group" };
25012
25019
  const _hoisted_5$2 = { class: "input-richtext-group" };
25013
25020
  const _hoisted_6 = { class: "input-richtext-group" };
25014
- const _hoisted_7 = { class: "input-richtext-editor-wrapper" };
25021
+ const _hoisted_7 = { class: "input-richtext-group" };
25022
+ const _hoisted_8 = { key: 0 };
25023
+ const _hoisted_9 = {
25024
+ key: 1,
25025
+ class: "input-richtext-dropdown-wrapper"
25026
+ };
25027
+ const _hoisted_10 = { key: 0 };
25028
+ const _hoisted_11 = ["onClick"];
25029
+ const _hoisted_12 = { class: "input-richtext-dropdown-item-label" };
25030
+ const _hoisted_13 = { class: "input-richtext-editor-wrapper" };
25015
25031
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
25016
25032
  __name: "UiInput.RichText",
25017
25033
  props: {
25018
25034
  minHeight: { default: "200px" },
25019
25035
  maxHeight: { default: "400px" },
25036
+ customControls: { default: () => [] },
25020
25037
  label: {},
25021
25038
  helpText: {},
25022
25039
  modelValue: {},
25040
+ value: {},
25023
25041
  placeholder: { default: "Start typing..." },
25024
25042
  disabled: { type: Boolean, default: false },
25025
25043
  readonly: { type: Boolean, default: false },
@@ -25033,12 +25051,65 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
25033
25051
  emits: ["update:modelValue", "blur", "focus"],
25034
25052
  setup(__props, { emit: __emit }) {
25035
25053
  useCssVars((_ctx) => ({
25036
- "653355e8": _ctx.minHeight,
25037
- "c14982c4": _ctx.maxHeight
25054
+ "97ca656e": _ctx.minHeight,
25055
+ "f3e0924a": _ctx.maxHeight
25038
25056
  }));
25039
25057
  const props = __props;
25040
25058
  const emit = __emit;
25041
25059
  const content = ref(typeof props.modelValue === "string" ? props.modelValue : "");
25060
+ const activeDropdownIndex = ref(null);
25061
+ const dropdownTriggerRefs = ref([]);
25062
+ const dropdownRef = ref();
25063
+ const {
25064
+ floatingStyle,
25065
+ updatePosition,
25066
+ cleanup: cleanupFloating
25067
+ } = useFloatingPosition({
25068
+ trigger: computed(() => activeDropdownIndex.value !== null ? dropdownTriggerRefs.value[activeDropdownIndex.value] : void 0),
25069
+ floating: dropdownRef,
25070
+ placement: "bottom-start",
25071
+ offset: 4,
25072
+ shift: true,
25073
+ flip: true,
25074
+ autoUpdate: true,
25075
+ clickOutside: {
25076
+ enabled: true,
25077
+ handler: () => {
25078
+ closeDropdown();
25079
+ }
25080
+ }
25081
+ });
25082
+ const openDropdown = async (index) => {
25083
+ activeDropdownIndex.value = index;
25084
+ await nextTick();
25085
+ updatePosition();
25086
+ };
25087
+ const closeDropdown = () => {
25088
+ activeDropdownIndex.value = null;
25089
+ };
25090
+ const toggleDropdown = (index) => {
25091
+ if (activeDropdownIndex.value === index) {
25092
+ closeDropdown();
25093
+ } else {
25094
+ openDropdown(index);
25095
+ }
25096
+ };
25097
+ const handleControlAction = (control) => {
25098
+ if (control.action && editor.value) {
25099
+ control.action(editor.value);
25100
+ }
25101
+ };
25102
+ const handleListItemAction = (item) => {
25103
+ if (editor.value) {
25104
+ item.action(editor.value);
25105
+ }
25106
+ closeDropdown();
25107
+ };
25108
+ const setDropdownTriggerRef = (el, index) => {
25109
+ if (el) {
25110
+ dropdownTriggerRefs.value[index] = el.$el || el;
25111
+ }
25112
+ };
25042
25113
  const editor = useEditor({
25043
25114
  content: content.value,
25044
25115
  editable: !props.disabled && !props.readonly,
@@ -25090,6 +25161,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
25090
25161
  if (editor.value) {
25091
25162
  editor.value.destroy();
25092
25163
  }
25164
+ cleanupFloating();
25093
25165
  });
25094
25166
  return (_ctx, _cache) => {
25095
25167
  return openBlock(), createElementBlock("div", {
@@ -25366,9 +25438,101 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
25366
25438
  ]),
25367
25439
  _: 1
25368
25440
  }, 8, ["disabled"])
25369
- ])
25441
+ ]),
25442
+ _ctx.customControls && _ctx.customControls.length > 0 ? (openBlock(), createElementBlock(Fragment$1, { key: 0 }, [
25443
+ createVNode(UiDivider, {
25444
+ orientation: "vertical",
25445
+ spacing: "28px",
25446
+ margin: "4px"
25447
+ }),
25448
+ createElementVNode("div", _hoisted_7, [
25449
+ (openBlock(true), createElementBlock(Fragment$1, null, renderList(_ctx.customControls, (control, index) => {
25450
+ return openBlock(), createElementBlock(Fragment$1, { key: index }, [
25451
+ control.action ? (openBlock(), createBlock(StrandsUiButton, {
25452
+ key: 0,
25453
+ color: "secondary",
25454
+ size: "sm",
25455
+ icon: !control.label,
25456
+ squircle: "",
25457
+ onClick: ($event) => handleControlAction(control),
25458
+ disabled: _ctx.disabled,
25459
+ title: control.label
25460
+ }, createSlots({
25461
+ default: withCtx(() => [
25462
+ control.label && control.icon ? (openBlock(), createElementBlock("span", _hoisted_8, toDisplayString(control.label), 1)) : control.label ? (openBlock(), createElementBlock(Fragment$1, { key: 1 }, [
25463
+ createTextVNode(toDisplayString(control.label), 1)
25464
+ ], 64)) : createCommentVNode("", true)
25465
+ ]),
25466
+ _: 2
25467
+ }, [
25468
+ control.icon ? {
25469
+ name: "icon",
25470
+ fn: withCtx(() => [
25471
+ (openBlock(), createBlock(resolveDynamicComponent(control.icon), { size: 16 }))
25472
+ ]),
25473
+ key: "0"
25474
+ } : void 0
25475
+ ]), 1032, ["icon", "onClick", "disabled", "title"])) : control.list ? (openBlock(), createElementBlock("div", _hoisted_9, [
25476
+ createVNode(StrandsUiButton, {
25477
+ ref_for: true,
25478
+ ref: (el) => setDropdownTriggerRef(el, index),
25479
+ color: "secondary",
25480
+ size: "sm",
25481
+ squircle: "",
25482
+ onClick: ($event) => toggleDropdown(index),
25483
+ disabled: _ctx.disabled,
25484
+ title: control.label,
25485
+ class: normalizeClass({ "input-richtext-dropdown-open": activeDropdownIndex.value === index })
25486
+ }, createSlots({
25487
+ default: withCtx(() => [
25488
+ control.label ? (openBlock(), createElementBlock("span", _hoisted_10, toDisplayString(control.label), 1)) : createCommentVNode("", true),
25489
+ createVNode(unref(ChevronDown), {
25490
+ size: 14,
25491
+ class: "input-richtext-dropdown-arrow"
25492
+ })
25493
+ ]),
25494
+ _: 2
25495
+ }, [
25496
+ control.icon ? {
25497
+ name: "icon",
25498
+ fn: withCtx(() => [
25499
+ (openBlock(), createBlock(resolveDynamicComponent(control.icon), { size: 16 }))
25500
+ ]),
25501
+ key: "0"
25502
+ } : void 0
25503
+ ]), 1032, ["onClick", "disabled", "title", "class"])
25504
+ ])) : createCommentVNode("", true)
25505
+ ], 64);
25506
+ }), 128))
25507
+ ])
25508
+ ], 64)) : createCommentVNode("", true)
25370
25509
  ]),
25371
- createElementVNode("div", _hoisted_7, [
25510
+ (openBlock(), createBlock(Teleport, { to: "body" }, [
25511
+ activeDropdownIndex.value !== null && _ctx.customControls?.[activeDropdownIndex.value]?.list ? (openBlock(), createElementBlock("div", {
25512
+ key: 0,
25513
+ ref_key: "dropdownRef",
25514
+ ref: dropdownRef,
25515
+ class: "input-richtext-dropdown",
25516
+ style: normalizeStyle(unref(floatingStyle))
25517
+ }, [
25518
+ (openBlock(true), createElementBlock(Fragment$1, null, renderList(_ctx.customControls[activeDropdownIndex.value].list, (item, itemIndex) => {
25519
+ return openBlock(), createElementBlock("button", {
25520
+ key: itemIndex,
25521
+ class: "input-richtext-dropdown-item",
25522
+ onClick: ($event) => handleListItemAction(item),
25523
+ type: "button"
25524
+ }, [
25525
+ item.icon ? (openBlock(), createBlock(resolveDynamicComponent(item.icon), {
25526
+ key: 0,
25527
+ size: 16,
25528
+ class: "input-richtext-dropdown-item-icon"
25529
+ })) : createCommentVNode("", true),
25530
+ createElementVNode("span", _hoisted_12, toDisplayString(item.label), 1)
25531
+ ], 8, _hoisted_11);
25532
+ }), 128))
25533
+ ], 4)) : createCommentVNode("", true)
25534
+ ])),
25535
+ createElementVNode("div", _hoisted_13, [
25372
25536
  createVNode(unref(EditorContent), {
25373
25537
  editor: unref(editor),
25374
25538
  class: "input-richtext-editor",
@@ -25379,7 +25543,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
25379
25543
  };
25380
25544
  }
25381
25545
  });
25382
- const UiInputRichText = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-18a35d5d"]]);
25546
+ const UiInputRichText = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-b531e240"]]);
25383
25547
  const _hoisted_1$2 = { class: "pincode-inputs" };
25384
25548
  const _hoisted_2$2 = {
25385
25549
  key: 0,
@@ -25405,6 +25569,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
25405
25569
  label: {},
25406
25570
  helpText: {},
25407
25571
  modelValue: {},
25572
+ value: {},
25408
25573
  placeholder: {},
25409
25574
  disabled: { type: Boolean },
25410
25575
  readonly: { type: Boolean },
@@ -25667,6 +25832,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25667
25832
  label: {},
25668
25833
  helpText: {},
25669
25834
  modelValue: {},
25835
+ value: {},
25670
25836
  placeholder: {},
25671
25837
  disabled: { type: Boolean },
25672
25838
  readonly: { type: Boolean },
@@ -25697,15 +25863,36 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25697
25863
  minuteStep: {},
25698
25864
  minHeight: {},
25699
25865
  maxHeight: {},
25866
+ customControls: {},
25700
25867
  maxLength: {},
25701
25868
  variant: {},
25702
25869
  divider: {}
25703
25870
  },
25704
- emits: ["update:modelValue", "blur", "focus", "keydown", "file-error", "clear-preview", "complete"],
25871
+ emits: ["update:modelValue", "input", "change", "blur", "focus", "keydown", "file-error", "clear-preview", "complete"],
25705
25872
  setup(__props, { emit: __emit }) {
25706
25873
  const props = __props;
25707
25874
  const emit = __emit;
25708
25875
  const slots = useSlots();
25876
+ const internalValue = ref("");
25877
+ const currentValue = computed(() => {
25878
+ if (props.modelValue !== void 0) {
25879
+ return props.modelValue;
25880
+ }
25881
+ if (props.value !== void 0) {
25882
+ return props.value;
25883
+ }
25884
+ return internalValue.value;
25885
+ });
25886
+ watch(() => props.value, (newVal) => {
25887
+ if (newVal !== void 0) {
25888
+ internalValue.value = newVal;
25889
+ }
25890
+ }, { immediate: true });
25891
+ watch(() => props.modelValue, (newVal) => {
25892
+ if (newVal !== void 0) {
25893
+ internalValue.value = newVal;
25894
+ }
25895
+ }, { immediate: true });
25709
25896
  const inputId = computed(() => `input-${Math.random().toString(36).substring(2, 11)}`);
25710
25897
  const hasSlotContent$1 = (slotName) => hasSlotContent(slots, slotName);
25711
25898
  const isTextInput = computed(() => {
@@ -25714,7 +25901,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25714
25901
  return textTypes.includes(inputType);
25715
25902
  });
25716
25903
  const handleInput = (value) => {
25904
+ internalValue.value = value;
25717
25905
  emit("update:modelValue", value);
25906
+ emit("input", value);
25907
+ emit("change", value);
25718
25908
  };
25719
25909
  const handleBlur = (event) => {
25720
25910
  emit("blur", event);
@@ -25753,7 +25943,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25753
25943
  createElementVNode("div", null, [
25754
25944
  isTextInput.value ? (openBlock(), createBlock(UiInputText, {
25755
25945
  key: 0,
25756
- "model-value": _ctx.modelValue,
25946
+ "model-value": currentValue.value,
25757
25947
  type: _ctx.type,
25758
25948
  placeholder: _ctx.placeholder,
25759
25949
  disabled: _ctx.disabled,
@@ -25790,7 +25980,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25790
25980
  _: 3
25791
25981
  }, 8, ["model-value", "type", "placeholder", "disabled", "readonly", "required", "min", "max", "step", "autocomplete", "spellcheck", "input-id", "error", "size", "tabindex", "has-leading-icon", "has-trailing-icon"])) : _ctx.type === "textarea" ? (openBlock(), createBlock(UiInputTextarea, {
25792
25982
  key: 1,
25793
- "model-value": _ctx.modelValue,
25983
+ "model-value": currentValue.value,
25794
25984
  placeholder: _ctx.placeholder,
25795
25985
  disabled: _ctx.disabled,
25796
25986
  readonly: _ctx.readonly,
@@ -25827,7 +26017,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25827
26017
  _: 3
25828
26018
  }, 8, ["model-value", "placeholder", "disabled", "readonly", "required", "rows", "cols", "maxlength", "autocomplete", "spellcheck", "resizable", "input-id", "error", "size", "tabindex", "has-leading-icon", "has-trailing-icon"])) : _ctx.type === "select" ? (openBlock(), createBlock(UiInputSelect, {
25829
26019
  key: 2,
25830
- "model-value": _ctx.modelValue,
26020
+ "model-value": currentValue.value,
25831
26021
  options: props.options,
25832
26022
  placeholder: _ctx.placeholder,
25833
26023
  disabled: _ctx.disabled,
@@ -25862,7 +26052,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25862
26052
  _: 3
25863
26053
  }, 8, ["model-value", "options", "placeholder", "disabled", "multiple", "searchable", "allow-insert", "max-dropdown-height", "no-options-text", "search-placeholder", "input-id", "error", "size", "tabindex", "has-leading-icon", "has-trailing-icon"])) : _ctx.type === "file" ? (openBlock(), createBlock(UiInputFile, {
25864
26054
  key: 3,
25865
- "model-value": _ctx.modelValue,
26055
+ "model-value": currentValue.value,
25866
26056
  accept: props.accept,
25867
26057
  multiple: props.multiple,
25868
26058
  "max-file-size": props.maxFileSize,
@@ -25898,7 +26088,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25898
26088
  _: 3
25899
26089
  }, 8, ["model-value", "accept", "multiple", "max-file-size", "drag-drop-text", "selected-text", "preview", "disabled", "required", "input-id", "error", "size", "tabindex", "has-leading-icon", "has-trailing-icon"])) : _ctx.type === "date" ? (openBlock(), createBlock(_sfc_main$6, {
25900
26090
  key: 4,
25901
- "model-value": _ctx.modelValue,
26091
+ "model-value": currentValue.value,
25902
26092
  placeholder: _ctx.placeholder,
25903
26093
  disabled: _ctx.disabled,
25904
26094
  readonly: _ctx.readonly,
@@ -25914,7 +26104,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25914
26104
  onFocus: handleFocus
25915
26105
  }, null, 8, ["model-value", "placeholder", "disabled", "readonly", "required", "min", "max", "input-id", "error", "size", "tabindex"])) : _ctx.type === "time" ? (openBlock(), createBlock(_sfc_main$5, {
25916
26106
  key: 5,
25917
- "model-value": _ctx.modelValue,
26107
+ "model-value": currentValue.value,
25918
26108
  placeholder: _ctx.placeholder,
25919
26109
  disabled: _ctx.disabled,
25920
26110
  readonly: _ctx.readonly,
@@ -25928,7 +26118,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25928
26118
  onFocus: handleFocus
25929
26119
  }, null, 8, ["model-value", "placeholder", "disabled", "readonly", "required", "input-id", "error", "size", "tabindex"])) : _ctx.type === "datetime" ? (openBlock(), createBlock(_sfc_main$4, {
25930
26120
  key: 6,
25931
- "model-value": _ctx.modelValue,
26121
+ "model-value": currentValue.value,
25932
26122
  placeholder: _ctx.placeholder,
25933
26123
  disabled: _ctx.disabled,
25934
26124
  readonly: _ctx.readonly,
@@ -25944,7 +26134,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25944
26134
  onFocus: handleFocus
25945
26135
  }, null, 8, ["model-value", "placeholder", "disabled", "readonly", "required", "min", "max", "input-id", "error", "size", "tabindex"])) : _ctx.type === "richtext" ? (openBlock(), createBlock(UiInputRichText, {
25946
26136
  key: 7,
25947
- "model-value": _ctx.modelValue,
26137
+ "model-value": currentValue.value,
25948
26138
  placeholder: _ctx.placeholder,
25949
26139
  disabled: _ctx.disabled,
25950
26140
  readonly: _ctx.readonly,
@@ -25958,7 +26148,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25958
26148
  onFocus: handleFocus
25959
26149
  }, null, 8, ["model-value", "placeholder", "disabled", "readonly", "input-id", "error", "min-height", "max-height", "tabindex"])) : _ctx.type === "pincode" ? (openBlock(), createBlock(UiInputPincode, {
25960
26150
  key: 8,
25961
- "model-value": _ctx.modelValue,
26151
+ "model-value": currentValue.value,
25962
26152
  "max-length": props.maxLength || 6,
25963
26153
  variant: props.variant || "numeric",
25964
26154
  divider: props.divider,
@@ -26011,7 +26201,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26011
26201
  };
26012
26202
  }
26013
26203
  });
26014
- const StrandsUiInput = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-7dcc76a3"]]);
26204
+ const StrandsUiInput = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-bbde0259"]]);
26015
26205
  const _hoisted_1 = ["disabled", "aria-disabled"];
26016
26206
  const _hoisted_2 = ["href", "target", "rel", "aria-disabled"];
26017
26207
  const _sfc_main = /* @__PURE__ */ defineComponent({