@idds/vue 1.4.16 → 1.4.18

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.
package/dist/index.es.js CHANGED
@@ -409,12 +409,12 @@ const defaultColorTokens = {
409
409
  "secondary-800": "#164564",
410
410
  "secondary-900": "#0f2d42"
411
411
  };
412
- const _hoisted_1$J = ["id", "aria-expanded", "aria-controls", "disabled"];
413
- const _hoisted_2$D = { class: "ina-accordion__title" };
414
- const _hoisted_3$z = { class: "ina-accordion__toggler" };
412
+ const _hoisted_1$K = ["id", "aria-expanded", "aria-controls", "disabled"];
413
+ const _hoisted_2$E = { class: "ina-accordion__title" };
414
+ const _hoisted_3$A = { class: "ina-accordion__toggler" };
415
415
  const _hoisted_4$u = ["id", "aria-labelledby"];
416
416
  const _hoisted_5$o = { class: "ina-accordion__body" };
417
- const _sfc_main$O = /* @__PURE__ */ defineComponent({
417
+ const _sfc_main$P = /* @__PURE__ */ defineComponent({
418
418
  __name: "Accordion",
419
419
  props: {
420
420
  title: { default: "" },
@@ -524,12 +524,12 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
524
524
  disabled: __props.disabled,
525
525
  onClick: handleToggle
526
526
  }, [
527
- createElementVNode("div", _hoisted_2$D, [
527
+ createElementVNode("div", _hoisted_2$E, [
528
528
  renderSlot(_ctx.$slots, "title", {}, () => [
529
529
  createTextVNode(toDisplayString(__props.title), 1)
530
530
  ])
531
531
  ]),
532
- createElementVNode("div", _hoisted_3$z, [
532
+ createElementVNode("div", _hoisted_3$A, [
533
533
  (openBlock(), createElementBlock("svg", {
534
534
  class: normalizeClass(["ina-accordion__icon", { "ina-accordion__icon--open": isOpen.value }]),
535
535
  viewBox: "0 0 24 24",
@@ -545,7 +545,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
545
545
  }, null, -1)
546
546
  ])], 2))
547
547
  ])
548
- ], 8, _hoisted_1$J),
548
+ ], 8, _hoisted_1$K),
549
549
  createElementVNode("div", {
550
550
  id: contentId.value,
551
551
  class: normalizeClass(["ina-accordion__content", { "ina-accordion__content--open": isOpen.value }]),
@@ -559,9 +559,9 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
559
559
  };
560
560
  }
561
561
  });
562
- const _hoisted_1$I = { class: "ina-accordion-card__item" };
563
- const _hoisted_2$C = ["id", "aria-expanded", "aria-controls"];
564
- const _hoisted_3$y = { class: "ina-accordion-card__header-content" };
562
+ const _hoisted_1$J = { class: "ina-accordion-card__item" };
563
+ const _hoisted_2$D = ["id", "aria-expanded", "aria-controls"];
564
+ const _hoisted_3$z = { class: "ina-accordion-card__header-content" };
565
565
  const _hoisted_4$t = {
566
566
  key: 0,
567
567
  class: "ina-accordion-card__icon"
@@ -574,7 +574,7 @@ const _hoisted_7$j = {
574
574
  };
575
575
  const _hoisted_8$e = ["id", "aria-labelledby"];
576
576
  const _hoisted_9$b = { class: "ina-accordion-card__body" };
577
- const _sfc_main$N = /* @__PURE__ */ defineComponent({
577
+ const _sfc_main$O = /* @__PURE__ */ defineComponent({
578
578
  __name: "AccordionCard",
579
579
  props: {
580
580
  title: { default: "" },
@@ -617,7 +617,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
617
617
  return openBlock(), createElementBlock("div", {
618
618
  class: normalizeClass(["ina-accordion-card", cardClasses.value])
619
619
  }, [
620
- createElementVNode("div", _hoisted_1$I, [
620
+ createElementVNode("div", _hoisted_1$J, [
621
621
  createElementVNode("button", {
622
622
  id: headerId.value,
623
623
  type: "button",
@@ -626,7 +626,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
626
626
  "aria-controls": contentId.value,
627
627
  onClick: toggle
628
628
  }, [
629
- createElementVNode("div", _hoisted_3$y, [
629
+ createElementVNode("div", _hoisted_3$z, [
630
630
  __props.icon ? (openBlock(), createElementBlock("div", _hoisted_4$t, [
631
631
  (openBlock(), createBlock(resolveDynamicComponent(__props.icon), { size: 20 }))
632
632
  ])) : createCommentVNode("", true),
@@ -655,7 +655,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
655
655
  "stroke-linejoin": "round"
656
656
  }, null, -1)
657
657
  ])], 2))
658
- ], 8, _hoisted_2$C),
658
+ ], 8, _hoisted_2$D),
659
659
  createVNode(Transition, { name: "accordion" }, {
660
660
  default: withCtx(() => [
661
661
  isOpen.value ? (openBlock(), createElementBlock("div", {
@@ -683,9 +683,9 @@ const _export_sfc = (sfc, props) => {
683
683
  }
684
684
  return target;
685
685
  };
686
- const AccordionCard = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-5e3f081f"]]);
687
- const _hoisted_1$H = { class: "ina-accordion-group" };
688
- const _sfc_main$M = /* @__PURE__ */ defineComponent({
686
+ const AccordionCard = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-5e3f081f"]]);
687
+ const _hoisted_1$I = { class: "ina-accordion-group" };
688
+ const _sfc_main$N = /* @__PURE__ */ defineComponent({
689
689
  __name: "AccordionGroup",
690
690
  props: {
691
691
  multiple: { type: Boolean, default: false },
@@ -765,17 +765,17 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
765
765
  openIndexes: computed(() => openIndexes.value)
766
766
  });
767
767
  return (_ctx, _cache) => {
768
- return openBlock(), createElementBlock("div", _hoisted_1$H, [
768
+ return openBlock(), createElementBlock("div", _hoisted_1$I, [
769
769
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
770
770
  ]);
771
771
  };
772
772
  }
773
773
  });
774
- const AccordionGroup = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-a85c5702"]]);
775
- const _hoisted_1$G = ["disabled", "aria-expanded"];
776
- const _hoisted_2$B = { class: "ina-action-dropdown__trigger-content" };
777
- const _hoisted_3$x = { class: "ina-action-dropdown__menu" };
778
- const _sfc_main$L = /* @__PURE__ */ defineComponent({
774
+ const AccordionGroup = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-a85c5702"]]);
775
+ const _hoisted_1$H = ["disabled", "aria-expanded"];
776
+ const _hoisted_2$C = { class: "ina-action-dropdown__trigger-content" };
777
+ const _hoisted_3$y = { class: "ina-action-dropdown__menu" };
778
+ const _sfc_main$M = /* @__PURE__ */ defineComponent({
779
779
  __name: "ActionDropdown",
780
780
  props: {
781
781
  disabled: { type: Boolean, default: false },
@@ -903,7 +903,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
903
903
  "aria-expanded": isOpen.value,
904
904
  "aria-haspopup": true
905
905
  }, [
906
- createElementVNode("span", _hoisted_2$B, [
906
+ createElementVNode("span", _hoisted_2$C, [
907
907
  renderSlot(_ctx.$slots, "trigger", {}, () => [
908
908
  _cache[1] || (_cache[1] = createElementVNode("svg", {
909
909
  width: "16",
@@ -933,7 +933,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
933
933
  ], -1))
934
934
  ], true)
935
935
  ])
936
- ], 42, _hoisted_1$G),
936
+ ], 42, _hoisted_1$H),
937
937
  createVNode(Transition, { name: "dropdown" }, {
938
938
  default: withCtx(() => [
939
939
  isOpen.value ? (openBlock(), createElementBlock("div", {
@@ -945,7 +945,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
945
945
  onClick: _cache[0] || (_cache[0] = withModifiers(() => {
946
946
  }, ["stop"]))
947
947
  }, [
948
- createElementVNode("div", _hoisted_3$x, [
948
+ createElementVNode("div", _hoisted_3$y, [
949
949
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
950
950
  ])
951
951
  ], 4)) : createCommentVNode("", true)
@@ -956,7 +956,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
956
956
  };
957
957
  }
958
958
  });
959
- const ActionDropdown = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-7f534f78"]]);
959
+ const ActionDropdown = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-7f534f78"]]);
960
960
  /**
961
961
  * @license @tabler/icons-vue v3.35.0 - MIT
962
962
  *
@@ -1188,12 +1188,12 @@ var IconUpload = createVueComponent("outline", "upload", "Upload", [["path", { "
1188
1188
  * See the LICENSE file in the root directory of this source tree.
1189
1189
  */
1190
1190
  var IconX = createVueComponent("outline", "x", "X", [["path", { "d": "M18 6l-12 12", "key": "svg-0" }], ["path", { "d": "M6 6l12 12", "key": "svg-1" }]]);
1191
- const _hoisted_1$F = {
1191
+ const _hoisted_1$G = {
1192
1192
  key: 0,
1193
1193
  class: "ina-alert__icon"
1194
1194
  };
1195
- const _hoisted_2$A = { class: "ina-alert__content" };
1196
- const _hoisted_3$w = { class: "ina-alert__text-section" };
1195
+ const _hoisted_2$B = { class: "ina-alert__content" };
1196
+ const _hoisted_3$x = { class: "ina-alert__text-section" };
1197
1197
  const _hoisted_4$s = {
1198
1198
  key: 0,
1199
1199
  class: "ina-alert__title"
@@ -1207,7 +1207,7 @@ const _hoisted_6$j = {
1207
1207
  class: "ina-alert__actions"
1208
1208
  };
1209
1209
  const _hoisted_7$i = ["aria-label"];
1210
- const _sfc_main$K = /* @__PURE__ */ defineComponent({
1210
+ const _sfc_main$L = /* @__PURE__ */ defineComponent({
1211
1211
  __name: "Alert",
1212
1212
  props: {
1213
1213
  variant: { default: "info" },
@@ -1240,7 +1240,7 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
1240
1240
  class: normalizeClass(["ina-alert", alertClasses.value]),
1241
1241
  role: "alert"
1242
1242
  }, [
1243
- __props.icon || showVariantIcon.value ? (openBlock(), createElementBlock("div", _hoisted_1$F, [
1243
+ __props.icon || showVariantIcon.value ? (openBlock(), createElementBlock("div", _hoisted_1$G, [
1244
1244
  __props.icon ? (openBlock(), createBlock(resolveDynamicComponent(__props.icon), {
1245
1245
  key: 0,
1246
1246
  size: 20
@@ -1261,8 +1261,8 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
1261
1261
  size: 20
1262
1262
  })) : createCommentVNode("", true)
1263
1263
  ])) : createCommentVNode("", true),
1264
- createElementVNode("div", _hoisted_2$A, [
1265
- createElementVNode("div", _hoisted_3$w, [
1264
+ createElementVNode("div", _hoisted_2$B, [
1265
+ createElementVNode("div", _hoisted_3$x, [
1266
1266
  __props.title ? (openBlock(), createElementBlock("div", _hoisted_4$s, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
1267
1267
  _ctx.$slots.default || __props.message ? (openBlock(), createElementBlock("div", _hoisted_5$m, [
1268
1268
  renderSlot(_ctx.$slots, "default", {}, () => [
@@ -1301,8 +1301,8 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
1301
1301
  };
1302
1302
  }
1303
1303
  });
1304
- const _hoisted_1$E = ["src", "alt"];
1305
- const _sfc_main$J = /* @__PURE__ */ defineComponent({
1304
+ const _hoisted_1$F = ["src", "alt"];
1305
+ const _sfc_main$K = /* @__PURE__ */ defineComponent({
1306
1306
  __name: "Avatar",
1307
1307
  props: {
1308
1308
  src: {},
@@ -1342,22 +1342,22 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
1342
1342
  class: normalizeClass(avatarClasses.value),
1343
1343
  onError: handleImageError,
1344
1344
  onLoad: handleImageLoad
1345
- }, null, 42, _hoisted_1$E)) : (openBlock(), createElementBlock("div", {
1345
+ }, null, 42, _hoisted_1$F)) : (openBlock(), createElementBlock("div", {
1346
1346
  key: 1,
1347
1347
  class: normalizeClass(avatarClasses.value)
1348
1348
  }, toDisplayString(__props.initials ? __props.initials.slice(0, 2).toUpperCase() : ""), 3));
1349
1349
  };
1350
1350
  }
1351
1351
  });
1352
- const _hoisted_1$D = {
1352
+ const _hoisted_1$E = {
1353
1353
  key: 0,
1354
1354
  class: "ina-badge__prefix-icon"
1355
1355
  };
1356
- const _hoisted_2$z = {
1356
+ const _hoisted_2$A = {
1357
1357
  key: 1,
1358
1358
  class: "ina-badge__suffix-icon"
1359
1359
  };
1360
- const _sfc_main$I = /* @__PURE__ */ defineComponent({
1360
+ const _sfc_main$J = /* @__PURE__ */ defineComponent({
1361
1361
  __name: "Badge",
1362
1362
  props: {
1363
1363
  type: { default: "soft" },
@@ -1387,20 +1387,20 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
1387
1387
  return openBlock(), createElementBlock("span", {
1388
1388
  class: normalizeClass(["ina-badge", badgeClasses.value])
1389
1389
  }, [
1390
- __props.prefixIcon ? (openBlock(), createElementBlock("span", _hoisted_1$D, [
1390
+ __props.prefixIcon ? (openBlock(), createElementBlock("span", _hoisted_1$E, [
1391
1391
  (openBlock(), createBlock(resolveDynamicComponent(__props.prefixIcon)))
1392
1392
  ])) : createCommentVNode("", true),
1393
1393
  createElementVNode("span", null, [
1394
1394
  renderSlot(_ctx.$slots, "default")
1395
1395
  ]),
1396
- __props.suffixIcon ? (openBlock(), createElementBlock("span", _hoisted_2$z, [
1396
+ __props.suffixIcon ? (openBlock(), createElementBlock("span", _hoisted_2$A, [
1397
1397
  (openBlock(), createBlock(resolveDynamicComponent(__props.suffixIcon)))
1398
1398
  ])) : createCommentVNode("", true)
1399
1399
  ], 2);
1400
1400
  };
1401
1401
  }
1402
1402
  });
1403
- const _sfc_main$H = /* @__PURE__ */ defineComponent({
1403
+ const _sfc_main$I = /* @__PURE__ */ defineComponent({
1404
1404
  __name: "BottomSheet",
1405
1405
  props: {
1406
1406
  open: { type: Boolean, default: false },
@@ -1466,18 +1466,18 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
1466
1466
  };
1467
1467
  }
1468
1468
  });
1469
- const _hoisted_1$C = { class: "ina-breadcrumb__list" };
1470
- const _hoisted_2$y = {
1469
+ const _hoisted_1$D = { class: "ina-breadcrumb__list" };
1470
+ const _hoisted_2$z = {
1471
1471
  key: 0,
1472
1472
  class: "ina-breadcrumb__icon"
1473
1473
  };
1474
- const _hoisted_3$v = { class: "ina-breadcrumb__text" };
1474
+ const _hoisted_3$w = { class: "ina-breadcrumb__text" };
1475
1475
  const _hoisted_4$r = {
1476
1476
  key: 0,
1477
1477
  class: "ina-breadcrumb__separator",
1478
1478
  "aria-hidden": "true"
1479
1479
  };
1480
- const _sfc_main$G = /* @__PURE__ */ defineComponent({
1480
+ const _sfc_main$H = /* @__PURE__ */ defineComponent({
1481
1481
  __name: "Breadcrumb",
1482
1482
  props: {
1483
1483
  items: {},
@@ -1543,7 +1543,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
1543
1543
  class: normalizeClass(["ina-breadcrumb", breadcrumbClasses.value]),
1544
1544
  "aria-label": "Breadcrumb"
1545
1545
  }, [
1546
- createElementVNode("ol", _hoisted_1$C, [
1546
+ createElementVNode("ol", _hoisted_1$D, [
1547
1547
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index2) => {
1548
1548
  return openBlock(), createElementBlock("li", {
1549
1549
  key: index2,
@@ -1555,10 +1555,10 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
1555
1555
  onClick: ($event) => handleItemClick(item, index2)
1556
1556
  }, {
1557
1557
  default: withCtx(() => [
1558
- item.icon ? (openBlock(), createElementBlock("span", _hoisted_2$y, [
1558
+ item.icon ? (openBlock(), createElementBlock("span", _hoisted_2$z, [
1559
1559
  (openBlock(), createBlock(resolveDynamicComponent(item.icon), { size: 16 }))
1560
1560
  ])) : createCommentVNode("", true),
1561
- createElementVNode("span", _hoisted_3$v, toDisplayString(getTruncatedLabel(item.label, index2)), 1)
1561
+ createElementVNode("span", _hoisted_3$w, toDisplayString(getTruncatedLabel(item.label, index2)), 1)
1562
1562
  ]),
1563
1563
  _: 2
1564
1564
  }, 1032, ["href", "class", "onClick"])),
@@ -1576,8 +1576,8 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
1576
1576
  };
1577
1577
  }
1578
1578
  });
1579
- const _hoisted_1$B = ["type", "disabled"];
1580
- const _sfc_main$F = /* @__PURE__ */ defineComponent({
1579
+ const _hoisted_1$C = ["type", "disabled"];
1580
+ const _sfc_main$G = /* @__PURE__ */ defineComponent({
1581
1581
  __name: "Button",
1582
1582
  props: {
1583
1583
  hierarchy: { default: "primary" },
@@ -1625,13 +1625,13 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
1625
1625
  prefixIconNode.value ? (openBlock(), createBlock(resolveDynamicComponent(prefixIconNode.value), { key: 0 })) : createCommentVNode("", true),
1626
1626
  renderSlot(_ctx.$slots, "default"),
1627
1627
  suffixIconNode.value ? (openBlock(), createBlock(resolveDynamicComponent(suffixIconNode.value), { key: 1 })) : createCommentVNode("", true)
1628
- ], 16, _hoisted_1$B);
1628
+ ], 16, _hoisted_1$C);
1629
1629
  };
1630
1630
  }
1631
1631
  });
1632
- const _hoisted_1$A = ["disabled", "onClick", "aria-pressed", "aria-disabled", "name", "value"];
1633
- const _hoisted_2$x = { class: "ina-button-group__button-content" };
1634
- const _sfc_main$E = /* @__PURE__ */ defineComponent({
1632
+ const _hoisted_1$B = ["disabled", "onClick", "aria-pressed", "aria-disabled", "name", "value"];
1633
+ const _hoisted_2$y = { class: "ina-button-group__button-content" };
1634
+ const _sfc_main$F = /* @__PURE__ */ defineComponent({
1635
1635
  __name: "ButtonGroup",
1636
1636
  props: {
1637
1637
  options: {},
@@ -1693,7 +1693,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
1693
1693
  name: __props.name,
1694
1694
  value: option.value
1695
1695
  }, [
1696
- createElementVNode("span", _hoisted_2$x, [
1696
+ createElementVNode("span", _hoisted_2$y, [
1697
1697
  renderSlot(_ctx.$slots, `option-${index2}`, {
1698
1698
  option,
1699
1699
  selected: isSelected(option)
@@ -1701,18 +1701,18 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
1701
1701
  createTextVNode(toDisplayString(option.label), 1)
1702
1702
  ])
1703
1703
  ])
1704
- ], 10, _hoisted_1$A);
1704
+ ], 10, _hoisted_1$B);
1705
1705
  }), 128))
1706
1706
  ], 2);
1707
1707
  };
1708
1708
  }
1709
1709
  });
1710
- const _hoisted_1$z = {
1710
+ const _hoisted_1$A = {
1711
1711
  key: 0,
1712
1712
  class: "ina-card__media"
1713
1713
  };
1714
- const _hoisted_2$w = ["src", "alt"];
1715
- const _hoisted_3$u = {
1714
+ const _hoisted_2$x = ["src", "alt"];
1715
+ const _hoisted_3$v = {
1716
1716
  key: 1,
1717
1717
  class: "ina-card__media"
1718
1718
  };
@@ -1774,7 +1774,7 @@ const _hoisted_22$2 = {
1774
1774
  key: 2,
1775
1775
  class: "ina-card__footer"
1776
1776
  };
1777
- const _sfc_main$D = /* @__PURE__ */ defineComponent({
1777
+ const _sfc_main$E = /* @__PURE__ */ defineComponent({
1778
1778
  __name: "Card",
1779
1779
  props: {
1780
1780
  variant: { default: "basic" },
@@ -1843,16 +1843,16 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
1843
1843
  return openBlock(), createElementBlock("div", {
1844
1844
  class: normalizeClass(["ina-card", cardClasses.value])
1845
1845
  }, [
1846
- __props.variant === "basic" && computedMediaPosition.value === "top" ? (openBlock(), createElementBlock("div", _hoisted_1$z, [
1846
+ __props.variant === "basic" && computedMediaPosition.value === "top" ? (openBlock(), createElementBlock("div", _hoisted_1$A, [
1847
1847
  renderSlot(_ctx.$slots, "media", {}, () => [
1848
1848
  __props.mediaSrc ? (openBlock(), createElementBlock("img", {
1849
1849
  key: 0,
1850
1850
  src: __props.mediaSrc,
1851
1851
  alt: __props.mediaAlt || "Card media"
1852
- }, null, 8, _hoisted_2$w)) : createCommentVNode("", true)
1852
+ }, null, 8, _hoisted_2$x)) : createCommentVNode("", true)
1853
1853
  ])
1854
1854
  ])) : createCommentVNode("", true),
1855
- __props.variant === "overlay" ? (openBlock(), createElementBlock("div", _hoisted_3$u, [
1855
+ __props.variant === "overlay" ? (openBlock(), createElementBlock("div", _hoisted_3$v, [
1856
1856
  renderSlot(_ctx.$slots, "media", {}, () => [
1857
1857
  __props.mediaSrc ? (openBlock(), createElementBlock("img", {
1858
1858
  key: 0,
@@ -1889,7 +1889,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
1889
1889
  ]),
1890
1890
  __props.showButton || _ctx.$slots.button ? (openBlock(), createElementBlock("div", _hoisted_10$9, [
1891
1891
  renderSlot(_ctx.$slots, "button", {}, () => [
1892
- __props.showButton && __props.buttonText ? (openBlock(), createBlock(_sfc_main$F, {
1892
+ __props.showButton && __props.buttonText ? (openBlock(), createBlock(_sfc_main$G, {
1893
1893
  key: 0,
1894
1894
  hierarchy: __props.buttonHierarchy,
1895
1895
  size: "md",
@@ -1961,9 +1961,9 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
1961
1961
  };
1962
1962
  }
1963
1963
  });
1964
- const _hoisted_1$y = ["for"];
1965
- const _hoisted_2$v = ["id", "checked", "disabled", "readonly", "indeterminate"];
1966
- const _hoisted_3$t = {
1964
+ const _hoisted_1$z = ["for"];
1965
+ const _hoisted_2$w = ["id", "checked", "disabled", "readonly", "indeterminate"];
1966
+ const _hoisted_3$u = {
1967
1967
  key: 0,
1968
1968
  class: "ina-checkbox__icon",
1969
1969
  width: "14",
@@ -1990,7 +1990,7 @@ const _hoisted_7$g = {
1990
1990
  key: 1,
1991
1991
  class: "ina-checkbox__subtext"
1992
1992
  };
1993
- const _sfc_main$C = /* @__PURE__ */ defineComponent({
1993
+ const _sfc_main$D = /* @__PURE__ */ defineComponent({
1994
1994
  __name: "Checkbox",
1995
1995
  props: {
1996
1996
  modelValue: { type: [Boolean, Array], default: false },
@@ -2099,11 +2099,11 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
2099
2099
  onChange: handleChange,
2100
2100
  onFocus: handleFocus,
2101
2101
  onBlur: handleBlur
2102
- }), null, 16, _hoisted_2$v),
2102
+ }), null, 16, _hoisted_2$w),
2103
2103
  createElementVNode("div", {
2104
2104
  class: normalizeClass(boxClasses.value)
2105
2105
  }, [
2106
- checked.value && !__props.indeterminate ? (openBlock(), createElementBlock("svg", _hoisted_3$t, [..._cache[0] || (_cache[0] = [
2106
+ checked.value && !__props.indeterminate ? (openBlock(), createElementBlock("svg", _hoisted_3$u, [..._cache[0] || (_cache[0] = [
2107
2107
  createElementVNode("path", {
2108
2108
  d: "M20 6L9 17L4 12",
2109
2109
  stroke: "currentColor",
@@ -2129,7 +2129,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
2129
2129
  ])) : createCommentVNode("", true),
2130
2130
  __props.subtext ? (openBlock(), createElementBlock("span", _hoisted_7$g, toDisplayString(__props.subtext), 1)) : createCommentVNode("", true)
2131
2131
  ])
2132
- ], 10, _hoisted_1$y),
2132
+ ], 10, _hoisted_1$z),
2133
2133
  __props.statusMessage ? (openBlock(), createElementBlock("div", {
2134
2134
  key: 0,
2135
2135
  class: normalizeClass(statusClasses.value)
@@ -2344,9 +2344,9 @@ function sanitizeFileName(fileName) {
2344
2344
  sanitized = sanitized.replace(/^[\s.]+|[\s.]+$/g, "");
2345
2345
  return sanitized || "file";
2346
2346
  }
2347
- const _hoisted_1$x = { class: "ina-text-field" };
2348
- const _hoisted_2$u = ["for"];
2349
- const _hoisted_3$s = {
2347
+ const _hoisted_1$y = { class: "ina-text-field" };
2348
+ const _hoisted_2$v = ["for"];
2349
+ const _hoisted_3$t = {
2350
2350
  key: 0,
2351
2351
  class: "ina-text-field__required"
2352
2352
  };
@@ -2359,7 +2359,7 @@ const _hoisted_6$g = {
2359
2359
  key: 1,
2360
2360
  class: "ina-text-field__char-count"
2361
2361
  };
2362
- const _sfc_main$B = /* @__PURE__ */ defineComponent({
2362
+ const _sfc_main$C = /* @__PURE__ */ defineComponent({
2363
2363
  __name: "TextField",
2364
2364
  props: {
2365
2365
  modelValue: { default: "" },
@@ -2572,15 +2572,15 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
2572
2572
  }
2573
2573
  });
2574
2574
  return (_ctx, _cache) => {
2575
- return openBlock(), createElementBlock("div", _hoisted_1$x, [
2575
+ return openBlock(), createElementBlock("div", _hoisted_1$y, [
2576
2576
  __props.label ? (openBlock(), createElementBlock("label", {
2577
2577
  key: 0,
2578
2578
  for: inputId.value,
2579
2579
  class: "ina-text-field__label"
2580
2580
  }, [
2581
2581
  createTextVNode(toDisplayString(__props.label) + " ", 1),
2582
- __props.required ? (openBlock(), createElementBlock("span", _hoisted_3$s, "*")) : createCommentVNode("", true)
2583
- ], 8, _hoisted_2$u)) : createCommentVNode("", true),
2582
+ __props.required ? (openBlock(), createElementBlock("span", _hoisted_3$t, "*")) : createCommentVNode("", true)
2583
+ ], 8, _hoisted_2$v)) : createCommentVNode("", true),
2584
2584
  createElementVNode("div", {
2585
2585
  class: normalizeClass(wrapperClasses.value)
2586
2586
  }, [
@@ -2643,15 +2643,15 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
2643
2643
  };
2644
2644
  }
2645
2645
  });
2646
- const _hoisted_1$w = { class: "ina-chip__list" };
2647
- const _hoisted_2$t = ["onClick"];
2648
- const _hoisted_3$r = {
2646
+ const _hoisted_1$x = { class: "ina-chip__list" };
2647
+ const _hoisted_2$u = ["onClick"];
2648
+ const _hoisted_3$s = {
2649
2649
  key: 0,
2650
2650
  class: "ina-chip__custom-field"
2651
2651
  };
2652
2652
  const _hoisted_4$n = { key: 0 };
2653
2653
  const _hoisted_5$i = { key: 1 };
2654
- const _sfc_main$A = /* @__PURE__ */ defineComponent({
2654
+ const _sfc_main$B = /* @__PURE__ */ defineComponent({
2655
2655
  __name: "Chip",
2656
2656
  props: {
2657
2657
  options: {},
@@ -2755,21 +2755,21 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
2755
2755
  return openBlock(), createElementBlock("div", {
2756
2756
  class: normalizeClass(["ina-chip", chipContainerClasses.value])
2757
2757
  }, [
2758
- createElementVNode("div", _hoisted_1$w, [
2758
+ createElementVNode("div", _hoisted_1$x, [
2759
2759
  (openBlock(true), createElementBlock(Fragment, null, renderList(allOptions.value, (opt, index2) => {
2760
2760
  return openBlock(), createElementBlock("button", {
2761
2761
  key: `${opt.label}-${index2}`,
2762
2762
  type: "button",
2763
2763
  class: normalizeClass(getChipItemClasses(opt)),
2764
2764
  onClick: ($event) => handleChipClick(opt)
2765
- }, toDisplayString(opt.label), 11, _hoisted_2$t);
2765
+ }, toDisplayString(opt.label), 11, _hoisted_2$u);
2766
2766
  }), 128))
2767
2767
  ]),
2768
- __props.showCustomization && showInput.value ? (openBlock(), createElementBlock("div", _hoisted_3$r, [
2768
+ __props.showCustomization && showInput.value ? (openBlock(), createElementBlock("div", _hoisted_3$s, [
2769
2769
  __props.customizationComponent ? (openBlock(), createElementBlock("div", _hoisted_4$n, [
2770
2770
  (openBlock(), createBlock(resolveDynamicComponent(__props.customizationComponent)))
2771
2771
  ])) : (openBlock(), createElementBlock("div", _hoisted_5$i, [
2772
- createVNode(_sfc_main$B, {
2772
+ createVNode(_sfc_main$C, {
2773
2773
  "model-value": tempValue.value,
2774
2774
  class: "ina-chip__input",
2775
2775
  placeholder: "Masukkan data yang Anda inginkan",
@@ -2784,6 +2784,81 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
2784
2784
  };
2785
2785
  }
2786
2786
  });
2787
+ const _hoisted_1$w = ["viewBox"];
2788
+ const _hoisted_2$t = ["cx", "cy", "r", "stroke-width"];
2789
+ const _hoisted_3$r = ["cx", "cy", "r", "stroke-width", "stroke-dasharray", "stroke-dashoffset"];
2790
+ const _sfc_main$A = /* @__PURE__ */ defineComponent({
2791
+ __name: "CircleProgressBar",
2792
+ props: {
2793
+ progress: { default: 0 },
2794
+ diameter: { default: 20 },
2795
+ strokeWidth: { default: 3 },
2796
+ variant: { default: "primary" },
2797
+ trackColor: { default: "#EAECF0" },
2798
+ className: { default: "" }
2799
+ },
2800
+ setup(__props) {
2801
+ const props = __props;
2802
+ const normalizedProgress = computed(
2803
+ () => Math.min(100, Math.max(0, props.progress))
2804
+ );
2805
+ const center = computed(() => props.diameter / 2);
2806
+ const radius = computed(() => (props.diameter - props.strokeWidth) / 2);
2807
+ const circumference = computed(() => 2 * Math.PI * radius.value);
2808
+ const strokeDashoffset = computed(
2809
+ () => circumference.value - normalizedProgress.value / 100 * circumference.value
2810
+ );
2811
+ const isCustomColor = computed(() => props.variant.startsWith("#"));
2812
+ const containerClasses = computed(() => {
2813
+ const variantClass = !isCustomColor.value ? `ina-circle-progress-bar--${props.variant}` : "";
2814
+ return ["ina-circle-progress-bar", variantClass, props.className].filter(Boolean).join(" ");
2815
+ });
2816
+ const containerStyle = computed(() => {
2817
+ const style = {
2818
+ "--ina-circle-progress-size": `${props.diameter}px`
2819
+ };
2820
+ if (props.trackColor) {
2821
+ style["--ina-circle-progress-track-color"] = props.trackColor;
2822
+ }
2823
+ if (isCustomColor.value) {
2824
+ style["--ina-circle-progress-color"] = props.variant;
2825
+ }
2826
+ return style;
2827
+ });
2828
+ return (_ctx, _cache) => {
2829
+ return openBlock(), createElementBlock("div", {
2830
+ class: normalizeClass(containerClasses.value),
2831
+ style: normalizeStyle(containerStyle.value)
2832
+ }, [
2833
+ (openBlock(), createElementBlock("svg", {
2834
+ class: "ina-circle-progress-bar__svg",
2835
+ width: "100%",
2836
+ height: "100%",
2837
+ viewBox: `0 0 ${__props.diameter} ${__props.diameter}`,
2838
+ fill: "none",
2839
+ xmlns: "http://www.w3.org/2000/svg"
2840
+ }, [
2841
+ createElementVNode("circle", {
2842
+ class: "ina-circle-progress-bar__track",
2843
+ cx: center.value,
2844
+ cy: center.value,
2845
+ r: radius.value,
2846
+ "stroke-width": __props.strokeWidth
2847
+ }, null, 8, _hoisted_2$t),
2848
+ createElementVNode("circle", {
2849
+ class: "ina-circle-progress-bar__progress",
2850
+ cx: center.value,
2851
+ cy: center.value,
2852
+ r: radius.value,
2853
+ "stroke-width": __props.strokeWidth,
2854
+ "stroke-dasharray": circumference.value,
2855
+ "stroke-dashoffset": strokeDashoffset.value
2856
+ }, null, 8, _hoisted_3$r)
2857
+ ], 8, _hoisted_1$w))
2858
+ ], 6);
2859
+ };
2860
+ }
2861
+ });
2787
2862
  const _hoisted_1$v = ["id", "aria-expanded", "aria-controls"];
2788
2863
  const _hoisted_2$s = { class: "ina-collapse__title" };
2789
2864
  const _hoisted_3$q = ["id", "aria-labelledby"];
@@ -5163,13 +5238,254 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
5163
5238
  };
5164
5239
  }
5165
5240
  });
5166
- const _hoisted_1$k = ["for"];
5167
- const _hoisted_2$j = {
5241
+ const COUNTRIES = [
5242
+ { code: "ID", name: "Indonesia", dialCode: "+62", flag: "🇮🇩" },
5243
+ { code: "AF", name: "Afghanistan", dialCode: "+93", flag: "🇦🇫" },
5244
+ { code: "AL", name: "Albania", dialCode: "+355", flag: "🇦🇱" },
5245
+ { code: "DZ", name: "Algeria", dialCode: "+213", flag: "🇩🇿" },
5246
+ { code: "AS", name: "American Samoa", dialCode: "+1684", flag: "🇦🇸" },
5247
+ { code: "AD", name: "Andorra", dialCode: "+376", flag: "🇦🇩" },
5248
+ { code: "AO", name: "Angola", dialCode: "+244", flag: "🇦🇴" },
5249
+ { code: "AI", name: "Anguilla", dialCode: "+1264", flag: "🇦🇮" },
5250
+ { code: "AG", name: "Antigua and Barbuda", dialCode: "+1268", flag: "🇦🇬" },
5251
+ { code: "AR", name: "Argentina", dialCode: "+54", flag: "🇦🇷" },
5252
+ { code: "AM", name: "Armenia", dialCode: "+374", flag: "🇦🇲" },
5253
+ { code: "AW", name: "Aruba", dialCode: "+297", flag: "🇦🇼" },
5254
+ { code: "AU", name: "Australia", dialCode: "+61", flag: "🇦🇺" },
5255
+ { code: "AT", name: "Austria", dialCode: "+43", flag: "🇦🇹" },
5256
+ { code: "AZ", name: "Azerbaijan", dialCode: "+994", flag: "🇦🇿" },
5257
+ { code: "BS", name: "Bahamas", dialCode: "+1242", flag: "🇧🇸" },
5258
+ { code: "BH", name: "Bahrain", dialCode: "+973", flag: "🇧🇭" },
5259
+ { code: "BD", name: "Bangladesh", dialCode: "+880", flag: "🇧🇩" },
5260
+ { code: "BB", name: "Barbados", dialCode: "+1246", flag: "🇧🇧" },
5261
+ { code: "BY", name: "Belarus", dialCode: "+375", flag: "🇧🇾" },
5262
+ { code: "BE", name: "Belgium", dialCode: "+32", flag: "🇧🇪" },
5263
+ { code: "BZ", name: "Belize", dialCode: "+501", flag: "🇧🇿" },
5264
+ { code: "BJ", name: "Benin", dialCode: "+229", flag: "🇧🇯" },
5265
+ { code: "BM", name: "Bermuda", dialCode: "+1441", flag: "🇧🇲" },
5266
+ { code: "BT", name: "Bhutan", dialCode: "+975", flag: "🇧🇹" },
5267
+ { code: "BO", name: "Bolivia", dialCode: "+591", flag: "🇧🇴" },
5268
+ { code: "BA", name: "Bosnia and Herzegovina", dialCode: "+387", flag: "🇧🇦" },
5269
+ { code: "BW", name: "Botswana", dialCode: "+267", flag: "🇧🇼" },
5270
+ { code: "BR", name: "Brazil", dialCode: "+55", flag: "🇧🇷" },
5271
+ { code: "IO", name: "British Indian Ocean Territory", dialCode: "+246", flag: "🇮🇴" },
5272
+ { code: "BN", name: "Brunei Darussalam", dialCode: "+673", flag: "🇧🇳" },
5273
+ { code: "BG", name: "Bulgaria", dialCode: "+359", flag: "🇧🇬" },
5274
+ { code: "BF", name: "Burkina Faso", dialCode: "+226", flag: "🇧🇫" },
5275
+ { code: "BI", name: "Burundi", dialCode: "+257", flag: "🇧🇮" },
5276
+ { code: "KH", name: "Cambodia", dialCode: "+855", flag: "🇰🇭" },
5277
+ { code: "CM", name: "Cameroon", dialCode: "+237", flag: "🇨🇲" },
5278
+ { code: "CA", name: "Canada", dialCode: "+1", flag: "🇨🇦" },
5279
+ { code: "CV", name: "Cape Verde", dialCode: "+238", flag: "🇨🇻" },
5280
+ { code: "KY", name: "Cayman Islands", dialCode: "+1345", flag: "🇰🇾" },
5281
+ { code: "CF", name: "Central African Republic", dialCode: "+236", flag: "🇨🇫" },
5282
+ { code: "TD", name: "Chad", dialCode: "+235", flag: "🇹🇩" },
5283
+ { code: "CL", name: "Chile", dialCode: "+56", flag: "🇨🇱" },
5284
+ { code: "CN", name: "China", dialCode: "+86", flag: "🇨🇳" },
5285
+ { code: "CX", name: "Christmas Island", dialCode: "+61", flag: "🇨🇽" },
5286
+ { code: "CC", name: "Cocos (Keeling) Islands", dialCode: "+61", flag: "🇨🇨" },
5287
+ { code: "CO", name: "Colombia", dialCode: "+57", flag: "🇨🇴" },
5288
+ { code: "KM", name: "Comoros", dialCode: "+269", flag: "🇰🇲" },
5289
+ { code: "CG", name: "Congo", dialCode: "+242", flag: "🇨🇬" },
5290
+ { code: "CD", name: "Congo, Democratic Republic of the", dialCode: "+243", flag: "🇨🇩" },
5291
+ { code: "CK", name: "Cook Islands", dialCode: "+682", flag: "🇨🇰" },
5292
+ { code: "CR", name: "Costa Rica", dialCode: "+506", flag: "🇨🇷" },
5293
+ { code: "CI", name: "Cote d'Ivoire", dialCode: "+225", flag: "🇨🇮" },
5294
+ { code: "HR", name: "Croatia", dialCode: "+385", flag: "🇭🇷" },
5295
+ { code: "CU", name: "Cuba", dialCode: "+53", flag: "🇨🇺" },
5296
+ { code: "CY", name: "Cyprus", dialCode: "+357", flag: "🇨🇾" },
5297
+ { code: "CZ", name: "Czech Republic", dialCode: "+420", flag: "🇨🇿" },
5298
+ { code: "DK", name: "Denmark", dialCode: "+45", flag: "🇩🇰" },
5299
+ { code: "DJ", name: "Djibouti", dialCode: "+253", flag: "🇩🇯" },
5300
+ { code: "DM", name: "Dominica", dialCode: "+1767", flag: "🇩🇲" },
5301
+ { code: "DO", name: "Dominican Republic", dialCode: "+1", flag: "🇩🇴" },
5302
+ { code: "EC", name: "Ecuador", dialCode: "+593", flag: "🇪🇨" },
5303
+ { code: "EG", name: "Egypt", dialCode: "+20", flag: "🇪🇬" },
5304
+ { code: "SV", name: "El Salvador", dialCode: "+503", flag: "🇸🇻" },
5305
+ { code: "GQ", name: "Equatorial Guinea", dialCode: "+240", flag: "🇬🇶" },
5306
+ { code: "ER", name: "Eritrea", dialCode: "+291", flag: "🇪🇷" },
5307
+ { code: "EE", name: "Estonia", dialCode: "+372", flag: "🇪🇪" },
5308
+ { code: "ET", name: "Ethiopia", dialCode: "+251", flag: "🇪🇹" },
5309
+ { code: "FK", name: "Falkland Islands (Malvinas)", dialCode: "+500", flag: "🇫🇰" },
5310
+ { code: "FO", name: "Faroe Islands", dialCode: "+298", flag: "🇫🇴" },
5311
+ { code: "FJ", name: "Fiji", dialCode: "+679", flag: "🇫🇯" },
5312
+ { code: "FI", name: "Finland", dialCode: "+358", flag: "🇫🇮" },
5313
+ { code: "FR", name: "France", dialCode: "+33", flag: "🇫🇷" },
5314
+ { code: "GF", name: "French Guiana", dialCode: "+594", flag: "🇬🇫" },
5315
+ { code: "PF", name: "French Polynesia", dialCode: "+689", flag: "🇵🇫" },
5316
+ { code: "GA", name: "Gabon", dialCode: "+241", flag: "🇬🇦" },
5317
+ { code: "GM", name: "Gambia", dialCode: "+220", flag: "🇬🇲" },
5318
+ { code: "GE", name: "Georgia", dialCode: "+995", flag: "🇬🇪" },
5319
+ { code: "DE", name: "Germany", dialCode: "+49", flag: "🇩🇪" },
5320
+ { code: "GH", name: "Ghana", dialCode: "+233", flag: "🇬🇭" },
5321
+ { code: "GI", name: "Gibraltar", dialCode: "+350", flag: "🇬🇮" },
5322
+ { code: "GR", name: "Greece", dialCode: "+30", flag: "🇬🇷" },
5323
+ { code: "GL", name: "Greenland", dialCode: "+299", flag: "🇬🇱" },
5324
+ { code: "GD", name: "Grenada", dialCode: "+1473", flag: "🇬🇩" },
5325
+ { code: "GP", name: "Guadeloupe", dialCode: "+590", flag: "🇬🇵" },
5326
+ { code: "GU", name: "Guam", dialCode: "+1671", flag: "🇬🇺" },
5327
+ { code: "GT", name: "Guatemala", dialCode: "+502", flag: "🇬🇹" },
5328
+ { code: "GG", name: "Guernsey", dialCode: "+44", flag: "🇬🇬" },
5329
+ { code: "GN", name: "Guinea", dialCode: "+224", flag: "🇬🇳" },
5330
+ { code: "GW", name: "Guinea-Bissau", dialCode: "+245", flag: "🇬🇼" },
5331
+ { code: "GY", name: "Guyana", dialCode: "+592", flag: "🇬🇾" },
5332
+ { code: "HT", name: "Haiti", dialCode: "+509", flag: "🇭🇹" },
5333
+ { code: "VA", name: "Holy See (Vatican City State)", dialCode: "+379", flag: "🇻🇦" },
5334
+ { code: "HN", name: "Honduras", dialCode: "+504", flag: "🇭🇳" },
5335
+ { code: "HK", name: "Hong Kong", dialCode: "+852", flag: "🇭🇰" },
5336
+ { code: "HU", name: "Hungary", dialCode: "+36", flag: "🇭🇺" },
5337
+ { code: "IS", name: "Iceland", dialCode: "+354", flag: "🇮🇸" },
5338
+ { code: "IN", name: "India", dialCode: "+91", flag: "🇮🇳" },
5339
+ { code: "IR", name: "Iran, Islamic Republic of", dialCode: "+98", flag: "🇮🇷" },
5340
+ { code: "IQ", name: "Iraq", dialCode: "+964", flag: "🇮🇶" },
5341
+ { code: "IE", name: "Ireland", dialCode: "+353", flag: "🇮🇪" },
5342
+ { code: "IM", name: "Isle of Man", dialCode: "+44", flag: "🇮🇲" },
5343
+ { code: "IL", name: "Israel", dialCode: "+972", flag: "🇮🇱" },
5344
+ { code: "IT", name: "Italy", dialCode: "+39", flag: "🇮🇹" },
5345
+ { code: "JM", name: "Jamaica", dialCode: "+1876", flag: "🇯🇲" },
5346
+ { code: "JP", name: "Japan", dialCode: "+81", flag: "🇯🇵" },
5347
+ { code: "JE", name: "Jersey", dialCode: "+44", flag: "🇯🇪" },
5348
+ { code: "JO", name: "Jordan", dialCode: "+962", flag: "🇯🇴" },
5349
+ { code: "KZ", name: "Kazakhstan", dialCode: "+7", flag: "🇰🇿" },
5350
+ { code: "KE", name: "Kenya", dialCode: "+254", flag: "🇰🇪" },
5351
+ { code: "KI", name: "Kiribati", dialCode: "+686", flag: "🇰🇮" },
5352
+ { code: "KP", name: "Korea, Democratic People's Republic of", dialCode: "+850", flag: "🇰🇵" },
5353
+ { code: "KR", name: "Korea, Republic of", dialCode: "+82", flag: "🇰🇷" },
5354
+ { code: "KW", name: "Kuwait", dialCode: "+965", flag: "🇰🇼" },
5355
+ { code: "KG", name: "Kyrgyzstan", dialCode: "+996", flag: "🇰🇬" },
5356
+ { code: "LA", name: "Lao People's Democratic Republic", dialCode: "+856", flag: "🇱🇦" },
5357
+ { code: "LV", name: "Latvia", dialCode: "+371", flag: "🇱🇻" },
5358
+ { code: "LB", name: "Lebanon", dialCode: "+961", flag: "🇱🇧" },
5359
+ { code: "LS", name: "Lesotho", dialCode: "+266", flag: "🇱🇸" },
5360
+ { code: "LR", name: "Liberia", dialCode: "+231", flag: "🇱🇷" },
5361
+ { code: "LY", name: "Libyan Arab Jamahiriya", dialCode: "+218", flag: "🇱🇾" },
5362
+ { code: "LI", name: "Liechtenstein", dialCode: "+423", flag: "🇱🇮" },
5363
+ { code: "LT", name: "Lithuania", dialCode: "+370", flag: "🇱🇹" },
5364
+ { code: "LU", name: "Luxembourg", dialCode: "+352", flag: "🇱🇺" },
5365
+ { code: "MO", name: "Macao", dialCode: "+853", flag: "🇲🇴" },
5366
+ { code: "MK", name: "Macedonia, the Former Yugoslav Republic of", dialCode: "+389", flag: "🇲🇰" },
5367
+ { code: "MG", name: "Madagascar", dialCode: "+261", flag: "🇲🇬" },
5368
+ { code: "MW", name: "Malawi", dialCode: "+265", flag: "🇲🇼" },
5369
+ { code: "MY", name: "Malaysia", dialCode: "+60", flag: "🇲🇾" },
5370
+ { code: "MV", name: "Maldives", dialCode: "+960", flag: "🇲🇻" },
5371
+ { code: "ML", name: "Mali", dialCode: "+223", flag: "🇲🇱" },
5372
+ { code: "MT", name: "Malta", dialCode: "+356", flag: "🇲🇹" },
5373
+ { code: "MH", name: "Marshall Islands", dialCode: "+692", flag: "🇲🇭" },
5374
+ { code: "MQ", name: "Martinique", dialCode: "+596", flag: "🇲🇶" },
5375
+ { code: "MR", name: "Mauritania", dialCode: "+222", flag: "🇲🇷" },
5376
+ { code: "MU", name: "Mauritius", dialCode: "+230", flag: "🇲🇺" },
5377
+ { code: "YT", name: "Mayotte", dialCode: "+262", flag: "🇾🇹" },
5378
+ { code: "MX", name: "Mexico", dialCode: "+52", flag: "🇲🇽" },
5379
+ { code: "FM", name: "Micronesia, Federated States of", dialCode: "+691", flag: "🇫🇲" },
5380
+ { code: "MD", name: "Moldova, Republic of", dialCode: "+373", flag: "🇲🇩" },
5381
+ { code: "MC", name: "Monaco", dialCode: "+377", flag: "🇲🇨" },
5382
+ { code: "MN", name: "Mongolia", dialCode: "+976", flag: "🇲🇳" },
5383
+ { code: "ME", name: "Montenegro", dialCode: "+382", flag: "🇲🇪" },
5384
+ { code: "MS", name: "Montserrat", dialCode: "+1664", flag: "🇲🇸" },
5385
+ { code: "MA", name: "Morocco", dialCode: "+212", flag: "🇲🇦" },
5386
+ { code: "MZ", name: "Mozambique", dialCode: "+258", flag: "🇲🇿" },
5387
+ { code: "MM", name: "Myanmar", dialCode: "+95", flag: "🇲🇲" },
5388
+ { code: "NA", name: "Namibia", dialCode: "+264", flag: "🇳🇦" },
5389
+ { code: "NR", name: "Nauru", dialCode: "+674", flag: "🇳🇷" },
5390
+ { code: "NP", name: "Nepal", dialCode: "+977", flag: "🇳🇵" },
5391
+ { code: "NL", name: "Netherlands", dialCode: "+31", flag: "🇳🇱" },
5392
+ { code: "NC", name: "New Caledonia", dialCode: "+687", flag: "🇳🇨" },
5393
+ { code: "NZ", name: "New Zealand", dialCode: "+64", flag: "🇳🇿" },
5394
+ { code: "NI", name: "Nicaragua", dialCode: "+505", flag: "🇳🇮" },
5395
+ { code: "NE", name: "Niger", dialCode: "+227", flag: "🇳🇪" },
5396
+ { code: "NG", name: "Nigeria", dialCode: "+234", flag: "🇳🇬" },
5397
+ { code: "NU", name: "Niue", dialCode: "+683", flag: "🇳🇺" },
5398
+ { code: "NF", name: "Norfolk Island", dialCode: "+672", flag: "🇳🇫" },
5399
+ { code: "MP", name: "Northern Mariana Islands", dialCode: "+1670", flag: "🇲🇵" },
5400
+ { code: "NO", name: "Norway", dialCode: "+47", flag: "🇳🇴" },
5401
+ { code: "OM", name: "Oman", dialCode: "+968", flag: "🇴🇲" },
5402
+ { code: "PK", name: "Pakistan", dialCode: "+92", flag: "🇵🇰" },
5403
+ { code: "PW", name: "Palau", dialCode: "+680", flag: "🇵🇼" },
5404
+ { code: "PS", name: "Palestinian Territory, Occupied", dialCode: "+970", flag: "🇵🇸" },
5405
+ { code: "PA", name: "Panama", dialCode: "+507", flag: "🇵🇦" },
5406
+ { code: "PG", name: "Papua New Guinea", dialCode: "+675", flag: "🇵🇬" },
5407
+ { code: "PY", name: "Paraguay", dialCode: "+595", flag: "🇵🇾" },
5408
+ { code: "PE", name: "Peru", dialCode: "+51", flag: "🇵🇪" },
5409
+ { code: "PH", name: "Philippines", dialCode: "+63", flag: "🇵🇭" },
5410
+ { code: "PN", name: "Pitcairn", dialCode: "+870", flag: "🇵🇳" },
5411
+ { code: "PL", name: "Poland", dialCode: "+48", flag: "🇵🇱" },
5412
+ { code: "PT", name: "Portugal", dialCode: "+351", flag: "🇵🇹" },
5413
+ { code: "PR", name: "Puerto Rico", dialCode: "+1939", flag: "🇵🇷" },
5414
+ { code: "QA", name: "Qatar", dialCode: "+974", flag: "🇶🇦" },
5415
+ { code: "RE", name: "Reunion", dialCode: "+262", flag: "🇷🇪" },
5416
+ { code: "RO", name: "Romania", dialCode: "+40", flag: "🇷🇴" },
5417
+ { code: "RU", name: "Russian Federation", dialCode: "+7", flag: "🇷🇺" },
5418
+ { code: "RW", name: "Rwanda", dialCode: "+250", flag: "🇷🇼" },
5419
+ { code: "BL", name: "Saint Barthelemy", dialCode: "+590", flag: "🇧🇱" },
5420
+ { code: "SH", name: "Saint Helena", dialCode: "+290", flag: "🇸🇭" },
5421
+ { code: "KN", name: "Saint Kitts and Nevis", dialCode: "+1869", flag: "🇰🇳" },
5422
+ { code: "LC", name: "Saint Lucia", dialCode: "+1758", flag: "🇱🇨" },
5423
+ { code: "MF", name: "Saint Martin", dialCode: "+590", flag: "🇲🇫" },
5424
+ { code: "PM", name: "Saint Pierre and Miquelon", dialCode: "+508", flag: "🇵🇲" },
5425
+ { code: "VC", name: "Saint Vincent and the Grenadines", dialCode: "+1784", flag: "🇻🇨" },
5426
+ { code: "WS", name: "Samoa", dialCode: "+685", flag: "🇼🇸" },
5427
+ { code: "SM", name: "San Marino", dialCode: "+378", flag: "🇸🇲" },
5428
+ { code: "ST", name: "Sao Tome and Principe", dialCode: "+239", flag: "🇸🇹" },
5429
+ { code: "SA", name: "Saudi Arabia", dialCode: "+966", flag: "🇸🇦" },
5430
+ { code: "SN", name: "Senegal", dialCode: "+221", flag: "🇸🇳" },
5431
+ { code: "RS", name: "Serbia", dialCode: "+381", flag: "🇷🇸" },
5432
+ { code: "SC", name: "Seychelles", dialCode: "+248", flag: "🇸🇨" },
5433
+ { code: "SL", name: "Sierra Leone", dialCode: "+232", flag: "🇸🇱" },
5434
+ { code: "SG", name: "Singapore", dialCode: "+65", flag: "🇸🇬" },
5435
+ { code: "SK", name: "Slovakia", dialCode: "+421", flag: "🇸🇰" },
5436
+ { code: "SI", name: "Slovenia", dialCode: "+386", flag: "🇸🇮" },
5437
+ { code: "SB", name: "Solomon Islands", dialCode: "+677", flag: "🇸🇧" },
5438
+ { code: "SO", name: "Somalia", dialCode: "+252", flag: "🇸🇴" },
5439
+ { code: "ZA", name: "South Africa", dialCode: "+27", flag: "🇿🇦" },
5440
+ { code: "GS", name: "South Georgia and the South Sandwich Islands", dialCode: "+500", flag: "🇬🇸" },
5441
+ { code: "ES", name: "Spain", dialCode: "+34", flag: "🇪🇸" },
5442
+ { code: "LK", name: "Sri Lanka", dialCode: "+94", flag: "🇱🇰" },
5443
+ { code: "SD", name: "Sudan", dialCode: "+249", flag: "🇸🇩" },
5444
+ { code: "SR", name: "Suriname", dialCode: "+597", flag: "🇸🇷" },
5445
+ { code: "SJ", name: "Svalbard and Jan Mayen", dialCode: "+47", flag: "🇸🇯" },
5446
+ { code: "SZ", name: "Swaziland", dialCode: "+268", flag: "🇸🇿" },
5447
+ { code: "SE", name: "Sweden", dialCode: "+46", flag: "🇸🇪" },
5448
+ { code: "CH", name: "Switzerland", dialCode: "+41", flag: "🇨🇭" },
5449
+ { code: "SY", name: "Syrian Arab Republic", dialCode: "+963", flag: "🇸🇾" },
5450
+ { code: "TW", name: "Taiwan, Province of China", dialCode: "+886", flag: "🇹🇼" },
5451
+ { code: "TJ", name: "Tajikistan", dialCode: "+992", flag: "🇹🇯" },
5452
+ { code: "TZ", name: "Tanzania, United Republic of", dialCode: "+255", flag: "🇹🇿" },
5453
+ { code: "TH", name: "Thailand", dialCode: "+66", flag: "🇹🇭" },
5454
+ { code: "TL", name: "Timor-Leste", dialCode: "+670", flag: "🇹🇱" },
5455
+ { code: "TG", name: "Togo", dialCode: "+228", flag: "🇹🇬" },
5456
+ { code: "TK", name: "Tokelau", dialCode: "+690", flag: "🇹🇰" },
5457
+ { code: "TO", name: "Tonga", dialCode: "+676", flag: "🇹🇴" },
5458
+ { code: "TT", name: "Trinidad and Tobago", dialCode: "+1868", flag: "🇹🇹" },
5459
+ { code: "TN", name: "Tunisia", dialCode: "+216", flag: "🇹🇳" },
5460
+ { code: "TR", name: "Turkey", dialCode: "+90", flag: "🇹🇷" },
5461
+ { code: "TM", name: "Turkmenistan", dialCode: "+993", flag: "🇹🇲" },
5462
+ { code: "TC", name: "Turks and Caicos Islands", dialCode: "+1649", flag: "🇹🇨" },
5463
+ { code: "TV", name: "Tuvalu", dialCode: "+688", flag: "🇹🇻" },
5464
+ { code: "UG", name: "Uganda", dialCode: "+256", flag: "🇺🇬" },
5465
+ { code: "UA", name: "Ukraine", dialCode: "+380", flag: "🇺🇦" },
5466
+ { code: "AE", name: "United Arab Emirates", dialCode: "+971", flag: "🇦🇪" },
5467
+ { code: "GB", name: "United Kingdom", dialCode: "+44", flag: "🇬🇧" },
5468
+ { code: "US", name: "United States", dialCode: "+1", flag: "🇺🇸" },
5469
+ { code: "UY", name: "Uruguay", dialCode: "+598", flag: "🇺🇾" },
5470
+ { code: "UZ", name: "Uzbekistan", dialCode: "+998", flag: "🇺🇿" },
5471
+ { code: "VU", name: "Vanuatu", dialCode: "+678", flag: "🇻🇺" },
5472
+ { code: "VE", name: "Venezuela", dialCode: "+58", flag: "🇻🇪" },
5473
+ { code: "VN", name: "Vietnam", dialCode: "+84", flag: "🇻🇳" },
5474
+ { code: "VG", name: "Virgin Islands, British", dialCode: "+1284", flag: "🇻🇬" },
5475
+ { code: "VI", name: "Virgin Islands, U.S.", dialCode: "+1340", flag: "🇻🇮" },
5476
+ { code: "WF", name: "Wallis and Futuna", dialCode: "+681", flag: "🇼🇫" },
5477
+ { code: "EH", name: "Western Sahara", dialCode: "+212", flag: "🇪🇭" },
5478
+ { code: "YE", name: "Yemen", dialCode: "+967", flag: "🇾🇪" },
5479
+ { code: "ZM", name: "Zambia", dialCode: "+260", flag: "🇿🇲" },
5480
+ { code: "ZW", name: "Zimbabwe", dialCode: "+263", flag: "🇿🇼" }
5481
+ ];
5482
+ const _hoisted_1$k = { class: "ina-phone-input" };
5483
+ const _hoisted_2$j = ["for"];
5484
+ const _hoisted_3$h = {
5168
5485
  key: 0,
5169
- class: "ina-phone-input__required"
5486
+ class: "ina-phone-input__asterisk"
5170
5487
  };
5171
- const _hoisted_3$h = { class: "ina-phone-input__wrapper" };
5172
- const _hoisted_4$d = { class: "ina-phone-input__country-selector" };
5488
+ const _hoisted_4$d = ["disabled"];
5173
5489
  const _hoisted_5$b = { class: "ina-phone-input__country-flag" };
5174
5490
  const _hoisted_6$9 = { class: "ina-phone-input__country-code" };
5175
5491
  const _hoisted_7$9 = {
@@ -5192,33 +5508,20 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5192
5508
  size: { default: "md" },
5193
5509
  status: { default: "neutral" },
5194
5510
  statusMessage: {},
5511
+ helperText: {},
5195
5512
  disabled: { type: Boolean, default: false },
5196
5513
  readonly: { type: Boolean, default: false },
5197
5514
  required: { type: Boolean, default: false },
5198
5515
  defaultCountry: { default: "ID" },
5199
- countries: { default: () => [
5200
- { code: "ID", name: "Indonesia", dialCode: "+62", flag: "🇮🇩" },
5201
- { code: "US", name: "United States", dialCode: "+1", flag: "🇺🇸" },
5202
- { code: "SG", name: "Singapore", dialCode: "+65", flag: "🇸🇬" },
5203
- { code: "MY", name: "Malaysia", dialCode: "+60", flag: "🇲🇾" },
5204
- { code: "TH", name: "Thailand", dialCode: "+66", flag: "🇹🇭" },
5205
- { code: "PH", name: "Philippines", dialCode: "+63", flag: "🇵🇭" },
5206
- { code: "VN", name: "Vietnam", dialCode: "+84", flag: "🇻🇳" },
5207
- { code: "AU", name: "Australia", dialCode: "+61", flag: "🇦🇺" },
5208
- { code: "GB", name: "United Kingdom", dialCode: "+44", flag: "🇬🇧" },
5209
- { code: "DE", name: "Germany", dialCode: "+49", flag: "🇩🇪" },
5210
- { code: "FR", name: "France", dialCode: "+33", flag: "🇫🇷" },
5211
- { code: "JP", name: "Japan", dialCode: "+81", flag: "🇯🇵" },
5212
- { code: "KR", name: "South Korea", dialCode: "+82", flag: "🇰🇷" },
5213
- { code: "CN", name: "China", dialCode: "+86", flag: "🇨🇳" },
5214
- { code: "IN", name: "India", dialCode: "+91", flag: "🇮🇳" }
5215
- ] }
5516
+ countries: { default: () => COUNTRIES }
5216
5517
  },
5217
5518
  emits: ["update:modelValue", "input", "blur", "focus", "countryChange"],
5218
5519
  setup(__props, { emit: __emit }) {
5219
5520
  const props = __props;
5220
5521
  const emit = __emit;
5221
5522
  const inputRef = ref();
5523
+ const searchInputRef = ref();
5524
+ const dropdownRef = ref();
5222
5525
  const phoneNumber = ref(props.modelValue);
5223
5526
  const isCountryDropdownOpen = ref(false);
5224
5527
  const countrySearch = ref("");
@@ -5228,34 +5531,27 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5228
5531
  const inputId = computed(
5229
5532
  () => `phone-input-${Math.random().toString(36).substr(2, 9)}`
5230
5533
  );
5231
- const containerClasses = computed(() => {
5232
- const classes = ["ina-phone-input"];
5233
- if (props.disabled) {
5234
- classes.push("ina-phone-input--disabled");
5235
- }
5236
- return classes;
5237
- });
5238
- const inputClasses = computed(() => {
5239
- const classes = ["ina-phone-input__input"];
5240
- classes.push(`ina-phone-input__input--size-${props.size}`);
5534
+ const wrapperClasses = computed(() => {
5535
+ const classes = ["ina-phone-input__wrapper"];
5536
+ classes.push(`ina-phone-input__wrapper--size-${props.size}`);
5241
5537
  if (props.disabled) {
5242
- classes.push("ina-phone-input__input--disabled");
5243
- }
5244
- if (props.readonly) {
5245
- classes.push("ina-phone-input__input--readonly");
5538
+ classes.push("ina-phone-input__wrapper--disabled");
5246
5539
  }
5247
5540
  if (props.status !== "neutral") {
5248
- classes.push(`ina-phone-input__input--status-${props.status}`);
5541
+ classes.push(`ina-phone-input__wrapper--status-${props.status}`);
5249
5542
  }
5250
5543
  return classes;
5251
5544
  });
5252
- const statusClasses = computed(() => {
5253
- const classes = ["ina-phone-input__status"];
5254
- if (props.status !== "neutral") {
5255
- classes.push(`ina-phone-input__status--${props.status}`);
5545
+ const helperTextClasses = computed(() => {
5546
+ const classes = ["ina-phone-input__helper-text"];
5547
+ if (props.status === "error") {
5548
+ classes.push("ina-phone-input__helper-text--error");
5549
+ } else if (props.status === "warning") {
5550
+ classes.push("ina-phone-input__helper-text--warning");
5256
5551
  }
5257
5552
  return classes;
5258
5553
  });
5554
+ const bottomText = computed(() => props.statusMessage || props.helperText);
5259
5555
  const filteredCountries = computed(() => {
5260
5556
  if (!countrySearch.value) {
5261
5557
  return props.countries;
@@ -5278,26 +5574,35 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5278
5574
  if (isCountryDropdownOpen.value) {
5279
5575
  countrySearch.value = "";
5280
5576
  nextTick(() => {
5281
- const searchInput = document.querySelector(
5282
- ".ina-phone-input__country-search-input"
5283
- );
5284
- searchInput == null ? void 0 : searchInput.focus();
5577
+ var _a;
5578
+ (_a = searchInputRef.value) == null ? void 0 : _a.focus();
5285
5579
  });
5286
5580
  }
5287
5581
  };
5288
- const selectCountry = (country) => {
5289
- selectedCountry.value = country;
5290
- isCountryDropdownOpen.value = false;
5291
- emit("countryChange", country);
5292
- nextTick(() => {
5293
- var _a;
5294
- (_a = inputRef.value) == null ? void 0 : _a.focus();
5295
- });
5582
+ const formatPhoneNumber = (value) => {
5583
+ const clean = value.replace(/\D/g, "");
5584
+ if (clean.length > 7) {
5585
+ return clean.replace(/^(\d{3})(\d{4})(.*)/, "$1-$2-$3");
5586
+ } else if (clean.length > 3) {
5587
+ return clean.replace(/^(\d{3})(.*)/, "$1-$2");
5588
+ }
5589
+ return clean;
5296
5590
  };
5297
5591
  const handleInput = (event) => {
5298
5592
  const target = event.target;
5299
- phoneNumber.value = target.value;
5300
- emit("update:modelValue", phoneNumber.value);
5593
+ const rawValue = target.value;
5594
+ let cleanValue = rawValue.replace(/\D/g, "");
5595
+ if (cleanValue.startsWith("0")) {
5596
+ cleanValue = cleanValue.substring(1);
5597
+ }
5598
+ const displayClean = rawValue.replace(/\D/g, "");
5599
+ const formatted = formatPhoneNumber(displayClean);
5600
+ if (formatted !== rawValue) {
5601
+ target.value = formatted;
5602
+ }
5603
+ phoneNumber.value = formatted;
5604
+ const fullValue = `${selectedCountry.value.dialCode}${cleanValue}`;
5605
+ emit("update:modelValue", fullValue);
5301
5606
  emit("input", event);
5302
5607
  };
5303
5608
  const handleBlur = (event) => {
@@ -5308,15 +5613,42 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5308
5613
  };
5309
5614
  const handleClickOutside = (event) => {
5310
5615
  const target = event.target;
5311
- if (!target.closest(".ina-phone-input__country-selector")) {
5616
+ if (dropdownRef.value && !dropdownRef.value.contains(target)) {
5312
5617
  isCountryDropdownOpen.value = false;
5313
5618
  }
5314
5619
  };
5620
+ const selectCountry = (country) => {
5621
+ selectedCountry.value = country;
5622
+ isCountryDropdownOpen.value = false;
5623
+ emit("countryChange", country);
5624
+ if (phoneNumber.value) {
5625
+ const cleanValue = phoneNumber.value.replace(/\D/g, "");
5626
+ const cleanLocal = cleanValue.startsWith("0") ? cleanValue.substring(1) : cleanValue;
5627
+ const fullValue = `${country.dialCode}${cleanLocal}`;
5628
+ emit("update:modelValue", fullValue);
5629
+ }
5630
+ nextTick(() => {
5631
+ var _a;
5632
+ (_a = inputRef.value) == null ? void 0 : _a.focus();
5633
+ });
5634
+ };
5315
5635
  watch(
5316
5636
  () => props.modelValue,
5317
5637
  (newValue) => {
5318
- phoneNumber.value = newValue || "";
5319
- }
5638
+ if (!newValue) {
5639
+ phoneNumber.value = "";
5640
+ return;
5641
+ }
5642
+ const dialCode = selectedCountry.value.dialCode;
5643
+ let localPart = newValue;
5644
+ if (newValue.startsWith(dialCode)) {
5645
+ localPart = newValue.substring(dialCode.length);
5646
+ } else if (newValue.startsWith(dialCode.substring(1))) {
5647
+ localPart = newValue.substring(dialCode.length - 1);
5648
+ }
5649
+ phoneNumber.value = formatPhoneNumber(localPart);
5650
+ },
5651
+ { immediate: true }
5320
5652
  );
5321
5653
  onMounted(() => {
5322
5654
  document.addEventListener("click", handleClickOutside);
@@ -5325,23 +5657,28 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5325
5657
  document.removeEventListener("click", handleClickOutside);
5326
5658
  });
5327
5659
  return (_ctx, _cache) => {
5328
- return openBlock(), createElementBlock("div", {
5329
- class: normalizeClass(["ina-phone-input", containerClasses.value])
5330
- }, [
5660
+ return openBlock(), createElementBlock("div", _hoisted_1$k, [
5331
5661
  __props.label ? (openBlock(), createElementBlock("label", {
5332
5662
  key: 0,
5333
5663
  for: inputId.value,
5334
5664
  class: "ina-phone-input__label"
5335
5665
  }, [
5336
5666
  createTextVNode(toDisplayString(__props.label) + " ", 1),
5337
- __props.required ? (openBlock(), createElementBlock("span", _hoisted_2$j, "*")) : createCommentVNode("", true)
5338
- ], 8, _hoisted_1$k)) : createCommentVNode("", true),
5339
- createElementVNode("div", _hoisted_3$h, [
5340
- createElementVNode("div", _hoisted_4$d, [
5667
+ __props.required ? (openBlock(), createElementBlock("span", _hoisted_3$h, "*")) : createCommentVNode("", true)
5668
+ ], 8, _hoisted_2$j)) : createCommentVNode("", true),
5669
+ createElementVNode("div", {
5670
+ class: normalizeClass(wrapperClasses.value)
5671
+ }, [
5672
+ createElementVNode("div", {
5673
+ class: "ina-phone-input__country-selector",
5674
+ ref_key: "dropdownRef",
5675
+ ref: dropdownRef
5676
+ }, [
5341
5677
  createElementVNode("button", {
5342
5678
  type: "button",
5343
5679
  class: "ina-phone-input__country-button",
5344
- onClick: toggleCountryDropdown
5680
+ onClick: toggleCountryDropdown,
5681
+ disabled: __props.disabled || __props.readonly
5345
5682
  }, [
5346
5683
  createElementVNode("span", _hoisted_5$b, toDisplayString(selectedCountry.value.flag), 1),
5347
5684
  createElementVNode("span", _hoisted_6$9, toDisplayString(selectedCountry.value.dialCode), 1),
@@ -5363,13 +5700,15 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5363
5700
  "stroke-linejoin": "round"
5364
5701
  }, null, -1)
5365
5702
  ])], 2))
5366
- ]),
5703
+ ], 8, _hoisted_4$d),
5367
5704
  createVNode(Transition, { name: "dropdown" }, {
5368
5705
  default: withCtx(() => [
5369
5706
  isCountryDropdownOpen.value ? (openBlock(), createElementBlock("div", _hoisted_7$9, [
5370
5707
  createElementVNode("div", _hoisted_8$7, [
5371
5708
  withDirectives(createElementVNode("input", {
5372
5709
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => countrySearch.value = $event),
5710
+ ref_key: "searchInputRef",
5711
+ ref: searchInputRef,
5373
5712
  type: "text",
5374
5713
  placeholder: "Search countries...",
5375
5714
  class: "ina-phone-input__country-search-input"
@@ -5395,8 +5734,9 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5395
5734
  ]),
5396
5735
  _: 1
5397
5736
  })
5398
- ]),
5399
- withDirectives(createElementVNode("input", mergeProps({
5737
+ ], 512),
5738
+ _cache[3] || (_cache[3] = createElementVNode("div", { class: "ina-phone-input__divider" }, null, -1)),
5739
+ withDirectives(createElementVNode("input", mergeProps(_ctx.$attrs, {
5400
5740
  id: inputId.value,
5401
5741
  ref_key: "inputRef",
5402
5742
  ref: inputRef,
@@ -5405,23 +5745,23 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5405
5745
  placeholder: __props.placeholder,
5406
5746
  disabled: __props.disabled,
5407
5747
  readonly: __props.readonly,
5408
- class: inputClasses.value,
5748
+ class: "ina-phone-input__input",
5409
5749
  onInput: handleInput,
5410
5750
  onBlur: handleBlur,
5411
5751
  onFocus: handleFocus
5412
- }, _ctx.$attrs), null, 16, _hoisted_14$3), [
5752
+ }), null, 16, _hoisted_14$3), [
5413
5753
  [vModelText, phoneNumber.value]
5414
5754
  ])
5415
- ]),
5416
- __props.statusMessage ? (openBlock(), createElementBlock("div", {
5755
+ ], 2),
5756
+ bottomText.value ? (openBlock(), createElementBlock("div", {
5417
5757
  key: 1,
5418
- class: normalizeClass(statusClasses.value)
5419
- }, toDisplayString(__props.statusMessage), 3)) : createCommentVNode("", true)
5420
- ], 2);
5758
+ class: normalizeClass(helperTextClasses.value)
5759
+ }, toDisplayString(bottomText.value), 3)) : createCommentVNode("", true)
5760
+ ]);
5421
5761
  };
5422
5762
  }
5423
5763
  });
5424
- const PhoneInput = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-005a7f02"]]);
5764
+ const PhoneInput = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-fc52068c"]]);
5425
5765
  const _hoisted_1$j = {
5426
5766
  key: 0,
5427
5767
  class: "ina-progress-bar__shimmer"
@@ -8711,14 +9051,14 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
8711
9051
  class: normalizeClass(searchContainerClasses.value)
8712
9052
  }, [
8713
9053
  createElementVNode("div", _hoisted_1$9, [
8714
- createVNode(_sfc_main$B, {
9054
+ createVNode(_sfc_main$C, {
8715
9055
  modelValue: searchInput.value,
8716
9056
  placeholder: props.searchPlaceholder || props.placeholderSearch || "Input pencarian",
8717
9057
  disabled: loading.value,
8718
9058
  "onUpdate:modelValue": handleSearchChange,
8719
9059
  onKeydown: handleSearchKeyDown
8720
9060
  }, null, 8, ["modelValue", "placeholder", "disabled"]),
8721
- createVNode(_sfc_main$F, {
9061
+ createVNode(_sfc_main$G, {
8722
9062
  disabled: loading.value,
8723
9063
  onClick: handleSearchButton
8724
9064
  }, {
@@ -8745,7 +9085,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
8745
9085
  }, [
8746
9086
  createElementVNode("tr", null, [
8747
9087
  __props.selectable ? (openBlock(), createElementBlock("th", _hoisted_2$9, [
8748
- createVNode(_sfc_main$C, {
9088
+ createVNode(_sfc_main$D, {
8749
9089
  id: `${reactId.value}-select-all`,
8750
9090
  label: "",
8751
9091
  modelValue: allSelected.value,
@@ -8827,7 +9167,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
8827
9167
  onClick: (e) => handleRowClick(row, e)
8828
9168
  }, [
8829
9169
  __props.selectable ? (openBlock(), createElementBlock("td", _hoisted_10$2, [
8830
- createVNode(_sfc_main$C, {
9170
+ createVNode(_sfc_main$D, {
8831
9171
  id: `${reactId.value}-select-${String(row[__props.rowKey])}`,
8832
9172
  label: "",
8833
9173
  modelValue: selectedMap.value[String(row[__props.rowKey])] || false,
@@ -10202,7 +10542,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
10202
10542
  const defaultFooterActions = (cancelClassName, confirmClassName, cancelText, confirmText, handleCloseFn) => {
10203
10543
  return h("div", { class: "ina-modal-confirmation__footer" }, [
10204
10544
  h(
10205
- _sfc_main$F,
10545
+ _sfc_main$G,
10206
10546
  {
10207
10547
  hierarchy: "custom",
10208
10548
  size: "sm",
@@ -10212,7 +10552,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
10212
10552
  { default: () => cancelText }
10213
10553
  ),
10214
10554
  h(
10215
- _sfc_main$F,
10555
+ _sfc_main$G,
10216
10556
  {
10217
10557
  hierarchy: "custom",
10218
10558
  size: "sm",
@@ -11017,20 +11357,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
11017
11357
  }
11018
11358
  });
11019
11359
  const index = {
11020
- Accordion: _sfc_main$O,
11360
+ Accordion: _sfc_main$P,
11021
11361
  AccordionCard,
11022
11362
  AccordionGroup,
11023
11363
  ActionDropdown,
11024
- Alert: _sfc_main$K,
11025
- Avatar: _sfc_main$J,
11026
- Badge: _sfc_main$I,
11027
- BottomSheet: _sfc_main$H,
11028
- Breadcrumb: _sfc_main$G,
11029
- Button: _sfc_main$F,
11030
- ButtonGroup: _sfc_main$E,
11031
- Card: _sfc_main$D,
11032
- Checkbox: _sfc_main$C,
11033
- Chip: _sfc_main$A,
11364
+ Alert: _sfc_main$L,
11365
+ Avatar: _sfc_main$K,
11366
+ Badge: _sfc_main$J,
11367
+ BottomSheet: _sfc_main$I,
11368
+ Breadcrumb: _sfc_main$H,
11369
+ Button: _sfc_main$G,
11370
+ ButtonGroup: _sfc_main$F,
11371
+ Card: _sfc_main$E,
11372
+ CircleProgressBar: _sfc_main$A,
11373
+ Checkbox: _sfc_main$D,
11374
+ Chip: _sfc_main$B,
11034
11375
  Collapse,
11035
11376
  Divider: _sfc_main$y,
11036
11377
  Drawer,
@@ -11057,7 +11398,7 @@ const index = {
11057
11398
  Table: _sfc_main$a,
11058
11399
  TableProgressBar: _sfc_main$b,
11059
11400
  TextArea: _sfc_main$9,
11060
- TextField: _sfc_main$B,
11401
+ TextField: _sfc_main$C,
11061
11402
  OneTimePassword: _sfc_main$8,
11062
11403
  ThemeToggle: _sfc_main$7,
11063
11404
  TimePicker: _sfc_main$6,
@@ -11070,20 +11411,21 @@ const index = {
11070
11411
  setBrandTheme
11071
11412
  };
11072
11413
  export {
11073
- _sfc_main$O as Accordion,
11414
+ _sfc_main$P as Accordion,
11074
11415
  AccordionCard,
11075
11416
  AccordionGroup,
11076
11417
  ActionDropdown,
11077
- _sfc_main$K as Alert,
11078
- _sfc_main$J as Avatar,
11079
- _sfc_main$I as Badge,
11080
- _sfc_main$H as BottomSheet,
11081
- _sfc_main$G as Breadcrumb,
11082
- _sfc_main$F as Button,
11083
- _sfc_main$E as ButtonGroup,
11084
- _sfc_main$D as Card,
11085
- _sfc_main$C as Checkbox,
11086
- _sfc_main$A as Chip,
11418
+ _sfc_main$L as Alert,
11419
+ _sfc_main$K as Avatar,
11420
+ _sfc_main$J as Badge,
11421
+ _sfc_main$I as BottomSheet,
11422
+ _sfc_main$H as Breadcrumb,
11423
+ _sfc_main$G as Button,
11424
+ _sfc_main$F as ButtonGroup,
11425
+ _sfc_main$E as Card,
11426
+ _sfc_main$D as Checkbox,
11427
+ _sfc_main$B as Chip,
11428
+ _sfc_main$A as CircleProgressBar,
11087
11429
  Collapse,
11088
11430
  ConfirmationContextKey,
11089
11431
  _sfc_main$3 as ConfirmationProvider,
@@ -11114,7 +11456,7 @@ export {
11114
11456
  _sfc_main$a as Table,
11115
11457
  _sfc_main$b as TableProgressBar,
11116
11458
  _sfc_main$9 as TextArea,
11117
- _sfc_main$B as TextField,
11459
+ _sfc_main$C as TextField,
11118
11460
  _sfc_main$7 as ThemeToggle,
11119
11461
  _sfc_main$6 as TimePicker,
11120
11462
  _sfc_main$5 as Toast,